/* BavariaSpot Mobile Unterseiten Page Flow 2026-08-19 / Hero Locked Start Flow
   Nur Mobile: alle Unterseiten näher an die ruhige Startseiten-Logik ziehen.
   Desktop bleibt unangetastet. Keine Boxenwüste, keine Bulletpoint-Orgie, kein Agentur-Template-Karneval. */

.bsm-button-mobile-label {
  display: none;
}

@media (max-width: 900px) {
  body.bsd-site:not(.bsd-start) .bs-mobile-premium {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: clip !important;
    background: #FAF6E8 !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-shell {
    width: 100% !important;
    overflow-x: clip !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero {
    position: relative !important;
    margin: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: #29453A !important;
    box-shadow: none !important;
    transform: none !important;
    opacity: 1 !important;
  }

  /* Mobile Unterseiten-Hero: 1:1 Startseiten-Aufbau.
     Text sitzt wie auf der Startseite fest links unten auf der Bildbühne.
     Nur wenn eine lange H1 sonst abgeschnitten würde, darf die Bühne automatisch höher werden. */
  body.bsd-site:not(.bsd-start) .bsm-hero-media {
    position: relative !important;
    isolation: isolate !important;
    min-height: var(--bsm-hero-fit-min, 31.25rem) !important;
    background: #29453A !important;
    overflow: hidden !important;
    display: block !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero-copy {
    position: absolute !important;
    inset: auto 0 0 0 !important;
    z-index: 2 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: var(--bsm-hero-copy-top, 4.65rem) max(1.2rem, env(safe-area-inset-right, 0px)) max(1.55rem, calc(env(safe-area-inset-bottom, 0px) + 1.38rem)) max(1.2rem, env(safe-area-inset-left, 0px)) !important;
    display: grid !important;
    justify-items: start !important;
    gap: 0.95rem !important;
    color: #FAF6E8 !important;
    text-align: left !important;
    text-shadow: 0 .08em .42em rgba(4, 12, 9, .30) !important;
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
    will-change: auto !important;
  }

  /* Unterseiten-Hero mobil komplett statisch: keine Reveal-/Scroll-Bewegung für Bühne oder Inhalt. */
  html.bsm-motion-ready body.bsd-site:not(.bsd-start) .bsm-hero,
  html.bsm-motion-ready body.bsd-site:not(.bsd-start) .bsm-hero.bsm-motion-section,
  html.bsm-motion-ready body.bsd-site:not(.bsd-start) .bsm-hero.bsm-motion-pending,
  html.bsm-motion-ready body.bsd-site:not(.bsd-start) .bsm-hero.is-visible,
  html.bsm-motion-ready body.bsd-site:not(.bsd-start) .bsm-hero.bsm-motion-done,
  html.bsm-motion-ready body.bsd-site:not(.bsd-start) .bsm-hero .bsm-hero-copy,
  html.bsm-motion-ready body.bsd-site:not(.bsd-start) .bsm-hero .bsm-motion-piece,
  html.bsm-motion-ready body.bsd-site:not(.bsd-start) .bsm-hero .bsm-motion-title,
  html.bsm-motion-ready body.bsd-site:not(.bsd-start) .bsm-hero .bsm-kicker,
  html.bsm-motion-ready body.bsd-site:not(.bsd-start) .bsm-hero .bsm-hero-title,
  html.bsm-motion-ready body.bsd-site:not(.bsd-start) .bsm-hero .bsm-hero-text,
  html.bsm-motion-ready body.bsd-site:not(.bsd-start) .bsm-hero .bsm-hero-actions {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    transition-delay: 0ms !important;
    clip-path: none !important;
    will-change: auto !important;
    animation: none !important;
  }

  html.bsm-motion-ready body.bsd-site:not(.bsd-start) .bsm-hero .bsm-hero-mark::after {
    opacity: 1 !important;
    transform: rotate(-1.4deg) scaleX(1) !important;
    transition: none !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero .bsm-kicker {
    margin: 0 !important;
    color: rgba(250, 246, 232, 0.78) !important;
    text-align: left !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero-title {
    width: min(100%, 22.65rem) !important;
    max-width: 22.65rem !important;
    margin: 0 !important;
    padding: 0.08rem 0 0.06rem !important;
    color: #FAF6E8 !important;
    font-size: clamp(2.22rem, 9vw, 3.26rem) !important;
    line-height: 1.015 !important;
    letter-spacing: -0.056em !important;
    text-align: left !important;
    text-wrap: balance !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    -webkit-hyphens: auto !important;
    hyphens: auto !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero-text {
    width: min(100%, 21.7rem) !important;
    max-width: 21.7rem !important;
    margin: 0 !important;
    color: rgba(250, 246, 232, 0.86) !important;
    font-size: 0.96rem !important;
    line-height: 1.62 !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
    text-wrap: pretty !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero-actions {
    width: min(100%, 22.65rem) !important;
    max-width: 22.65rem !important;
    margin: 0.02rem auto 0 !important;
    justify-self: center !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    gap: 0.68rem !important;
    transform: none !important;
    opacity: 1 !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero .bsm-button-label { display: none !important; }
  body.bsd-site:not(.bsd-start) .bsm-hero .bsm-button-mobile-label { display: inline !important; }

  body.bsd-site:not(.bsd-start) .bsm-hero .bsm-button {
    min-height: 3.12rem !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 1rem !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    font-size: 0.85rem !important;
    font-weight: 760 !important;
    letter-spacing: 0.01em !important;
    line-height: normal !important;
    text-align: center !important;
    white-space: normal !important;
    transition: transform 180ms ease, opacity 180ms ease !important;
    transform: none !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero .bsm-button:active { transform: translateY(1px) scale(0.99) !important; }

  body.bsd-site:not(.bsd-start) .bsm-hero .bsm-button-primary {
    color: #1F3A2F !important;
    background: #FAF6E8 !important;
    border: 1px solid rgba(250, 246, 232, 0.76) !important;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16) !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero .bsm-button-secondary {
    color: rgba(250, 246, 232, 0.92) !important;
    background: rgba(250, 246, 232, 0.08) !important;
    border: 1px solid rgba(250, 246, 232, 0.18) !important;
    box-shadow: none !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero .bsm-button-hero-call {
    color: #FAF6E8 !important;
    background: rgba(31, 58, 47, 0.84) !important;
    border: 0 !important;
    box-shadow: 0 14px 26px rgba(8, 22, 17, 0.22), inset 0 1px 0 rgba(250, 246, 232, 0.08) !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero .bsm-button:hover,
  body.bsd-site:not(.bsd-start) .bsm-hero .bsm-button:focus-visible {
    opacity: 0.94 !important;
    outline: none !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-panel {
    padding: 4rem max(1.18rem, env(safe-area-inset-right, 0px)) 3.95rem max(1.18rem, env(safe-area-inset-left, 0px)) !important;
    text-align: center !important;
    border-bottom: 1px solid rgba(31, 58, 47, 0.09) !important;
    box-shadow: none !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-shell > .bsm-panel:nth-of-type(odd) {
    background: #FAF6E8 !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-shell > .bsm-panel:nth-of-type(even) {
    background: #FFFDF6 !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-panel-top {
    display: block !important;
    width: 100% !important;
    max-width: 24rem !important;
    margin: 0 auto 1.05rem !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-panel-top > div {
    display: block !important;
    width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-panel-top > div[data-bsm-mobile-no]::before {
    margin-bottom: 0.66rem !important;
    color: rgba(31, 58, 47, 0.44) !important;
    font-size: 0.78rem !important;
    font-weight: 820 !important;
    letter-spacing: 0.055em !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-kicker {
    margin: 0 0 0.82rem !important;
    color: rgba(31, 58, 47, 0.58) !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-panel-title {
    width: min(100%, 23.35rem) !important;
    max-width: 23.35rem !important;
    margin: 0 auto !important;
    padding: 0 !important;
    font-size: clamp(2.02rem, 8.65vw, 2.82rem) !important;
    line-height: 1.015 !important;
    letter-spacing: -0.058em !important;
    text-align: center !important;
    text-wrap: balance !important;
    overflow: visible !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-panel-text,
  body.bsd-site:not(.bsd-start) .bsm-flow-text {
    width: min(100%, 22.35rem) !important;
    max-width: 22.35rem !important;
    margin: 0 auto !important;
    color: rgba(24, 48, 40, 0.75) !important;
    font-size: 1rem !important;
    line-height: 1.74 !important;
    letter-spacing: -0.012em !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-flow-text p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-flow-text p + p {
    margin-top: 0.86rem !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-flow-text a,
  body.bsd-site:not(.bsd-start) .bsm-panel-text a {
    color: #1F3A2F !important;
    font-weight: 760 !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 0.18em !important;
    text-decoration-color: rgba(31, 58, 47, 0.26) !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-mark {
    padding-left: 0.025em !important;
    padding-right: 0.025em !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-mark::after {
    left: -0.07em !important;
    right: -0.07em !important;
    bottom: 0.045em !important;
    height: 0.47em !important;
    background: rgba(184, 148, 95, 0.28) !important;
    border-radius: 0.11em !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-lines {
    width: min(100%, 21.8rem) !important;
    margin: 1.35rem auto 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: grid !important;
    gap: 0 !important;
    border-top: 1px solid rgba(31, 58, 47, 0.12) !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-lines li {
    display: block !important;
    min-height: 0 !important;
    padding: 0.88rem 0 !important;
    border-bottom: 1px solid rgba(31, 58, 47, 0.10) !important;
    color: rgba(24, 48, 40, 0.78) !important;
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
    letter-spacing: -0.012em !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-lines li::before {
    content: none !important;
    display: none !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-lines strong {
    color: #1F3A2F !important;
    font-weight: 830 !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-lines a {
    color: #1F3A2F !important;
    text-decoration-color: rgba(31, 58, 47, 0.22) !important;
    text-underline-offset: 0.18em !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-note {
    width: min(100%, 21.8rem) !important;
    max-width: 21.8rem !important;
    margin: 1.28rem auto 0 !important;
    padding: 0.98rem 0 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(31, 58, 47, 0.12) !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(24, 48, 40, 0.66) !important;
    font-size: 0.9rem !important;
    line-height: 1.66 !important;
    letter-spacing: -0.006em !important;
    text-align: center !important;
  }

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

  body.bsd-site:not(.bsd-start) .bsm-hub-grid {
    width: min(100%, 22.2rem) !important;
    max-width: 22.2rem !important;
    margin: 1.6rem auto 0 !important;
    display: grid !important;
    gap: 0 !important;
    border-top: 1px solid rgba(31, 58, 47, 0.13) !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hub-card {
    display: block !important;
    position: relative !important;
    min-height: 0 !important;
    padding: 1.02rem 1.15rem 1.02rem !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(31, 58, 47, 0.10) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #1F3A2F !important;
    box-shadow: none !important;
    text-align: center !important;
    text-decoration: none !important;
    transform: none !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hub-card::after {
    content: "›" !important;
    position: static !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    margin: 0.36rem 0 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(31, 58, 47, 0.42) !important;
    box-shadow: none !important;
    font-size: 1.24rem !important;
    font-weight: 620 !important;
    line-height: 1 !important;
    transform: none !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hub-card strong {
    display: block !important;
    margin: 0 auto 0.32rem !important;
    padding: 0 !important;
    color: #1F3A2F !important;
    font-size: 1.04rem !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.026em !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hub-card span {
    display: block !important;
    width: min(100%, 19.5rem) !important;
    margin: 0 auto !important;
    color: rgba(24, 48, 40, 0.66) !important;
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
    letter-spacing: -0.006em !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hub-card:hover,
  body.bsd-site:not(.bsd-start) .bsm-hub-card:focus-visible {
    background: rgba(31, 58, 47, 0.035) !important;
    box-shadow: none !important;
    transform: none !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-panel .bsm-card-grid,
  body.bsd-site:not(.bsd-start) .bsm-panel .bsm-process {
    width: min(100%, 21.8rem) !important;
    margin: 1.55rem auto 0 !important;
    border-top: 1px solid rgba(31, 58, 47, 0.12) !important;
    display: grid !important;
    gap: 0 !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-panel .bsm-card,
  body.bsd-site:not(.bsd-start) .bsm-panel .bsm-process-item {
    display: block !important;
    padding: 1.05rem 0 !important;
    border-bottom: 1px solid rgba(31, 58, 47, 0.10) !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-panel .bsm-card-step,
  body.bsd-site:not(.bsd-start) .bsm-panel .bsm-process-step {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 auto 0.42rem !important;
    color: rgba(31, 58, 47, 0.38) !important;
    font-size: 0.86rem !important;
    font-weight: 820 !important;
    line-height: 1 !important;
    letter-spacing: 0.055em !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-panel .bsm-card strong,
  body.bsd-site:not(.bsd-start) .bsm-panel .bsm-process-item strong {
    color: #1F3A2F !important;
    font-size: 1.02rem !important;
    font-weight: 850 !important;
    line-height: 1.22 !important;
    letter-spacing: -0.026em !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-panel .bsm-card p,
  body.bsd-site:not(.bsd-start) .bsm-panel .bsm-process-item p {
    width: min(100%, 19.6rem) !important;
    margin: 0.34rem auto 0 !important;
    color: rgba(24, 48, 40, 0.66) !important;
    font-size: 0.92rem !important;
    line-height: 1.58 !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-faq details {
    width: min(100%, 22rem) !important;
    margin: 0 auto !important;
    padding: 1.08rem 0 !important;
    border-top: 1px solid rgba(31, 58, 47, 0.12) !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-faq details:last-child {
    border-bottom: 1px solid rgba(31, 58, 47, 0.12) !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-faq summary {
    display: block !important;
    list-style: none !important;
    cursor: pointer !important;
    color: #1F3A2F !important;
    font-size: 1rem !important;
    font-weight: 840 !important;
    line-height: 1.32 !important;
    letter-spacing: -0.018em !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-faq summary::-webkit-details-marker {
    display: none !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-faq summary::after {
    content: "+" !important;
    display: block !important;
    margin: 0.42rem auto 0 !important;
    color: rgba(31, 58, 47, 0.42) !important;
    font-size: 0.96rem !important;
    font-weight: 760 !important;
    line-height: 1 !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-faq details[open] summary::after {
    content: "–" !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-faq details p {
    width: min(100%, 20.5rem) !important;
    margin: 0.62rem auto 0 !important;
    color: rgba(24, 48, 40, 0.68) !important;
    font-size: 0.94rem !important;
    line-height: 1.66 !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-cta {
    padding: 4.15rem max(1.18rem, env(safe-area-inset-right, 0px)) max(3.15rem, env(safe-area-inset-bottom, 0px) + 2.4rem) max(1.18rem, env(safe-area-inset-left, 0px)) !important;
    text-align: center !important;
    background: linear-gradient(180deg, #1F3A2F 0%, #12241D 100%) !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-cta .bsm-panel-top {
    max-width: 23rem !important;
    margin: 0 auto 1rem !important;
    text-align: center !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-cta .bsm-kicker {
    color: rgba(250, 246, 232, 0.66) !important;
  }

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

  body.bsd-site:not(.bsd-start) .bsm-cta .bsm-flow-text,
  body.bsd-site:not(.bsd-start) .bsm-cta .bsm-panel-text {
    color: rgba(250, 246, 232, 0.78) !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-cta .bsm-hero-actions {
    width: min(100%, 21rem) !important;
    margin: 1.18rem auto 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.66rem !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-cta .bsm-button-primary {
    color: #1F3A2F !important;
    background: #FAF6E8 !important;
    border: 1px solid rgba(250, 246, 232, 0.74) !important;
    box-shadow: none !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-cta .bsm-button-hero-call,
  body.bsd-site:not(.bsd-start) .bsm-cta .bsm-button-loden {
    color: #FAF6E8 !important;
    background: transparent !important;
    border: 1px solid rgba(250, 246, 232, 0.28) !important;
    box-shadow: none !important;
  }

  /* Footer wird bewusst nicht überschrieben. Er bleibt mobil wie auf der Startseite. */
}

@media (max-width: 380px) {
  body.bsd-site:not(.bsd-start) .bsm-hero-media {
    min-height: var(--bsm-hero-fit-min, 31.25rem) !important;
    padding: 0 !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero-copy {
    --bsm-hero-copy-top: 4.25rem;
    gap: 0.82rem !important;
    padding-right: max(1rem, env(safe-area-inset-right, 0px)) !important;
    padding-left: max(1rem, env(safe-area-inset-left, 0px)) !important;
    padding-bottom: max(1.45rem, calc(env(safe-area-inset-bottom, 0px) + 1.18rem)) !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero-title {
    font-size: clamp(2.04rem, 8.8vw, 2.88rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.054em !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero-text {
    font-size: 0.92rem !important;
    line-height: 1.58 !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-hero-actions {
    gap: 0.54rem 0.84rem !important;
  }

  body.bsd-site:not(.bsd-start) .bsm-panel-title {
    font-size: clamp(1.86rem, 8.35vw, 2.55rem) !important;
    line-height: 1.035 !important;
  }
}

@media (max-width: 340px) {
  body.bsd-site:not(.bsd-start) .bsm-hero-title {
    font-size: clamp(1.92rem, 8.2vw, 2.58rem) !important;
    line-height: 1.06 !important;
  }
}
