/* ═══════════════════════════════════════════════════════════
   ACCESSIBILITY-FIXES für PageSpeed Insights
   - Link-Kontrast & Erkennbarkeit
   - Focus-Outlines für Tastatur-Navigation
   - Reduzierte-Motion-Support
   ═══════════════════════════════════════════════════════════ */

/* 1. Links in Text: Unterstreichung + besserer Kontrast */
main a:not(.btn):not(.nav-cta):not(.cta):not([class*="btn-"]):not([class*="-btn"]):not(.mbtn-close):not(.sticky-wa):not(.nav-logo):not([class*="mob-acc"]),
article a,
p a,
li a,
.legal-wrap a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  color: #B45309; /* Bessere Kontrast-Ratio als #F59E0B (AA ≥ 4.5:1) */
}

/* Footer-Links klar erkennbar */
.footer-links a,
.footer-bottom-links a {
  text-decoration: underline !important;
  color: #c9d1e0 !important;
}

.footer-col ul a {
  text-decoration: none;
  color: #e5e7eb;
}
.footer-col ul a:hover,
.footer-col ul a:focus {
  text-decoration: underline;
  color: #F59E0B;
}

/* 2. Focus-Outlines für Tastatur-Navigation (WCAG 2.4.7) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid #F59E0B;
  outline-offset: 2px;
  border-radius: 4px;
}

/* 3. Buttons mit sichtbarem Fokus */
.btn:focus-visible,
[class*="btn"]:focus-visible {
  outline: 3px solid #0f172a;
  outline-offset: 3px;
}

/* 4. Prefers-reduced-motion: Animations stoppen */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* 5. Skip-to-content Link (unsichtbar, sichtbar bei Fokus) */
.skip-link {
  position: absolute;
  top: -50px;
  left: 0;
  background: #F59E0B;
  color: #0f172a;
  padding: 10px 20px;
  font-weight: 700;
  text-decoration: none;
  z-index: 100000;
  border-radius: 0 0 8px 0;
  transition: top 0.2s;
}
.skip-link:focus {
  top: 0;
}

/* 6. Screen-Reader-Only Text */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* 7. Bessere Kontrastfarben für graue Texte */
.text-muted,
.subtitle,
.small-text {
  color: #4b5563 !important; /* Statt #6b7280 - besser Kontrast */
}

/* 8. Minimum Touch-Target-Size (44x44px für Mobile) */
@media (max-width: 768px) {
  a,
  button,
  input[type="button"],
  input[type="submit"] {
    min-height: 44px;
    min-width: 44px;
  }
}
