/* Seitenweite Ergänzungen: Ladeverhalten und Mobil-Ergonomie */

/* Hero: kleineres Bild auf Smartphones (49 KB statt 147 KB) */
@media (max-width: 640px) {
  .gv-hero-bg { background-image: url('uploads/hero-team-960.webp') !important; }
}

/* Touch-Geräte: Tap-Ziele mindestens ~44 px hoch, ohne das Layout zu verschieben.
   Selektoren jeweils in beiden Schreibweisen: statisches HTML ("display:flex")
   und von React gerenderte Komponenten ("display: flex"). */
@media (pointer: coarse) {
  nav a:not(:is([style*="display:flex"],[style*="display: flex"],[style*="display:inline-flex"],[style*="display: inline-flex"])),
  section a:not(:is([style*="display:flex"],[style*="display: flex"],[style*="display:inline-flex"],[style*="display: inline-flex"],[style*="display:grid"],[style*="display: grid"],[style*="display:block"],[style*="display: block"],[style*="padding:"],[style*="padding: "])):not(:has(img)):not([class]) {
    padding-top: 12px; padding-bottom: 12px; margin-top: -12px; margin-bottom: -12px;
  }
  /* Fußzeile: Links mit 12 px Abstand – Trefferflächen ohne Überlappung */
  footer a:not(:is([style*="display:flex"],[style*="display: flex"],[style*="display:inline-flex"],[style*="display: inline-flex"],[style*="border-radius:50%"],[style*="border-radius: 50%"])) {
    padding-top: 6px; padding-bottom: 6px; margin-top: -6px; margin-bottom: -6px;
  }
  button { min-height: 44px; }
}

/* Smartphones: keine Schrift unter 12 px (Kleinlabels, Nummern) */
@media (max-width: 640px) {
  .gv-process__kicker { font-size: 12px !important; }
  [style*="font-size:9.5px"], [style*="font-size:10px"], [style*="font-size:10.5px"], [style*="font-size:11px"], [style*="font-size:11.5px"],
  [style*="font-size: 9.5px"], [style*="font-size: 10px"], [style*="font-size: 10.5px"], [style*="font-size: 11px"], [style*="font-size: 11.5px"] { font-size: 12px !important; }
}
