/* IZ - Bedienelemente: Mindestgroessen fuer Eingabefelder und Kaufknoepfe.
 *
 * Angelegt 2026-08-23, Todo K-19 und K-20, Auftrag bilder-bedienbarkeit-20260823.
 *
 * WOFUER:
 * Zwei gemessene Verstoesse gegen 10_IZ_Gestaltungskatalog.md, die beide erst
 * am Telefon wehtun und deshalb am Schreibtisch lange unbemerkt blieben.
 *
 * K-19 - Eingabefelder unter 16px. iOS-Safari zoomt beim Antippen eines
 * Feldes automatisch in die Seite hinein, sobald dessen Schrift kleiner als
 * 16px ist. Der Leser landet dann in einer vergroesserten Seite, die er von
 * Hand zurueckziehen muss. Am 23.08.2026 im Browser bei 1440px gemessen:
 *   .search-field (Kopfzeile, jede Seite)          15px
 *   input.qty     (Produktseite, Mengenfeld)       15px
 * Ursache ist das Eltern-Theme, das
 *   input[type="text"], ..., select, textarea { font-size: 15px }
 * mit der Spezifitaet (0,1,1) setzt. Die Regeln hier tragen durch das
 * vorangestellte :root die Spezifitaet (0,2,1) und schlagen sie - ohne
 * !important, genau wie css/kauf/01-feld.css es fuer die Kasse vormacht.
 *
 * K-20 - Kaufknoepfe unter 44x44px. Am 23.08.2026 gemessen:
 *   button.single_add_to_cart_button (Produktseite)  148x40px
 *   a.button.add_to_cart_button      (Shop, Widgets) 148x40px
 * Der Katalog Abschnitt 6 verlangt mindestens 44x44px Trefflaeche.
 *
 * WARUM 18px UND 48px UND KEINE ANDEREN WERTE:
 * Die Schriftskala des Katalogs (Abschnitt 2) kennt oberhalb von 16px nur
 * --fs-base = 1rem. Die rem-Basis ist 18px (Katalog, berichtigt 2026-08-09),
 * also 18px. Die naechstkleinere Stufe --fs-sm waere 0.875rem = 15,75px und
 * damit weiterhin unter der Schwelle - sie kaeme dem Ziel nahe und wuerde den
 * Fehler trotzdem nicht beheben. Einen Zwischenwert einzufuehren verbietet
 * derselbe Abschnitt ausdruecklich. --sp-12 = 48px ist die naechste Stufe der
 * Abstandsskala (Abschnitt 3) ueber den geforderten 44px; dieselbe Wahl und
 * dieselbe Begruendung stehen seit dem 2026-08-09 in css/kauf/01-feld.css.
 *
 * KEIN HEX-LITERAL, KEINE PX-SCHRIFTGROESSE, KEIN RADIUS AUSSER 4px/3px/50%.
 * Diese Datei setzt bewusst weder Farben noch Rahmen noch Radien - sie
 * veraendert ausschliesslich Groessen. Alles Uebrige bleibt, wie es ist
 * (Arbeitsregel 16: Umbau ist kein Neuentwurf).
 *
 * WAS SIE AUSDRUECKLICH NICHT ANFASST:
 * - Die Kasse und das Kundenkonto. Deren Felder stehen ueber
 *   css/kauf/01-feld.css bereits auf --fs-base und --sp-12; die Regeln hier
 *   treffen dieselben Werte und koennen dort nichts verschieben.
 * - Die Adminleiste. Deren eigene Regeln beginnen saemtlich mit #wpadminbar
 *   und tragen damit eine ID - Spezifitaet (1,x,y). Sie schlagen die (0,2,1)
 *   hier in jedem Fall. Fuer Besucher ist die Leiste ohnehin nicht da.
 * - Das Newsletter-Formular der Randspalte. Dessen Groessen stehen als
 *   style-Attribut im Formularinhalt und sind nur mit !important zu
 *   schlagen; das geschieht dort, wo dieses Widget ohnehin geregelt wird
 *   (inc/layout-fixes.php), und nicht hier.
 *
 * @package iz-2025-child
 * @since   2026-08-23
 */

/* ---- K-19: Eingabefelder ---- */
:root input[type="text"],
:root input[type="email"],
:root input[type="url"],
:root input[type="password"],
:root input[type="search"],
:root input[type="number"],
:root input[type="tel"],
:root input[type="date"],
:root input[type="month"],
:root input[type="week"],
:root input[type="time"],
:root input[type="datetime-local"],
:root select,
:root textarea {
	font-size: var(--fs-base);
	min-height: var(--sp-12);
	box-sizing: border-box;
}

/* Der Suchknopf steht neben dem Suchfeld und war 40px hoch. Nur die Hoehe -
 * seine Beschriftung ist Text auf einem Knopf und loest keinen iOS-Zoom aus,
 * die Schriftgroesse bleibt deshalb unberuehrt. */
:root input[type="submit"].search-submit {
	min-height: var(--sp-12);
}

/* ---- K-20: Kaufknoepfe ----
 * inline-flex, weil eine Mindesthoehe den Beschriftungstext sonst oben
 * stehen liesse statt ihn zu zentrieren. Die Breite bleibt, wie sie ist -
 * gemessen 148px, also weit ueber den geforderten 44px; min-width ist nur
 * die Absicherung fuer kurze Beschriftungen. */
:root button.single_add_to_cart_button,
:root a.button.add_to_cart_button,
:root .woocommerce a.button.add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--sp-12);
	min-width: var(--sp-12);
}

/* Das Mengenfeld der Produktseite braucht eine eigene Zeile - nicht aus
 * Vorliebe, sondern weil es gemessen wurde: Nach dem ersten Ausrollen stand es
 * weiter auf 15px. Am 23.08.2026 im Browser ueber die CSSOM abgefragt, welche
 * Regeln auf input.qty passen und font-size setzen. Vier Treffer, gewonnen hat
 *   .single-product .product .cart input[type="number"] { font-size: 15px }
 * mit der Spezifitaet (0,4,1) - die Regel oben hat (0,2,1) und verliert. Eine
 * Gegenprobe ueber das gesamte ausgelieferte CSS-Buendel ergab: das ist die
 * EINZIGE Regel der Seite, die eine Schriftgroesse unter 16px auf einem
 * Eingabefeld mit hoeherer Spezifitaet setzt. Deshalb genau eine Ausnahme und
 * keine pauschale Verschaerfung mit !important. */
:root .single-product .product .cart input[type="number"] {
	font-size: var(--fs-base);
}
