/* Focused checkout steps share the storefront's neutral surfaces and black pills. */
#checkout-grid.checkout-focused-grid { width:100%; max-width:440px !important; margin-inline:auto; }
.checkout-focused-view { padding:16px 0 24px; }
.checkout-compact-panel { padding:20px; border-radius:20px; background:#f1f3f4; color:#202124; text-align:left; }
.checkout-compact-panel h2 { margin:0 0 16px; font-size:20px; line-height:1.3; font-weight:600; letter-spacing:-.025em; }
.checkout-compact-panel p { font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.checkout-review-item { display:flex; align-items:center; gap:12px; padding-bottom:16px; border-bottom:1px solid #dadce0; }
.checkout-review-item img { width:48px; height:48px; object-fit:cover; border-radius:10px; flex-shrink:0; }
.checkout-review-item h4 { font-size:14px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.checkout-review-item p { margin:2px 0 0; color:#5f6368; font-size:12px; }
#summary-inline-preorder-badge { font-size:11px; color:#5f6368; margin-bottom:3px; }
.checkout-review-details { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:16px 0; }
.checkout-review-details small, .checkout-review-amounts small { display:block; font-size:12px; color:#5f6368; margin-bottom:4px; }
.checkout-review-details p { font-size:13px; font-weight:500; }
.checkout-review-details .checkout-review-secondary { color:#5f6368; font-weight:400; font-size:12px; margin-top:4px; }
.checkout-review-total { display:flex; justify-content:space-between; font-size:13px; padding-bottom:12px; gap:12px; }
.checkout-review-amounts { display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-top:1px solid #dadce0; }
#summary-inline-due { display:block; font-size:24px; line-height:1.2; font-weight:600; letter-spacing:-.025em; }
#summary-inline-balance { display:block; font-size:14px; font-weight:500; color:inherit; }
.checkout-review-amounts > div:last-child { text-align:right; }
.checkout-compact-panel .checkout-terms { margin:4px 0 16px; font-size:11px; color:#5f6368; }
.checkout-flow-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px; }
.checkout-flow-button { min-height:44px; padding:10px 18px; border:0; border-radius:999px; background:#171717; color:#fff; font-size:14px; font-weight:500; line-height:1.4; cursor:pointer; }
.checkout-flow-button:hover { background:#333; }
.checkout-flow-button:disabled { cursor:wait; opacity:.65; }
.checkout-flow-button-secondary { background:transparent; color:#202124; }
.checkout-flow-button-secondary:hover { background:#e8eaed; }
.checkout-flow-button:focus-visible, .checkout-copy-number:focus-visible { outline:2px solid #5f6368; outline-offset:3px; }
.checkout-step-loading { min-height:140px; gap:12px; font-size:14px; color:#5f6368; }
.checkout-step-spinner { width:20px; height:20px; border:2px solid #dadce0; border-top-color:#171717; border-radius:50%; animation:checkout-step-spin .8s linear infinite; }
@keyframes checkout-step-spin { to { transform:rotate(360deg); } }
.checkout-result-icon { display:flex; align-items:center; justify-content:center; width:36px; height:36px; background:#e8eaed; border-radius:50%; margin-bottom:12px; }
.checkout-result-icon svg { width:20px; height:20px; }
.checkout-result h2 { margin-bottom:8px; }
.checkout-result-message { color:#5f6368; margin:0 0 20px; }
.checkout-payment-details { padding:16px; border-radius:14px; background:#fff; margin-bottom:16px; }
.checkout-payment-amount { display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:13px; }
.checkout-payment-amount strong { font-size:24px; font-weight:600; letter-spacing:-.025em; }
.checkout-payment-qr { display:block; width:160px; height:160px; object-fit:contain; margin:12px auto; background:#fff; border-radius:8px; }
.checkout-payment-receiver { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; font-size:12px; color:#5f6368; }
.checkout-copy-number { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:8px 10px; border-radius:999px; color:#202124; font-size:13px; font-weight:500; }
.checkout-copy-number svg { width:14px; height:14px; }
.checkout-result .checkout-result-note { margin:0 0 20px; color:#5f6368; font-size:12px; }
#checkout-summary-view:not(.hidden) { animation:summarySlideIn .2s ease-out; }
#existing-order-modal .checkout-duplicate-panel { display:block; }
#existing-order-modal .checkout-duplicate-panel .checkout-flow-button-secondary { background:transparent !important; color:inherit !important; }
#existing-order-modal .checkout-duplicate-panel h3 { margin:0 0 8px; }
#existing-order-modal .checkout-duplicate-panel p { margin:0 0 20px; font-size:14px; color:#5f6368; line-height:1.5; }
.dark .checkout-compact-panel { background:#292a2d; color:#e8eaed; }
.dark :is(.checkout-review-item, .checkout-review-amounts) { border-color:#3c4043; }
.dark :is(.checkout-review-item p, .checkout-review-details small, .checkout-review-amounts small, .checkout-review-secondary, .checkout-terms, .checkout-result-message, .checkout-result-note, .checkout-payment-receiver, .checkout-step-loading, #summary-inline-preorder-badge, #existing-order-modal .checkout-duplicate-panel p) { color:#9aa0a6; }
.dark :is(.checkout-result-icon, .checkout-payment-details) { background:#3c4043; }
.dark :is(.checkout-flow-button-secondary, .checkout-copy-number) { color:#e8eaed; }
.dark .checkout-flow-button-secondary:hover { background:#3c4043; }
.dark .checkout-step-spinner { border-color:#3c4043; border-top-color:#e8eaed; }
@media(max-width:360px) { .checkout-compact-panel { padding:16px; } .checkout-review-details { gap:12px; } .checkout-flow-button { padding-inline:14px; } }
@media(prefers-reduced-motion:reduce) { .checkout-step-spinner { animation:none; } #checkout-summary-view:not(.hidden) { animation:none; } }
