/* ================= Touch-Korrekturen =================
 *
 * Diese Datei wird als LETZTE geladen (template.xml). Das ist ihr ganzer
 * Zweck: Was hier steht, muss die Feldregeln aus content.css, layout.css,
 * konto.css und recht.css schlagen, und die stehen in der Kaskade weiter
 * hinten als base.css.
 *
 * Der Umweg ist mit Absicht gegangen, und er allein reichte nicht.
 * Derselbe Block lag zuerst in base.css (Position 2 von 15) und war dort
 * wirkungslos - gemessen am Passwortfeld des Logins, das trotz der Regel
 * weiter auf 14,5px stand. Ans Ende geruecht blieb er es ebenfalls:
 * content.css schreibt `.kcard .form-control`, also zwei Klassen. Gegen
 * 0,2,0 kommt ein einklassiger Selektor nicht an, egal wie spaet er
 * geladen wird, und Elementnamen davorzuhaengen hilft nicht - Klassen
 * wiegen schwerer als Elemente.
 *
 * Deshalb !important, und zwar bewusst: Die Alternative waere gewesen,
 * jede vorkommende Klassenkombination nachzubauen (.kcard .form-control,
 * .wrbrow input, .e4search .input, .hsearch input, .tw-label-field input,
 * ...) und diese Liste bei jeder neuen Formularregel nachzuziehen. Das
 * waere die Sorte stille Falle, die beim naechsten Feld wieder zuschlaegt.
 * Eine Regel mit !important in einer Datei, die nichts anderes tut, ist
 * hier das ehrlichere Werkzeug - es geht um Bedienbarkeit auf dem Geraet,
 * nicht um Geschmack, und sie darf deshalb alles schlagen.
 */

/* iOS Safari zoomt beim Fokus in jedes Formularfeld hinein, dessen
   font-size unter 16px liegt. Zusammen mit dem fixierten Kopf
   (.topstick, layout.css) verschiebt dieser Zoom das Layout: die Seite
   springt nach oben und die eigene Eingabe steht ausserhalb des
   Sichtfelds. Gemeldet am 08.09.2026 am Passwortfeld des Logins.

   Die Ursache ist nicht das Login, sondern die Schriftgroesse - im
   Template stehen mehrere Feldregeln zwischen 13,5px und 15px. Deshalb
   eine Regel fuer alle statt fuenf einzelner Media-Queries; auf Desktop
   bleibt die feinere Typografie unveraendert.

   16px ist die Schwelle, kein Geschmackswert - ab ihr zoomt Safari nicht
   mehr. Die Felder werden dadurch etwas hoeher; das faellt nicht auf,
   weil sie ohnehin auf min-height 44px stehen (Touch-Ziel).

   Geprueft wird das mit project/bin/check.js, sobald dort ein
   WebKit-Profil laeuft - Chromium zeigt diesen Fehler prinzipbedingt
   nicht.

   Die Grenze haengt seit dem 09.09.2026 am Eingabegeraet, nicht mehr allein
   an der Breite. Mit `max-width:900px` allein blieb jedes iPad aussen vor:
   iPad Pro hochkant sind 1024 px, jedes iPad quer 1180-1194 px - dort
   standen die Felder weiter auf 14,5 px und iPadOS Safari zoomte
   unveraendert. `pointer:coarse` trifft genau die Geraete, um die es geht
   (Finger statt Maus), unabhaengig von der Breite. Die Breitenregel bleibt
   als zweiter Zweig stehen: schmale Fenster ohne Touch bekommen dieselben
   16 px, und aeltere Browser ohne `pointer` fallen nicht durch. */
@media (max-width:900px),(pointer:coarse){
  input[type="text"],input[type="email"],input[type="password"],
  input[type="tel"],input[type="number"],input[type="search"],
  input[type="url"],input[type="date"],select,textarea,
  .form-control,.custom-select,.input,.hsearch input{font-size:16px !important}
}

/* Gegenstueck zu js/tw-ios-tastatur.js: Solange ein Formularfeld den Fokus
   hat, ist die Kopfleiste nicht mehr fixiert.

   Warum das noetig ist, obwohl die 16px-Regel darueber schon steht: Die
   16px verhindern nur den ZOOM. Der zweite Effekt ist unabhaengig davon -
   iOS verkleinert beim Oeffnen der Tastatur den sichtbaren Bereich, laesst
   das Layout-Fenster aber stehen. `position:fixed` haengt am Layout-Fenster
   und landet damit mitten im Bild, direkt ueber dem Feld, in das gerade
   getippt wird. Gemeldet am 15.09.2026 fuer Warenkorb und Kasse.

   Die Leiste scrollt in diesem Zustand wie normaler Inhalt weg. Der Platz
   darunter bleibt erhalten (das padding-top steht am Body, nicht hier),
   die Seite springt also beim Umschalten nicht.

   Nur auf Touch-Geraeten: Auf Desktop gibt es keine Tastatur, die den
   Bildschirm verkleinert, und die Leiste soll dort stehen bleiben. */
@media (pointer:coarse){
  html.tw-tastatur .topstick{position:absolute}
  /* Die Ankerreserve gilt nur mit fixierter Leiste. Ist sie weg, wuerde
     Safari das fokussierte Feld unnoetig weit nach unten schieben.

     !important, weil js/tw-hinweis.js den Wert INLINE am <html> setzt (es
     rechnet die Hoehe der Hinweisleiste auf die 150px aus base.css drauf,
     gemessen 182px). Gegen einen Inline-Stil kommt keine Regel an, egal wie
     spezifisch - nur !important. Dieselbe Begruendung wie oben bei der
     16px-Regel, und dieselbe Datei, die dafuer da ist. */
  html.tw-tastatur{scroll-padding-top:0 !important}
}
