/*
 * tokens.css — OLYMPIANER design tokens (single source of truth)
 *
 * Linked by: index.html, impressum.html, datenschutz.html, agb.html, widerruf.html
 * Extracted from index.html :root block per /autoplan Phase 4 taste-decision (Claude voice).
 *
 * When tokens change, change them here. Both home and legal pages pick it up.
 * Cached by nginx with `expires 7d; immutable` (see staging.olympianer.de.conf).
 */

:root {
  /* Surfaces */
  --white: #ffffff;
  --off-white: #f8f9fc;
  --navy: #1c244b;

  /* Brand accent + states */
  --blue: #467ff7;
  --blue-light: rgba(70, 127, 247, 0.08);
  --blue-hover: #3568d4;
  /* v0.10.25 (B3, OLYMPIANER-25): --blue-text is the WCAG-AA-safe variant
     of --blue for use as text on light backgrounds. The brand accent
     `--blue` (#467ff7) renders at ~3.7:1 against white — bright, but
     fails Level AA (4.5:1) for normal-size text. `--blue-text`
     (#2e5cd0) renders at ~5.7:1 — passes AA for normal text, still
     visually-blue, brand-recognizable. Use --blue for fills, borders,
     icons, and brand accents where contrast is less critical. Use
     --blue-text wherever text reads against a light surface. */
  --blue-text: #2e5cd0;

  /* Type + utility grays */
  --gray: #6b7280;
  --gray-light: #9ca3af;
  --gray-dim: #d1d5db;
  --border: #e5e7eb;

  /* Spacing rhythm — used by main site sections AND legal-page main column */
  --section-pad: clamp(3rem, 8vw, 6rem) clamp(1.25rem, 4vw, 3rem);

  /* WCAG link tokens. Updated 2026-05-07 with audited contrast ratios:
   *   --blue (#467ff7) on white: ~3.7:1 — fails AA normal text, passes Large.
   *   --blue-text (#2e5cd0) on white: ~5.7:1 — passes AA normal.
   *   --blue on --navy (#1c244b): use --link-on-dark.
   *   --link-on-dark (#8aaeff) on --navy: ~6.0:1 — passes AA normal. */
  --link-on-light: var(--blue-text);
  --link-on-dark: #8aaeff;
}
