/* ls_paywall.css — the State Pass gate's page components.
 *
 * These are the panels the Cloudflare Pages Function INJECTS at the edge
 * (website/paywall/rewrite.js) when a visitor isn't entitled. Because
 * the markup arrives at request time rather than living in the page
 * file, its CSS has to already be on the page — hence a real stylesheet
 * rather than anything inline. Pages carrying premium markers link this
 * file (mark_page.py adds the <link>).
 *
 * Design authority: .claude/skills/design-director/SKILL.md.
 * Namespaced #hw-solar to match the evergreen family, so the file is
 * completely inert on every other page type.
 *
 * ⚠️ PX ONLY, NEVER REM (2026-08-18, learned the hard way): the Ghost
 * theme's screen.css sets html{font-size:62.5%} — a 10px root — so any
 * rem value here renders at 62.5% of the size you meant. The first
 * version of this file was written in rem and shipped every component
 * 37.5% too small ("small and squished" — owner). ls_evergreen.css is
 * immune because it is px throughout; this file now follows the same
 * convention.
 *
 * The .hw-q-* components below are NOT new: they are the lock and CTA
 * the owner already reviewed and restyled twice on the Alaska Q&A test
 * pages (commits 8099977d, b5dabbf3), lifted out of that page's inline
 * <style> so the whole evergreen fleet can share one copy.
 *
 * Colour semantics on these pages, kept intact:
 *   gold  = buy this
 *   green = you already have it   (.hw-q-active)
 *   clay  = something needs your attention   (.hw-pastdue)
 */

/* ── the button, shared by every panel here ───────────────────────── */
/* font-family is explicit because a <button> does not inherit it from
 * its container the way the <a> version of this component does — on the
 * /pass/ forms that fallback showed up as Arial. */
#hw-solar .hw-q-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--gold);color:#fff;text-decoration:none!important;font-family:var(--sans);font-weight:700;letter-spacing:.04em;font-size:14px;padding:13px 19px;border-radius:5px;white-space:nowrap;border:none;cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}
#hw-solar .hw-q-btn:hover,#hw-solar .hw-q-btn:focus-visible{background:var(--gold-bright);color:#fff;box-shadow:0 6px 18px -6px rgba(224,160,76,.6)}
#hw-solar .hw-q-btn-large{width:100%;padding:15px 16px;font-size:14px}
#hw-solar .hw-q-kicker{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--gold);margin-bottom:10px}

/* ── per-question lock: a real panel with a benefit list — the reason
 *    this is worth $14.99, spelled out, not one generic sentence ──── */
#hw-solar .hw-q-lock{border-left:3px solid var(--gold);background:rgba(172,125,70,.07);padding:16px 18px;border-radius:0 8px 8px 0}
#hw-solar .hw-q-lock-top{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
#hw-solar .hw-q-lock-title{font-size:14px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:7px}
#hw-solar .hw-q-lock-action{display:flex;align-items:center;gap:11px;flex:none}
#hw-solar .hw-q-lock-price{display:block;font-size:13px;font-weight:600;color:var(--ink-faint);white-space:nowrap}
#hw-solar .hw-q-lock .hw-q-btn{padding:9px 15px;font-size:12px}
#hw-solar .hw-q-lock-sub{font-size:14px;line-height:1.5;color:var(--ink-dim);margin-top:10px}
#hw-solar .hw-q-lock-benefits{list-style:none;margin:11px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
#hw-solar .hw-q-lock-benefits li{font-size:13px;line-height:1.4;color:var(--ink-dim);padding-left:17px;position:relative}
#hw-solar .hw-q-lock-benefits li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
#hw-solar .hw-q-lock-alt{font-size:12px;color:var(--ink-faint);margin:12px 0 0}
#hw-solar .hw-q-lock-alt a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
#hw-solar .hw-q-lock-alt a:hover{color:var(--gold-bright)}

/* ── the one mid-page big CTA — bigger, bolder, deliberately singular ─ */
#hw-solar .hw-q-big-cta{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:30px;align-items:center;padding:34px 35px;border:1px solid rgba(172,125,70,.4);background:linear-gradient(135deg,rgba(172,125,70,.16),rgba(255,255,255,.02));border-radius:14px;margin:45px 0;box-shadow:0 22px 54px -28px rgba(172,125,70,.55)}
#hw-solar .hw-q-big-cta h3{font-family:var(--serif);font-weight:400;font-size:27px;margin:1px 0 8px!important;color:#fbf9f4}
#hw-solar .hw-q-big-cta p{margin:4px 0;color:var(--ink-dim);font-size:16px;line-height:1.6}
#hw-solar .hw-q-big-cta .hw-q-small{font-size:12px;color:var(--ink-faint);margin-top:10px}
#hw-solar .hw-q-big-action{text-align:center}
#hw-solar .hw-q-big-price{font-size:37px;line-height:1;font-weight:700;font-family:var(--serif);margin-bottom:14px;color:#fbf9f4}
#hw-solar .hw-q-lock-price span,#hw-solar .hw-q-big-price span{font-size:11px;color:var(--ink-faint);font-weight:400;font-family:var(--sans)}
#hw-solar .hw-q-signin{font-size:12px;color:var(--ink-faint);margin-top:11px}
#hw-solar .hw-q-signin a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
#hw-solar .hw-q-signin a:hover{color:var(--gold-bright)}

/* ── subscriber state: a quiet success indicator, not gold, so gold
 *    keeps meaning "buy" and green means "you already have it" ────── */
#hw-solar .hw-q-active{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border:1px solid rgba(113,183,132,.32);background:rgba(113,183,132,.08);color:#a9d4b3;border-radius:6px;font-size:14px;font-weight:600}

/* ── past-due banner — q&a.md Flow 3, substep 2d.
 *    The only channel that reaches a subscriber whose card failed
 *    without depending on an email arriving. Built exactly like
 *    .hw-q-active above (1px border at .32, ground at .08, muted text),
 *    in clay rather than green: this needs attention, but the customer
 *    still HAS access, so shouting in gold would misread as a sales
 *    panel and shouting in red would misread as "you're locked out". */
#hw-solar .hw-pastdue{border:1px solid rgba(198,110,86,.32);background:rgba(198,110,86,.08);color:#e0a891;border-radius:6px;padding:14px 18px;margin:0 0 26px;font-size:14px;line-height:1.6}
#hw-solar .hw-pastdue strong{color:#f0c4b3;font-weight:600}
#hw-solar .hw-pastdue a{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
#hw-solar .hw-pastdue a:hover{color:var(--gold-bright)}

/* ── the /pass/ screens have MOVED OUT (owner directive, 2026-08-18) ──
 * Subscribe, sign in, success, help and billing are their own page
 * family now, with their own stylesheet: website/assets/css/ls_pass.css.
 * Everything that used to live here — .hw-pass-*, the pass hero grade,
 * the echo box, the step cards — went with them, rebuilt on the DG4
 * account-pages design. Nothing in this file is loaded by a /pass/ page
 * any more; what remains below is only the gate's INJECTED panels, which
 * appear on evergreen jurisdiction pages.
 */

/* ── responsive: the family's 980 / 720 breakpoints ───────────────── */
@media (max-width:980px){
  #hw-solar .hw-q-big-cta{grid-template-columns:1fr}
  #hw-solar .hw-q-btn-large{width:auto}
}
@media (max-width:720px){
  #hw-solar .hw-q-lock-top{display:block}
  #hw-solar .hw-q-lock-action{margin-top:11px}
  #hw-solar .hw-q-lock-benefits{grid-template-columns:1fr}
  #hw-solar .hw-q-big-cta{padding:26px 21px}
}
