.checkout { min-height:100vh; color:#f3f7f8; background:#081a23; color-scheme:dark; }
.checkout-wrap { width:min(100% - 36px, 35rem); margin-inline:auto; }
.checkout header { border-bottom:1px solid #29404a; }
.checkout header .checkout-wrap { display:flex; justify-content:space-between; align-items:center; min-height:68px; }
.checkout header a,.checkout-links { font-size:.9rem; }
.checkout header .wordmark { color:var(--gold); font-size:1.65rem; }
.checkout main { padding-block:28px max(38px, env(safe-area-inset-bottom)); }
.checkout h1 { font:400 clamp(2rem,6.6vw,2.75rem)/1.1 var(--serif); letter-spacing:-.035em; }
.total-line { margin:20px 0 22px; padding-block:0 15px; border-bottom:1px solid #314650; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.total-line small,.method small { display:block; font-size:.82rem; color:#b2c6ce; font-weight:400; }
.total-line strong { text-align:right; font-variant-numeric:tabular-nums; }
.checkout fieldset { border:0; margin:0; padding:0; display:grid; gap:10px; }
.checkout legend { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
.method { display:flex; align-items:center; gap:14px; padding:17px 14px; border:2px solid #4b606a; border-radius:12px; cursor:pointer; line-height:1.4; }
.method:has(input:checked) { border-color:#54b5ff; background:#102e40; }
.method:focus-within { outline:2px solid #f2d479; outline-offset:3px; }
.method input,.agreement input { accent-color:#65bbfc; width:19px; height:19px; min-height:0; margin:0; flex:none; }
.method input { order:3; margin-left:auto; }
.method-icon { height:38px; width:45px; display:grid; place-items:center; background:#23434a; border-radius:5px; flex:none; }
.card-icon { background:#c73142; color:white; font:bold .89rem var(--sans); }
.method-icon svg { width:25px; fill:none; stroke:#eaf6f3; stroke-width:1.7; }
.checkout details { color:#e3ebef; font-size:.91rem; }
.checkout summary { cursor:pointer; padding:9px 0; }
.other-methods { margin:8px 0 12px; }
.other-methods div { display:flex; justify-content:space-between; color:#b2c6ce; border:1px solid #465760; border-radius:6px; padding:9px 12px; margin-top:4px; }
.terms { border-top:1px solid #314650; padding-top:7px; }
.terms p { padding:2px 0 12px; }
.agreement { display:flex; gap:10px; align-items:center; min-height:44px; font-size:.95rem; cursor:pointer; }
#checkout-note { min-height:2.5em; margin:12px 0; color:#c6d7de; font-size:.92rem; }
#continue-payment { display:block; width:100%; border:none; border-radius:8px; padding:14px; min-height:50px; font-weight:700; background:#5bb8ff; color:#082032; }
#continue-payment:disabled { background:#263e4b; color:#b6c6ce; cursor:default; }
.checkout-links { display:flex; align-items:center; flex-wrap:wrap; gap:6px 20px; margin-top:12px; }
.checkout-links a,.checkout-links button,.checkout .transfer-accounts button { color:#b9ddf6; text-decoration:underline; background:transparent; border:0; padding:10px 0; font:inherit; }
#transfer-detail { margin-top:18px; padding:18px; border:1px solid #47636f; border-radius:10px; }
#transfer-detail h2 { font:400 1.4rem var(--serif); margin:0 0 8px; }
#transfer-detail p { font-size:.92rem; }
.checkout [hidden] { display:none !important; }
