/* Nur Mobile (max-width via TypoScript-Konstante) */
.header-inner { flex-wrap: wrap; gap: 10px; }
.logo { order: 1; }
.logo img { width: 110px; height: auto; }
.header-cta { order: 2; margin-left: auto; padding: 8px 12px; font-size: .82rem; }
.nav-toggle { order: 3; display: block; }
.main-nav { order: 4; width: 100%; display: none; }
body.nav-open .main-nav { display: block; }
.main-nav > ul { flex-direction: column; }
.main-nav .sub { display: block; position: static; border: 0; padding-left: 16px; background: transparent; }
h1 { font-size: 1.7rem; }
.hero-overlay { position: static; background: var(--c-bg); }
.hero-text, .hero-pos-1 .hero-text, .hero-pos-2 .hero-text { margin: 0; max-width: none; border-radius: 0; text-align: left; }
.hero-img { max-height: 320px; }
.ce-intext.ce-right .ce-gallery, .ce-intext.ce-left .ce-gallery { float: none; margin: 0 0 14px; }
.footer-inner { flex-direction: column; gap: 20px; }

/* Sticky-CTA-Leiste am unteren Rand */
body { padding-bottom: 64px; }
.mobile-cta-bar {
    display: flex; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 200;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    background: rgba(10, 15, 18, .97); border-top: 1px solid var(--c-line);
}
.mobile-cta-bar .btn { flex: 1; text-align: center; padding: 12px 8px; font-size: .92rem; }
.mobile-cta-bar .btn-call { background: var(--c-panel); color: #fff; border: 1px solid var(--c-line); }
