/* ─────────────────────────────────────────────────────────────────────────
   Titel-Stufen — die eine Typo-Achse der Figma-Quelle `title` (2500:7141),
   fünf Stufen, als Variablensatz.

   Warum diese Datei: Bis zum 19.08.2026 stand jede Titelgröße doppelt im
   System — einmal in `titlekombinationen.css` (als Größe × Ebene) und einmal
   als eigene `font-size` im Komponenten-CSS von neun weiteren Widgets. Wer
   eine Stufe ändern wollte, musste alle Stellen finden. Ab jetzt stehen die
   Werte genau hier; `titlekombinationen.css` liest sie ebenso wie jedes
   Widget mit eigenem Titel-Markup.

   Ebenen-Regel (agenic-naming-conventions): L1 sind die Roh-Skalen
   `--fs-*`/`--fw-*` im Theme, L2 ist dieser Stufensatz, L3 sind die
   `--ag-{component}-*`-Variablen der Komponenten. Kein Widget greift auf
   `--fs-*` durch, sobald es eine Stufe führt.

   Werte gemessen am 19.08.2026 aus `titlekombinationen.css` (Zeilen 105–170),
   dort ihrerseits aus Figma gemessen am 10.08.2026 — unverändert übernommen.
   ───────────────────────────────────────────────────────────────────────── */

:root {
    /* Display/L 80/93 Light — AUSNAHME, nur Hero.
       Entscheidung Vincent, 19.08.2026: Die 80er-Schrift ist die Größe der
       Figma-Quelle des Hero (`hero`, Display/L 80/93 Light) und bleibt ihm
       vorbehalten. Sie steht deshalb nicht in der allgemeinen Stufen-Auswahl
       — `ag_title_stufen( true )` blendet sie ein, und nur `ag_hero` ruft so.
       Wer sie in einem anderen Widget anbietet, hat einen Finding. */
    --ag-titel-hero-80-fs: var(--fs-950);
    --ag-titel-hero-80-lh: calc(93 / 80);
    --ag-titel-hero-80-fw: var(--fw-light);

    /* Display/M 56/67 Light */
    --ag-titel-hero-56-fs: var(--fs-900);
    --ag-titel-hero-56-lh: calc(67 / 56);
    --ag-titel-hero-56-fw: var(--fw-light);

    /* Display/S 38/44 Light */
    --ag-titel-sektion-38-fs: var(--fs-750);
    --ag-titel-sektion-38-lh: calc(44 / 38);
    --ag-titel-sektion-38-fw: var(--fw-light);

    /* Display/XS 24/32 Light */
    --ag-titel-panel-24-fs: var(--fs-600);
    --ag-titel-panel-24-lh: calc(32 / 24);
    --ag-titel-panel-24-fw: var(--fw-light);

    /* 20/32 Light — TMP, ohne Figma-Quelle.
       Die Datei führt 26 Text Styles; keiner davon ist 20 px (gemessen
       26.08.2026: 12, 13, 14, 16, 19, 21, 24, 32, 37, 38, 56, 80). Der Wert
       kommt aus media-card-list.css, wo er fälschlich als „Display/XS 20"
       kommentiert war — Display/XS ist 24. Entscheidung Vincent, 26.08.2026:
       Der gebaute Zustand gewinnt; der Text Style wird später in Figma
       entschieden. Solange die Quelle fehlt, ist die Stufe ein Finding und
       kein abgesegneter Bestandteil der Leiter. */
    --ag-titel-subblock-20-fs: var(--fs-500); /* tmp */
    --ag-titel-subblock-20-lh: calc(32 / 20); /* tmp */
    --ag-titel-subblock-20-fw: var(--fw-light); /* tmp */

    /* Headline/M 24/32 Medium */
    --ag-titel-block-24m-fs: var(--fs-600);
    --ag-titel-block-24m-lh: calc(32 / 24);
    --ag-titel-block-24m-fw: var(--fw-medium);

    /* Headline/S 16/21 Medium */
    --ag-titel-label-16-fs: var(--fs-300);
    --ag-titel-label-16-lh: calc(21 / 16);
    --ag-titel-label-16-fw: var(--fw-medium);
}

/* Utility für Titel ohne eigene Komponenten-Variable. Widgets, die eine
   L3-Variable führen, brauchen sie nicht — sie zeigen mit ihrer Variable
   direkt auf den Satz oben. */
.ag-titel-stufe {
    font-size: var(--ag-titel-stufe-fs, var(--fs-600));
    line-height: var(--ag-titel-stufe-lh, calc(32 / 24));
    font-weight: var(--ag-titel-stufe-fw, var(--fw-light));
}

/* Ausnahme-Utility, nur Hero — s. Kommentar am Variablensatz oben. */
.ag-titel-stufe--hero-80 {
    --ag-titel-stufe-fs: var(--ag-titel-hero-80-fs);
    --ag-titel-stufe-lh: var(--ag-titel-hero-80-lh);
    --ag-titel-stufe-fw: var(--ag-titel-hero-80-fw);
}
.ag-titel-stufe--hero-56 {
    --ag-titel-stufe-fs: var(--ag-titel-hero-56-fs);
    --ag-titel-stufe-lh: var(--ag-titel-hero-56-lh);
    --ag-titel-stufe-fw: var(--ag-titel-hero-56-fw);
}
.ag-titel-stufe--sektion-38 {
    --ag-titel-stufe-fs: var(--ag-titel-sektion-38-fs);
    --ag-titel-stufe-lh: var(--ag-titel-sektion-38-lh);
    --ag-titel-stufe-fw: var(--ag-titel-sektion-38-fw);
}
.ag-titel-stufe--panel-24 {
    --ag-titel-stufe-fs: var(--ag-titel-panel-24-fs);
    --ag-titel-stufe-lh: var(--ag-titel-panel-24-lh);
    --ag-titel-stufe-fw: var(--ag-titel-panel-24-fw);
}
.ag-titel-stufe--block-24m {
    --ag-titel-stufe-fs: var(--ag-titel-block-24m-fs);
    --ag-titel-stufe-lh: var(--ag-titel-block-24m-lh);
    --ag-titel-stufe-fw: var(--ag-titel-block-24m-fw);
}
/* TMP, ohne Figma-Quelle — s. Variablensatz oben. */
.ag-titel-stufe--subblock-20 {
    --ag-titel-stufe-fs: var(--ag-titel-subblock-20-fs);
    --ag-titel-stufe-lh: var(--ag-titel-subblock-20-lh);
    --ag-titel-stufe-fw: var(--ag-titel-subblock-20-fw);
}
.ag-titel-stufe--label-16 {
    --ag-titel-stufe-fs: var(--ag-titel-label-16-fs);
    --ag-titel-stufe-lh: var(--ag-titel-label-16-lh);
    --ag-titel-stufe-fw: var(--ag-titel-label-16-fw);
}
