/* ============================================================
   DJ Bros – Barrierefreiheit (WCAG 2.1 AA) – Ergänzungen
   Wird nach den Seiten-Styles geladen und überschreibt gezielt.
   ============================================================ */

/* Kontraste: gedämpfte Texte heller (mind. 4,5:1) */
:root { --muted: #A3AEC2; }
.price-footnote { opacity: 1 !important; color: #AEB4BF !important; }
.capacity-badge { color: #F9A8D4 !important; }
.capacity-badge.gold, .feat-tag.gold { color: #FBBF24 !important; }
.feat-tag { color: #C4B5FD !important; }
.cat-pill.dj-equipment { color: #B9A5FB !important; }
.cat-pill.interview { color: #F9A8D4 !important; }
.cat-pill.djing { color: #22D3EE !important; }
.read-btn { color: #B9A5FB !important; }

/* „Jetzt anfragen"-Buttons: Browser-Grau entfernen */
.system-cta-link, .licht-paket-cta button {
  background: none !important; border: 0 !important; padding: 4px 0 !important;
  font: inherit; font-size: 14px; font-weight: 700; cursor: pointer;
}
.system-cta-link { color: #B9A5FB; }
.system-cta-link.gold, .licht-paket-cta button { color: #FBBF24; }

/* Equipment-Abbildungen als Symbolbild kennzeichnen */
.system-img-wrap { position: relative; }
.system-img-wrap::after {
  content: "Symbolbild"; position: absolute; right: 12px; bottom: 8px;
  font-size: 11px; letter-spacing: .04em; color: #A3AEC2;
}

/* Footer-Überschriften (h2 statt h4, gleiche Optik) */
.footer-links h2.footer-heading {
  font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em;
  color: var(--gray); margin-bottom: 4px;
}

/* Sichtbarer Tastatur-Fokus */
:focus-visible { outline: 3px solid #22D3EE !important; outline-offset: 3px; border-radius: 4px; }

/* „Zum Inhalt springen" */
.skip-link {
  position: absolute; left: 16px; top: -80px; z-index: 10000;
  background: #fff; color: #0A0A0F; padding: 10px 16px; border-radius: 8px;
  font-weight: 700; text-decoration: none;
}
.skip-link:focus { top: 12px; }

/* Nur für Screenreader */
.sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* Klickbare Galerie-Bilder */
.gal-item[role="button"] { cursor: zoom-in; }

/* Weniger Bewegung, wenn im System eingestellt */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important; animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .reveal { opacity: 1 !important; transform: none !important; }
}

/* Vergleichstabelle & Blog-Footer */
.td-no { color: #9CA3AF !important; opacity: 1 !important; }
footer.footer p { opacity: 1 !important; color: var(--muted, #A3AEC2); }
footer a, .footer a, .form-privacy a { text-decoration: underline !important; text-underline-offset: 3px; }
