/* Block 21 - Kassenschritt "Persoenliche Daten", Alternativ-Adresse /daten-neu/.
 *
 * Angelegt 2026-08-09 nach IZ-Kompass/3_Architekturplan_Kaufstrecke.md,
 * Abschnitt 5, Block 21.
 *
 * ================================================================
 * WARUM DIESE DATEI SO KURZ IST - und das ist die Absicht
 * ================================================================
 * Die Gestaltung des Formulars steht bereits in den Bauteilen:
 * css/kauf/01-feld.css (Feld, Beschriftung, Fokus, Fehlerzustand),
 * css/kauf/02-formular.css (Feldgruppe, Umschalter, Fussbereich, Raster),
 * css/kauf/05-hinweise.css (Rechts-Checkboxen), css/kauf/07-knoepfe.css.
 * Ein Seitenblock, der etwas davon wiederholt, hat das Bauteil nicht
 * eingesetzt, sondern nachgebaut - genau der Mechanismus, aus dem die drei
 * Markenrots entstanden sind.
 *
 * ================================================================
 * DAS RASTER AUS BAUTEIL 02 WIRD HIER ABSICHTLICH NICHT VERWENDET
 * ================================================================
 * Erste Fassung dieser Datei fuehrte die WooCommerce-Feldhuellen
 * (div.woocommerce-billing-fields__field-wrapper und Geschwister) per
 * "display: contents" an das Zwoelf-Spalten-Raster von Bauteil 02 heran. Das
 * Ergebnis wurde gemessen und war falsch: "Anrede", "E-Mail-Adresse",
 * "Vorname" und "Nachname" schrumpften auf Inhaltsbreite (Vorname 128px
 * statt 428px bei 868px Gruppenbreite).
 *
 * URSACHE, am gerenderten Ergebnis abgelesen und nicht geschlossen: Das
 * Parent-Theme bringt fuer die Kasse ein EIGENES Raster mit und platziert
 * darin jedes Feld einzeln ueber seine ID -
 *   .woocommerce-checkout .woocommerce-billing-fields__field-wrapper
 *   .form-row#billing_first_name_field { grid-column: 1 / 1 }
 * (iz-2025/woocommerce.min.css). Ein Selektor mit ID traegt (0,1,2,1) und
 * schlaegt jede klassenbasierte Regel. "display: contents" hat die Huelle aus
 * der Darstellung genommen, die ID-Platzierungen aber nicht - sie wirkten
 * danach gegen das falsche Raster.
 *
 * FOLGERUNG NACH REGEL 16: Der Bestand bleibt. Das Raster des Parent-Themes
 * ist erprobt, liefert die zweispaltige Anordnung, die die Kasse heute zeigt,
 * und wird nicht ersetzt - es gibt keinen Anlass dafuer. Bauteil 02 behaelt
 * sein eigenes Raster fuer den Ort, an dem es gebraucht wird: die
 * Kontoformulare, wo das Parent-Theme keines mitbringt (Block 30/31).
 *
 * Die <fieldset> tragen deshalb NUR die Klasse iz-kauf-formular__gruppe
 * (Rahmen- und Abstandsruecksetzung), nicht iz-kauf-formular__raster.
 *
 * ================================================================
 * DIE VERSTECKTE LEGENDE
 * ================================================================
 * Bauteil 02 gestaltet <legend> sichtbar (Unterlinie, --fs-lg). Auf diesem
 * Schritt bleibt sie versteckt: Der Bestand blendet die Gruppenueberschrift
 * "Persoenliche Daten" ausdruecklich aus (checkout-flow.php Z. 1616,
 * .woocommerce-billing-fields > h3 { display: none !important }) - das war
 * eine Entscheidung, keine Nachlaessigkeit, und Regel 16 uebernimmt den
 * Bestand. Behoben wird nur der MESSBARE Mangel: die fehlende Gruppierung
 * fuer Vorlesewerkzeuge (WCAG 2.1 AA 1.3.1). Die Legende traegt dafuer die im
 * Theme vorhandene Klasse screen-reader-text; die Regel unten raeumt die dann
 * gegenstandslosen Sichtbarkeitseigenschaften aus Bauteil 02 wieder weg.
 *
 * ================================================================
 * WAS HIER BEWUSST NICHT STEHT
 * ================================================================
 * Kein Ueberschreiben des Knopfes "Zurueck zum Warenkorb". Seine zwoelf
 * Eigenschaften stehen mit !important in einem <style>-Block, den
 * checkout-flow.php in einer anonymen Closure an wp_footer haengt und der auf
 * JEDER is_checkout()-Seite ausgegeben wird. Nur ein weiteres !important
 * koennte ihn schlagen - das ist der Flicken auf dem Flicken, den Regel 1
 * verbietet. Der Knopf bleibt im Bestand und faellt zusammen mit dem
 * Inline-CSS (Abweichungen A-20 und A-26). Im Bericht als offene Stelle
 * benannt statt hier verdeckt.
 *
 * KEIN HEX-LITERAL, KEINE PX-SCHRIFTGROESSE, KEIN RADIUS AUSSER 4px/3px/50%,
 * KEIN !important.
 */

/* ---- Versteckte Legende ----
 * Bauteil 02 gibt der Legende Unterlinie und --fs-lg. Traegt sie
 * screen-reader-text, waeren beide Eigenschaften Zierrat an einem Element,
 * das niemand sieht - und eine Unterlinie an einem 1px hohen, absolut
 * positionierten Element kann in schmalen Ansichten sogar sichtbar werden. */
.iz-kauf-daten .iz-kauf-formular__gruppe > legend.screen-reader-text {
	margin: 0;
	padding: 0;
	border-bottom: 0;
}

/* ---- Die Feldgruppe traegt keinen eigenen Abstand ----
 * Bauteil 02 setzt --sp-8 unter jede Gruppe. Auf der Kasse steht der Abstand
 * zwischen den Bereichen bereits im Bestand (Parent-Theme und
 * iz-checkout.css); ein zweiter darueber wuerde die Seite ohne Anlass
 * auseinanderziehen. Gemessen wird das nach der Auslieferung; bis dahin gilt
 * der Bestand. */
.iz-kauf-daten .iz-kauf-formular__gruppe {
	margin-bottom: 0;
}

/* Weiter geht diese Datei bewusst nicht. Alles Uebrige wird am gerenderten
 * Ergebnis gemessen; was sich dabei nicht als Mangel zeigt, bekommt hier auch
 * keine Regel (Regel 5 und Regel 16). */
