.checkout-header { max-width: 1180px; }
.back-link { color: var(--muted); font-weight: 750; text-decoration: none; }
.checkout-shell { display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:start; max-width:1050px; margin:auto; padding:80px 28px; }
.checkout-copy { position:sticky; top:120px; }
.checkout-copy h1 { margin:0; font-size:clamp(42px,6vw,68px); line-height:1.02; letter-spacing:-.05em; }
.checkout-copy>p:last-child { max-width:470px; margin-top:24px; color:var(--muted); font-size:17px; }
.checkout-card { padding:28px; border:1px solid var(--line); border-radius:30px; background:linear-gradient(150deg,rgba(21,27,42,.96),rgba(12,16,25,.96)); box-shadow:0 30px 80px rgba(0,0,0,.3); }
.chosen-plan { display:flex; align-items:center; gap:15px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.chosen-icon { display:grid; flex:0 0 auto; place-items:center; width:60px; height:60px; border-radius:18px; background:rgba(131,92,255,.16); font-size:28px; }
.chosen-plan small { color:var(--mint); font-weight:850; letter-spacing:.12em; }
.chosen-plan h2 { margin:2px 0; font-size:27px; }
.chosen-plan p { margin:0; color:var(--muted); font-size:13px; }
fieldset { margin:24px 0 0; padding:0; border:0; }
legend { margin-bottom:12px; font-weight:850; }
.choice-list,.payment-list { display:grid; gap:8px; }
.choice-list label,.payment-list label { display:flex; align-items:center; min-height:68px; padding:12px 14px; border:1px solid var(--line); border-radius:17px; background:rgba(255,255,255,.035); cursor:pointer; }
.choice-list label:has(input:checked),.payment-list label:has(input:checked) { border-color:#835cff; background:rgba(131,92,255,.12); }
.choice-list input,.payment-list input { accent-color:#835cff; }
.choice-list span { display:flex; flex:1; align-items:center; justify-content:space-between; gap:10px; margin-left:11px; }
.choice-list small,.payment-list small { display:block; margin-top:3px; color:var(--muted); }
.payment-icon { display:grid; place-items:center; width:42px; height:42px; margin:0 12px; border-radius:13px; background:rgba(131,92,255,.14); font-size:19px; font-weight:900; }
.checkout-total { display:flex; justify-content:space-between; align-items:center; margin:26px 0 14px; padding-top:20px; border-top:1px solid var(--line); }
.checkout-total span { color:var(--muted); }
.checkout-total strong { font-size:28px; }
.pay-button { width:100%; border:0; cursor:pointer; }
.checkout-status { min-height:24px; margin:13px 0 0; color:#e0b45a; font-size:12px; text-align:center; }
.checkout-status.success { color:var(--mint); }
.checkout-fine { margin:14px 0 0; color:#778195; font-size:11px; text-align:center; }
.checkout-fine a { color:#a990ff; }
@media(max-width:800px){.checkout-shell{grid-template-columns:1fr;padding-top:50px}.checkout-copy{position:static}.checkout-copy h1{font-size:44px}}
@media(max-width:520px){.checkout-header{padding:14px 18px}.checkout-shell{padding:38px 16px}.checkout-card{padding:20px;border-radius:24px}.back-link{font-size:12px}.choice-list span{align-items:flex-start;flex-direction:column;gap:2px}}
