/* Own components, existing palette and Nunito; no external UI dependency. */
.checkout{max-width:640px;padding-top:32px;padding-bottom:48px}
.checkout h1{font-size:clamp(36px,7vw,52px);margin:18px 0 14px}
.checkout .sn-product__lead{margin:0 0 28px;font-size:18px}
.checkout-back{font-size:14px;color:var(--blue);font-weight:800}
.checkout-periods{border:0;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.checkout-periods legend{font-weight:800;margin-bottom:12px}
.checkout-periods label{display:flex;align-items:flex-start;gap:10px;background:var(--bg-surface);border:1px solid var(--border);border-radius:18px;padding:18px 14px;cursor:pointer;min-width:0}
.checkout-periods label:has(input:checked){border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:var(--blue-tint)}
.checkout-periods input{accent-color:var(--blue);margin-top:4px;flex-shrink:0}
.checkout-periods strong,.checkout-periods b{display:block}
.checkout-periods strong{font-size:14px;white-space:nowrap}
.checkout-periods b{font-size:23px;letter-spacing:-.03em;margin-top:10px;line-height:1.25}
.checkout-periods small{display:block;letter-spacing:0;font-weight:600;font-size:13px;color:var(--text-secondary)}
.checkout-periods em{display:inline-block;font-style:normal;font-size:10px;vertical-align:2px;background:var(--blue);color:var(--text-invert);padding:3px 5px;border-radius:6px;margin-left:3px}
.checkout .checkout-billing{font-size:13px;color:var(--text-secondary);margin:10px 0 22px;min-height:22px}
.checkout-benefits{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px;font-size:15px}
.checkout-benefits li{display:flex;gap:10px;align-items:baseline}
.checkout-benefits li:before{content:'✓';color:var(--blue);font-weight:900}
.checkout .checkout-free{font-size:13px;color:var(--text-secondary);border-top:1px solid var(--border);padding-top:18px;margin-top:20px}
.checkout-account{font-size:13px;color:var(--text-secondary);overflow-wrap:anywhere}
.checkout-primary{width:100%;margin-top:10px;min-height:52px;justify-content:center}
.checkout-link{display:block;background:none;border:0;color:var(--blue);font:inherit;font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:12px;margin:8px auto;text-align:center;cursor:pointer}
.checkout-panel{background:var(--bg-surface);padding:28px;border:1px solid var(--border);border-radius:24px;box-shadow:0 8px 24px #512b4105}
.checkout-panel h2{font-size:32px;margin:14px 0}
.checkout-check{width:44px;height:44px;display:grid;place-items:center;background:var(--blue-tint);color:var(--blue);font-size:25px;border-radius:50%;font-weight:900}
.checkout-summary{margin:24px 0}
.checkout-summary>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0}
.checkout-summary dt{color:var(--text-secondary)}
.checkout-summary dd{margin:0;font-weight:800;text-align:right}
.checkout-summary .checkout-total{border-top:1px solid var(--border);margin-top:10px;padding-top:20px;font-size:21px}
.checkout-error{padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--bg-surface);color:var(--blue);font-weight:700;font-size:14px}
.checkout .checkout-footnote{margin-top:26px;font-size:12px}
.checkout button:disabled{opacity:.55;cursor:wait}
.checkout :is(button,a,input):focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:360px){.checkout-periods label{gap:7px;padding:16px 10px}.checkout-periods b{font-size:21px}.checkout-periods em{font-size:9px;padding:2px 3px;margin-left:1px}.checkout-panel{padding:22px}}
@media(prefers-reduced-motion:no-preference){.checkout-panel{animation:checkout-in .24s ease both}@keyframes checkout-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
