.checkout-page{padding:3rem 0 4rem;background:#f5f5f5;min-height:100vh}.checkout-title{font-size:2rem;font-weight:700;color:#1a1a1a;margin-bottom:2rem}.checkout-steps{display:flex;align-items:center;justify-content:center;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.step{display:flex;align-items:center;flex:1}.step:last-child{flex:0}.step-number{width:50px;height:50px;border-radius:50%;background:#e0e0e0;color:#999;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;position:relative;z-index:2;cursor:pointer;transition:all .3s}.step-number:hover{transform:scale(1.1);box-shadow:0 2px 8px #00000026}.step.active .step-number{background:#ff6b35;color:#fff}.step-line{flex:1;height:3px;background:#e0e0e0;margin:0 -5px}.step.active .step-line{background:#ff6b35}.checkout-card{background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 2px 8px #00000014;max-width:800px;margin:0 auto}.section-title{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin-bottom:2rem}.shipping-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-row.three-cols{grid-template-columns:1fr 1fr 1fr}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.95rem;font-weight:500;color:#666}.form-group input,.form-group select,.form-group textarea{padding:.875rem 1rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;color:#1a1a1a;transition:all .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b351a}.form-group input::-moz-placeholder{color:#bbb}.form-group input::placeholder{color:#bbb}.btn-continue{width:100%;background:#ff6b35;color:#fff;padding:.875rem 2rem;border:none;border-radius:12px;font-weight:600;font-size:1.125rem;cursor:pointer;margin-top:0;transition:all .3s;height:56px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.btn-continue:hover{background:#ff5722;transform:translateY(-2px);box-shadow:0 5px 15px #ff6b354d}@media (max-width: 768px){.checkout-page{padding:2rem 0}.checkout-title{font-size:1.5rem;margin-bottom:1.5rem}.checkout-steps{margin-bottom:2rem}.step-number{width:40px;height:40px;font-size:1rem}.checkout-card{padding:1.5rem;border-radius:8px}.section-title{font-size:1.25rem;margin-bottom:1.5rem}.form-row{grid-template-columns:1fr;gap:1rem}.form-row.three-cols{grid-template-columns:1fr}.shipping-form{gap:1rem}}@media (min-width: 769px) and (max-width: 1024px){.checkout-card{padding:2rem}}.step.completed .step-number{background:#ff6b35;color:#fff}.step.completed .step-number svg{width:24px;height:24px}.step-line.active{background:#ff6b35}.payment-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.payment-option{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .3s;position:relative}.payment-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.payment-option:hover,.payment-option.active{border-color:#ff6b35;background:#fff5f2}.option-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.option-header{display:flex;align-items:center;gap:.5rem}.option-title{font-size:1.125rem;font-weight:600;color:#1a1a1a}.option-description{font-size:.95rem;color:#666}.radio-circle{width:24px;height:24px;border:2px solid #ddd;border-radius:50%;position:relative;transition:all .3s}.payment-option.active .radio-circle{border-color:#ff6b35}.payment-option.active .radio-circle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#ff6b35;border-radius:50%}.card-details{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.form-actions{display:grid;grid-template-columns:1fr 2.5fr;gap:1rem;margin-top:2rem;align-items:center}.btn-back{background:#fff;color:#ff6b35;padding:.875rem 2rem;border:3px solid #FF6B35;border-radius:12px;font-weight:600;font-size:1.125rem;cursor:pointer;transition:all .3s;height:56px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.btn-back:hover{background:#fff5f2}@media (max-width: 768px){.form-actions{grid-template-columns:1fr}.btn-back{order:2}.btn-continue{order:1}.payment-option{padding:1rem}.option-title{font-size:1rem}.option-description{font-size:.875rem}}.order-items{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #eee}.order-item{display:grid;grid-template-columns:2fr auto auto;gap:1rem;align-items:start;padding:1rem 0}.order-item-main{display:flex;flex-direction:column;gap:.35rem;min-width:0}.order-item-extras{font-size:.875rem;color:#666;line-height:1.4}.order-item-extras--weight strong{color:#1a1a1a;font-weight:600}.order-item-size-field{margin-top:.35rem}.order-item-size-label{display:block;font-size:.8125rem;font-weight:600;color:#444;margin-bottom:.25rem}.checkout-review-size-select{width:100%;max-width:12rem;padding:.45rem .6rem;border:1px solid #ccc;border-radius:8px;font-size:.9rem;background:#fff}.checkout-review-loading,.checkout-review-empty{color:#666;font-size:.95rem;margin:0}.checkout-review-empty a{color:#ff4c51;font-weight:600}.item-name{font-size:1rem;color:#1a1a1a;font-weight:500}.item-quantity{font-size:1rem;color:#666}.item-price{font-size:1.125rem;font-weight:600;color:#1a1a1a;text-align:right}.order-totals{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.total-row{display:flex;justify-content:space-between;align-items:center}.total-label{font-size:1rem;color:#666}.total-value{font-size:1.125rem;font-weight:600;color:#1a1a1a}.total-row.grand-total{padding-top:1rem;border-top:2px solid #eee;margin-top:.5rem}.total-row.grand-total .total-label{font-size:1.25rem;font-weight:700;color:#1a1a1a}.total-row.grand-total .total-value{font-size:1.75rem;font-weight:700;color:#1a1a1a}@media (max-width: 768px){.order-item{grid-template-columns:1fr;gap:.5rem;padding:1.5rem 0;border-bottom:1px solid #f0f0f0}.order-item:last-child{border-bottom:none}.item-quantity{order:2}.item-price{order:3;text-align:left;font-size:1.25rem}.total-row.grand-total .total-value{font-size:1.5rem}}
