.checkout-main { max-width:760px; min-height:65vh; padding-block:42px 60px; }
.checkout-main h1 { font-size:clamp(28px,4vw,38px); line-height:1.2; letter-spacing:-.03em; margin:24px 0; }
.checkout-main h2 { font-size:23px; letter-spacing:-.02em; line-height:1.4; margin:0 0 14px; }
.checkout-back { color:#147C0E; font-size:14px; text-underline-offset:3px; }
.checkout-panel { border:1px solid var(--line); border-radius:var(--card-radius); background:#fff; padding:28px; }
.checkout-panel p { line-height:1.65; }
.checkout-notice { background:#fff5df; color:#604316; border:1px solid #e7cfa3; border-radius:var(--card-radius); padding:15px 18px; margin:20px 0; }
.checkout-meta { color:#526276; font-size:14px; }
.checkout-summary { margin:24px 0; padding:18px 0; border-block:1px solid var(--line); }
.checkout-summary div { display:flex; justify-content:space-between; gap:20px; padding:6px 0; }
.checkout-summary dd { margin:0; font-weight:700; font-variant-numeric:tabular-nums; }
.checkout-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:24px; }
.checkout-primary { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 24px; border:1px solid #b62036; border-radius:6px; background:#b62036; color:#fff; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.checkout-primary:hover { background:#98182b; border-color:#98182b; }
.checkout-primary:disabled { opacity:.65; cursor:wait; }
.checkout-main :focus-visible { outline:3px solid var(--green); outline-offset:4px; }
.checkout-error { color:#a02035; line-height:1.6; }
.checkout-success { color:#106253; }
@media(max-width:600px) { .checkout-main { padding-top:28px; } .checkout-panel { padding:20px; } .checkout-summary div { flex-wrap:wrap; gap:5px 12px; } }
.sales-offers { display:grid; gap:18px; }
.sales-cart { margin-top:32px; }
.sales-cart-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:16px 0; border-bottom:1px solid var(--line); }
.sales-cart-row > span { flex:1 1 200px; }
.sales-price { font-weight:700; }
.sales-remove { background:transparent; color:#a02035; border:0; text-decoration:underline; min-height:44px; cursor:pointer; font:inherit; }
.checkout-dialog { width:min(480px,calc(100% - 32px)); padding:28px; border:1px solid var(--line); border-radius:var(--card-radius); color:var(--navy,#071D2E); }
.checkout-dialog::backdrop { background:rgba(8,21,41,.65); }
.checkout-dialog h2 { margin-top:0; }
.checkout-dialog p { line-height:1.6; }
.my-picks-section { margin:32px 0; display:grid; gap:18px; }
.my-picks-section h3 { margin-top:0; font-size:20px; }
.purchased-analysis { white-space:pre-wrap; overflow-wrap:anywhere; }

.checkout-consent { display:flex; align-items:flex-start; gap:10px; margin:20px 0; line-height:1.5; }
.checkout-consent input { flex:0 0 auto; margin-top:5px; }
.checkout-dialog :focus-visible { outline:3px solid var(--green); outline-offset:4px; }
