/* ══ FemininFinance — Color tokens (Design-Fundament 5.0 / v7-1) ══
   Source of truth: DesignSystem_v7-1_FemininFinance_Luckenberrechnung_final.html */
:root {
  /* ── Navy (primary / brand) ── */
  --ff-navy: #03254E;        /* Headlines, navigation, structure */
  --ff-navy-dark: #021936;   /* Hero, footer, gradients, active */
  --ff-navy-mid: #124077;    /* Secondary blue, info, sub-elements */
  --ff-navy-light: #E8EFF7;  /* Soft blue surface, info background */

  /* ── Gold (accent) ── */
  --ff-gold: #F39F29;        /* CTAs, accent, the one italic word in a headline */
  --ff-gold-dark: #D88A1F;   /* Gold hover */
  --ff-gold-light: #FDF3E3;  /* Soft gold background */

  /* ── Text & lines ── */
  --ff-text: #3D4F63;        /* Body copy */
  --ff-muted: #7F90A7;       /* Secondary text, captions, labels */
  --ff-border: #E0E8F0;      /* Hairlines, card borders */
  --ff-border-mid: #C8D6E4;  /* Stronger dividers */

  /* ── Backgrounds ── */
  --ff-bg-warm: #FFFCF8;     /* Standard page background (warm off-white) */
  --ff-bg-cool: #F6F8FB;     /* Cool section surface */
  --ff-bg-white: #FFFFFF;    /* Cards, raised surfaces */

  /* ── Status / feedback ── */
  --ff-ok: #12A882;   --ff-ok-bg: #E8F9F5;
  --ff-warn: #F39F29; --ff-warn-bg: #FDF3E3;
  --ff-err: #C23A2A;  --ff-err-bg: #FCEEF1;
  --ff-info: #124077; --ff-info-bg: #E8EFF7;

  /* ── API-Prinzip — Absichern / Puffern / Ignorieren (equal weight, never good/bad) ── */
  --ff-a: #E8821A;  --ff-a-bg: #FDF0E0;   /* Absichern — warm orange */
  --ff-p: #787878;  --ff-p-bg: #F2F2F2;   /* Puffern — pure mid-grey */
  --ff-i: #5C6B7A;  --ff-i-bg: #EEF1F4;   /* Ignorieren — cool dark grey */

  /* ── Balken-Logik (gap calculation — always encode identically) ── */
  --b-ziel: #8C8C8C;    /* Versorgungsziel = 100% reference (neutral grey) */
  --b-luecke: #C23A2A;  /* Versorgungslücke — the gap that is missing (red) */
  --b-haben: #12A882;   /* Already-existing cover (malachite green) */
  --b-loesung: #2E8B57; /* Closed gap / our recommendation (emerald) */

  /* ── Sparten (topic coding) ── */
  --sp-geld: #E8A554;   --sp-geld-soft: #FEF3E2;   /* Geld / Einkommen */
  --sp-exist: #C2607A;  --sp-exist-soft: #FCEEF1;  /* Existenz */
  --sp-alter: #5B8FCA;  --sp-alter-soft: #EAF1FA;  /* Alter */
  --sp-aufbau: #4CA88A; --sp-aufbau-soft: #E5F5F0; /* Aufbau */
  --sp-streu: #8B6EB8;  --sp-streu-soft: #F0EAF8;  /* Streuung */

  /* ── Semantic aliases ── */
  --color-primary: var(--ff-navy);
  --color-accent: var(--ff-gold);
  --text-body: var(--ff-text);
  --text-muted: var(--ff-muted);
  --text-heading: var(--ff-navy);
  --surface-page: var(--ff-bg-warm);
  --surface-card: var(--ff-bg-white);
  --surface-cool: var(--ff-bg-cool);
  --border-subtle: var(--ff-border);
  --border-strong: var(--ff-border-mid);
}
