/* gv-age-gate — harvested 2026-09-14 from the live wulfmods.com asset (gv-age-gate.css). The two buttons
   ride the theme's one-button-system tokens (DECISIONS 080: --gv-btn-brand, --gv-btn-filled-ink,
   --gv-btn-outlined-fill / -ink, --gv-btn-radius, set per brand in the child theme's style.css); a theme
   without them falls back to the legacy --color-button-primary(-text) token, then #333 / #fff. The
   Shopify privacy-banner (#shopify-pc__banner) rules are dropped: no such banner exists on this platform.
   ONE addition: .gv-ag-heading, the visible heading a store with no logo gets (the live card always had
   a logo). The decline button is the system's small tier by intent (a de-emphasized second action). */
html.gv-age-confirmed #gv-age-gate{display:none}
#gv-age-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:16px}
#gv-age-gate .gv-ag-card{background:#fff;width:100%;max-width:420px;padding:36px 32px 28px;text-align:center;border-radius:16px}
#gv-age-gate .gv-ag-logo{display:block;margin:0 auto 20px;max-width:160px;height:auto}
#gv-age-gate .gv-ag-heading{font-size:1.125rem;font-weight:700;color:#111;margin:0 0 16px}
#gv-age-gate .gv-ag-body{font-size:.9375rem;color:#333;line-height:1.55;margin:0 0 20px}
#gv-age-gate .gv-ag-divider{border:none;border-top:1px solid #e5e5e5;margin:0 0 16px}
#gv-age-gate .gv-ag-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
#gv-age-gate .gv-ag-btn{display:block;width:100%;margin:0;white-space:normal;padding:14px 20px;font-family:var(--typeBasePrimary, sans-serif),sans-serif;font-size:1rem;font-weight:700;border-radius:var(--gv-btn-radius, 0);cursor:pointer;transition:background-color .12s ease,color .12s ease;line-height:1;border:var(--gv-btn-border, 2px) solid var(--gv-btn-brand, var(--color-button-primary, #333))}
/* DECISIONS 080 (one button system): the gate's two buttons are the theme's filled / outlined pair, on the theme's per-brand tokens (--gv-btn-brand, --gv-btn-filled-ink; fallbacks for a theme without them). Hover = the inverse swap; no opacity fade. */
#gv-age-gate .gv-ag-btn--confirm{background:var(--gv-btn-brand, var(--color-button-primary, #333));color:var(--gv-btn-filled-ink, var(--color-button-primary-text, #fff))}
#gv-age-gate .gv-ag-btn--confirm:hover,#gv-age-gate .gv-ag-btn--confirm:focus-visible{background:var(--gv-btn-outlined-fill, #fff);color:var(--gv-btn-outlined-ink, #111)}
#gv-age-gate .gv-ag-btn--decline{background:var(--gv-btn-outlined-fill, #fff);color:var(--gv-btn-outlined-ink, #111);font-size:.875rem;padding:10px 20px} /* the system's --sm tier (the theme's gvws-button--sm carries the 38px height): a de-emphasized second action, same weight */
#gv-age-gate .gv-ag-btn--decline:hover,#gv-age-gate .gv-ag-btn--decline:focus-visible{background:var(--gv-btn-brand, var(--color-button-primary, #333));color:var(--gv-btn-filled-ink, var(--color-button-primary-text, #fff))}
#gv-age-gate .gv-ag-btn:focus-visible{outline:2px solid var(--gv-btn-brand, var(--color-button-primary, #333));outline-offset:2px}
@media (prefers-reduced-motion: reduce){#gv-age-gate .gv-ag-btn{transition:none}}
#gv-age-gate .gv-ag-legal{font-size:.75rem;color:#6d6d6d;line-height:1.5;margin:0} /* 076: #888 was 3.54:1; #6d6d6d is 5.0:1 */
#gv-age-gate .gv-ag-legal a{color:inherit;text-decoration:underline}
