/* =====================================================================
   Barrierefreiheit Quick-Fixes – philipp-group.com
   Einfügen: Elementor › Website-Einstellungen › Benutzerdefiniertes CSS
   (oder Design › Customizer › Zusätzliches CSS)
   Kontraste (B-01) sind bewusst NICHT enthalten.
   ===================================================================== */

/* B-02 – Einheitlicher, gut sichtbarer Fokus (nur bei Tastaturbedienung) */
:where(a, button, input, select, textarea, summary,
       [role="button"], [tabindex]):focus-visible {
  outline: 3px solid #1A1A1A !important;
  outline-offset: 2px !important;
  /* weißer Spalt innen + weißer Saum außen → sichtbar auf hellem UND dunklem Grund */
  box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 7px #FFFFFF !important;
}

/* B-02 – Menüpunkte: Fokusrahmen nach innen, damit der Header ihn nicht abschneidet */
nav a:focus-visible,
nav [role="button"]:focus-visible {
  outline: none !important;
  box-shadow: inset 0 0 0 2px #FFFFFF, inset 0 0 0 4px #1A1A1A !important;
}

/* B-02 – Skip-Link „Zum Inhalt springen“ beim Fokus einblenden */
.skip-link.screen-reader-text:focus,
.skip-link.screen-reader-text:focus-visible {
  clip: auto !important;
  clip-path: none !important;
  width: auto !important;
  height: auto !important;
  position: fixed !important;
  top: 8px; left: 8px;
  z-index: 100000;
  padding: 12px 16px;
  background: #FFFFFF !important;
  color: #1A1A1A !important;
  font-size: 16px;
  text-decoration: underline;
}

/* B-03 – Fokussierte Elemente nicht hinter dem fixierten Header verstecken */
html { scroll-padding-top: 180px; }
@media (max-width: 767px) { html { scroll-padding-top: 90px; } }

/* B-07 – Rahmen der Formularfelder ausreichend kontrastreich (4,5:1) */
.elementor-field-group .elementor-field-textual,
.elementor-field-group select,
.elementor-field-group textarea {
  border: 1px solid #767676 !important;
}

/* B-09 – Footer-Links: größere Schrift und Mindest-Klickfläche 24 px */
footer a[href*="datenschutz"],
footer a[href*="impressum"],
footer a[href*="widerruf"],
footer a[href*="barrierefreiheit"] {
  display: inline-block;
  min-height: 24px;
  padding: 4px 6px;
  font-size: 14px !important;
  line-height: 1.2;
}

/* B-11 – Slider-Punkte bei schmalen Bildschirmen umbrechen statt überlaufen */
@media (max-width: 400px) {
  .swiper-pagination { flex-wrap: wrap; max-width: 100%; }
}

/* Bewegung reduzieren, wenn im Betriebssystem eingestellt */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
