/* ============================================================
   SECTION BANDING — Tokens + Dark-Theme-Application

   ZWECK
   Bricht im Dark-Theme die durchgehende Dunkelheit auf:
   WP-Wartung + About + Testimonials werden zu hellen Grau-Bändern,
   Hero / Services / Tools / Blog / CTA / Footer bleiben dunkel.
   Ergibt einen alternierenden Rhythmus ab Section 2:
       Hero D → WP L → Services D → About L → Tools D → Testim L → Blog D → CTA D

   ARCHITEKTUR
   - Tokens (`--band-tone-*`) sind global in :root → überall nutzbar
   - Color-agnostischer Name → spätere Palette-Swaps ohne Umbau
   - Anwendung greift NUR bei `<body class="banded">`
   - Damit pro Seite ein-/abschaltbar ohne Markup-Umbau
   - Light-Theme bleibt unberührt (theme-friendly.css regelt das)
   ============================================================ */

:root {
  /* --- Tone-Palette: helles Logo-Grau-Spektrum, modern & neutral.
         Color-agnostischer Name (--band-tone-*) damit Tausch leicht bleibt. --- */
  --band-tone:                 #f2f3f5;   /* Haupt-Band — sehr helle Variante des Logo-Greys */
  --band-tone-bright:          #f8f9fb;   /* heller, für Akzent-Karten */
  --band-tone-soft:            #e6e8ec;   /* tiefer Grau-Ton für Hover/Tracks */

  /* --- Text auf Tone (alle AA+ auf #f2f3f5) --- */
  --band-tone-text:            #1a1d22;   /* primary, near-black mit Hauch cool — 15.5:1 AAA */
  --band-tone-text-secondary:  #4a4f57;   /* secondary — 7.4:1 AAA */
  --band-tone-text-muted:      #62656c;   /* muted — 5.3:1 auf #f2f3f5 (AA) */

  /* --- Borders & Shadows (cool getönt, neutral) --- */
  --band-tone-border:          rgba(26, 29, 34, 0.10);
  --band-tone-border-strong:   rgba(26, 29, 34, 0.18);
  --band-tone-border-accent:   rgba(71, 95, 23, 0.32);
  --band-tone-shadow:          0 2px 8px rgba(26, 29, 34, 0.06);
  --band-tone-shadow-md:       0 4px 16px rgba(26, 29, 34, 0.08);
  --band-tone-shadow-lg:       0 10px 30px rgba(26, 29, 34, 0.10);

  /* --- Brand-Grün AAA auf Tone --- */
  --band-tone-primary:         #475F17;   /* 6.4:1 AAA */
  --band-tone-primary-hover:   #3D4F13;
}

/* ============================================================
   APPLICATION — Light-Bänder NUR im Dark-Theme + body.banded
   Targets: .wp-care-section, .about-section
   .about-section wird sowohl von About als auch Testimonials genutzt
   ============================================================ */

/* Light-Band: heller Grau-Background, Border, Dark Text */
[data-bs-theme="dark"] body.banded .wp-care-section,
[data-bs-theme="dark"] body.banded .about-section {
  background: var(--band-tone) !important;
  background-image: none !important;  /* überschreibt WP-Care Gradient + andere Overlays */
  color: var(--band-tone-text);
  border-top: 1px solid var(--band-tone-border);
  border-bottom: 1px solid var(--band-tone-border);
}

/* Section-Pseudo-Overlays neutralisieren */
[data-bs-theme="dark"] body.banded .wp-care-section::before,
[data-bs-theme="dark"] body.banded .about-section::before,
[data-bs-theme="dark"] body.banded .wp-care-section::after,
[data-bs-theme="dark"] body.banded .about-section::after {
  display: none !important;
}

/* ---------- Typografie auf Tone-Bändern ---------- */
[data-bs-theme="dark"] body.banded .wp-care-section h1,
[data-bs-theme="dark"] body.banded .wp-care-section h2,
[data-bs-theme="dark"] body.banded .wp-care-section h3,
[data-bs-theme="dark"] body.banded .wp-care-section h4,
[data-bs-theme="dark"] body.banded .about-section h1,
[data-bs-theme="dark"] body.banded .about-section h2,
[data-bs-theme="dark"] body.banded .about-section h3,
[data-bs-theme="dark"] body.banded .about-section h4,
[data-bs-theme="dark"] body.banded .wp-care-title,
[data-bs-theme="dark"] body.banded .wp-care-card-title,
[data-bs-theme="dark"] body.banded .about-title,
[data-bs-theme="dark"] body.banded .wp-care-section .section-title,
[data-bs-theme="dark"] body.banded .about-section .section-title {
  color: var(--band-tone-text);
}

[data-bs-theme="dark"] body.banded .wp-care-section p,
[data-bs-theme="dark"] body.banded .about-section p,
[data-bs-theme="dark"] body.banded .wp-care-subtitle,
[data-bs-theme="dark"] body.banded .wp-care-card-text,
[data-bs-theme="dark"] body.banded .about-text,
[data-bs-theme="dark"] body.banded .wp-care-section .section-subtitle,
[data-bs-theme="dark"] body.banded .about-section .section-subtitle {
  color: var(--band-tone-text-secondary);
}

/* Eyebrows / Tags bleiben grün auf hell */
[data-bs-theme="dark"] body.banded .wp-care-eyebrow,
[data-bs-theme="dark"] body.banded .wp-care-section .section-tag,
[data-bs-theme="dark"] body.banded .about-section .section-tag {
  color: var(--band-tone-primary);
}

/* ---------- WP-Care Cards: weiße Inseln ---------- */
[data-bs-theme="dark"] body.banded .wp-care-card {
  background: #ffffff;
  border: 1px solid var(--band-tone-border);
  color: var(--band-tone-text);
  box-shadow: var(--band-tone-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

[data-bs-theme="dark"] body.banded .wp-care-card:hover {
  border-color: var(--band-tone-border-accent);
  box-shadow: var(--band-tone-shadow-lg);
}

/* WP-Care Trust strip (warmer green tint, leicht auf hell adjustiert) */
[data-bs-theme="dark"] body.banded .wp-care-trust {
  background: linear-gradient(135deg, rgba(71, 95, 23, 0.10), #ffffff);
  border-color: var(--band-tone-border-accent);
  color: var(--band-tone-text);
}

[data-bs-theme="dark"] body.banded .wp-care-trust-sep {
  background: var(--band-tone-border-strong);
}

/* WP-Care USP / Differenziator-Block */
[data-bs-theme="dark"] body.banded .wp-care-usp {
  background: var(--band-tone-bright);
  border-left-color: var(--band-tone-primary);
  color: var(--band-tone-text);
}

[data-bs-theme="dark"] body.banded .wp-care-usp-title {
  color: var(--band-tone-primary);
}

[data-bs-theme="dark"] body.banded .wp-care-usp-text {
  color: var(--band-tone-text);
}

/* WP-Care CTAs */
/* Primary: Hover invertiert auf Weiß+Grün (wie .btn-primary-custom) */
[data-bs-theme="dark"] body.banded .wp-care-cta-primary:hover,
[data-bs-theme="dark"] body.banded .wp-care-cta-primary:focus {
  background: #ffffff;
  color: var(--band-tone-primary);
  border-color: var(--band-tone-primary);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 0 0 0 1px var(--band-tone-primary);
  text-shadow: none;
}

[data-bs-theme="dark"] body.banded .wp-care-cta-primary:hover svg,
[data-bs-theme="dark"] body.banded .wp-care-cta-primary:focus svg {
  color: var(--band-tone-primary);
}

/* Secondary auf hell anpassen */
[data-bs-theme="dark"] body.banded .wp-care-cta-secondary {
  color: var(--band-tone-text);
  border-color: var(--band-tone-border-strong);
  background: transparent;
}

[data-bs-theme="dark"] body.banded .wp-care-cta-secondary:hover {
  color: var(--band-tone-primary);
  border-color: var(--band-tone-primary);
}

/* ---------- About-Feature Cards: weiße Inseln ---------- */
[data-bs-theme="dark"] body.banded .about-feature {
  background: #ffffff;
  border: 1px solid var(--band-tone-border);
  color: var(--band-tone-text);
  box-shadow: var(--band-tone-shadow);
}

[data-bs-theme="dark"] body.banded .about-feature:hover {
  border-color: var(--band-tone-border-accent);
  box-shadow: var(--band-tone-shadow-lg);
}

[data-bs-theme="dark"] body.banded .about-feature h3,
[data-bs-theme="dark"] body.banded .about-feature h4 {
  color: var(--band-tone-text);
}

[data-bs-theme="dark"] body.banded .about-feature p {
  color: var(--band-tone-text-secondary);
}

/* ---------- Testimonial Cards: weiße Inseln ---------- */
[data-bs-theme="dark"] body.banded .testimonial-card {
  background: #ffffff;
  border: 1px solid var(--band-tone-border);
  color: var(--band-tone-text);
  box-shadow: var(--band-tone-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

[data-bs-theme="dark"] body.banded .testimonial-card:hover,
[data-bs-theme="dark"] body.banded .testimonial-card:focus-within {
  border-color: var(--band-tone-border-accent);
  box-shadow: var(--band-tone-shadow-lg);
}

[data-bs-theme="dark"] body.banded .testimonial-text {
  color: var(--band-tone-text);
}

/* WICHTIG: <footer class="testimonial-author"> erbt globales footer{} aus style.css
   (dunkler Background + 4rem 0 2rem padding + 2px border-top) — wir müssen das
   hier explizit zurücksetzen, sonst hat jeder Testimonial-Card unten einen
   dunklen Block, in dem Avatar/Name/Datum stehen. */
[data-bs-theme="dark"] body.banded .testimonial-author {
  background: transparent !important;
  padding: 1.25rem 0 0 50px !important;
  border-top: 1px solid var(--band-tone-border) !important;
  color: var(--band-tone-text);
}

[data-bs-theme="dark"] body.banded .author-date {
  color: var(--band-tone-text-muted);
}

[data-bs-theme="dark"] body.banded .author-name {
  color: var(--band-tone-text);
}

/* Slider-Dots & Arrows auf hellem Grund lesbar */
[data-bs-theme="dark"] body.banded .about-section .slider-dot,
[data-bs-theme="dark"] body.banded .about-section .testimonial-dots > * {
  background: var(--band-tone-text-muted);
}

[data-bs-theme="dark"] body.banded .about-section .slider-dot.active,
[data-bs-theme="dark"] body.banded .about-section .slider-dot:hover,
[data-bs-theme="dark"] body.banded .about-section .testimonial-dots > .active {
  background: var(--band-tone-primary);
}

[data-bs-theme="dark"] body.banded .about-section .slider-arrow,
[data-bs-theme="dark"] body.banded .about-section button[class*="arrow"],
[data-bs-theme="dark"] body.banded .about-section button[class*="prev"],
[data-bs-theme="dark"] body.banded .about-section button[class*="next"] {
  color: var(--band-tone-text);
  border-color: var(--band-tone-border-strong);
  background: #ffffff;
}

/* ---------- Generic Links auf Tone-Bändern ---------- */
[data-bs-theme="dark"] body.banded .wp-care-section a:not(.btn-primary-custom):not(.btn-secondary-custom):not(.btn-outline-custom):not(.btn-cta):not(.wp-care-cta-primary):not(.wp-care-cta-secondary):not(.wp-care-card):not(.read-more):not(.blog-link):not(.social-link):not(.nav-link):not(.dropdown-item),
[data-bs-theme="dark"] body.banded .about-section a:not(.btn-primary-custom):not(.btn-secondary-custom):not(.btn-outline-custom):not(.btn-cta):not(.testimonial-card):not(.about-feature):not(.read-more):not(.blog-link):not(.social-link):not(.nav-link):not(.dropdown-item) {
  color: var(--band-tone-primary);
  text-decoration-color: rgba(71, 95, 23, 0.45);
}

[data-bs-theme="dark"] body.banded .wp-care-section a:not(.btn-primary-custom):not(.btn-secondary-custom):not(.btn-outline-custom):not(.btn-cta):not(.wp-care-cta-primary):not(.wp-care-cta-secondary):not(.wp-care-card):not(.read-more):not(.blog-link):not(.social-link):not(.nav-link):not(.dropdown-item):hover,
[data-bs-theme="dark"] body.banded .about-section a:not(.btn-primary-custom):not(.btn-secondary-custom):not(.btn-outline-custom):not(.btn-cta):not(.testimonial-card):not(.about-feature):not(.read-more):not(.blog-link):not(.social-link):not(.nav-link):not(.dropdown-item):hover {
  color: var(--band-tone-primary-hover);
  text-decoration-color: var(--band-tone-primary-hover);
}

/* ---------- Outline-Buttons auf Tone-Bändern ----------
   .btn-outline-custom hat im Dark-Theme color: var(--text-dark) (= hell) und ist
   damit auf hellem Banded-Background unlesbar. Hier explizit dunkel setzen. */
[data-bs-theme="dark"] body.banded .wp-care-section .btn-outline-custom,
[data-bs-theme="dark"] body.banded .about-section .btn-outline-custom {
  color: var(--band-tone-text);
  border-color: var(--band-tone-border-strong);
  background: #ffffff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

[data-bs-theme="dark"] body.banded .wp-care-section .btn-outline-custom:hover,
[data-bs-theme="dark"] body.banded .wp-care-section .btn-outline-custom:focus,
[data-bs-theme="dark"] body.banded .about-section .btn-outline-custom:hover,
[data-bs-theme="dark"] body.banded .about-section .btn-outline-custom:focus {
  color: var(--band-tone-primary);
  border-color: var(--band-tone-primary);
  background: #ffffff;
}

/* ---------- Strong/Em auf Tone sicherstellen ---------- */
[data-bs-theme="dark"] body.banded .wp-care-section strong,
[data-bs-theme="dark"] body.banded .about-section strong {
  color: var(--band-tone-text);
}

[data-bs-theme="dark"] body.banded .wp-care-section em,
[data-bs-theme="dark"] body.banded .about-section em {
  color: var(--band-tone-text-secondary);
}

/* ============================================================
   GENERIC AUTO-BANDING — für Subseiten ohne explizite Klassen-Hooks
   ============================================================
   Greift auf jeder Seite mit body.banded:
   - Jede zweite <section> im <main> wird hell
   - Außer .hero-section, .page-header, .cta-section (eigene Designs)
   - Index-Page: passt zur expliziten wp-care/about-section-Logik
     (beide Selektoren matchen, ergeben dasselbe Resultat)
   - Subseiten: ohne weiteres Markup bekommen sie automatisch den Rhythmus
   ============================================================ */

/* Helper: Wir definieren die "auto-light"-Bedingung mit einem CSS-Custom-Property,
   damit die Application-Rules unten kompakt bleiben. */
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) {
  background: var(--band-tone) !important;
  background-image: none !important;
  color: var(--band-tone-text);
  border-top: 1px solid var(--band-tone-border);
  border-bottom: 1px solid var(--band-tone-border);
}

/* Pseudo-Overlays in auto-banded Sektionen abschalten */
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header)::before,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header)::after {
  display: none !important;
}

/* Typografie: Headings + section-title + page-title */
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) h1,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) h2,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) h3,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) h4,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) h5,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) h6,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) .section-title,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) .page-title,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) .lead-title,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) blockquote {
  color: var(--band-tone-text);
}

/* Body-Text + Listen + Tabellen-Zellen */
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) p,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) li,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) td,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) th,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) .section-subtitle,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) .lead,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) figcaption {
  color: var(--band-tone-text-secondary);
}

/* Section-Tags / Eyebrows: grüner Akzent */
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) .section-tag,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) .eyebrow {
  color: var(--band-tone-primary);
}

/* Generische Cards: weiße Inseln. [class*="-card"] matched alle Klassen die
   "-card" enthalten (service-card, blog-card, contact-form-card, …). */
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) [class*="-card"]:not([class*="card-icon"]):not([class*="card-title"]):not([class*="card-header"]):not([class*="card-value"]):not(.testimonial-quote) {
  background: #ffffff;
  border: 1px solid var(--band-tone-border);
  color: var(--band-tone-text);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: var(--band-tone-shadow);
}

/* Strong / Em / Code in auto-banded */
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) strong,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) b {
  color: var(--band-tone-text);
}

[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) em {
  color: var(--band-tone-text-secondary);
}

[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) code:not(pre code) {
  background: var(--band-tone-soft);
  color: var(--band-tone-text);
  border: 1px solid var(--band-tone-border);
}

/* Inline-Links innerhalb auto-banded Sections (Body-Text, nicht Buttons/Cards) */
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) :is(p, li, blockquote, td, th) a:not(.btn-primary-custom):not(.btn-secondary-custom):not(.btn-outline-custom):not(.btn-cta) {
  color: var(--band-tone-primary);
  text-decoration-color: rgba(71, 95, 23, 0.45);
}

[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) :is(p, li, blockquote, td, th) a:not(.btn-primary-custom):not(.btn-secondary-custom):not(.btn-outline-custom):not(.btn-cta):hover {
  color: var(--band-tone-primary-hover);
}

/* Outline-Buttons in auto-banded Sections sichtbar machen */
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) .btn-outline-custom {
  color: var(--band-tone-text);
  border-color: var(--band-tone-border-strong);
  background: #ffffff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) .btn-outline-custom:hover,
[data-bs-theme="dark"] body.banded main > section:nth-of-type(even):not(.cta-section):not(.hero-section):not(.page-header) .btn-outline-custom:focus {
  color: var(--band-tone-primary);
  border-color: var(--band-tone-primary);
  background: #ffffff;
}

/* ============================================================
   FORMS auf Banded-Seiten — Look wie im Light-Theme
   ============================================================
   Kontakt + Projektplaner haben ihre Formulare in den Light-Bändern.
   Inputs müssen weiß sein mit dunkler Schrift, klar lesbarem Placeholder
   und sichtbarem Border. Reicht aus body.banded zu scopen, weil Formulare
   sowieso nur in Light-Bändern stehen. */

[data-bs-theme="dark"] body.banded .form-control,
[data-bs-theme="dark"] body.banded .form-select,
[data-bs-theme="dark"] body.banded textarea,
[data-bs-theme="dark"] body.banded input[type="text"],
[data-bs-theme="dark"] body.banded input[type="email"],
[data-bs-theme="dark"] body.banded input[type="tel"],
[data-bs-theme="dark"] body.banded input[type="url"],
[data-bs-theme="dark"] body.banded input[type="number"],
[data-bs-theme="dark"] body.banded input[type="search"],
[data-bs-theme="dark"] body.banded select {
  background-color: #ffffff !important;
  background-image: none !important;
  color: var(--band-tone-text) !important;
  border: 1px solid var(--band-tone-border-strong) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

/* Select-Dropdown braucht den Chevron — Bootstrap setzt's per background-image.
   Wir setzen einen passenden dunklen Chevron. */
[data-bs-theme="dark"] body.banded .form-select,
[data-bs-theme="dark"] body.banded select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%231a1d22' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 1rem center !important;
  background-size: 16px 12px !important;
  padding-right: 2.5rem !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

/* Placeholder lesbar aber unterscheidbar von Eingabe */
[data-bs-theme="dark"] body.banded .form-control::placeholder,
[data-bs-theme="dark"] body.banded textarea::placeholder,
[data-bs-theme="dark"] body.banded input::placeholder {
  color: var(--band-tone-text-muted) !important;
  opacity: 1 !important;
}

/* Focus-Ring grün */
[data-bs-theme="dark"] body.banded .form-control:focus,
[data-bs-theme="dark"] body.banded .form-select:focus,
[data-bs-theme="dark"] body.banded textarea:focus,
[data-bs-theme="dark"] body.banded input:focus,
[data-bs-theme="dark"] body.banded select:focus {
  border-color: var(--band-tone-primary) !important;
  box-shadow: 0 0 0 4px rgba(71, 95, 23, 0.18) !important;
  outline: none !important;
  background-color: #ffffff !important;
  color: var(--band-tone-text) !important;
}

/* Labels dunkel */
[data-bs-theme="dark"] body.banded .form-label,
[data-bs-theme="dark"] body.banded label,
[data-bs-theme="dark"] body.banded legend {
  color: var(--band-tone-text) !important;
}

/* Form-Hilfetexte / muted Hints */
[data-bs-theme="dark"] body.banded .form-text,
[data-bs-theme="dark"] body.banded .form-hint,
[data-bs-theme="dark"] body.banded small {
  color: var(--band-tone-text-muted) !important;
}

/* Checkboxen/Radios sichtbar */
[data-bs-theme="dark"] body.banded input[type="checkbox"],
[data-bs-theme="dark"] body.banded input[type="radio"] {
  accent-color: var(--band-tone-primary) !important;
  background-color: #ffffff !important;
  border-color: var(--band-tone-border-strong) !important;
}

/* Projektplaner-Spezifika: option-cards, checkbox-cards, step-indikatoren */
[data-bs-theme="dark"] body.banded .option-card,
[data-bs-theme="dark"] body.banded .checkbox-card {
  background: #ffffff !important;
  border: 1px solid var(--band-tone-border-strong) !important;
  color: var(--band-tone-text) !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

[data-bs-theme="dark"] body.banded .option-card:hover,
[data-bs-theme="dark"] body.banded .checkbox-card:hover {
  border-color: var(--band-tone-primary) !important;
  box-shadow: var(--band-tone-shadow-md);
}

[data-bs-theme="dark"] body.banded .option-card.selected,
[data-bs-theme="dark"] body.banded .checkbox-card.selected,
[data-bs-theme="dark"] body.banded .option-card.active,
[data-bs-theme="dark"] body.banded .checkbox-card.active {
  border-color: var(--band-tone-primary) !important;
  box-shadow: 0 0 0 2px var(--band-tone-primary), var(--band-tone-shadow-md) !important;
}

/* Required-Stern bleibt rot, aber lesbar auf hell */
[data-bs-theme="dark"] body.banded .required,
[data-bs-theme="dark"] body.banded .form-required {
  color: #a82e40 !important;
}

/* ---------- Navbar opak halten bei Banded-Seiten ----------
   Standard-Navbar ist im Dark-Theme rgba(15,15,20,0.85) mit blur(20px).
   Wenn dahinter eine helle Sektion durchläuft, blutet die Farbe ins
   Menü und es wirkt aufgehellt/warm. Bei body.banded auf opak setzen,
   damit der Menü-Look in jeder Scroll-Position identisch bleibt. */
[data-bs-theme="dark"] body.banded .navbar-custom,
[data-bs-theme="dark"] body.banded.scrolled .navbar-custom {
  background: rgba(15, 15, 20, 0.99) !important;
}

/* Bei aufgeklapptem Mobile-Menü (Hamburger expanded) ebenfalls opak */
[data-bs-theme="dark"] body.banded .navbar-custom .navbar-collapse.show,
[data-bs-theme="dark"] body.banded .navbar-custom .navbar-collapse.collapsing {
  background: rgba(15, 15, 20, 0.99);
}

/* Dropdown-Menüs zusätzlich abdichten, falls sie über Tone-Band stehen */
[data-bs-theme="dark"] body.banded .dropdown-menu {
  background: rgba(15, 15, 20, 0.99);
}
