.checkout-stepper{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;margin-bottom:16px;padding:20px 28px;display:flex}.step-wrapper{flex:1;align-items:center;display:flex}.step-wrapper:last-child{flex:none}.step{flex-shrink:0;align-items:center;gap:10px;display:flex}.step.clickable{cursor:pointer}.step.clickable:hover .step-indicator{opacity:.85}.step .step-indicator{color:#6b7280;background:#f4f6fa;border:2px solid #e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .25s;display:flex}.step .step-indicator svg{stroke-width:2px;width:14px;height:14px}.step .step-title{color:#6b7280;white-space:nowrap;font-size:.8rem;font-weight:600;transition:color .2s}.step.active .step-indicator{color:#fff;background:#1f2c4c;border-color:#1f2c4c;box-shadow:0 2px 8px #1f2c4c4d}.step.active .step-title{color:#1f2c4c}.step.completed .step-indicator{color:#fff;background:#3e9361;border-color:#3e9361}.step.completed .step-title{color:#3e9361}.step-connector{background:#e2e8f0;flex:1;height:1px;margin:0 12px;position:relative;overflow:hidden}.step-connector:after{content:"";transform-origin:0;background:#3e9361;transition:transform .4s;position:absolute;top:0;bottom:0;left:0;right:0;transform:scaleX(0)}.step-connector.completed:after{transform:scaleX(1)}@media (max-width:520px){.checkout-stepper{padding:14px 16px}.step{gap:6px}.step .step-indicator{width:28px;height:28px}.step .step-indicator svg{width:12px;height:12px}.step .step-title{display:none}.step.active .step-title{font-size:.75rem;display:block}.step-connector{margin:0 8px}}
.address-step{padding:28px}.address-step .step-heading{color:#1f2c4c;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:10px;margin-bottom:4px;font-size:1rem;font-weight:700;display:flex}.address-step .step-heading svg{color:#3e9361}.address-step .step-subtitle{color:#6b7280;margin-bottom:20px;padding-left:26px;font-size:.85rem}.address-step h2{color:#1f2c4c;align-items:center;gap:10px;margin-bottom:4px;font-size:1rem;font-weight:700;display:flex}.address-step h2 svg{color:#3e9361}.addresses-list{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.address-card{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;align-items:flex-start;gap:14px;padding:14px 18px;transition:all .15s;display:flex}.address-card:hover{background:#1f2c4c03;border-color:#1f2c4c40}.address-card.selected{background:#1f2c4c05;border-color:#1f2c4c}.address-card .address-radio{flex-shrink:0;padding-top:2px}.address-card .address-radio .radio-outer{border:2px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.address-card .address-radio .radio-inner{background:#1f2c4c;border-radius:50%;width:10px;height:10px}.address-card.selected .radio-outer{border-color:#1f2c4c}.address-card .address-content{flex:1}.address-card .address-name{color:#1f2c4c;align-items:center;gap:8px;margin-bottom:2px;font-size:.9rem;font-weight:600;display:flex}.address-card .address-name .default-badge{color:#2f6f49;text-transform:uppercase;letter-spacing:.04em;background:#3e93611f;border-radius:3px;padding:1px 7px;font-size:.65rem;font-weight:600}.address-card .address-details,.address-card .address-city{color:#6b7280;font-size:.82rem;line-height:1.5}.address-card .address-phone{color:#6b7280;margin-top:3px;font-size:.8rem}.btn-add-address{color:#6b7280;cursor:pointer;background:0 0;border:1.5px dashed #e2e8f0;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:20px;padding:13px;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.btn-add-address:hover{color:#1f2c4c;background:#1f2c4c05;border-color:#1f2c4c}.address-form{background:#f4f6fa;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:20px;padding:20px}.address-form h3{color:#1f2c4c;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-size:.875rem;font-weight:700}.address-form .form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:600px){.address-form .form-row{grid-template-columns:1fr}}.address-form .form-group{margin-bottom:14px}.address-form .form-group label{color:#1f2c4c;text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px;font-size:.8rem;font-weight:600;display:block}.address-form .form-group input,.address-form .form-group select{color:#1f2c4c;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:5px;width:100%;padding:10px 12px;font-size:.9rem;transition:border-color .15s}.address-form .form-group input:focus,.address-form .form-group select:focus{border-color:#1f2c4c;outline:none;box-shadow:0 0 0 3px #1f2c4c12}.address-form .form-group input.error,.address-form .form-group select.error{border-color:#dc2626}.address-form .form-group input::placeholder,.address-form .form-group select::placeholder{color:#b0b8c1}.address-form .form-group .error-text{color:#dc2626;margin-top:3px;font-size:.75rem;display:block}.address-form .form-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.address-form .form-actions button{cursor:pointer;border-radius:5px;padding:10px 20px;font-size:.875rem;font-weight:600;transition:all .15s}.address-form .form-actions .btn-cancel{color:#6b7280;background:0 0;border:1px solid #e2e8f0}.address-form .form-actions .btn-cancel:hover{color:#1f2c4c;background:#f0f0f0}.address-form .form-actions .btn-save{color:#fff;background:#1f2c4c;border:none}.address-form .form-actions .btn-save:hover:not(:disabled){background:#162038}.address-form .form-actions .btn-save:disabled{opacity:.5;cursor:not-allowed}.step-footer{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:20px}.step-footer .btn-continue{color:#fff;cursor:pointer;letter-spacing:.02em;background:#1f2c4c;border:none;border-radius:6px;width:100%;padding:14px;font-size:.95rem;font-weight:700;transition:background .15s}.step-footer .btn-continue:hover:not(:disabled){background:#162038}.step-footer .btn-continue:disabled{opacity:.45;cursor:not-allowed}
.city-search{width:100%;position:relative}.city-search__input-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;transition:border-color .2s;display:flex;position:relative}.city-search__input-wrapper:focus-within{border-color:#1f2c4c}.city-search__input-wrapper.error{border-color:#f44336}.city-search__input-wrapper>.city-search__input{color:#1f2c4c;border-radius:8px;outline:none;flex:1;min-width:0;padding:12px 14px 12px 8px;font-size:.95rem;background:0 0!important;border:none!important}.city-search__input-wrapper>.city-search__input::placeholder{color:#9ca3af}.city-search__input-wrapper>.city-search__input.selected{font-weight:500}.city-search__icon{color:#9ca3af;pointer-events:none;flex-shrink:0;padding-left:12px;transition:color .2s}.city-search__input-wrapper:focus-within .city-search__icon{color:#1f2c4c}.city-search__dropdown{z-index:200;background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:260px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0000001a}.city-search__dropdown::-webkit-scrollbar{width:4px}.city-search__dropdown::-webkit-scrollbar-track{background:0 0}.city-search__dropdown::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}.city-search__option{color:#1f2c4c;cursor:pointer;padding:10px 14px;font-size:.9rem;transition:background .1s}.city-search__option mark{color:#3e9361;background:0 0;font-weight:600}.city-search__option:hover,.city-search__option.active{background:#1f2c4c0d}.city-search__option.chosen{color:#1f2c4c;background:#1f2c4c1a;font-weight:500}.city-search__empty{color:#9ca3af;text-align:center;padding:12px 14px;font-size:.88rem;list-style:none}
.guest-address-step{padding:28px}.guest-address-step .form-section{background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:16px;padding:20px}.guest-address-step .form-section h2{color:#1f2c4c;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:10px;margin-bottom:6px;font-size:.875rem;font-weight:700;display:flex}.guest-address-step .form-section h2 svg{color:#3e9361;width:15px;height:15px}.guest-address-step .form-section .section-subtitle{color:#6b7280;margin-bottom:20px;font-size:.9rem}.guest-address-step .form-section .section-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.guest-address-step .form-section .section-header h2{margin-bottom:0}.guest-address-step .form-section .section-header .btn-same-as-contact{color:#1f2c4c;cursor:pointer;background:#1f2c4c0f;border:1px solid #1f2c4c33;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}.guest-address-step .form-section .section-header .btn-same-as-contact:hover{background:#1f2c4c1f}.guest-address-step .form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:600px){.guest-address-step .form-row{grid-template-columns:1fr}}.guest-address-step .form-group{margin-bottom:16px}.guest-address-step .form-group label{color:#1f2c4c;margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.guest-address-step .form-group input,.guest-address-step .form-group select{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:12px 14px;font-size:.95rem;transition:border-color .2s}.guest-address-step .form-group input:focus,.guest-address-step .form-group select:focus{border-color:#1f2c4c;outline:none;box-shadow:0 0 0 3px #1f2c4c14}.guest-address-step .form-group input.error,.guest-address-step .form-group select.error{border-color:#dc2626}.guest-address-step .form-group input::placeholder,.guest-address-step .form-group select::placeholder{color:#aaa}.guest-address-step .form-group select{cursor:pointer}.guest-address-step .form-group .error-text{color:#dc2626;margin-top:4px;font-size:.8rem;display:block}.step-footer{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:20px}.step-footer .btn-continue{color:#fff;cursor:pointer;letter-spacing:.02em;background:#1f2c4c;border:none;border-radius:6px;width:100%;padding:13px;font-size:.9rem;font-weight:700;transition:background .15s}.step-footer .btn-continue:hover:not(:disabled){background:#162038}.step-footer .btn-continue:disabled{opacity:.45;cursor:not-allowed}
.shipping-step{padding:28px}.shipping-step h2{color:#1f2c4c;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:10px;margin-bottom:4px;font-size:1rem;font-weight:700;display:flex}.shipping-step h2 svg{color:#3e9361}.shipping-step .step-subtitle{color:#6b7280;margin-bottom:20px;padding-left:26px;font-size:.85rem}.shipping-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:48px 20px;display:flex}.shipping-loading .spinner{color:#1f2c4c;margin-bottom:12px;animation:1s linear infinite spin}.shipping-loading p{font-size:.875rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shipping-error{text-align:center;background:#dc26260a;border-radius:6px;flex-direction:column;align-items:center;padding:32px 20px;display:flex}.shipping-error svg{color:#dc2626;margin-bottom:10px}.shipping-error p{color:#6b7280;margin-bottom:14px;font-size:.875rem}.shipping-error button{color:#fff;cursor:pointer;background:#1f2c4c;border:none;border-radius:5px;padding:9px 20px;font-size:.875rem;font-weight:600}.shipping-error button:hover{background:#162038}.no-shipping{text-align:center;background:#f4f6fa;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;align-items:center;padding:48px 20px;display:flex}.no-shipping svg{color:#6b7280;margin-bottom:12px}.no-shipping h3{color:#1f2c4c;margin-bottom:6px;font-size:1rem;font-weight:600}.no-shipping p{color:#6b7280;font-size:.875rem}.shipping-options{flex-direction:column;gap:10px;display:flex}.shipping-option-card{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;align-items:center;gap:14px;padding:16px 18px;transition:all .15s;display:flex}.shipping-option-card:hover{border-color:#1f2c4c40}.shipping-option-card.selected{background:#1f2c4c05;border-color:#1f2c4c}.shipping-option-card .option-radio{flex-shrink:0}.shipping-option-card .option-radio .radio-outer{border:2px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.shipping-option-card .option-radio .radio-inner{background:#1f2c4c;border-radius:50%;width:10px;height:10px}.shipping-option-card.selected .radio-outer{border-color:#1f2c4c}.shipping-option-card .option-logo{background:#f4f6fa;border:1px solid #e2e8f0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;overflow:hidden}.shipping-option-card .option-logo img{object-fit:contain;max-width:100%;max-height:100%}.shipping-option-card .option-logo .logo-placeholder{color:#6b7280}.shipping-option-card .option-details{flex:1}.shipping-option-card .option-details .carrier-name{color:#1f2c4c;margin-bottom:2px;font-size:.9rem;font-weight:700}.shipping-option-card .option-details .delivery-estimate{color:#6b7280;margin:0;font-size:.8rem}.shipping-option-card .option-details .free-threshold{color:#16a34a;margin:3px 0 0;font-size:.75rem;font-weight:500}.shipping-option-card .option-price{text-align:right;flex-shrink:0}.shipping-option-card .option-price .price{color:#1f2c4c;font-size:1rem;font-weight:700}.shipping-option-card .option-price .price-free{color:#16a34a;background:#16a34a1a;border-radius:4px;padding:3px 10px;font-size:.875rem;font-weight:700}.step-actions{border-top:1px solid #e2e8f0;justify-content:space-between;gap:14px;margin-top:24px;padding-top:20px;display:flex}.step-actions button{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:12px 24px;font-size:.9rem;font-weight:600;transition:all .15s;display:flex}.step-actions .btn-back{color:#6b7280;background:0 0;border:1px solid #e2e8f0}.step-actions .btn-back:hover{color:#1f2c4c;background:#f4f6fa;border-color:#1f2c4c4d}.step-actions .btn-continue{color:#fff;letter-spacing:.02em;background:#1f2c4c;border:none;flex:1;justify-content:center;max-width:280px}.step-actions .btn-continue:hover:not(:disabled){background:#162038}.step-actions .btn-continue:disabled{opacity:.45;cursor:not-allowed}@media (max-width:600px){.shipping-option-card{flex-wrap:wrap}.shipping-option-card .option-logo{width:44px;height:44px}.shipping-option-card .option-price{text-align:left;width:100%;padding-left:32px}.step-actions{flex-direction:column-reverse}.step-actions .btn-back,.step-actions .btn-continue{justify-content:center;width:100%;max-width:none}}
.review-step{padding:28px}.review-step h2{color:#1f2c4c;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:10px;margin-bottom:4px;font-size:1rem;font-weight:700;display:flex}.review-step h2 svg{color:#3e9361}.review-step .step-subtitle{color:#6b7280;margin-bottom:20px;padding-left:26px;font-size:.85rem}.review-section{background:#fff;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:16px;overflow:hidden}.review-section h3{color:#1f2c4c;text-transform:uppercase;letter-spacing:.06em;background:#f6f7f9;border-bottom:1px solid #e2e8f0;align-items:center;gap:8px;margin:0;padding:12px 18px;font-size:.75rem;font-weight:700;display:flex}.review-section h3 svg{color:#3e9361;width:14px;height:14px}.review-section .section-content{padding:14px 18px}.review-section.guest-info{background:#1f2c4c08;border-color:#1f2c4c26}.review-section.guest-info h3{background:#1f2c4c0d}.review-section.guest-info .guest-email{color:#1f2c4c;margin:0 0 8px;font-size:1rem;font-weight:600}.review-section.guest-info .guest-notice{color:#6b7280;margin:0;font-size:.85rem}.address-summary p{color:#1f2c4c;margin:0 0 4px;font-size:.95rem}.address-summary p.address-name{font-weight:600}.address-summary p.phone{color:#6b7280;margin-top:8px}.shipping-summary{justify-content:space-between;align-items:center;display:flex}.shipping-summary .carrier-info{flex-direction:column;gap:4px;display:flex}.shipping-summary .carrier-info .carrier-name{color:#1f2c4c;font-weight:600}.shipping-summary .carrier-info .delivery-time{color:#6b7280;font-size:.9rem}.shipping-summary .shipping-price{font-weight:600}.shipping-summary .shipping-price .free{color:#16a34a;background:#16a34a1a;border-radius:6px;padding:4px 12px}.cart-items .cart-item{align-items:center;gap:16px;padding:12px 0;display:flex}.cart-items .cart-item:not(:last-child){border-bottom:1px solid #e2e8f0}.cart-items .cart-item .item-image{background:#f5f5f5;border-radius:8px;width:64px;height:64px;overflow:hidden}.cart-items .cart-item .item-image img{object-fit:cover;width:100%;height:100%}.cart-items .cart-item .item-details{flex:1}.cart-items .cart-item .item-details h4{color:#1f2c4c;margin:0 0 4px;font-size:.95rem;font-weight:600}.cart-items .cart-item .item-details .variant{color:#6b7280;margin:0 0 2px;font-size:.85rem}.cart-items .cart-item .item-details .quantity{color:#6b7280;margin:0;font-size:.85rem}.cart-items .cart-item .item-price{color:#1f2c4c;white-space:nowrap;font-weight:600}.oos-banner{background:#fff8e1;border:1px solid #ffcc02;border-radius:12px;align-items:flex-start;gap:14px;margin-bottom:24px;padding:16px 20px;animation:.3s slideDown;display:flex}.oos-banner>svg{color:#f59e0b;flex-shrink:0;margin-top:2px}.oos-banner .oos-banner-content{flex:1}.oos-banner .oos-banner-title{color:#92400e;margin:0 0 4px;font-size:.95rem;font-weight:700}.oos-banner .oos-banner-text{color:#a16207;margin:0;font-size:.875rem;line-height:1.5}.cart-item--oos{opacity:.65;background:#fef2f2;border-radius:8px;margin:0 -12px;position:relative;padding:12px!important}.cart-item--oos .item-image img{filter:grayscale(60%)}.cart-item--oos .item-details h4{text-decoration:line-through;color:#6b7280!important}.cart-item--oos .item-details .stock-info{color:#dc2626;margin:4px 0 0;font-size:.8rem;font-weight:600}.cart-item--oos .oos-overlay-badge{color:#fff;text-transform:uppercase;letter-spacing:.3px;z-index:1;background:#dc2626;border-radius:12px;align-items:center;gap:4px;padding:3px 10px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:8px;right:8px}.btn-remove-oos{color:#fff;cursor:pointer;white-space:nowrap;background:#dc2626;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.btn-remove-oos:hover:not(:disabled){background:#bb1e1e;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.btn-remove-oos:disabled{opacity:.7;cursor:not-allowed}.btn-remove-oos .spinner{animation:1s linear infinite spin}.item-actions{flex-shrink:0;align-items:center;display:flex}.item-actions .item-price{color:#1f2c4c;white-space:nowrap;font-weight:600}.coupon-section .applied-coupon{align-items:center;gap:12px;display:flex}.coupon-section .applied-coupon .coupon-code{color:#16a34a;background:#16a34a1a;border-radius:8px;padding:8px 16px;font-weight:600}.coupon-section .applied-coupon .btn-remove-coupon{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.coupon-section .applied-coupon .btn-remove-coupon:hover{color:#dc2626;background:#dc26261a}.coupon-section .coupon-message{border-radius:8px;margin-bottom:12px;padding:12px 16px;font-size:.9rem;animation:.3s slideDown}.coupon-section .coupon-message.coupon-success{color:#2e7d32;background:#16a34a1a;border:1px solid #16a34a4d}.coupon-section .coupon-message.coupon-error{color:#c62828;background:#dc26261a;border:1px solid #dc26264d}.coupon-section .coupon-notice{color:#1565c0;background:#2196f314;border:1px solid #2196f333;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;font-size:.85rem;display:flex}.coupon-section .coupon-notice svg{color:#2196f3;flex-shrink:0}.coupon-section .coupon-notice span{line-height:1.4}.coupon-section .coupon-form{gap:12px;display:flex}.coupon-section .coupon-form input{border:1px solid #e2e8f0;border-radius:8px;flex:1;padding:12px 14px;font-size:.95rem}.coupon-section .coupon-form input:focus{border-color:#1f2c4c;outline:none}.coupon-section .coupon-form input::placeholder{color:#aaa}.coupon-section .coupon-form button{color:#fff;cursor:pointer;background:#1f2c4c;border:none;border-radius:8px;padding:12px 24px;font-weight:500;transition:background .2s}.coupon-section .coupon-form button:hover:not(:disabled){background:#555}.coupon-section .coupon-form button:disabled{opacity:.5;cursor:not-allowed}.order-totals{background:#f6f7f9;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:16px;padding:16px 18px}.order-totals .total-row{color:#6b7280;justify-content:space-between;align-items:center;padding:7px 0;font-size:.875rem;display:flex}.order-totals .total-row:not(:last-child){border-bottom:1px solid #e2e8f0b3}.order-totals .total-row .total-label{font-weight:500}.order-totals .total-row .total-value{color:#1f2c4c;font-weight:600}.order-totals .total-row.discount,.order-totals .total-row.discount .total-value{color:#16a34a}.order-totals .total-row.final{color:#1f2c4c;margin-top:4px;padding-top:12px;font-size:1.05rem;font-weight:700;border-top:2px solid #e2e8f0!important;border-bottom:none!important}.order-totals .total-row.final .total-value{color:#1f2c4c;font-size:1.15rem}.payment-notice{background:#16a34a0d;border:1px solid #16a34a33;border-radius:12px;align-items:flex-start;gap:16px;margin-bottom:24px;padding:20px;display:flex}.payment-notice svg{color:#16a34a;flex-shrink:0}.payment-notice h4{color:#1f2c4c;margin:0 0 4px;font-size:1rem;font-weight:600}.payment-notice p{color:#6b7280;margin:0;font-size:.9rem}.validation-warnings{background:#ff98001a;border:1px solid #ff98004d;border-radius:8px;margin-bottom:24px;padding:12px 16px}.validation-warnings p{color:#e65100;margin:0;font-size:.9rem}.validation-warnings p:not(:last-child){margin-bottom:8px}.validation-loading{background:#1f2c4c0a;border:1px solid #1f2c4c26;border-radius:8px;justify-content:center;align-items:center;gap:12px;margin-bottom:24px;padding:16px;display:flex}.validation-loading .spinner{color:#1f2c4c;animation:1s linear infinite spin}.validation-loading p{color:#1f2c4c;margin:0;font-size:.95rem}.validation-error{background:#dc26261a;border:1px solid #dc26264d;border-radius:8px;margin-bottom:24px;padding:12px 16px}.validation-error p{color:#c62828;margin:0;font-size:.9rem}.validation-errors{background:#dc26261a;border:1px solid #dc26264d;border-radius:8px;margin-bottom:24px;padding:12px 16px}.validation-errors h4{color:#c62828;margin:0 0 8px;font-size:.95rem;font-weight:600}.validation-errors p{color:#c62828;margin:0;font-size:.9rem}.validation-errors p:not(:last-child){margin-bottom:6px}.step-actions{border-top:1px solid #e2e8f0;justify-content:space-between;gap:14px;margin-top:24px;padding-top:20px;display:flex}.step-actions button{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:13px 24px;font-size:.9rem;font-weight:600;transition:all .15s;display:flex}.step-actions .btn-back{color:#6b7280;background:0 0;border:1px solid #e2e8f0}.step-actions .btn-back:hover{color:#1f2c4c;background:#f4f6fa;border-color:#1f2c4c4d}.step-actions .btn-place-order{color:#fff;letter-spacing:.02em;background:#1f2c4c;border:none;flex:1;max-width:340px;font-weight:700}.step-actions .btn-place-order .spinner{animation:1s linear infinite spin}.step-actions .btn-place-order:hover:not(:disabled){background:#162038;box-shadow:0 4px 14px #1f2c4c4d}.step-actions .btn-place-order:disabled{opacity:.4;cursor:not-allowed}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.gift-section{padding:20px}.gift-section .gift-toggle{align-items:center;gap:12px;display:flex}.gift-section .gift-toggle input[type=checkbox]{accent-color:#1f2c4c;cursor:pointer;flex-shrink:0;width:20px;height:20px}.gift-section .gift-toggle label{color:#1f2c4c;cursor:pointer;align-items:center;gap:8px;font-size:1rem;font-weight:600;display:flex}.gift-section .gift-toggle label svg{color:#3e9361}.gift-section .gift-note-container{flex-direction:column;gap:8px;margin-top:16px;display:flex}.gift-section .gift-note-container label{color:#1f2c4c;font-size:.9rem;font-weight:500}.gift-section .gift-note-container label .optional{color:#6b7280;font-weight:400}.gift-section .gift-note-container textarea{resize:vertical;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:12px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.gift-section .gift-note-container textarea:focus{border-color:#1f2c4c;outline:none;box-shadow:0 0 0 3px #1f2c4c14}.gift-section .gift-note-container textarea::placeholder{color:#aaa}.gift-section .gift-note-container .gift-char-count{color:#6b7280;text-align:right;font-size:.8rem}.cgv-section{background:#f8f9fa;border:2px solid #dee2e6;border-radius:12px;margin:30px 0;padding:24px}.cgv-section .cgv-checkbox{align-items:flex-start;gap:12px;display:flex}.cgv-section .cgv-checkbox input[type=checkbox]{cursor:pointer;accent-color:#000;flex-shrink:0;width:20px;height:20px;margin-top:2px}.cgv-section .cgv-checkbox label{cursor:pointer;color:#2d2d2d;flex:1;align-items:flex-start;gap:8px;font-size:.95rem;line-height:1.6;display:flex}.cgv-section .cgv-checkbox label .cgv-icon{color:#6c757d;flex-shrink:0;margin-top:2px}.cgv-section .cgv-checkbox label span{flex:1}.cgv-section .cgv-checkbox label .cgv-link{color:#000;font-weight:600;text-decoration:underline;transition:opacity .2s}.cgv-section .cgv-checkbox label .cgv-link:hover{opacity:.7}.cgv-section .cgv-warning{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:12px 16px;font-size:.9rem;font-weight:500;display:flex}.cgv-section .cgv-warning:before{content:"⚠️";font-size:1.2rem}.payment-security-logos{background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);border:2px solid #e9ecef;border-radius:16px;margin:30px 0;padding:32px 28px;box-shadow:0 2px 8px #0000000d}.payment-security-logos .security-title{color:#1a1a1a;text-align:center;justify-content:center;align-items:center;gap:10px;margin-bottom:8px;font-size:1.1rem;font-weight:700;display:flex}.payment-security-logos .security-title svg{color:#28a745;flex-shrink:0}.payment-security-logos .security-subtitle{text-align:center;color:#6c757d;margin-bottom:24px;font-size:.9rem;line-height:1.5}.payment-security-logos .logos-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px;margin-bottom:24px;padding:20px 0;display:grid}.payment-security-logos .logos-grid .logo-item{background:#fff;border:1px solid #e9ecef;border-radius:12px;justify-content:center;align-items:center;min-height:80px;padding:16px;transition:all .3s;display:flex}.payment-security-logos .logos-grid .logo-item:hover{border-color:#000;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.payment-security-logos .logos-grid .logo-item img{object-fit:contain;filter:grayscale(20%);width:auto;max-width:100%;height:auto;max-height:50px;transition:filter .3s}.payment-security-logos .logos-grid .logo-item:hover img{filter:grayscale(0%)}.payment-security-logos .security-features{border-top:1px solid #e9ecef;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;padding-top:20px;display:flex}.payment-security-logos .security-features .feature{color:#495057;align-items:center;gap:8px;font-size:.85rem;font-weight:500;display:flex}.payment-security-logos .security-features .feature svg{color:#28a745;flex-shrink:0}@media (max-width:768px){.payment-security-logos{margin:24px 0;padding:24px 20px}.payment-security-logos .security-title{font-size:1rem}.payment-security-logos .security-subtitle{margin-bottom:20px;font-size:.85rem}.payment-security-logos .logos-grid{grid-template-columns:repeat(3,1fr);gap:16px}.payment-security-logos .security-features{gap:16px}.payment-security-logos .security-features .feature{font-size:.8rem}.payment-security-logos .security-features .feature svg{width:12px;height:12px}}@media (max-width:480px){.payment-security-logos .logos-grid{grid-template-columns:repeat(2,1fr);gap:12px}.payment-security-logos .logos-grid .logo-item{min-height:70px;padding:12px}.payment-security-logos .logos-grid .logo-item img{max-height:40px}}.payment-method-section{margin-bottom:24px}.payment-method-section h3{color:#1f2c4c;align-items:center;gap:10px;margin-bottom:16px;font-size:1rem;font-weight:600;display:flex}.payment-method-section h3 svg{color:#1f2c4c}.payment-methods{flex-direction:column;gap:16px;display:flex}.payment-method-option{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:12px;gap:16px;padding:20px;transition:all .2s;display:flex}.payment-method-option:hover{background:#1f2c4c05;border-color:#1f2c4c4d}.payment-method-option.selected{background:#1f2c4c0a;border-color:#1f2c4c;box-shadow:0 4px 12px #1f2c4c1f}.payment-method-option .method-radio{align-items:flex-start;padding-top:2px;display:flex}.payment-method-option .method-radio input[type=radio]{cursor:pointer;accent-color:#1f2c4c;width:20px;height:20px}.payment-method-option .method-content{flex:1}.payment-method-option .method-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.payment-method-option .method-header svg{color:#1f2c4c;flex-shrink:0}.payment-method-option .method-header h4{color:#1f2c4c;flex:1;margin:0;font-size:1rem;font-weight:600}.payment-method-option .method-header .recommended-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;padding:4px 10px;font-size:.75rem;font-weight:600}.payment-method-option .method-description{color:#6b7280;margin:0;font-size:.9rem;line-height:1.5}.payment-method-option.paypal-option:hover{background:#00308705;border-color:#0030874d}.payment-method-option.paypal-option.selected{background:#009cde0d;border-color:#009cde;box-shadow:0 4px 12px #00308726}.payment-method-option .paypal-logo{width:auto;height:24px}.payment-notice.cod-notice{background:#2196f30d;border-color:#2196f333}.payment-notice.cod-notice svg{color:#2196f3}@media (max-width:600px){.cart-items .cart-item{flex-wrap:wrap}.cart-items .cart-item .item-image{width:56px;height:56px}.cart-items .cart-item .item-details{flex:1;min-width:150px}.cart-items .cart-item .item-price{text-align:right;width:100%;padding-top:8px}.cart-items .cart-item .item-actions{justify-content:flex-end;width:100%;padding-top:8px}.cart-items .cart-item.cart-item--oos .oos-overlay-badge{width:-moz-fit-content;width:fit-content;margin-bottom:8px;position:static}.coupon-form{flex-direction:column}.coupon-form button{width:100%}.step-actions{flex-direction:column-reverse}.step-actions .btn-back,.step-actions .btn-place-order{width:100%;max-width:none}}
