/* ==========================================================================
   mobile_bottom_nav.css — CD-A3b (18.09.2026)
   Ersetzt die 5 statischen style="-Attribute des mobilen Bodys-Docks
   (layout/mobile_bottom_nav.tpl) durch mbn-*-Klassen — Werte 1:1, unlayered.
   Die Badges behalten display:none als KLASSEN-Wert: footer-boot.js toggelt
   via inline style.display — Inline schlägt Klasse, Verhalten identisch
   zum frueheren Inline-none/Inline-show.
   ========================================================================== */
.mbn-badge-peak { font-size: 0.55rem; padding: 1px 4px; }
.mbn-badge-bm { display: none; font-size: 0.6rem; padding: 2px 4px; }
.mbn-btn-44 { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
.mbn-trunc-140 { max-width: 140px; }
.mbn-logo-48 { width: 48px; height: 48px; object-fit: contain; }

/* ==========================================================================
   Welle ML (27.09., ML-1): Chat-FAB-Anker — 1:1-Ersatz für die entfernten
   bottom-0/z-3-Utilities (live_chat_drawer.tpl). Desktop bleibt optisch
   identisch (1rem/3); mobil weicht der FAB dem Bottom-Dock (mobile.css
   Stufe 27, news-toast-Muster) und liegt zwischen Dock (1040) und Toasts
   (1080).
   ========================================================================== */
.md-chat-dock-bottom { bottom: 1rem; }
.md-chat-dock-z { z-index: 3; }
@media (max-width: 991.98px) {
  /* Welle ML (27.09., ML-1): Sitz über der Speed-Dial-Zeile (74-122px abs);
     +8 reichte nicht (Audit: 1976px² Overlap mit dem Speed-Dial-FAB).
     Diese Datei gewinnt die Kaskade bewusst (unlayered, lädt zuletzt) —
     die Duplikat-Regel in mobile.css Stufe 27 ist entfernt. */
  .md-chat-dock-bottom { bottom: calc(var(--ts-dock-height, 64px) + var(--ts-dock-safe, 0px) + 76px); }
  .md-chat-dock-z { z-index: 1045; }
}

/* ==========================================================================
   ZD-BAR v2.1 (30.09.2026): Menü-Schalter für die Zero-Day-Eilmeldung
   (#zerodayMenuToggle in navbar/offcanvas.tpl) — reaktiviert die über das ✕
   geschlossene Bar (sessionStorage-Clear) bzw. blendet sie hier aus. Rein
   visuelles Switch-Pendant (das echte aria-checked lebt am Button), damit
   kein <input> in <button> liegt. Kontrast: Track-An ≥ 3:1 gegen die
   Offcanvas-Fläche (#b91c1c), Knob weiß mit Schatten.
   ========================================================================== */
.zeroday-menu-switch {
  position: relative;
  width: 40px;
  height: 22px;
  border-radius: 999px;
  background: rgba(100, 116, 139, 0.45);
  border: 1px solid rgba(148, 163, 184, 0.55);
  transition: background 0.15s ease, border-color 0.15s ease;
  flex-shrink: 0;
}
.zeroday-menu-switch::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  transition: transform 0.15s ease;
}
.zeroday-menu-switch.is-on {
  background: #b91c1c;
  border-color: #dc2626;
}
.zeroday-menu-switch.is-on::after {
  transform: translateX(18px);
}
.zeroday-menu-icon {
  color: var(--text-muted, #94a3b8);
}
.zeroday-menu-icon.text-danger {
  color: #dc2626;
}
@media (prefers-reduced-motion: reduce) {
  .zeroday-menu-switch,
  .zeroday-menu-switch::after {
    transition: none;
  }
}
