/* Hidden Profits Scan takeover (.zv-takeover 0.2.0) — the production half of the prototype's .zv-takeover 0.1.1.
   Implementation Spec v1.1 (Notion 3f33751b-abf6-81b6-9a0f-ff43af96e198), T6-T10. Loaded with home/scan.css, which
   carries the dialog shell itself (.zv-takeover, -bar, -close, -body). This file adds what production needs on top:
   - the bar's desktop size on a media query: the prototype's rule queried a page container that production pages lack;
   - tokens the Scan reads, scoped to the takeover. VOCABULARY: these values are owned by zivvy-design-system.css
     (v2.6.1). Most pages do not load that file, and loading it would restyle them (its base rules hit body, h1-h6, a
     and .btn), so the takeover carries the few it needs, under the same names;
   - the Scan's result styles that /hidden-profit-scan scoped to its own page (.zv-hps), so they hold on every page;
   - the page scroll lock while the takeover is open.
   Desktop background: plain --black-hero. The prototype held the hero's last frame behind the questions; production
   pages have no hero engine to hold, which is the spec's own "plain dark" case (T9, ruling Q2). */
.zv-takeover{
  --danger-400:hsl(0, 91%, 71%); --overlay-light:hsl(37, 53%, 94%, 0.1); --focus-ring-color:hsl(231, 65%, 57%);
  --radius-sm:4px; --radius-md:8px;
  --space-xxs:4px; --space-xs:8px; --space-s:12px; --space-m:16px; --space-l:24px; --space-xl:32px; --space-xxxl:48px; --space-mega:80px;
  --touch-desktop:44px; --touch-mobile:56px;
  --type-body-lg:18px; --type-body-md:16px; --type-body-sm:14px; --type-body-xs:12px;
  --weight-regular:400; --weight-semibold:600; --weight-bold:700; --weight-black:900; --line-tight:1.1;
  font-family:var(--font-text);font-size:var(--type-body-md);line-height:1.5}
/* the design system's base reset, at zero specificity so every scan.css rule still wins, as on the home */
:where(.zv-takeover) *, :where(.zv-takeover) *::before, :where(.zv-takeover) *::after{box-sizing:border-box;margin:0;padding:0}
:where(.zv-takeover) :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-display);font-weight:var(--weight-semibold);line-height:var(--line-tight)}
:where(.zv-takeover) a{text-decoration:none}
:where(.zv-takeover) button{font:inherit}

/* the page behind: locked while open. No scrollbar-gutter: a kept gutter would show the page beside the takeover */
html.zv-tk-lock{overflow:hidden}

.zv-takeover[open] .scan{--hdr-h:0px;min-height:100cqh}
.zv-takeover .scan.no-gl .calc-story{min-height:calc(100cqh - var(--space-xl) * 2)}
.zv-takeover-close{-webkit-appearance:none;appearance:none}
.zv-takeover-close svg{display:block}
.zv-takeover-wait{margin:0;padding:var(--space-xl) 20px;color:var(--text-on-dark-muted)}
@media (min-width: 860px){
  .zv-takeover-bar{height:80px;padding-inline:clamp(32px, 6vw, 112px)}
  .zv-takeover-bar img{height:30px}
  .zv-takeover-close{width:var(--touch-desktop)}
  .zv-takeover-wait{padding-inline:clamp(32px, 6vw, 112px)}
}

/* the result: the estimate's next step and links (were .zv-hps-scoped in pages/hidden-profit-scan.css) */
.scan .vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.scan .hps-next{display:grid;gap:var(--space-s);margin:var(--space-xl) 0 0;grid-column:1 / -1}
.scan .hps-next h3{margin:0;font:800 1.25rem/1.25 var(--font-display)}
.scan .hps-next .sub{margin:0;color:var(--text-on-dark-muted);max-width:44em}
.scan .hps-next .reveal-cta{margin-top:var(--space-s)}
.scan .hps-alt{display:inline-flex;align-items:center;min-height:44px;color:var(--text-on-dark);font-weight:700;text-decoration:underline;text-underline-offset:4px}
.scan .trust{margin-top:var(--space-xl)}
