/* Rahmen (25.09.2026): Buchungsleiste (vorher in expansion.css), Footer mit fünf Spalten, Handy-Abstand Hero unter Brotkrumen und Ortsleiste. */
.has-booking{padding-bottom:9rem}
.booking-dock{position:fixed;bottom:0;left:0;right:0;z-index:40;border-top:1px solid var(--line);background:rgba(11,16,19,.97);backdrop-filter:blur(12px);padding:.85rem 0 max(.85rem,env(safe-area-inset-bottom))}
.booking-dock[hidden]{display:none!important}
.booking-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.booking-context{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.booking-context span{font-size:.75rem;color:var(--muted)}
.booking-context strong{font-size:1.1rem;line-height:1.4}
.booking-actions{display:flex;gap:.6rem}
.booking-actions .button{min-height:44px;white-space:nowrap;font-size:.9rem;padding:.75rem 1.05rem;margin:0}
.booking-disclosure{font-size:.75rem;line-height:1.6;color:var(--muted);margin:0}
.atlas-booking{display:none}
.js .atlas-booking{display:block}
.booking-actions a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:960px){
.booking-inner{gap:1rem}
.booking-disclosure{max-width:20ch}
}
@media(max-width:760px){
.booking-dock{padding:.6rem 0 max(.6rem,env(safe-area-inset-bottom))}
.booking-inner{display:grid;grid-template-columns:1fr;gap:.45rem}
.booking-context{flex-direction:row;align-items:baseline;justify-content:space-between;gap:.6rem}
.booking-context strong{font-size:.95rem}
.booking-context span{font-size:.75rem}
.booking-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.booking-actions .button{font-size:.82rem;padding:.65rem .4rem;justify-content:center;gap:.3rem;white-space:normal;text-align:center}
.booking-disclosure{max-width:none;font-size:.75rem}
.booking-disclosure br{display:none}
.booking-disclosure br:after{content:' '}
.has-booking{padding-bottom:11rem}
}
@media(forced-colors:active){
.booking-dock{background:Canvas;border-color:CanvasText}
}
@media(max-width:760px){
.booking-actions .button{width:100%}
.booking-disclosure{line-height:1.5}
.booking-context span{flex-shrink:0}
.booking-context strong{text-align:right}
}
.foot-grid{grid-template-columns:repeat(7,1fr);gap:1.4rem}
@media(max-width:1000px){.foot-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.v3 .v3-copy{padding-top:14rem}.v3 .crumbs{z-index:4}}
@media(max-width:760px){.besuch-page .bs-hero-copy,.karte-page .bs-hero-copy{padding-top:14rem}.besuch-page .crumbs,.karte-page .crumbs{z-index:4}}
.visit-grid>*,.ev>*,.reading-row,.hub-facts-grid>*{min-width:0}
.visit-option strong{overflow-wrap:anywhere;hyphens:auto}
.hub-facts{padding-top:var(--section-gap)}
/* Ortsleiste und Brotkrumen auf allen Seiten gleich hoch (Abstand wie auf den Zeitreise-Seiten) */
.crumbs,.zeitreise-page .crumbs{top:6.2rem}
@media(max-width:760px){.crumbs,.zeitreise-page .crumbs{top:8rem}.v3 .v3-copy,.besuch-page .bs-hero-copy,.karte-page .bs-hero-copy{padding-top:14.5rem}}
.besuch-page .bs-hero-copy,.karte-page .kt-hero{padding-top:10.5rem}
@media(max-width:760px){.karte-page .kt-hero{padding-top:14.5rem}}
@media(max-width:760px){.besuch-page .bs-hero-copy,.karte-page .kt-hero,.v3 .v3-copy{padding-top:14.5rem}}
/* Keine Linie unter dem Header, auf allen Seiten wie auf Hub und Geschichte */
.site-header{border-bottom:0}
