/* ==========================================================================
   Legal / editorial documents — shared styling (responsible-gambling,
   terms-and-conditions, cookie-policy, privacy-policy). Page-specific rules
   live in the per-page stylesheets. Mobile-first; desktop ≥ 1024px.
   ========================================================================== */

:root {
  --legal-ink: #333333;   /* handbook body copy */
  --legal-slate: #334155; /* privacy ledger copy */
  --legal-dark: #1a1d20;  /* T&C mobile cream blocks */
}

/* Anchor targets: keep headings clear of the sticky mobile header. */
.lg-anchor { scroll-margin-top: 72px; }
@media (min-width: 1024px) { .lg-anchor { scroll-margin-top: 16px; } }

/* Sticky side rails (desktop only). */
@media (min-width: 1024px) {
  .lg-sticky { position: sticky; top: 16px; }
}

/* Section navigation links: active state is applied by legal.js (scroll-spy). */
.lg-toc__link { transition: color var(--t), background-color var(--t), border-color var(--t); }

/* Interactive checklist (responsible gambling self-assessment). */
.lg-check { cursor: pointer; }
.lg-check input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.lg-check:hover { color: var(--blue); }
.lg-check.is-on { color: var(--blue); font-weight: 600; }
.lg-check:focus-within { outline: 2px solid var(--yellow); outline-offset: 2px; border-radius: 3px; }
.lg-check__hint { font-size: 11px; line-height: 14px; color: var(--ink-3); }
.lg-check__result { font-size: 13px; line-height: 17px; font-weight: 700; color: var(--blue); }
.lg-check__result[hidden] { display: none; }

/* Consent toggles (cookie policy category badges). */
.lg-toggle { cursor: pointer; border: 0; transition: background-color var(--t), transform var(--t); }
.lg-toggle:hover { transform: translateY(-1px); }
.lg-toggle[aria-pressed="true"] { background: var(--green); }
.lg-toggle.is-busy { opacity: .6; pointer-events: none; }

/* Inline links inside rich copy. */
.lg-rich a { color: var(--blue); font-weight: 700; }
.lg-rich a:hover { text-decoration: underline; }

@media print {
  .lg-sticky, .utility-bar, .header, .safety-band, .payment-rail, .footer, .slip-sheet, .toast-stack { display: none !important; }
  body { background: #fff; color: #000; }
}
