/* Barrierefreiheits-Nachtrag. Jeder Block behebt einen mit ui-gate.mjs gemessenen
   Verstoß (28.08.2026: index 11, datenschutz 15, impressum 14).

   Zwei Regeln, die beim Bau dieser Datei mehrfach zugebissen haben:
   1. min-height wirkt NICHT auf display:inline — jeder Treffer braucht inline-flex.
   2. Höhe ist nicht Fläche — mehrere Ziele waren hoch genug und zu schmal. */

/* 1) Kontrast: #52585f auf #111111 erreicht nur 2,63:1 (nötig 4,5:1).
      #7e868f ist derselbe Farbton, 18 % heller, und erreicht 5,12:1 — geprüft
      gegen #111111, #151515, #1a1a1a und #0d0d0d, damit die Farbe auf jedem
      dunklen Grund der Seite trägt. */
/* NUR im dunklen Footer. Die Variable --ink-soft global zu ändern wäre falsch:
   auf dem weißen Seitenhintergrund hat #52585f ausgezeichnete 7,19:1 — eine
   hellere Farbe würde dort auf 3,69:1 FALLEN. Derselbe Fehler wurde am selben Tag
   auf einer anderen Seite gemacht und musste zurückgenommen werden. */
.site-footer,
.site-footer p,
.site-footer li,
.site-footer .footer-inner p,
.site-footer .footer-inner div p {
  --ink-soft: #7e868f;      /* 5,12:1 auf #111111 statt 2,63:1 */
}

/* 2) Klickflächen auf das WCAG-Mindestmaß. */
#hauptnav a,
nav a,
header a,
footer a,
footer button,
.btn, [class*="cta"], [class*="button"],
button, [role="button"], summary,
a:only-child,
p > a:only-child {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

/* 3) Kurze Ziele brauchen zusätzlich Breite. */
#hauptnav a,
nav a,
footer a,
footer button {
  min-width: 44px;
  justify-content: center;
}

/* 4) Karten und Blöcke füllen ihre Fläche statt zu zentrieren. */
[class*="card"] a,
[class*="grid"] a,
article a:only-child {
  align-items: stretch;
  justify-content: flex-start;
  min-width: 0;
}

/* 5) Sichtbarer Fokus — Tastaturbedienung ohne Ring ist Blindflug. */
:where(a, button, [role="button"], summary, input, select, textarea):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* 6) Rechtsseiten: Links in <address> (Telefon, E-Mail) und der Zurück-Link
      sind eigenständige Klickziele, keine Inline-Links im Satz. */
address a,
.back-link,
.legal-main a:only-child {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

/* 7) Footer-Credit: der Link steht am Zeilenende in einer eigenen Zeile, dort
      ist die volle Höhe unkritisch. Bei Links MITTEN in einem Absatz wäre das
      ein Layoutbruch — dort greift die WCAG-Ausnahme für Inline-Targets. */
.footer-credit a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

/* 8) Kontaktangaben auf den Rechtsseiten ("E-Mail: info@…") stehen zwar in einem
      Absatz, sind aber die eigentliche Handlung der Seite — kein Inline-Link im
      Fließtext. Deshalb volle Klickfläche. */
.legal-main a[href^="mailto:"],
.legal-main a[href^="tel:"],
a[href^="mailto:"],
a[href^="tel:"] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
