/* anchor-offset — an in-page link (an article's Table of Contents, `page#hash`) lands its target
   JUST BELOW the sticky header, not under it. Measured 2026-09-29 on www.gotvape.com: a TOC click
   put the heading at viewport top 0, under `#shopify-section-group__header` (sticky, 193 px tall at
   1024 px), and the reader landed in the section body with the heading hidden.

   --gv-sticky-offset is the LIVE bottom edge of the sticky header plus a small gap, written onto
   <html> by assets/js/anchor-offset.js (a ResizeObserver on the header group: its height varies by
   breakpoint, announcement bar and store). Until that script runs — or if it never does — the
   scroll-padding is 0 and --gv-anchor-fallback carries the offset on the targets themselves; the
   script zeroes the fallback the moment it sets the live value, because scroll-margin and
   scroll-padding ADD and both at once would land the heading a whole header too low. Ids and
   article markup are untouched: the fix is how the page scrolls, not what it links to. */
:root{--gv-anchor-fallback:112px}
@media (min-width:769px){:root{--gv-anchor-fallback:200px}}
html{scroll-padding-top:var(--gv-sticky-offset,0px)}
/* The article body (Expanse's rich-text element, the Resource Center shells, a classic .rte) — any
   id inside it is something a TOC can point at. */
:where(.element-text--rte,.rte,.gvws-article-guide-shell__body) :where([id],a[name]){scroll-margin-top:var(--gv-anchor-fallback)}
