/* BAVARIASPOT COLOR SYSTEM UNIFIED 20260817
   Startseite als Farb-Master: gleiche Markenfarben, gleiche Buttonfarben, gleiche Sektionslogik. */
:root {
  --bsm-loden: #1F3A2F;
  --bsm-loden-deep: #12241D;
  --bsm-loden-soft: #29453A;
  --bsm-cream: #FAF6E8;
  --bsm-paper: #FFFDF6;
  --bsm-section: #F7F0E3;
  --bsm-line: rgba(31, 58, 47, 0.13);
  --bsm-text: #183028;
  --bsm-muted: rgba(24, 48, 40, 0.74);
  --bsm-gold: #B8945F;
  --bsm-amber: #D97606;

  --bsd-green: #1F3A2F;
  --bsd-green-ink: #183028;
  --bsd-green-deep: #12241D;
  --bsd-green-soft: #29453A;
  --bsd-cream: #FAF6E8;
  --bsd-paper: #FFFDF6;
  --bsd-cream-quiet: #F7F0E3;
  --bsd-line: rgba(31, 58, 47, 0.13);
  --bsd-muted: rgba(24, 48, 40, 0.74);
  --bsd-amber: #D97606;
}

html,
body.bsd-site,
body.bsd-start,
body.bsd-legal,
.bs-page,
.bs-mobile-premium,
.page {
  background-color: #FAF6E8 !important;
  color: #183028 !important;
}

/* Header: Startseite und Unterseiten nutzen dieselbe helle Header-Fläche. */
body.bsd-start .page > header[aria-label="Kopfbereich"],
body.bsd-site:not(.bsd-start) .bs-topbar,
body.bsd-site .bs-topbar {
  background: linear-gradient(180deg, rgba(250,246,232,.995) 0%, rgba(250,246,232,.988) 100%) !important;
  color: #1F3A2F !important;
  border-bottom-color: rgba(31,58,47,.11) !important;
}

/* Header-Telefonbutton: einheitlich auf allen Seiten. */
body.bsd-start .page > header[aria-label="Kopfbereich"] .top-contact a[href^="tel"],
body.bsd-site .bs-topbar .bs-phone,
body.bsd-site:not(.bsd-start) .bs-topbar .bs-phone,
body.bsd-site .page > header[aria-label="Kopfbereich"] .top-contact a[href^="tel"] {
  background: rgba(31,58,47,.92) !important;
  color: #FAF6E8 !important;
  border: 0 !important;
  box-shadow: 0 .48rem 1.05rem rgba(31,58,47,.14) !important;
}

body.bsd-start .page > header[aria-label="Kopfbereich"] .top-contact a[href^="tel"]:hover,
body.bsd-site .bs-topbar .bs-phone:hover,
body.bsd-site:not(.bsd-start) .bs-topbar .bs-phone:hover,
body.bsd-site .page > header[aria-label="Kopfbereich"] .top-contact a[href^="tel"]:hover {
  background: #1F3A2F !important;
  color: #FAF6E8 !important;
}

/* Allgemeine Buttons: gleiche Logik wie Startseite. */
.bsm-button-primary,
a.bsm-button-primary,
button.bsm-button-primary {
  color: #1F3A2F !important;
  background: #FAF6E8 !important;
  border: 1px solid rgba(250,246,232,.76) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.16) !important;
}

.bsm-button-secondary,
.bsm-button-hero-call,
.bsm-button-loden,
a.bsm-button-secondary,
a.bsm-button-hero-call,
a.bsm-button-loden,
button.bsm-button-loden,
button.bsm-partner-submit {
  color: #FAF6E8 !important;
  background: rgba(31,58,47,.92) !important;
  border: 0 !important;
  box-shadow: 0 14px 26px rgba(18,36,29,.22), inset 0 1px 0 rgba(250,246,232,.08) !important;
}

.bsm-button-secondary:hover,
.bsm-button-hero-call:hover,
.bsm-button-loden:hover,
a.bsm-button-secondary:hover,
a.bsm-button-hero-call:hover,
a.bsm-button-loden:hover,
button.bsm-button-loden:hover,
button.bsm-partner-submit:hover {
  background: #1F3A2F !important;
  color: #FAF6E8 !important;
}

/* Helle Sektionen: überall dieselbe Startseiten-Familie. */
.bsm-panel,
body.bsd-site:not(.bsd-start) .bsm-panel,
body.bsd-start .bsm-panel,
body.bsd-site:not(.bsd-start) .bsm-card,
body.bsd-site:not(.bsd-start) .bsm-hub-card {
  color: #183028 !important;
}

body.bsd-site:not(.bsd-start) .bsm-panel-title,
body.bsd-start .bsm-panel-title,
body.bsd-site:not(.bsd-start) h1,
body.bsd-site:not(.bsd-start) h2,
body.bsd-site:not(.bsd-start) h3 {
  color: #1F3A2F !important;
}

.bsm-panel-text,
.bsm-flow-text,
.bsm-copy,
body.bsd-site:not(.bsd-start) .bsm-panel-text,
body.bsd-site:not(.bsd-start) .bsm-flow-text {
  color: rgba(24,48,40,.74) !important;
}

.bsm-card,
.bsm-hub-card,
.bsm-note,
.bsm-logo-chip,
.bsm-partner-field input,
.bsm-partner-field textarea,
body.bsd-site:not(.bsd-start) .bsm-card,
body.bsd-site:not(.bsd-start) .bsm-hub-card {
  background-color: #FFFDF6 !important;
  border-color: rgba(31,58,47,.13) !important;
  color: #183028 !important;
}

/* Weiterlesen-/Hub-Karten: helle Karten brauchen dunklen Text, alte Seitenregeln hatten noch Creme-Schrift. */
.bsm-hub-card strong,
body.bsd-site:not(.bsd-start) .bsm-hub-card strong {
  color: #1F3A2F !important;
}

.bsm-hub-card span,
body.bsd-site:not(.bsd-start) .bsm-hub-card span {
  color: rgba(24,48,40,.74) !important;
}

.bsm-hub-card:hover,
body.bsd-site:not(.bsd-start) .bsm-hub-card:hover,
.bsm-hub-card:focus-visible,
body.bsd-site:not(.bsd-start) .bsm-hub-card:focus-visible {
  background-color: #29453A !important;
  border-color: rgba(250,246,232,.30) !important;
  color: #FAF6E8 !important;
}

.bsm-hub-card:hover strong,
.bsm-hub-card:hover span,
.bsm-hub-card:focus-visible strong,
.bsm-hub-card:focus-visible span,
body.bsd-site:not(.bsd-start) .bsm-hub-card:hover strong,
body.bsd-site:not(.bsd-start) .bsm-hub-card:hover span,
body.bsd-site:not(.bsd-start) .bsm-hub-card:focus-visible strong,
body.bsd-site:not(.bsd-start) .bsm-hub-card:focus-visible span {
  color: #FAF6E8 !important;
}

.bsm-kicker,
body.bsd-site:not(.bsd-start) .bsm-kicker,
body.bsd-start .bsm-kicker {
  color: rgba(31,58,47,.58) !important;
}

/* Dunkle Flächen: CTA und Footer überall gleiche Startseiten-Grünlogik. */
.bsm-cta,
body.bsd-start .bsm-cta,
body.bsd-site:not(.bsd-start) .bsm-cta {
  background: linear-gradient(180deg, #1F3A2F 0%, #12241D 100%) !important;
  color: #FAF6E8 !important;
}

.bsm-cta .bsm-kicker,
body.bsd-start .bsm-cta .bsm-kicker,
body.bsd-site:not(.bsd-start) .bsm-cta .bsm-kicker,
.bsm-cta .bsm-panel-title,
body.bsd-start .bsm-cta .bsm-panel-title,
body.bsd-site:not(.bsd-start) .bsm-cta .bsm-panel-title {
  color: #FAF6E8 !important;
}

.bsm-cta .bsm-panel-text,
.bsm-cta .bsm-flow-text,
.bsm-cta p,
.bsm-cta a {
  color: rgba(250,246,232,.82) !important;
}

.bsm-cta .bsm-cta-phone a,
body.bsd-start .bsm-cta-phone a {
  color: #FAF6E8 !important;
}

.bsm-site-footer,
body.bsd-start .bsm-site-footer,
body.bsd-site .bsm-site-footer {
  background: linear-gradient(180deg, #12241D 0%, #12241D 100%) !important;
  color: #FAF6E8 !important;
  border-top-color: rgba(250,246,232,.13) !important;
}

.bsm-site-footer a,
.bsm-site-footer p,
.bsm-site-footer address,
.bsm-site-footer span {
  color: rgba(250,246,232,.86) !important;
}

.bsm-site-footer-kicker {
  color: rgba(250,246,232,.54) !important;
}

/* Unterseiten-Hero: gleiche dunkle Grün-/Beige-/Amber-Familie wie die Startseite. */
body.bsd-site:not(.bsd-start) .bsm-hero-media {
  background-color: #12241D !important;
}

body.bsd-site:not(.bsd-start) .bsm-hero-title,
body.bsd-site:not(.bsd-start) .bsm-hero-copy,
body.bsd-site:not(.bsd-start) .bsm-hero-text,
body.bsd-site:not(.bsd-start) .bsm-breadcrumb,
body.bsd-site:not(.bsd-start) .bsm-breadcrumb a {
  color: #FAF6E8 !important;
}

body.bsd-site:not(.bsd-start) .bsm-breadcrumb {
  background: rgba(250,246,232,.14) !important;
  border-color: rgba(250,246,232,.18) !important;
}

@media (max-width: 900px) {
  .bs-topbar,
  .page > header[aria-label="Kopfbereich"] {
    background: rgba(250,246,232,.90) !important;
    color: #1F3A2F !important;
    border-bottom-color: rgba(31,58,47,.08) !important;
  }

  .bs-phone,
  .page > header[aria-label="Kopfbereich"] .top-contact a[href^="tel"] {
    background: rgba(31,58,47,.92) !important;
    color: #FAF6E8 !important;
    border: 0 !important;
    box-shadow: 0 .48rem 1.05rem rgba(31,58,47,.14) !important;
  }

  .bsm-panel,
  .bs-mobile-premium .bsm-panel {
    background-color: #FAF6E8 !important;
    color: #183028 !important;
  }

  .bsm-partner-panel,
  .bs-mobile-premium .bsm-partner-panel {
    background: #F7F0E3 !important;
  }

  .bsm-cta,
  .bs-mobile-premium .bsm-cta {
    background: linear-gradient(180deg, #1F3A2F 0%, #12241D 100%) !important;
    color: #FAF6E8 !important;
  }

  .bsm-site-footer,
  .bs-mobile-premium .bsm-site-footer {
    background: #12241D !important;
    color: #FAF6E8 !important;
  }
}

/* Buttonfarben auch innerhalb dunkler CTA-Flächen explizit halten. */
.bsm-cta .bsm-button-primary,
body.bsd-site:not(.bsd-start) .bsm-cta .bsm-button-primary,
body.bsd-start .bsm-cta .bsm-button-primary {
  color: #1F3A2F !important;
  background: #FAF6E8 !important;
  border: 1px solid rgba(250,246,232,.76) !important;
}

.bsm-cta .bsm-button-secondary,
.bsm-cta .bsm-button-hero-call,
.bsm-cta .bsm-button-loden,
body.bsd-site:not(.bsd-start) .bsm-cta .bsm-button-secondary,
body.bsd-site:not(.bsd-start) .bsm-cta .bsm-button-hero-call,
body.bsd-site:not(.bsd-start) .bsm-cta .bsm-button-loden,
body.bsd-start .bsm-cta .bsm-button-secondary,
body.bsd-start .bsm-cta .bsm-button-hero-call,
body.bsd-start .bsm-cta .bsm-button-loden {
  color: #FAF6E8 !important;
  background: rgba(31,58,47,.92) !important;
  border: 0 !important;
}
