/* Checkout fields, payment cards and order summary share the storefront palette. */
.checkout-grid { grid-template-columns:minmax(0,1fr) minmax(320px,400px); gap:30px; align-items:start; }
.checkout-grid .checkout-form,.checkout-grid .checkout-summary { min-width:0; border:1px solid #ececf1; border-radius:14px; padding:28px; background:#fff; }
.checkout-grid .checkout-summary { background:#fff7f8; border-color:#f5dfe3; top:25px; }
.checkout-form .step-label { color:#343640; font-size:11px; letter-spacing:1px; margin-bottom:24px; }
.checkout-form label { text-transform:none; letter-spacing:0; font-size:12px; font-weight:600; color:#5d626e; margin-bottom:8px; }
.checkout-form input:not([type="radio"]):not([type="hidden"]),.checkout-form textarea,.checkout-form select { display:block; width:100%; min-height:46px; padding:12px 14px; border:1px solid #e2e5eb; border-radius:8px; background:#fafafb; color:#292c35; font:13px var(--font-body); outline:none; }
.checkout-form select { padding-right:32px; appearance:auto; }
.checkout-form textarea { resize:vertical; min-height:96px; }
.checkout-form input::placeholder,.checkout-form textarea::placeholder { color:#9b9fa9; opacity:1; }
.checkout-form input:focus,.checkout-form textarea:focus,.checkout-form select:focus { border-color:#e52636; box-shadow:0 0 0 3px #e5263610; }
.checkout-help { font-size:11px; color:#9297a2; margin:9px 0 0; }
.checkout-form .payment-choice { position:relative; display:flex; align-items:center; gap:12px; min-height:79px; padding:17px 15px; margin:0 0 10px; border:1px solid #e5e7ed; border-radius:10px; background:#fff; cursor:pointer; }
.checkout-form .payment-choice:has(input:checked) { border-color:#e52636; background:#fff4f5; }
.checkout-form .payment-choice input[type="radio"] { appearance:auto; flex:0 0 16px; width:16px; height:16px; padding:0; margin:0; accent-color:#e52636; box-shadow:none; }
.payment-choice .payment-logo { flex:0 0 36px; display:grid; place-items:center; width:36px; height:36px; border-radius:9px; background:#fff; color:#e52636; font-size:22px; }
.payment-choice b { display:block; color:#343640; font-size:12px; }
.payment-choice small { display:block; margin-top:5px; font-size:10px; color:#9599a3; font-weight:400; line-height:1.5; }
.mobile-payment-details { padding:18px; margin-top:14px; border:1px solid #f3d4da; border-radius:10px; background:#fff7f8; font-size:12px; }
.mobile-payment-details[hidden] { display:none!important; }
.mobile-payment-details p { font-size:12px; line-height:1.8; margin:10px 0; color:#777d89; }
.checkout-summary .eyebrow { margin-bottom:16px; }
.checkout-summary .checkout-item { display:grid; grid-template-columns:56px minmax(0,1fr) auto; gap:12px; padding:16px 0; border-color:#f0e2e5; }
.checkout-item img { width:56px; height:65px; border-radius:7px; object-fit:cover; }
.checkout-item b { font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.checkout-item small { display:block; font-size:10px; margin-top:5px; color:#9297a2; }
.checkout-item strong { font-size:12px; white-space:nowrap; }
.coupon-box { margin:22px 0; }
.coupon-box label { display:block; font-size:11px; font-weight:600; color:#656b77; margin-bottom:9px; }
.coupon-box>div { display:flex; gap:8px; }
.coupon-box input { width:100%; min-width:0; height:42px; padding:10px 12px; border:1px solid #e4dce0; border-radius:7px; background:#fff; font-size:11px; outline:none; }
.coupon-box button { padding:9px 16px; border:1px solid #efb4be; border-radius:7px; background:#fff; color:#c82035; font-size:11px; font-weight:600; }
.coupon-box small { display:block; margin-top:8px; font-size:10px; }
.checkout-summary .summary-line { margin:18px 0; font-size:12px; color:#7a808b; }
.summary-line strong { color:#343640; }
.checkout-summary .summary-line.final { border-color:#eddae0; margin-top:22px; padding-top:22px; align-items:center; font-weight:600; }
.checkout-summary .summary-line.final strong { color:#e52636; font-size:24px; }
.checkout-summary .terms-note { font-size:10px; line-height:1.8; color:#969aa5; margin:14px 0 0; }
.checkout-summary .terms-note a { color:#b22c40; }
.checkout-summary .btn-luxe { min-height:48px; font-size:12px; }
/* Keep floating controls away from coupon and payment actions. */
body:has(.checkout-grid) .back-top { display:none; }
@media(max-width:991px) { .checkout-grid { grid-template-columns:minmax(0,1fr); gap:24px; }.checkout-grid .checkout-summary { position:static; } }
@media(max-width:575px) { .checkout-grid .checkout-form,.checkout-grid .checkout-summary { padding:22px 18px; border-radius:11px; }.checkout-form .step-label { font-size:10px; letter-spacing:.6px; }.checkout-form input:not([type="radio"]):not([type="hidden"]),.checkout-form textarea,.checkout-form select { font-size:16px; }.checkout-form input::placeholder,.checkout-form textarea::placeholder { font-size:12px; }.checkout-grid { gap:18px; }.checkout-summary .checkout-item { grid-template-columns:48px minmax(0,1fr) auto; gap:10px; }.checkout-item img { width:48px; height:58px; } }
