/* Schriften — lokal ausgeliefert, kein Google-Abruf.
 *
 * WARUM: bis zum 27.10.2026 holten alle acht HTML-Seiten (index, kontakt,
 * beratung, beratung-danke, agb, datenschutz, impressum, app/index) ihre
 * Schriften bei jedem Aufruf von fonts.googleapis.com + fonts.gstatic.com —
 * VOR jeder Zustimmung. Dabei geht an Google: IP, User-Agent, Referer
 * (Pfad der Seite) und ein Cache-Zeitstempel. Das Consent-Banner konnte das
 * nicht verhindern, weil die <link>-Tags im <head> standen und der Browser
 * sie auflöst, bevor irgendein Script läuft. Eine Zustimmung, die nach dem
 * Abruf eingeholt wird, ist keine.
 *
 * Nebeneffekt, nicht der Grund: eine Round-Trip-Kette weniger
 * (DNS + TLS zu zwei fremden Hosts, dann erst die Datei).
 *
 * WAS: genau die Schnitte, die Google vorher geliefert hat — nicht mehr.
 *   Atkinson Hyperlegible 400, 700, 400 kursiv   (ital,wght@0,400;0,700;1,400)
 *   Roboto 300, 400, 500, 700                    (wght@300;400;500;700)
 * 700 kursiv fehlt absichtlich: war auch bei Google nicht angefordert. Wer
 * <strong><em> schachtelt, bekommt einen synthetisch fetten Kursiven — genau
 * wie vorher.
 * Im CSS steht an einigen Stellen font-weight:600. Dafür gab es nie eine
 * Datei; der Browser nimmt nach CSS-Fontmatching den nächsthöheren Schnitt,
 * also 700. Auch das ist unverändert.
 *
 * SUBSETS: je Schnitt zwei Dateien, getrennt über unicode-range.
 * "latin" deckt Deutsch ab (äöü, ss), "latin-ext" die Namen, die im Portal
 * vorkommen können (Łukasz, Čech, Șerban). Ohne unicode-range würde die
 * zweite Deklaration die erste komplett verdrängen und latin-ext NIE laden —
 * dann fehlen genau diese Buchstaben. Die Ranges sind die von Google/
 * fontsource, unverändert übernommen.
 * Geladen wird nur, was eine Seite wirklich braucht: ein @font-face ohne
 * passende Glyphe auf der Seite erzeugt keinen Request. Die 15 Dateien
 * (~250 KB auf der Platte) sind also kein Seitengewicht.
 *
 * HERKUNFT: @fontsource/atkinson-hyperlegible 5.2.8 und @fontsource/roboto
 * 5.2.10 — dieselben Dateien, die die alte Symfony-Site schon auslieferte
 * (public/build/fonts/, byte-identisch). Beide Schriften stehen unter der
 * SIL Open Font License 1.1; die Lizenztexte liegen daneben in
 * assets/fonts/LICENSE-*.txt und müssen mit deployt werden.
 *
 * ACHTUNG BEIM DEPLOY: die CSP im Root-.htaccess verliert mit dieser
 * Umstellung fonts.googleapis.com (style-src) und fonts.gstatic.com
 * (font-src). Reihenfolge: zuerst assets/fonts/ + diese Datei + die acht
 * HTML-Seiten, ZULETZT das .htaccess. Umgekehrt steht die Seite kurz auf
 * Systemschrift, weil die alten <link>-Tags dann schon von der CSP
 * blockiert werden.
 */

/* ---------- Atkinson Hyperlegible (Überschriften) ---------- */

@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/atkinson-hyperlegible-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/atkinson-hyperlegible-latin-ext-400-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/atkinson-hyperlegible-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/atkinson-hyperlegible-latin-ext-700-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/atkinson-hyperlegible-latin-400-italic.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/atkinson-hyperlegible-latin-ext-400-italic.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------- Roboto (Fliesstext, Buttons, UI) ---------- */

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/roboto-latin-300-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/roboto-latin-ext-300-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/roboto-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/roboto-latin-ext-400-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/roboto-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/roboto-latin-ext-500-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/roboto-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/roboto-latin-ext-700-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
