/* Manger Transporte: RAL 5015 ≈ #2874b2, bewusst abgewandelte Töne für Kontrast. */
:root[data-theme="dark"] {
  --clr-bg: #111820;
  --clr-bg-light: #1b2530;
  --clr-white: #ffffff;
  --clr-text: #ebf0f5;
  --clr-muted: #b7c4d0;
  --clr-text-muted: #b7c4d0;
  --clr-heading: #f6f9fb;
  --clr-accent: #67b9ee;  /* heller als RAL 5015, damit Text im Dark Mode lesbar ist */
  --clr-accent-light: #93d4f7;
  --clr-accent-dark: #53a7de;
  --clr-border: #344351;
  --clr-surface-subtle: #253240;
  --clr-shadow: rgba(0, 0, 0, 0.26);
  --shadow-sm: 0 3px 12px rgba(0, 0, 0, 0.22);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 14px 34px rgba(0, 0, 0, 0.36);
}

/* Brand-buttons use a dark blue even in dark mode, for legible white type */
:root[data-theme="dark"] {
  --clr-button-bg: #2874b2;
  --clr-button-hover: #205d8f;
}
:root:not([data-theme="dark"]) {
  --clr-button-bg: #2874b2;
  --clr-button-hover: #205d8f;
}

:root[data-theme="dark"] body,
:root[data-theme="dark"] main,
:root[data-theme="dark"] .legal-container { color: var(--clr-text); }
:root[data-theme="dark"] h1,
:root[data-theme="dark"] h2,
:root[data-theme="dark"] h3,
:root[data-theme="dark"] h4 { color: var(--clr-heading); }
:root[data-theme="dark"] .page--start .start-section,
:root[data-theme="dark"] .section-box,
:root[data-theme="dark"] .kontakt-box,
:root[data-theme="dark"] .zeiten-box,
:root[data-theme="dark"] .contact-form-box,
:root[data-theme="dark"] details,
:root[data-theme="dark"] .group,
:root[data-theme="dark"] .subgroup { background: var(--clr-bg-light); color: var(--clr-text); border-color: var(--clr-border); }
:root[data-theme="dark"] p,
:root[data-theme="dark"] .service-copy p,
:root[data-theme="dark"] .kontakt-col p,
:root[data-theme="dark"] .zeiten-box p { color: var(--clr-text); }
:root[data-theme="dark"] .service-copy h2,
:root[data-theme="dark"] .kontakt-col h2,
:root[data-theme="dark"] .zeiten-box h2,
:root[data-theme="dark"] .legal-container h1,
:root[data-theme="dark"] .legal-container h2 { color: var(--clr-accent); }
:root[data-theme="dark"] .service-number { color: #a1cfee; }
:root[data-theme="dark"] .services-cta,
:root[data-theme="dark"] .info-box,
:root[data-theme="dark"] .map-placeholder { background: var(--clr-surface-subtle); border-color: var(--clr-border); }
:root[data-theme="dark"] .services-cta h2 { color: var(--clr-heading); }
:root[data-theme="dark"] .group > summary,
:root[data-theme="dark"] .group > summary:hover,
:root[data-theme="dark"] details > summary,
:root[data-theme="dark"] details > summary:hover,
:root[data-theme="dark"] details[open] > summary,
:root[data-theme="dark"] .subgroup > summary { background: #263645; color: var(--clr-accent); }
:root[data-theme="dark"] .map-placeholder .map-inner p,
:root[data-theme="dark"] #map-placeholder .map-inner p { color: var(--clr-text); }
:root[data-theme="dark"] .cookie-settings-box,
:root[data-theme="dark"] .holiday-popup__content { background: #202d3a; color: var(--clr-text); border-color: var(--clr-border); }
:root[data-theme="dark"] .cookie-settings-box h3,
:root[data-theme="dark"] .cookie-settings-box p,
:root[data-theme="dark"] .holiday-text,
:root[data-theme="dark"] .holiday-sub { color: var(--clr-text); }
:root[data-theme="dark"] .cookie-settings-status,
:root[data-theme="dark"] .cookie-settings-close { background: #293947; color: var(--clr-text); border-color: var(--clr-border); }
:root[data-theme="dark"] #cookie-settings-decline { background: #293947; color: var(--clr-text); border-color: var(--clr-border); }
:root[data-theme="dark"] #cookie-settings-decline:hover,
:root[data-theme="dark"] .cookie-settings-close:hover { background: #33495a; color: var(--clr-heading); }
:root[data-theme="dark"] .form-field input,
:root[data-theme="dark"] .form-field select,
:root[data-theme="dark"] .form-field textarea { background: #111b25; border-color: #516171; color: var(--clr-text); }
:root[data-theme="dark"] .form-field input::placeholder,
:root[data-theme="dark"] .form-field textarea::placeholder { color: #a6b6c4; }
:root[data-theme="dark"] .form-privacy,
:root[data-theme="dark"] .form-note { color: var(--clr-muted); }
:root[data-theme="dark"] .form-result.is-success { color: #9fe6b3; }
:root[data-theme="dark"] .form-result.is-error { color: #ffb0aa; }

/* Navigation stays white in light mode; dark navigation is genuinely dark. */
:root[data-theme="dark"] nav.main-nav { background: #182530; border-color: #334554; }
:root[data-theme="dark"] .brand,
:root[data-theme="dark"] .brand__wordmark strong,
:root[data-theme="dark"] nav.main-nav .nav-links > a,
:root[data-theme="dark"] .nav-phone { color: #f1f6fa; }
:root[data-theme="dark"] .nav-phone span { color: #bfd0dc; }
:root[data-theme="dark"] .burger span { background: #f1f6fa; }
:root[data-theme="dark"] nav.main-nav .nav-links,
:root[data-theme="dark"] .nav-mobile-phone { background: #182530; border-color: #344554; }
:root[data-theme="dark"] .nav-mobile-phone { color: var(--clr-accent); }
:root[data-theme="dark"] nav.main-nav .nav-links > a { border-color: #344554; }
:root[data-theme="dark"] .theme-toggle { color: #f1f6fa; border-color: #526374; background: #263645; }
:root[data-theme="dark"] .theme-toggle:hover { background: #344b5e; }

/* Knöpfe mit weißem Text behalten im Dark Mode den ausreichenden Kontrast */
.nav-cta, .nav-mobile-cta, .hero-btn--primary, .services-cta__button,
#cookie-accept, #cookie-settings-accept, #accept-cookies-map,
.form-submit, .filterBtn.active, .scroll-top { background: var(--clr-button-bg) !important; border-color: var(--clr-button-bg) !important; color: #fff !important; }
.nav-cta:hover, .nav-mobile-cta:hover, .hero-btn--primary:hover, .services-cta__button:hover,
#cookie-accept:hover, #cookie-settings-accept:hover, #accept-cookies-map:hover,
.form-submit:hover, .scroll-top:hover { background: var(--clr-button-hover) !important; border-color: var(--clr-button-hover) !important; color: #fff !important; }
:root[data-theme="dark"] .filterBtn:hover,
:root[data-theme="dark"] #toggleAllBtn:hover { background: var(--clr-button-bg); color: #fff; }
:root[data-theme="dark"] .filterBtn.active { color: #fff; }

@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
}
