/* ============================================================================
   teil-z1-lesbarkeit.css — Lesbarkeit des Fließtextes, site-weit.

   Gemessen am 03.10.2026 in den Stilblättern dieses Themes und an den
   Vorlagen, die sie bedienen. Grundlage ist die Filialseite Wiesbaden.

   Diese Datei ändert ausschließlich Textfarbe, Schriftgröße, Zeilenhöhe und
   Schriftschnitt des Fließtextes. Keine Abstände, kein Layout, keine Rahmen,
   keine weitere Farbe — das steht in den Nachbardateien und gehört denen,
   die dort arbeiten.

   Ladereihenfolge, gelesen in functions.php Zeile 47-61: grund.css, bau.css,
   seiten.css, danach assets/css/teil-*.css alphabetisch per glob(). „z1"
   sortiert hinter jede Teildatei ohne z-Präfix. Nachgemessen am 03.10.2026
   laden teil-z2-rhythmus.css bis teil-z5-inhalt.css NACH dieser Datei:
     teil-z2-rhythmus.css  setzt kein font-size, kein line-height, keine
                           Textfarbe — nur Abstände. Kein Überschneiden.
     teil-z3-karten.css    nennt line-height nur in einem Kommentar.
     teil-z4-buehne.css    setzt font-size/line-height allein auf der
                           Bühnenüberschrift (Zeile 124), nicht auf Fließtext.
     teil-z5-inhalt.css    setzt :where(…) :is(ul,ol){ line-height:1.78 }.
                           Spezifität (0,0,1) gegen (0,1,1) hier — die Listen
                           der unten genannten Gefäße bleiben auf 1.72. Jene
                           Datei benutzt :where() laut eigenem Kommentar
                           ausdrücklich, damit Nachbardateien gewinnen. Ihre
                           weiteren Werte (.96rem am Terminknopf, .94rem in
                           Tabellen, .86rem in Bildunterschriften) liegen auf
                           Gefäßen, die hier nicht vorkommen.
     teil-z7-angebote.css  baut die Angebote zum Karussell um und führt
                           .leistung .angebot-text mit (0,2,0). Das Gefäß ist
                           darum unten heraus — siehe „NICHT angefasst".
                           Ihre übrigen Größen sitzen auf eigenen Klassen
                           (.angebote-einstieg, .angebot-titel, .angebot-lupe).
   Diese Datei enthält deshalb kein einziges !important.

   Sie bewegt nichts — kein transition, kein transform, keine animation. Ein
   eigener @media (prefers-reduced-motion:reduce)-Zweig hätte nichts zu
   schalten; die Zweige in grund.css Zeile 41 und teil-filiale.css bleiben
   gültig.

   NICHT angefasst, weil sie anderen gehören oder Layout wären:
     .sammel-text und .leistung-text — beide kommen laut grep nur in
       vorlagen/leistung.php vor und tragen in teil-leistung.css Zeile 187-189
       bzw. seiten.css Zeile 486-488 je line-height:1.85. Die Typografie der
       Leistungsseiten gehört dem Agenten „leiste".
     .fil-termin-text (teil-filiale.css Zeile 47) und .fil-anschrift
       (seiten.css Zeile 62), beide .95rem = 15,20 px. Das sind die zwei
       Absätze, die bei der Messung aus der Reihe fielen. Sie stehen aber
       nicht im Fließtext, sondern in den Glaskacheln
       (vorlagen/filiale.php Zeile 745 und 770: class="glas karte fil-kachel").
       Einen der beiden zu heben machte die Kacheln in sich uneinheitlich,
       beide zu heben änderte die Kachelhöhe — das wäre Layout. Ihr
       Lesbarkeitsproblem war der Kontrast, und den löst die Farbe unten.
     .scr-kachel-text p (teil-screening.css Zeile 135, .95rem) und
       .scr-schritt-text p (ebenda Zeile 244, .97rem) aus demselben Grund:
       Kachel- und Schritttext, nicht laufender Text.
     .angebot-text — stand bis 21:40 Uhr in den Listen unten und ist wieder
       heraus. teil-z7-angebote.css ist am 03.10.2026 dazugekommen, lädt NACH
       dieser Datei und baut die Angebote zum Karussell um. Dort ist
       .angebot-text die Bildunterschrift einer Kachel:
       .leistung .angebot-text{ font-size:clamp(.9rem,1.1vw,.95rem);
       line-height:1.55 } mit (0,2,0), dazu
       .leistung .angebote-bereit .angebot-text{ max-height:3.1em }.
       Meine Größe (0,1,0) verlöre dort ohnehin; meine Zeilenhöhe am Absatz
       (0,1,1) aber träfe das p direkt und schlüge die geerbten 1.55 — drei
       Zeilen in 3,1em gingen nicht mehr auf, die Kürzung schnitte mitten im
       Satz. Kacheltext gehört dem Angebote-Agenten, nicht hierher.
       .angebote-einleitung (vorlagen/angebote.php Zeile 118) bleibt: z7
       benutzt dafür die eigene Klasse .angebote-einstieg und fasst sie nicht
       an.
     Alles, was nur den body erbt und in keiner der Listen unten steht —
       .karte p, .schritt p, .feld ul, .filiale .ort und die übrigen
       Kleinstellen. Sie sind Beschriftung, nicht Fließtext; ihre Größe zu
       heben hieße, jede Kachel im Haus höher zu machen.

   Merksatz für die nächste Hand an dieser Datei: wer ein Gefäß aufnimmt,
   sieht vorher nach, ob eine teil-z*.css mit höherer Nummer es schon führt.
   Eine Zeilenhöhe am Absatz trifft direkt und schlägt jede geerbte — auch
   die eines Nachbarn mit höherer Spezifität am Kasten.
   ========================================================================= */


/* ── Textfarbe ───────────────────────────────────────────────────────────
   Gemessen 03.10.2026: --text-leise #6B7686 trägt den gesamten Fließtext und
   besteht von sieben Hausgründen genau einen. Kontrast nach WCAG 2.1,
   selbst nachgerechnet (relative Leuchtdichte, nicht geschätzt):
       --weiss     #FFFFFF   4,60:1   bestanden
       --grund     #FBF7F0   4,31:1   durchgefallen
       --creme     #F6F0E6   4,06:1   durchgefallen
       --gold-zart #F7F0E2   4,06:1   durchgefallen
       --blau-zart #E8EEF7   3,95:1   durchgefallen
       --creme-2   #F1E9DB   3,82:1   durchgefallen
       --sand      #E8DCC8   3,40:1   durchgefallen
   AA verlangt 4,5:1 für normalen Text. #4F5A6B liegt im selben Blaugrau und
   kommt auf jedem dieser Gründe auf mindestens 5,16:1 (auf --sand, dem
   dunkelsten), auf Weiß auf 6,98:1. #566070 wäre mit 4,69:1 der knappste
   Wert, der noch besteht — zu knapp für eine Marke, die überall gilt.

   Geprüft, ob die Umdefinition irgendwo schadet: alle 65 Fundstellen von
   var(--text-leise) wurden aufgelistet und ihr Grund nachgesehen. Jeder
   dunkle Hintergrund im Haus (.burger span, .notiz .kugel,
   .chip[aria-pressed="true"], bau.css Zeile 12, .sammel-wege .chip:hover,
   teil-leistung.css Zeile 94) setzt seine Schrift selbst auf #fff und holt
   --text-leise nicht. Die dunkelste Fläche, auf der --text-leise wirklich
   steht, ist --sand. Auf Blau steht keine einzige Fundstelle — dort käme
   #4F5A6B auf 1,68:1 und wäre unlesbar.

   ::placeholder benutzt --text-leise nirgends (geprüft über alle
   Stilblätter), es wird also kein Platzhalter zu dunkel. Die bewusst leisen
   Kleinstellen — .krume (bau.css 52), .fuss-ende (bau.css 66),
   .kachel .fuss small (.81rem), .sehen-hinweis (.84rem),
   .vertrauen .wofuer (.76rem) — werden dunkler, und das ist richtig: unter
   18,66 px verlangt AA dieselben 4,5:1 wie vom Fließtext.
   Die Rangordnung bleibt sichtbar: Überschrift #1F2A38 steht bei L*16,7,
   der Fließtext neu bei L*37,9 — 21,2 L* Abstand (vorher 32,6).

   Überschriften bleiben auf --text #1F2A38 (12,04:1 auf --creme-2) und
   werden hier nicht angefasst.
   ---------------------------------------------------------------------- */
:root{
  /* War #6B7686 und fiel damit auf sechs von sieben Hausgründen durch AA.
     Die einzige Marke, die diese Datei ändert. */
  --text-leise:#4F5A6B;

  /* Eine Größe für den Fließtext. Gemessen 03.10.2026, Grundschrift 16 px
     (es gibt kein html{font-size} im Theme — geprüft, nur scroll-behavior
     und overflow-x stehen auf html). Werte in CSS-Pixeln:
         body            grund.css:46          15,50 bei 375 — 17,00 ab 750
         .fil-flies      teil-filiale.css:116  16,00 von 375 bis 1524
         .std-koerper    teil-standard.css:91  16,33 bei 375 — 17,12 ab 640
         .fil-gruss      seiten.css:25         16,00 von 375 bis 1391
     .fil-flies ist clamp(1rem,1.05vw,1.08rem): 1.05vw erreicht 1rem erst bei
     1524 px, darunter steht die Kurve konstant auf ihrem Mindestwert. Ihre
     1.08rem (17,28 px) zeigt erst ein Fenster ab 1646 px — bei 1512 px
     rechnet sie 16,00 px. Die im Auftrag genannten 17,28 px gehören also zu
     einem Fenster ab 1646 px, nicht zu 1512 px; die ebenfalls genannten
     15,20 px (.95rem) sind rem-gebunden und stimmen bei jeder Breite. An
     der Lage ändert das nichts: drei Gefäße, drei verschiedene Größen.
     Ab 1646 px fällt der Filialtext durch die Vereinheitlichung um 0,16 px
     (17,28 auf 17,12) — der Preis für eine Hausgröße statt vier.
     Die Kurve aus teil-standard.css ist die einzige im Haus, die die ganze
     Spanne sauber durchläuft. Sie wird hier zur Hausgröße — identischer
     Wert, damit auf der Standardseite kein Pixel wandert.
     16,33 px bei 375, 17,12 px ab 640: nie unter 16 auf dem Handy, nie
     unter 17 auf dem Schreibtisch. */
  --flies:clamp(1rem, .3vw + .95rem, 1.07rem);

  /* Vorspann: der Absatz über dem Fließtext. Muss größer sein als --flies,
     war es aber nicht. .fil-gruss stand von 375 bis 1391 px konstant auf
     16,00 px und damit auf jedem Notebook kleiner als der Text darunter.
     Diese Kurve läuft von 17,05 px (375) auf 17,92 px (ab 686) und liegt
     damit überall über --flies. */
  --vorspann:clamp(1.06rem, .28vw + 1rem, 1.12rem);
}


/* ── Schriftgröße des Fließtextes ────────────────────────────────────────
   Gemessen 03.10.2026: auf der Filialseite standen drei Größen für laufenden
   Text nebeneinander — 16,00 px (.fil-flies), 17,12 px (.std-koerper auf der
   Standardseite) und 17,39 px (.fil-gruss bei 1512 px), dazu alles, was nur
   den body erbt, bei 17,00 px. Auf dem Handy bei 375 px fiel der geerbte
   body-Wert auf 15,50 px.

   .angebote-einleitung (vorlagen/angebote.php Zeile 118) hatte gar keine
   eigene Größe und hing am body — auf dem Handy also unter 16 px. Sie steht
   darum mit in der Liste. .angebot-text hing ebenso am body, gehört seit
   teil-z7-angebote.css aber zum Karussell; siehe Kopf dieser Datei.

   .fil-text steht in seiten.css Zeile 100-109 mit eigener Typografie, kommt
   aber in keiner Vorlage vor (geprüft über alle .php und .js des Themes; das
   Markup benutzt .fil-g-text als Hülle und .fil-flies als Textgefäß). Die
   Regel bleibt hier trotzdem stehen, falls übernommener Inhalt die Klasse
   noch trägt; sie kostet nichts, wenn niemand sie benutzt.
   ---------------------------------------------------------------------- */
.fil-flies,
.fil-text,
.recht-text,
.scr-text,
.stelle-feld,
.termin-text,
.zu-text,
.angebote-einleitung,
.std .std-koerper{ font-size:var(--flies) }

/* .scr-hinweis-text führt laufenden Text in einem Kasten mit max-width:72ch
   (teil-screening.css Zeile 262), seine Absätze standen aber auf .98rem =
   15,68 px — bei jeder Fensterbreite unter der 16-px-Schwelle. Die Größe
   sitzt dort am Absatz (Zeile 264, Spezifität (0,1,1)); eine Regel am
   Kasten (0,1,0) würde verlieren, darum hier ebenfalls am Absatz. */
.scr-hinweis-text :is(p,ul,ol,li){ font-size:var(--flies) }

/* Der Vorspann bleibt eine Stufe darüber, statt darunter zu rutschen.
   .kopfzeile p trug clamp(1rem,1.1vw,1.1rem) (grund.css Zeile 242),
   .stelle-vorspann gar keine eigene Größe. */
.fil-gruss,
.kopfzeile p,
.stelle-vorspann{ font-size:var(--vorspann) }


/* ── Zeilenhöhe ──────────────────────────────────────────────────────────
   Gemessen 03.10.2026 in den Stilblättern — sieben Werte für dieselbe Sache:
       body                      1.62   grund.css:46   (erbt .termin-text
                                        und .angebote-einleitung)
       .stelle-feld li           1.62   teil-stelle.css:149 und :155
       .scr-hinweis-text p       1.70   teil-screening.css:264
       .stelle-feld p            1.72   teil-stelle.css:146
       .recht-text/.scr-text/
       .zu-text p                1.75   seiten.css:645, teil-screening.css:96
       .std-koerper p            1.78   teil-standard.css:92
       .fil-flies p              1.80   teil-filiale.css:117
   Fließtext liest sich zwischen 1.65 und 1.75. Zwei Werte liegen darüber,
   zwei darunter. 1.72 ist der eine Wert: bei 17,12 px sind das 29,45 px
   Zeilenabstand gegen bisher 27,73 bis 30,82.

   Die Spezifität ist gestaffelt, weil die geschlagenen Regeln es sind:
   .std .std-koerper p trägt (0,2,1), ein einfaches .std-koerper p (0,1,1)
   würde verlieren — darum steht .std mit in der Liste.
   ---------------------------------------------------------------------- */
.fil-flies :is(p,ul,ol,li),
.fil-text :is(p,ul,ol,li),
.recht-text :is(p,ul,ol,li),
.scr-text :is(p,ul,ol,li),
.stelle-feld :is(p,ul,ol,li),
.termin-text :is(p,ul,ol,li),
.zu-text :is(p,ul,ol,li),
.angebote-einleitung :is(p,ul,ol,li),
.scr-hinweis-text :is(p,ul,ol,li),
.std .std-koerper :is(p,ul,ol,li){ line-height:1.72 }

/* teil-stelle.css Zeile 149 und 155 setzen .stelle-feld ul li und
   .stelle-feld ol li auf 1.62. Das ist (0,1,2) und schlägt die (0,1,1) oben.
   Gleiche Spezifität, spätere Datei. */
.stelle-feld :is(ul,ol) li{ line-height:1.72 }

/* Der Vorspann ist kürzer und darf enger laufen — gemessen stand .fil-gruss
   auf dem geerbten body-Wert 1.62, was bei 17,92 px zu dicht ist.
   .stelle-vorspann p trägt in teil-stelle.css Zeile 113 eigene 1.72 und
   braucht darum (0,1,1). */
.fil-gruss,
.kopfzeile p,
.stelle-vorspann p{ line-height:1.68 }


/* ── Zeilenlänge und Schriftschnitt: geprüft, nicht geändert ─────────────
   Zeilenlänge, gemessen 03.10.2026: jedes Textgefäß ist gedeckelt — 68ch bei
   .fil-g-text, .scr-text, .std-koerper und .fil-text, 70ch bei .recht-text,
   72ch bei .termin-text, 66ch bei .zu-text p, 62ch bei .stelle-feld p und
   .stelle-feld ul/ol, 52ch bei .fil-gruss, 62ch bei .kopfzeile. Auch der
   Sonderfall .fil-g-medien, wo die Hülle max-width:none trägt, deckelt seine
   Absätze einzeln auf 68ch (teil-filiale.css Zeile 98-99). Kein Absatz läuft
   ungedeckelt über die Seite.
   Ob 68ch bei Nunito 68 oder 80 Zeichen sind, hängt an der Vorschubbreite
   der Ziffer Null. Die Schrift kommt über fonts.googleapis.com
   (header.php Zeile 9), es liegt keine Nunito-Datei im Theme und keine im
   System — nachgesehen in /System/Library/Fonts, /Library/Fonts und
   ~/Library/Fonts. Die Zeichenzahl ließ sich hier also nicht messen, und was
   nicht gemessen ist, wird nicht geändert.

   Schriftschnitt: das Theme lädt Nunito in 300;400;600;700;800
   (header.php Zeile 9). Im Fließtext steht nirgends 300 — geprüft über alle
   Stilblätter, kein einziges font-weight:300. Es gibt hier nichts zu
   korrigieren.
   ---------------------------------------------------------------------- */
