/* Subscription: paywall, status dialog and the games-page strip. */
.boost-strip [data-boost-subscription] { font-weight:700; }
.subscription-strip { display:flex;align-items:center;gap:.65rem;width:100%;margin:0 0 1rem;padding:.85rem 1rem;text-align:left;border:1px solid #b5c5ed;border-radius:1rem;background:linear-gradient(120deg,#f4f7ff,#eef3ff);color:var(--ink);transition:transform .25s; }
.subscription-strip>span:nth-child(2) { flex:1;min-width:0; }
.subscription-strip strong,.subscription-strip small { display:block;line-height:1.5; }
.subscription-strip strong { font-size:.72rem; }
.subscription-strip small { font-size:.6rem;color:var(--muted); }
.subscription-strip.is-warning { border-color:#e3b6bd;background:linear-gradient(120deg,#fff4f5,#fbf0f7); }
.subscription-strip:active { transform:scale(.99); }
.subscription-strip-icon { flex:none;display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--accent);color:var(--surface);font-size:.8rem;font-weight:700; }
.subscription-strip.is-warning .subscription-strip-icon { background:var(--danger); }

.subscription-dialog { position:relative;max-height:calc(100dvh - 2rem);overflow-y:auto;padding:2.3rem 1.2rem 1.2rem; }
.subscription-dialog .dialog-close { position:absolute;top:.6rem;right:.6rem;float:none;z-index:2; }
.subscription-dialog .kicker { color:var(--accent);font-size:.6rem; }
.subscription-dialog h2 { font-size:1.55rem;line-height:1.15;margin:.5rem 0 .8rem; }
.subscription-status { font-weight:600;color:var(--ink) !important; }
.subscription-status.is-warning,.subscription-warning { color:var(--danger) !important; }
.subscription-list { margin:.6rem 0;padding:0;list-style:none;display:grid;gap:.45rem; }
.subscription-list li { position:relative;padding-left:1.4rem;font-size:.75rem;line-height:1.45; }
.subscription-list li::before { content:'✓';position:absolute;left:0;top:0;color:var(--success);font-weight:700; }
.subscription-plans { display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0; }
.subscription-plan { display:grid;gap:.15rem;padding:.8rem;border:1px solid #cfd8ef;border-radius:1rem;background:var(--surface);text-align:center;font:inherit;color:var(--ink);cursor:pointer;transition:border-color .18s,background-color .18s; }
.subscription-plan:focus-visible { outline:2px solid var(--accent);outline-offset:3px; }
.subscription-plan:enabled:active { border-color:var(--accent);background:var(--paper); }
.subscription-plan:disabled { cursor:default; }
@media(hover:hover) { .subscription-plan:enabled:hover { border-color:var(--accent);background:var(--paper); } }
.subscription-plan strong { font-size:1.3rem;letter-spacing:-.03em; }
.subscription-plan span { font-size:.65rem;color:var(--muted); }
.subscription-plan small { font-size:.6rem;color:var(--accent);font-weight:600; }
.subscription-facts { display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin:.8rem 0; }
.subscription-facts div { padding:.7rem;border-radius:.9rem;background:var(--paper); }
.subscription-facts dt { font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted); }
.subscription-facts dd { margin:.2rem 0 0;font-size:.85rem;font-weight:600; }
.subscription-dialog .primary-button,.subscription-dialog .outline-button { width:100%;min-height:3rem;margin-top:.6rem;white-space:normal; }
.subscription-actions { display:grid;gap:0; }
.subscription-fineprint { font-size:.6rem !important;text-align:center;margin:.6rem 0 0; }
.subscription-error { color:var(--danger) !important;font-size:.65rem !important;margin:.4rem 0 0;min-height:0; }
.subscription-error:empty { display:none; }
@media(prefers-reduced-motion:reduce) { .subscription-strip,.subscription-plan { transition:none; } }

.receipt-email-form { display:grid;gap:.65rem;margin-top:1rem; }
.receipt-email-form label { display:grid;gap:.4rem;font-size:.65rem; }
.receipt-email-form input { box-sizing:border-box;width:100%;min-width:0;padding:.85rem;border:1px solid #cfd8ef;border-radius:.7rem;font:inherit;font-size:16px;background:var(--surface);color:var(--ink); }
