/*
 * LFS Online-Anmeldung — Design-Tokens
 * Übernommen aus dem LFS-Design-System der Website (Bricks-Palette „LFS · Tannengrün“ und
 * lfs-design-system.css). Schriften lokal (keine Verbindung zu Google).
 * Einheiten in rem bezogen auf 16 px (anders als die Website mit 62,5 %), damit Formular und
 * WordPress-Backend dieselben Werte nutzen können.
 * Kontraste geprüft: Text auf Papier ≥ 5,6:1 · Weiß auf --primary 8,0:1 · Fehlertext auf Weiß 7,2:1.
 */

@font-face { font-family: "Inter"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("../fonts/inter-normal-latin.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: "Inter"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("../fonts/inter-normal-latin-ext.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: "Martel"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/martel-normal-latin-400.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face { font-family: "Martel"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/martel-normal-latin-ext-400.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+A720-A7FF; }
@font-face { font-family: "Martel"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/martel-normal-latin-700.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face { font-family: "Martel"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/martel-normal-latin-ext-700.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+A720-A7FF; }
@font-face { font-family: "Martel"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/martel-normal-latin-800.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face { font-family: "Martel"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/martel-normal-latin-ext-800.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+A720-A7FF; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 500; font-display: swap; src: url("../fonts/jetbrains-mono-normal-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 500; font-display: swap; src: url("../fonts/jetbrains-mono-normal-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+A720-A7FF; }

/* Metrisch angepasste Ersatzschriften wie auf der Website — kein Layoutsprung beim Laden */
@font-face { font-family: "Inter-Fallback"; src: local("Arial"); size-adjust: 107%; ascent-override: 90%; descent-override: 22%; line-gap-override: 0%; }
@font-face { font-family: "Serif-Fallback"; src: local("Georgia"); size-adjust: 90%; ascent-override: 88%; descent-override: 24%; }

:root {
	/* Farben — Palette „LFS · Tannengrün“ */
	--primary: #385921;
	--primary-700: #2b4b12;
	--primary-800: #1e3d01;
	--primary-tint: #e6ede0;
	--ink: #5c5c5c;
	--ink2: #3a403b;
	--paper: #f0ede9;
	--paper2: #e4ddd1;
	--line: var(--paper2);
	--white: #ffffff;
	--field-border: #6b6b6b;      /* 5,3:1 auf Weiß — UI-Komponenten ≥ 3:1 */
	--error: #a4262c;             /* 7,2:1 auf Weiß */
	--error-tint: #fbeaea;
	--warn: #7a5200;
	--warn-tint: #fdf3dc;
	--ok: var(--primary-700);
	--ok-tint: var(--primary-tint);
	--focus: var(--primary-800);

	/* Schriften */
	--font-sans: "Inter", "Inter-Fallback", ui-sans-serif, system-ui, sans-serif;
	--font-serif: "Martel", "Serif-Fallback", ui-serif, Georgia, serif;
	--font-mono: "JetBrains Mono", ui-monospace, monospace;

	/* Schriftgrößen (16 px = 1 rem) */
	--fs-overline: 0.75rem;
	--fs-caption: 0.8125rem;
	--fs-body-sm: 0.9375rem;
	--fs-body: 1rem;
	--fs-body-lg: 1.0625rem;
	--fs-lead: clamp(1.125rem, 1.08rem + 0.2vw, 1.25rem);
	--fs-h3: clamp(1.125rem, 1.05rem + 0.3vw, 1.3rem);
	--fs-h2: clamp(1.3rem, 1.15rem + 0.6vw, 1.6rem);
	--fs-h1: clamp(1.75rem, 1.35rem + 1.6vw, 2.6rem);

	/* Abstände (4-px-Raster, Namen wie --space-* der Website, aber nicht jede Stufe — z. B. kein --space-7/-9).
	   Ein unbekannter Name macht die Angabe ungültig; der Abstand fällt dann stillschweigend weg. */
	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.25rem;
	--space-6: 1.5rem;
	--space-8: 2rem;
	--space-10: 2.5rem;
	--space-12: 3rem;
	--space-16: 4rem;

	--radius-sm: 2px;
	--radius-md: 4px;
	--radius-lg: 8px;
	--shadow-card: 0 12px 30px -18px rgba(31, 27, 24, 0.25);
	--tracking-overline: 0.14em;
	--target: 2.875rem;           /* 46 px Mindest-Zielgröße */
}
