/* ============================================================
   LGS Ellwangen 2026 — Color tokens
   Source: 2025-03 LGS CD-Manual.pdf (HEX computed from RGB).
   ============================================================ */

:root {
  /* ---- Primary brand palette ---- */
  --lgs-blue: #166E92;        /* Blau — wort-/bildmarke, primary accent, lily outline */
  --lgs-light-green: #C7D42D; /* Hellgrün — highlight / CTA */
  --lgs-dark-blue: #003B49;   /* Dunkelblau — hero / footer / nav surfaces */

  /* ---- Area palette (semantic: parks & themed zones only) ---- */
  --lgs-red-inner-city: #86102A;   /* Innenstadt */
  --lgs-green-auenpark: #1C9C49;   /* Auenpark */
  --lgs-orange-free-area: #EF7C11; /* Freier Bereich */
  --lgs-purple-free-area: #592B83; /* Freier Bereich */
  --lgs-blue-jagstpark: #114F9F;   /* Jagstpark */
  --lgs-yellow-stadtpark: #FFD413; /* Stadtpark */
  --lgs-turquoise-free-area: #006A70; /* Freier Bereich */

  /* ---- Neutrals ---- */
  --lgs-white: #FFFFFF;
  --lgs-black: #000000;

  /* Derived neutrals for web UI (kept close to brand, not in manual) */
  --lgs-ink: #0F2A30;          /* near-black with a dark-blue cast for body text */
  --lgs-ink-soft: #3F5A60;     /* secondary text */
  --lgs-line: #DDE5E3;         /* hairline borders on light surfaces */
  --lgs-line-strong: #C2CECB;
  --lgs-surface: #FFFFFF;      /* card surface */
  --lgs-surface-muted: #F2F6F4;/* light section / input fill */
  --lgs-surface-sunken: #E8EEEC;
  --lgs-dark-blue-700: #022F3A;/* deeper than dark-blue for layering */
  --lgs-dark-blue-300: #14515E;/* lighter dark-blue for borders on dark */

  /* Tints (light washes of brand hues for backgrounds/badges) */
  --lgs-blue-tint: #E3EEF2;
  --lgs-green-tint: #F2F6D5;
  --lgs-dark-blue-tint: #DDE7E9;

  /* =========================================================
     SEMANTIC ALIASES — prefer these in product code
     ========================================================= */

  /* Text */
  --text-strong: var(--lgs-ink);
  --text-body: var(--lgs-ink);
  --text-muted: var(--lgs-ink-soft);
  --text-on-dark: var(--lgs-white);
  --text-on-dark-muted: #AFC6CB;
  --text-link: var(--lgs-blue);
  --text-accent: var(--lgs-light-green);

  /* Surfaces */
  --surface-page: var(--lgs-white);
  --surface-card: var(--lgs-surface);
  --surface-muted: var(--lgs-surface-muted);
  --surface-dark: var(--lgs-dark-blue);
  --surface-dark-deep: var(--lgs-dark-blue-700);

  /* Borders */
  --border-subtle: var(--lgs-line);
  --border-strong: var(--lgs-line-strong);
  --border-on-dark: var(--lgs-dark-blue-300);

  /* Interaction */
  --accent: var(--lgs-light-green);
  --accent-ink: var(--lgs-dark-blue);   /* text/icon color that sits on accent */
  --brand: var(--lgs-blue);
  --brand-strong: var(--lgs-dark-blue);

  /* Focus ring */
  --focus-ring: #2C8FB8;
}
