/* ============================================================
   SCHWIDER GBR — Theme-Umschalter (Nachtrag 17.08.2026, Auftrag 2)
   ============================================================

   Entscheidung Video-/Scrim-Köpfe: Sie bleiben in BEIDEM Theme dunkel.
   Grund: alle Scrims (.hero__scrim, .uhead__scrim, .wagenkarte__scrim,
   .suchauftrag__scrim, .kopf::before, .mobilnav) sind bereits fest auf
   rgba(11,14,12/13,17,15 …) verdrahtet — nicht themefähig — und über
   bewegte Fahrzeug-Videos lässt sich ein heller Scrim mit dunklem Text
   nicht ohne komplette Neuvermessung von data/head-kontrast-alle.mjs
   sauber vertreten (die Kurven wurden hart auf Dunkel-Text kalibriert,
   siehe Kommentare in grammatik.css). Konsequent überall gleich:
   Kopfzeile (.kopf), mobiles Menü (.mobilnav), Hero, jeder Unterseiten-
   Kopf (.uhead), jede Wagenkarte-Bahn (.wagenkarte) und die Suchauftrag-
   /Kontaktformular-Bahn (.suchauftrag) sperren ihre Text-/Akzentfarben
   fest auf die Dunkel-Werte (--kopf-*), unabhängig vom aktiven Theme.
   Der Übergang zur hellen Seite darunter ist dadurch ein klarer,
   beabsichtigter Kantenschnitt — kein Kontrastbruch, kein Flackern. */

.kopf,
.mobilnav,
.hero,
.uhead,
.gram-b .wagenkarte,
.gram-a .archiv-bahn,
.suchauftrag,
.jahresspur__bild,
.kontakt__bild {
  --hallenweiss: var(--kopf-hallenweiss);
  --zinn: var(--kopf-zinn);
  --bernstein: var(--kopf-bernstein);
  --bernstein-tief: var(--kopf-bernstein-tief);
  --kante: var(--kopf-kante);
  --boden: var(--kopf-boden);
  --fuge: var(--kopf-fuge);
}

/* ---------- Kopfzeile: Umschalter + Burger als eine Gruppe ---------- */
.kopf__aktionen {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-shrink: 0;
}

/* ---------- Theme-Umschalter (Kopfzeile) ---------- */
.theme-schalter {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--kante);
  background: rgba(21, 27, 24, 0.5);
  color: var(--hallenweiss);
  cursor: pointer;
  border-radius: 999px;
  transition:
    transform 160ms var(--ease-auslauf),
    border-color 160ms ease;
}
.theme-schalter:active {
  transform: scale(0.94);
}
.theme-schalter:hover {
  border-color: var(--zinn);
}
.theme-schalter svg {
  width: 18px;
  height: 18px;
  display: block;
}
/* Spezifität bewusst gleich hoch wie ".theme-schalter svg" oben (Klasse +
   Element) — sonst gewinnt dessen "display:block" gegen dieses "none". */
.theme-schalter svg.theme-schalter__sonne,
.theme-schalter svg.theme-schalter__mond {
  display: none;
}
/* html[data-theme="dark"] zeigt die Sonne (Wechsel zu hell anbieten),
   html[data-theme="light"] zeigt den Mond (Wechsel zu dunkel anbieten). */
html[data-theme="dark"] .theme-schalter svg.theme-schalter__sonne {
  display: block;
}
html[data-theme="light"] .theme-schalter svg.theme-schalter__mond {
  display: block;
}
@media (prefers-reduced-motion: reduce) {
  .theme-schalter {
    transition: none;
  }
}

/* Fußzeilen-Logo im hellen Theme (Hamada 17.08.2026, ersetzt den invert-Trick):
   invert(1) auf der Verlaufs-Wortmarke ergab nur ein fahles Grau — kaum lesbar
   (Hamada-Befund). Jetzt wird im Light-Theme die ECHTE dunkle Kundenfassung
   logo-dunkel.png geladen (§0e-156: helle/dunkle Fassung nie per Farbtrick). */
:root[data-theme="light"] .fuss__logo {
  content: url("../marke/logo-dunkel.png");
  filter: none;
  opacity: 1;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) .fuss__logo {
    content: url("../marke/logo-dunkel.png");
    filter: none;
    opacity: 1;
  }
}
