
/* /ft_theme/static/src/checkout/checkout.scss */
 .ft-co{--co-radius: 16px; --co-line: var(--ft-border, #E3E8EF); --co-primary: var(--ft-primary, var(--ft-primary-color, #0A7AC0)); --co-primary-rgb: var(--ft-primary-rgb, 10, 122, 192); --co-soft: var(--ft-bg-soft, #F5F9FC); --co-ok: var(--ft-success, #1AAF5D); background: linear-gradient(180deg, #F3F8FC 0, #FFFFFF 460px); padding-bottom: 2rem;}.ft-co .oe_website_sale > .row > .col, .ft-co .oe_website_sale > .row > [class*="col-"]{animation: ft-co-rise 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;}.ft-co .oe_website_sale > .row > .col{animation-delay: 0.06s;}.ft-co .oe_website_sale > .row > [class*="offset-"]{animation-delay: 0.14s;}.ft-co .ft-co-steps{--ft-steps: 4; --ft-pos: 0; margin: 12px 0 30px;}.ft-co .ft-co-steps ol{position: relative; display: grid; grid-template-columns: repeat(var(--ft-steps), 1fr); margin: 0; padding: 0; list-style: none;}.ft-co .ft-co-steps ol::before, .ft-co .ft-co-steps ol::after{content: ""; position: absolute; top: 20px; left: calc(50% / var(--ft-steps)); height: 4px; border-radius: 4px;}.ft-co .ft-co-steps ol::before{right: calc(50% / var(--ft-steps)); background: var(--co-line);}.ft-co .ft-co-steps ol::after{width: calc((100% - 100% / var(--ft-steps)) * var(--ft-pos) / (var(--ft-steps) - 1)); background: linear-gradient(90deg, var(--co-primary), var(--ft-secondary, #27C4E5)); transform-origin: left; animation: ft-co-grow 0.9s cubic-bezier(0.4, 0, 0.2, 1) 0.2s both;}.ft-co .ft-co-step{position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center;}.ft-co .ft-co-step__dot{display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ft-surface-bg, #fff); border: 2px solid var(--co-line); color: var(--ft-text-soft, #6B7280); font-size: 1.05rem; font-weight: 700; transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s, border-color 0.3s, color 0.3s, box-shadow 0.3s; text-decoration: none;}.ft-co .ft-co-step__label{font-size: var(--ft-fs-sm, 0.875rem); font-weight: 600; color: var(--ft-text-soft, #6B7280); transition: color 0.3s;}.ft-co .ft-co-step--done .ft-co-step__dot{background: var(--co-primary); border-color: var(--co-primary); color: #fff;}.ft-co a.ft-co-step__dot:hover{transform: translateY(-3px) scale(1.06); box-shadow: 0 10px 20px -8px rgba(var(--co-primary-rgb), 0.6); color: #fff;}.ft-co .ft-co-step--done .ft-co-step__label{color: var(--ft-text, #212934);}.ft-co .ft-co-step--current .ft-co-step__dot{background: linear-gradient(135deg, var(--co-primary), var(--ft-secondary, #27C4E5)); border-color: transparent; color: #fff; box-shadow: 0 0 0 6px rgba(var(--co-primary-rgb), 0.14); animation: ft-co-pulse 2.2s ease-in-out infinite;}.ft-co .ft-co-step--current .ft-co-step__label{color: var(--co-primary); font-weight: 700;}@media (max-width: 575.98px){.ft-co .ft-co-step__dot{width: 38px; height: 38px; font-size: 0.95rem;}.ft-co .ft-co-steps ol::before, .ft-co .ft-co-steps ol::after{top: 17px;}.ft-co .ft-co-step:not(.ft-co-step--current) .ft-co-step__label{display: none;}}.ft-co .oe_cart h4, .ft-co .oe_cart h3, .ft-co .oe_cart .h4{position: relative; margin-bottom: 1.1rem; padding-left: 14px; font-weight: 700; color: var(--ft-text, #212934);}.ft-co .oe_cart h4::before, .ft-co .oe_cart h3::before, .ft-co .oe_cart .h4::before{content: ""; position: absolute; left: 0; top: 0.15em; bottom: 0.15em; width: 4px; border-radius: 4px; background: linear-gradient(180deg, var(--co-primary), var(--ft-secondary, #27C4E5));}.ft-co .js_cart_lines .o_cart_product{position: relative; padding: 16px; margin-bottom: 14px; border: 1px solid var(--co-line); border-radius: var(--co-radius); background: var(--ft-surface-bg, #fff); box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04); transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease; animation: ft-co-rise 0.45s cubic-bezier(0.2, 0.7, 0.2, 1) both;}.ft-co .js_cart_lines .o_cart_product:nth-child(2){animation-delay: 0.07s;}.ft-co .js_cart_lines .o_cart_product:nth-child(3){animation-delay: 0.14s;}.ft-co .js_cart_lines .o_cart_product:nth-child(4){animation-delay: 0.21s;}.ft-co .js_cart_lines .o_cart_product:nth-child(5){animation-delay: 0.28s;}.ft-co .js_cart_lines .o_cart_product:nth-child(6){animation-delay: 0.35s;}.ft-co .js_cart_lines .o_cart_product:hover{transform: translateY(-2px); box-shadow: 0 14px 30px -16px rgba(var(--co-primary-rgb), 0.35); border-color: rgba(var(--co-primary-rgb), 0.4);}.ft-co .js_cart_lines .o_cart_product.pb-4{padding-bottom: 16px !important;}.ft-co .js_cart_lines .o_cart_product .o_cart_product_image img{width: 84px; height: 84px; object-fit: cover; border-radius: 12px; background: var(--co-soft); border: 1px solid var(--co-line);}.ft-co .js_cart_lines .o_cart_product h6{font-weight: 700; color: var(--ft-text, #212934);}.ft-co .js_cart_lines .o_cart_product h6[name="website_sale_cart_line_price"], .ft-co .js_cart_lines .o_cart_product h6[name="website_sale_cart_line_price"] *{color: var(--co-primary); font-weight: 800;}.ft-co .js_cart_lines .o_cart_product .js_delete_product{display: inline-flex; align-items: center; gap: 6px; color: var(--ft-text-soft, #6B7280); text-decoration: none; font-weight: 600; transition: color 0.2s ease, transform 0.2s ease;}.ft-co .js_cart_lines .o_cart_product .js_delete_product:hover{color: var(--ft-danger, #E23744); transform: translateX(2px);}.ft-co .css_quantity, .ft-co .input-group.css_quantity{border: 1px solid var(--co-line); border-radius: 999px; background: var(--ft-surface-bg, #fff); overflow: hidden;}.ft-co .css_quantity .btn, .ft-co .input-group.css_quantity .btn{border: 0; color: var(--co-primary); transition: background 0.2s, color 0.2s;}.ft-co .css_quantity .btn:hover, .ft-co .input-group.css_quantity .btn:hover{background: rgba(var(--co-primary-rgb), 0.1);}.ft-co .css_quantity input, .ft-co .input-group.css_quantity input{font-weight: 700; text-align: center;}.ft-co .o_wsale_address_fill .col-form-label, .ft-co .o_wsale_address_fill label, .ft-co form.checkout_autoformat .col-form-label, .ft-co form.checkout_autoformat label, .ft-co #wsale_address_form .col-form-label, .ft-co #wsale_address_form label, .ft-co .oe_cart form[action*="address"] .col-form-label, .ft-co .oe_cart form[action*="address"] label{font-weight: 600; font-size: var(--ft-fs-sm, 0.875rem); color: var(--ft-text, #212934); margin-bottom: 4px;}.ft-co .o_wsale_address_fill .form-control, .ft-co .o_wsale_address_fill .form-select, .ft-co form.checkout_autoformat .form-control, .ft-co form.checkout_autoformat .form-select, .ft-co #wsale_address_form .form-control, .ft-co #wsale_address_form .form-select, .ft-co .oe_cart form[action*="address"] .form-control, .ft-co .oe_cart form[action*="address"] .form-select{min-height: 46px; border: 1.5px solid var(--co-line); border-radius: 12px; background-color: var(--ft-surface-bg, #fff); box-shadow: none; transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s;}.ft-co .o_wsale_address_fill .form-control:hover, .ft-co .o_wsale_address_fill .form-select:hover, .ft-co form.checkout_autoformat .form-control:hover, .ft-co form.checkout_autoformat .form-select:hover, .ft-co #wsale_address_form .form-control:hover, .ft-co #wsale_address_form .form-select:hover, .ft-co .oe_cart form[action*="address"] .form-control:hover, .ft-co .oe_cart form[action*="address"] .form-select:hover{border-color: rgba(var(--co-primary-rgb), 0.45);}.ft-co .o_wsale_address_fill .form-control:focus, .ft-co .o_wsale_address_fill .form-select:focus, .ft-co form.checkout_autoformat .form-control:focus, .ft-co form.checkout_autoformat .form-select:focus, .ft-co #wsale_address_form .form-control:focus, .ft-co #wsale_address_form .form-select:focus, .ft-co .oe_cart form[action*="address"] .form-control:focus, .ft-co .oe_cart form[action*="address"] .form-select:focus{border-color: var(--co-primary); box-shadow: 0 0 0 4px rgba(var(--co-primary-rgb), 0.14);}.ft-co .o_wsale_address_fill .form-control:not(:placeholder-shown):valid, .ft-co .o_wsale_address_fill .form-control:valid:not(select):not(:placeholder-shown), .ft-co .o_wsale_address_fill .form-select:not(:placeholder-shown):valid, .ft-co .o_wsale_address_fill .form-select:valid:not(select):not(:placeholder-shown), .ft-co form.checkout_autoformat .form-control:not(:placeholder-shown):valid, .ft-co form.checkout_autoformat .form-control:valid:not(select):not(:placeholder-shown), .ft-co form.checkout_autoformat .form-select:not(:placeholder-shown):valid, .ft-co form.checkout_autoformat .form-select:valid:not(select):not(:placeholder-shown), .ft-co #wsale_address_form .form-control:not(:placeholder-shown):valid, .ft-co #wsale_address_form .form-control:valid:not(select):not(:placeholder-shown), .ft-co #wsale_address_form .form-select:not(:placeholder-shown):valid, .ft-co #wsale_address_form .form-select:valid:not(select):not(:placeholder-shown), .ft-co .oe_cart form[action*="address"] .form-control:not(:placeholder-shown):valid, .ft-co .oe_cart form[action*="address"] .form-control:valid:not(select):not(:placeholder-shown), .ft-co .oe_cart form[action*="address"] .form-select:not(:placeholder-shown):valid, .ft-co .oe_cart form[action*="address"] .form-select:valid:not(select):not(:placeholder-shown){border-color: rgba(26, 175, 93, 0.5);}.ft-co .o_wsale_address_fill .form-control.is-invalid, .ft-co .o_wsale_address_fill .form-select.is-invalid, .ft-co form.checkout_autoformat .form-control.is-invalid, .ft-co form.checkout_autoformat .form-select.is-invalid, .ft-co #wsale_address_form .form-control.is-invalid, .ft-co #wsale_address_form .form-select.is-invalid, .ft-co .oe_cart form[action*="address"] .form-control.is-invalid, .ft-co .oe_cart form[action*="address"] .form-select.is-invalid{border-color: var(--ft-danger, #E23744);}.ft-co .o_total_card{position: relative; overflow: hidden; border: 1px solid var(--co-line); border-radius: 20px; background: var(--ft-surface-bg, #fff); box-shadow: 0 24px 50px -28px rgba(var(--co-primary-rgb), 0.45);}.ft-co .o_total_card::before{content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, var(--co-primary), var(--ft-secondary, #27C4E5));}.ft-co .o_total_card .card-body{padding-top: 1.6rem;}.ft-co .o_cart_products_table{--bs-table-bg: transparent;}.ft-co .o_cart_products_table td{border-color: var(--co-line);}.ft-co .o_cart_products_table .o_cart_product_image img{width: 56px; height: 56px; object-fit: cover; border-radius: 12px; border: 1px solid var(--co-line); background: var(--co-soft);}.ft-co .o_cart_products_table .o_cart_item_count{background: var(--co-primary) !important; color: #fff; font-weight: 700; box-shadow: 0 0 0 2px #fff;}.ft-co .o_cart_products_table .td-product_name{font-weight: 600; color: var(--ft-text, #212934);}.ft-co .o_cart_products_table .td-price{font-weight: 700; color: var(--ft-text, #212934); white-space: nowrap;}.ft-co .o_cart_products_table tr{transition: background 0.2s ease;}.ft-co .o_cart_products_table tr:hover{background: rgba(var(--co-primary-rgb), 0.04);}.ft-co .o_cart_total table{--bs-table-bg: transparent;}.ft-co .o_cart_total tr[name="o_order_total"] td, .ft-co .o_cart_total tr[name="o_order_total"] strong{font-size: 1.35rem; font-weight: 800; color: var(--co-primary);}.ft-co .o_cart_total tr[name="o_order_total"] .monetary_field{display: inline-block;}.ft-co .o_cart_total tr.ft-co-discount td{color: var(--co-ok); font-weight: 700; animation: ft-co-pop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;}.ft-co .o_cart_total tr.ft-co-discount i{margin-right: 4px;}.ft-co .o_cart_total .monetary_field{animation: ft-co-flash 0.7s ease both;}.ft-co .coupon_form form{margin-top: 0.5rem;}.ft-co .coupon_form .input-group{border: 1.5px solid var(--co-line); border-radius: 999px; background: var(--ft-surface-bg, #fff); overflow: hidden; transition: border-color 0.2s, box-shadow 0.2s;}.ft-co .coupon_form .input-group:focus-within{border-color: var(--co-primary); box-shadow: 0 0 0 4px rgba(var(--co-primary-rgb), 0.14);}.ft-co .coupon_form .input-group .form-control{border: 0; box-shadow: none; padding-left: 1rem; background: transparent;}.ft-co .coupon_form .input-group .btn{border: 0; border-left: 1.5px solid var(--co-line); background: transparent; color: var(--co-primary); font-weight: 700; padding-inline: 1.1rem; transition: background 0.2s, color 0.2s;}.ft-co .coupon_form .input-group .btn:hover{background: var(--co-primary); color: #fff;}.ft-co .o_cta_navigation_container .btn-primary, .ft-co .o_wsale_shorter_cart_summary .btn-primary{min-height: 48px; display: inline-flex; align-items: center; justify-content: center;}.ft-co .o_cta_navigation_container a:not(.btn), .ft-co .o_wsale_shorter_cart_summary a:not(.btn){font-weight: 600; text-decoration: none;}.ft-co .o_cta_navigation_container a:not(.btn) .oi, .ft-co .o_wsale_shorter_cart_summary a:not(.btn) .oi{transition: transform 0.2s ease;}.ft-co .o_cta_navigation_container a:not(.btn):hover .oi, .ft-co .o_wsale_shorter_cart_summary a:not(.btn):hover .oi{transform: translateX(-3px);}.ft-co .ft-co-secure{margin: 0.9rem 0 0; text-align: center; color: var(--ft-text-soft, #6B7280); font-size: var(--ft-fs-sm, 0.875rem);}.ft-co .ft-co-secure .fa{color: var(--co-ok); margin-right: 4px;}.ft-co .o_mobile_summary{border-top: 1px solid var(--co-line); box-shadow: 0 -10px 30px -12px rgba(16, 24, 40, 0.18); padding-top: 10px;}.ft-co #o_payment_methods .list-group{gap: 12px; border: 0; background: transparent;}.ft-co #o_payment_methods .list-group-item{border: 1.5px solid var(--co-line); border-radius: var(--co-radius) !important; background: var(--ft-surface-bg, #fff); transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;}.ft-co #o_payment_methods .list-group-item:hover{border-color: rgba(var(--co-primary-rgb), 0.5); transform: translateY(-1px);}.ft-co #o_payment_methods .list-group-item:has(input:checked){border-color: var(--co-primary); box-shadow: 0 0 0 4px rgba(var(--co-primary-rgb), 0.12);}.ft-co #address_on_payment .card, .ft-co #delivery_and_billing{border: 1px solid var(--co-line); border-radius: var(--co-radius); box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);}.ft-co #address_on_payment .badge.text-bg-info{background: rgba(var(--co-primary-rgb), 0.1) !important; color: var(--co-primary) !important; border-radius: 999px; font-weight: 700; padding: 0.45em 1em;}.ft-co #address_on_payment a[href*="checkout"], .ft-co #address_on_payment a[href*="address"]{display: inline-flex; align-items: center; gap: 6px; padding: 4px 14px; border-radius: 999px; border: 1.5px solid var(--co-line); font-weight: 600; transition: background 0.2s, color 0.2s, border-color 0.2s;}.ft-co #address_on_payment a[href*="checkout"]:hover, .ft-co #address_on_payment a[href*="address"]:hover{background: var(--co-primary); border-color: var(--co-primary); color: #fff;}.ft-co #order_name, .ft-co #order_name + div, .ft-co .oe_cart > .card, .ft-co .oe_cart .o_wsale_confirmation_card{border-radius: var(--co-radius);}.ft-co .oe_cart > .d-flex h3{display: inline-flex; align-items: center; gap: 12px; margin: 0;}.ft-co .oe_cart > .d-flex h3::before{content: "\2713"; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--co-ok); color: #fff; font-size: 1.2rem; font-weight: 800; animation: ft-co-pop 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s both;}.ft-co .oe_cart .btn-light{border: 1.5px solid var(--co-line); border-radius: 999px; font-weight: 600; transition: border-color 0.2s, color 0.2s;}.ft-co .oe_cart .btn-light:hover{border-color: var(--co-primary); color: var(--co-primary);}.ft-co.ft-co-status{min-height: 50vh;}.ft-co.ft-co-status [name="o_payment_status"], .ft-co.ft-co-status .text-center{padding: 2rem 1.5rem; border: 1px solid var(--co-line); border-radius: 20px; background: var(--ft-surface-bg, #fff); position: relative; overflow: hidden; box-shadow: 0 24px 50px -28px rgba(var(--co-primary-rgb), 0.45); animation: ft-co-rise 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;}.ft-co.ft-co-status [name="o_payment_status"]::before, .ft-co.ft-co-status .text-center::before{content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, var(--co-primary), var(--ft-secondary, #27C4E5));}.ft-co.ft-co-status .spinner-border{color: var(--co-primary) !important; width: 3rem; height: 3rem;}.ft-co.ft-co-status .o_payment_summary{justify-content: center;}.ft-co .alert{border: 0; border-radius: var(--co-radius); box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);}@keyframes ft-co-rise{from{opacity: 0; transform: translateY(18px);}}@keyframes ft-co-grow{from{transform: scaleX(0);}}@keyframes ft-co-pulse{0%, 100%{box-shadow: 0 0 0 5px rgba(var(--ft-primary-rgb, 10, 122, 192), 0.14);}50%{box-shadow: 0 0 0 11px rgba(var(--ft-primary-rgb, 10, 122, 192), 0.06);}}@keyframes ft-co-pop{from{opacity: 0; transform: scale(0.9);}}@keyframes ft-co-flash{0%{opacity: 0.2; transform: translateY(-4px);}100%{opacity: 1; transform: none;}}@media (prefers-reduced-motion: reduce){.ft-co, .ft-co *{animation: none !important; transition: none !important;}}