[data-shipping-checkout] .checkout-panel { display:block; }
[data-shipping-checkout] .checkout-content { display:grid; gap:20px; min-width:0; }
[data-shipping-checkout] .delivery-option { cursor:pointer; }
.shipping-message { margin:16px 0; padding:16px; background:#fff1f2; border:1px solid #fecdd3; border-radius:14px; color:#9f1239; }
.shipping-hint { color:#67748c; font-size:13px; line-height:2; margin:16px 0; }
[data-shipping-checkout] [data-requote] { margin-top:16px; }
[data-shipping-checkout] [data-place-order] { width:100%; margin-top:20px; }
[data-shipping-checkout] .summary-products > div { display:flex; gap:12px; justify-content:space-between; padding:12px 0; }
[data-shipping-checkout] .summary-products p { margin:0; }
[data-shipping-checkout] .summary-products small { display:block; color:#67748c; }
[data-shipping-checkout] [hidden] { display:none!important; }
[data-shipping-checkout] .delivery-option { display:grid; grid-template-columns:20px minmax(0,1fr) auto; gap:14px; align-items:center; }
[data-shipping-checkout] .delivery-option > input { position:static; width:18px; height:18px; opacity:1; accent-color:var(--primary); }
[data-shipping-checkout] .delivery-option > span { display:grid; gap:6px; min-width:0; }
[data-shipping-checkout] .delivery-option small { line-height:1.9; }
[data-shipping-checkout] .delivery-option > b { white-space:nowrap; }
@media(max-width:600px) {
    [data-shipping-checkout] .delivery-option { grid-template-columns:20px minmax(0,1fr); }
    [data-shipping-checkout] .delivery-option > b { grid-column:2; }
}

[data-shipping-checkout] { padding-top:28px; }
.saved-address-field { margin-bottom:20px; }
.save-address-check { margin-top:16px; font-size:13px; }
.receipt-container { max-width:1120px; }
.receipt-status { display:flex; align-items:center; gap:20px; padding:24px; background:#fff; border:1px solid #dce4ef; border-radius:20px; margin-bottom:24px; }
.receipt-status.is-success { background:#f0fdf6; border-color:#bbebd0; }
.receipt-icon { display:grid; place-items:center; flex:0 0 60px; height:60px; border-radius:50%; background:#edf3ff; color:#1763d6; font-size:30px; }
.is-success .receipt-icon { background:#d9f7e5; color:#16814c; }
.receipt-status h1 { font-size:23px; margin:0 0 10px; }
.receipt-status p { margin:0; line-height:2; color:#67748c; font-size:14px; }
.receipt-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; align-items:start; gap:24px; }
.receipt-content { display:grid; gap:20px; min-width:0; }
.receipt-page .checkout-panel { display:block; padding:24px; }
.receipt-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:20px 0; }
.receipt-facts dt { color:#67748c; font-size:12px; margin-bottom:5px; }
.receipt-facts dd { margin:0; overflow-wrap:anywhere; font-size:14px; }
.receipt-item { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; border-top:1px solid #edf0f5; }
.receipt-item small { display:block; color:#67748c; margin-top:8px; }
.receipt-item b { white-space:nowrap; font-size:13px; }
.receipt-actions { display:grid; gap:12px; text-align:center; margin-top:24px; }
.receipt-actions .btn { width:100%; }
.receipt-delivery { display:flex; flex-wrap:wrap; gap:10px 20px; padding:14px 0; border-top:1px solid #edf0f5; }
@media(max-width:800px) { .receipt-layout { grid-template-columns:1fr; } .receipt-status { align-items:flex-start; padding:18px; gap:12px; } .receipt-status h1 { font-size:19px; } .receipt-page .checkout-panel { padding:18px; } .receipt-icon { flex-basis:42px; height:42px; font-size:25px; } }
@media print { header, footer, .receipt-actions, .shipping-hint, .site-header, .site-footer { display:none!important; } .receipt-layout { display:block; } .receipt-page { padding:0; } .checkout-summary { position:static!important; margin-top:20px; } .receipt-status { break-inside:avoid; } }
[data-shipping-checkout] button:disabled, .receipt-actions button:disabled { opacity:.55; cursor:not-allowed; box-shadow:none; }

@media print { .mobile-bottom-nav, .back-to-top, .skip-link { display:none!important; } }
/* Checkout review and payment share one card, on desktop and mobile. */
[data-shipping-checkout] .checkout-payment-card {
    min-width:0; padding:22px; border:1px solid #dce6f5; border-radius:22px;
    background:linear-gradient(160deg,#f5f9ff 0,#fff 160px);
    box-shadow:0 12px 36px rgba(26,57,105,.08);
}
[data-shipping-checkout] .checkout-summary-head { gap:12px; margin-bottom:22px; }
.checkout-summary-heading { display:flex; align-items:center; gap:10px; min-width:0; }
.checkout-summary-heading small { display:block; color:#7c8aa0; font-size:10px; margin-bottom:4px; }
.checkout-summary-heading h2 { margin:0; }
.checkout-summary-icon { display:grid; place-items:center; width:40px; height:44px; flex-shrink:0; border-radius:13px; color:#1763d6; background:#e7f0ff; font-size:18px; }
[data-shipping-checkout] .checkout-summary-head > a { display:flex; align-items:center; gap:5px; white-space:nowrap; font-size:10px; }
[data-shipping-checkout] .summary-products { display:grid; gap:10px; }
[data-shipping-checkout] .summary-products > div { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:8px; padding:12px 10px; border:1px solid #edf1f7; border-radius:14px; background:#fff; }
[data-shipping-checkout] .summary-products p { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-width:0; font-size:12px; font-weight:600; line-height:1.9; overflow-wrap:anywhere; }
[data-shipping-checkout] .summary-products small { display:block; width:auto; margin:0; padding:2px 6px; white-space:nowrap; border-radius:6px; background:#f1f5fb; color:#66768f; font-size:10px; font-weight:400; }
[data-shipping-checkout] .summary-products b { justify-self:end; font-size:11px; color:#33445f; white-space:nowrap; }
[data-shipping-checkout] .checkout-payment-card .summary-lines { margin-top:16px; padding-block:14px; border-top:0; }
[data-shipping-checkout] .checkout-payment-card .summary-total { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-top:4px; padding:17px 14px; border:1px solid #dce9fc; border-radius:14px; background:#eef5ff; }
[data-shipping-checkout] .checkout-payment-card .summary-total > span { font-size:12px; color:#415b81; }
[data-shipping-checkout] .checkout-payment-card .summary-total strong { font-size:18px; color:#1558bb; overflow-wrap:anywhere; }
.checkout-payment-actions { margin-top:20px; }
[data-shipping-checkout] .checkout-payment-actions .terms-check { display:flex; align-items:flex-start; gap:9px; font-size:11px; line-height:2; }
[data-shipping-checkout] .checkout-payment-actions .terms-check input { flex:0 0 17px; width:17px; height:17px; margin:3px 0 0; accent-color:#1763d6; }
[data-shipping-checkout] .checkout-payment-actions [data-place-order] { display:flex; justify-content:center; align-items:center; gap:16px; min-height:50px; margin-top:16px; border-radius:12px; font-size:13px; }
.checkout-payment-note { display:flex; justify-content:center; align-items:flex-start; gap:7px; margin:17px 0 0; color:#8390a5; font-size:10px; line-height:1.9; text-align:center; }
.checkout-payment-note > i { color:#4e917d; margin-top:4px; }
[data-shipping-checkout] .checkout-payment-actions .shipping-message { margin:12px 0; padding:10px 12px; font-size:11px; line-height:1.9; }
@media(max-width:980px) { [data-shipping-checkout] .checkout-payment-card { width:100%; } }
@media(max-width:420px) { [data-shipping-checkout] .checkout-payment-card { padding:18px; } }