/* ===========================
   A11y – Schriftgrößen
   =========================== */
body.a11y-font-md { font-size: 1.1rem; }
body.a11y-font-lg { font-size: 1.25rem; }
body.a11y-font-xl { font-size: 1.45rem; }

/* ===========================
   A11y – Zeilenabstand
   =========================== */
body.a11y-line-lg {
  line-height: 1.7;
}

/* ===========================
   A11y – Hoher Kontrast
   =========================== */
body.a11y-contrast-high {
  --color-bg: #000000;
  --color-text: #ffffff;
  --color-primary: #ffffff;
  --color-primary-soft: #ffffff;
  background-color: var(--color-bg);
  color: var(--color-text);
}

body.a11y-contrast-high .main-nav,
body.a11y-contrast-high .bottom-nav,
body.a11y-contrast-high .fab {
  background: #000000 !important;
  color: #ffffff !important;
}

/* Optional: Icons invertieren, falls nötig */
/*
body.a11y-contrast-high img,
body.a11y-contrast-high svg {
  filter: invert(1) !important;
}
*/

/* ===========================
   A11y – Ruhiger Modus
   =========================== */
body.a11y-calm-mode {
  --color-bg: #f5f7fa;
  --color-text: #0f1a24;
  --color-primary: #004a85;
  --color-primary-soft: #004a85;
  --shadow-soft: none;
  background-color: var(--color-bg);
  color: var(--color-text);
}

body.a11y-calm-mode .main-nav,
body.a11y-calm-mode .bottom-nav,
body.a11y-calm-mode .fab {
  background: #004a85 !important;
  color: #ffffff !important;
}

/* ===========================
   A11y – Animationen reduzieren
   =========================== */
body.a11y-reduced-motion * {
  animation-duration: 0s !important;
  transition-duration: 0s !important;
}

/* ===========================
   A11y – Fokus verstärken
   =========================== */
body.a11y-strong-focus :focus-visible {
  outline: 3px solid #ffcc00 !important;
  outline-offset: 4px !important;
}

/* ===========================
   A11y – Links unterstreichen
   =========================== */
body.a11y-links-underline a {
  text-decoration: underline !important;
}

/* ==========================================================
   A11y-Panel – vorsichtig optimiert
   ========================================================== */

.a11y-panel {
  background: #005ca9 !important;
  color: #ffffff !important;
}

.a11y-panel-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
}

.a11y-panel-body {
  overflow-y: auto !important;
  max-height: calc(100vh - 12rem) !important;
  -webkit-overflow-scrolling: touch;
}

.a11y-panel button,
.a11y-panel .a11y-options button {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
}

.a11y-panel-body::-webkit-scrollbar {
  width: 6px;
}

.a11y-panel-body::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 4px;
}

.a11y-panel-body::-webkit-scrollbar-track {
  background: transparent;
}
