/* =============================================================================
   Design-Tokens Heimat-Maler
   =============================================================================

   ✅ EINGEFROREN am 2026-08-29 — Axel hat Richtung D „Archiv mit Wärme" gewählt
   (DR-15 damit erledigt). Werte stammen aus design/stilblaetter/stilblatt-runde-1.html,
   Reiter D.

   Die Richtung ist eine Mischung:
     · Galerie-Bühne und kursive Werktitel von C („Neue Galerie")
     · Katalog-Systematik von A („Werkverzeichnis"): WV-Nummer, Etikett, Monospace-Daten
     · Bedienbarkeit und warmer Leinengrund von B („Gute Stube")

   Regel ab jetzt: Farb-, Schrift- oder Abstandsliterale gibt es NUR hier.
   Ein Literal in einem anderen Stylesheet, Template oder Plugin gilt im Review als Fehler.
   ============================================================================= */

:root {
	/* --- Flächen ------------------------------------------------------- */
	--hm-grund:        #F5F2EA;   /* Leinen — warm, nie kaltes Weiß */
	--hm-flaeche:      #FFFDF7;   /* Karten, Kästen */
	--hm-flaeche-tief: #EFEAE0;   /* abgesetzte Bänder, Hilfekästen */
	--hm-linie:        #DDD5C6;

	/* Der Grund, auf dem Werke hängen. Eigener Token mit Absicht: Er darf sich nie
	   mit der Seitenfarbe mitändern — Gemäldefarben brauchen eine ruhige Bezugsfläche. */
	--hm-werkgrund:    #EFEAE0;

	/* --- Schrift ------------------------------------------------------- */
	--hm-text:         #23201A;   /* Tinte */
	--hm-text-leise:   #6E6656;
	--hm-text-invers:  #F6F3EA;

	/* --- Akzent -------------------------------------------------------- */
	--hm-akzent:       #7A4A2C;   /* Siena — Links, Etiketten, Herkunftsmarken */
	--hm-akzent-hover: #5F3921;
	--hm-akzent-leise: #F0E6DE;

	/* Handlungsfarbe: Tanne. Bewusst NICHT der Akzent — der Kaufknopf soll ruhig
	   wirken, nicht werblich (MASTERPLAN §6a: kein Discount-Rot). */
	--hm-aktion:       #3E5C41;
	--hm-aktion-hover: #4C7050;

	/* --- Status (getrennt von Akzent und Aktion) ------------------------ */
	--hm-status-verfuegbar: #3E5C41;
	--hm-status-repro:      #A07A2E;
	--hm-status-verkauft:   #9A9384;
	--hm-status-warnung:    #8A6B1E;
	--hm-status-fehler:     #8A2E2E;

	/* --- Typografie ----------------------------------------------------
	   Newsreader kursiv für Werktitel und Überschriften — Galeriewand-Charakter.
	   Atkinson Hyperlegible für alles Bedienbare: eigens für schwache Sehkraft
	   entworfen, und unsere Kernpersona ist 65+.
	   IBM Plex Mono für Katalogdaten, damit Ziffern in Spalten stehen.
	   ------------------------------------------------------------------- */
	--hm-font-anzeige: "Newsreader", Georgia, "Times New Roman", serif;
	--hm-font-text:    "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;
	--hm-font-daten:   "IBM Plex Mono", ui-monospace, Consolas, monospace;

	/* Untergrenze für die Zielgruppe. Nie kleiner setzen. */
	--hm-size-basis:   18px;
	--hm-zeilenhoehe:  1.6;

	--hm-size-klein:   0.9rem;    /* Metadaten — darunter wird nichts gesetzt */
	--hm-size-gross:   1.35rem;
	--hm-size-titel:   2.3rem;

	/* --- Raster -------------------------------------------------------- */
	--hm-abstand-1: 4px;
	--hm-abstand-2: 8px;
	--hm-abstand-3: 12px;
	--hm-abstand-4: 16px;
	--hm-abstand-5: 24px;
	--hm-abstand-6: 32px;
	--hm-abstand-7: 48px;
	--hm-abstand-8: 64px;

	--hm-radius:        8px;
	--hm-radius-klein:  6px;
	--hm-schatten-werk: 0 22px 50px rgba(35, 32, 26, 0.26);
	--hm-schatten-karte: 0 8px 20px rgba(35, 32, 26, 0.20);
	--hm-breite-inhalt: 1100px;
	--hm-breite-text:   65ch;

	/* Mindestgrößen für Bedienelemente (WCAG + Zielgruppe). */
	--hm-ziel-min:       44px;
	--hm-ziel-min-gross: 48px;   /* Einlieferungsstrecke */
}

/*
  Kein Dunkelmodus in V1 — bewusste Entscheidung (docs/design-tokens.md §2):
  Werkabbildungen brauchen einen definierten hellen Grund, sonst stimmen die Farben
  nicht mehr. Die Token-Struktur lässt ihn später zu, ohne Templates anzufassen.
*/

/* =============================================================================
   Schriften — LOKAL ausgeliefert, nicht von Google geladen
   =============================================================================
   Wichtig für eine deutsche Plattform: Das Einbinden von Google Fonts über deren
   Server überträgt die IP-Adresse jedes Besuchers in die USA. Das ist ohne
   Einwilligung nicht zulässig (LG München I, 20.01.2022, Az. 3 O 17493/20) und hat
   eine Abmahnwelle ausgelöst. Alle drei Schriftfamilien sind frei lizenziert
   (SIL Open Font License) und werden deshalb aus dem Theme selbst ausgeliefert.

   Dateien gehören nach hm-theme/assets/fonts/ (woff2). Solange sie fehlen, greifen
   die Fallback-Stacks oben — die Seite bleibt lesbar, sieht nur anders aus.
   ============================================================================= */

/* Je Schnitt zwei Dateien: "latin" deckt Deutsch samt €, „“ und – ab, "latin-ext"
   lädt der Browser nur, wenn eine Seite z. B. ł oder ő enthält. Newsreader ist eine
   variable Schrift (200–800). Quelle: Fontsource 5.3.0, Lizenztexte in fonts/OFL-*.txt. */

@font-face {
	font-family: "Newsreader";
	src: url("fonts/newsreader-italic-latin.woff2") format("woff2");
	font-style: italic;
	font-weight: 200 800;
	font-display: swap;
	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: "Newsreader";
	src: url("fonts/newsreader-italic-latin-ext.woff2") format("woff2");
	font-style: italic;
	font-weight: 200 800;
	font-display: swap;
	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: "Newsreader";
	src: url("fonts/newsreader-latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	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: "Newsreader";
	src: url("fonts/newsreader-latin-ext.woff2") format("woff2");
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	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";
	src: url("fonts/atkinson-hyperlegible-latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	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";
	src: url("fonts/atkinson-hyperlegible-latin-ext.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	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";
	src: url("fonts/atkinson-hyperlegible-bold-latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	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";
	src: url("fonts/atkinson-hyperlegible-bold-latin-ext.woff2") format("woff2");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	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: "IBM Plex Mono";
	src: url("fonts/ibm-plex-mono-latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	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: "IBM Plex Mono";
	src: url("fonts/ibm-plex-mono-latin-ext.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	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;
}
