/* ==========================================================================
   STANDORT-UMSCHALTER (23.10.2026, Mockup MGJ6 Frage 4 A)
   Wird nur geladen, wenn einstellungen.standort_umschalter.aktiv an ist (seite.njk).
   ========================================================================== */
/* SCHMALE LEISTE UEBER DEM KOPF (23.10.2026, 2. Runde): Menue, Knopf und Breakpoints des Kopfes bleiben
   exakt wie ohne Umschalter. Die Leiste liegt VOR dem Kopf und scrollt mit der Seite weg; der Kopf bleibt
   wie immer sticky (top:0). */
.l7-standortleiste { background: var(--l7-black); border-bottom: 1px solid rgba(255,255,255,.1); }
.l7-standortleiste .l7-container { display: flex; justify-content: flex-end; padding-left: 24px; padding-right: 24px; }
.l7-standort { display: inline-flex; align-items: center; height: 30px; gap: 2px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.l7-standort__label { color: var(--l7-white); opacity: .5; margin-right: 8px; }
.l7-standort__trenn { color: var(--l7-white); opacity: .3; }
.l7-standort__btn { background: none; border: 0; border-bottom: 2px solid transparent; color: var(--l7-white); font: inherit; letter-spacing: inherit; text-transform: inherit; padding: 0 8px; height: 100%; cursor: pointer; opacity: .6; white-space: nowrap; }
.l7-standort__btn:hover { opacity: 1; }
.l7-standort__btn[aria-pressed="true"] { color: var(--l7-teal); opacity: 1; border-bottom-color: var(--l7-teal); }
.l7-standort__btn:focus-visible { outline: 2px solid var(--l7-teal); outline-offset: -2px; }
.l7-standort-hinweis { display: none; }
@media (max-width: 480px) {
    .l7-standortleiste .l7-container { padding-left: 14px; padding-right: 14px; }
    .l7-standort__btn { padding: 0 10px; }
}

/* Nürnberg gewählt: Menüpunkte ohne Nürnberg, Buchen-Wege und Ulmer Angaben entfallen. Kopfknopf "Buchen", Fenster und seine Blöcke
   bleiben nur, wenn einstellungen.buchen_modal ihnen "nuernberg" zuweist (23.10.2026; heute keiner, Coming Soon). */
html[data-l7-standort="nuernberg"] .l7-menu li:not([data-l7-standort~="nuernberg"]),
html[data-l7-standort="nuernberg"] .l7-mobile-menu__list li:not([data-l7-standort~="nuernberg"]),
html[data-l7-standort="nuernberg"] .l7-header__cta:not([data-l7-standort~="nuernberg"]),
html[data-l7-standort="nuernberg"] .l7-mobile-menu__cta:not([data-l7-standort~="nuernberg"]),
html[data-l7-standort="nuernberg"] .l7-banner,
html[data-l7-standort="nuernberg"] .l7-bm:not([data-l7-standort~="nuernberg"]),
html[data-l7-standort="nuernberg"] .l7-bm__block:not([data-l7-standort~="nuernberg"]),
html[data-l7-standort="nuernberg"] .l7-bm__zlink:not([data-l7-standort~="nuernberg"]) { display: none !important; }
/* Gegenstueck Ulm (24.10.2026, Gegenpruefung DPRU/J8JC): Teile, die ausdruecklich nur anderen Standorten zugeordnet sind
   (z. B. ein reiner Nuernberg-Block im Buchen-Fenster), entfallen bei Ulm. Nur Elemente MIT Standort-Attribut; ohne Attribut gilt Ulm. */
html[data-l7-standort="ulm"] .l7-menu li[data-l7-standort]:not([data-l7-standort~="ulm"]),
html[data-l7-standort="ulm"] .l7-mobile-menu__list li[data-l7-standort]:not([data-l7-standort~="ulm"]),
html[data-l7-standort="ulm"] .l7-header__cta[data-l7-standort]:not([data-l7-standort~="ulm"]),
html[data-l7-standort="ulm"] .l7-mobile-menu__cta[data-l7-standort]:not([data-l7-standort~="ulm"]),
html[data-l7-standort="ulm"] .l7-bm[data-l7-standort]:not([data-l7-standort~="ulm"]),
html[data-l7-standort="ulm"] .l7-bm__block[data-l7-standort]:not([data-l7-standort~="ulm"]),
html[data-l7-standort="ulm"] .l7-bm__zlink[data-l7-standort]:not([data-l7-standort~="ulm"]) { display: none !important; }
/* Kopfleiste springt beim Umschalten nicht (23.10.2026): Ulm ist durch den Buchen-Knopf 90 px (Handy 74 px) hoch, Nuernberg ohne ihn 64 px.
   Gleiche Mindesthoehe bei beiden, Logo und Umschalter bleiben an derselben Stelle. */
.l7-header__inner { min-height: 90px; }
@media (max-width: 1179px) { .l7-header__inner { min-height: 74px; } }
/* Seiten ohne Nürnberg: Inhalt weg, ehrlicher Zustand an die Stelle. */
html[data-l7-standort="nuernberg"] .l7-main:not([data-l7-seite~="nuernberg"]) > *:not(.l7-standort-hinweis) { display: none !important; }
html[data-l7-standort="nuernberg"] .l7-main:not([data-l7-seite~="nuernberg"]) > .l7-standort-hinweis[data-l7-hinweis="nuernberg"] { display: flex; min-height: 62vh; align-items: center; padding: 72px 0; background: var(--l7-black); color: var(--l7-white); }
.l7-standort-hinweis .l7-container { width: 100%; }
.l7-standort-hinweis__eyebrow { color: var(--l7-teal); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; font-size: 13px; margin: 0 0 12px; }
.l7-standort-hinweis__titel { font-size: clamp(56px, 9vw, 120px); line-height: .95; margin: 0 0 20px; text-transform: uppercase; color: inherit; }
.l7-standort-hinweis__text { max-width: 560px; font-size: 18px; line-height: 1.55; margin: 0 0 28px; opacity: .88; }

/* Standortgebundene Teile (Fuss): je Standort eine Fassung, nur die gewählte zählt. display:contents
   lässt das Raster des Fußes unberührt. */
.l7-fuss-standort { display: none; }
html[data-l7-standort="ulm"] .l7-fuss-standort[data-l7-fuss="ulm"],
html[data-l7-standort="nuernberg"] .l7-fuss-standort[data-l7-fuss="nuernberg"] { display: contents; }

/* Variante „welt" (23.10.2026): Hero (Ulm-Baustein) + Laufband + Duellbox-Kachel (l7-nachbarn). Muss nach der Hinweis-Regel stehen. */
html[data-l7-standort="nuernberg"] .l7-main:not([data-l7-seite~="nuernberg"]) > .l7-standort-hinweis--welt[data-l7-hinweis="nuernberg"] { display: block; min-height: 0; align-items: normal; padding: 0; }
.l7-nachbar__knoepfe { grid-area: knopf; display: flex; flex-wrap: wrap; gap: 14px; align-self: end; margin-top: 22px; }
.l7-nachbar__knoepfe .l7-nachbar__knopf { margin-top: 0; }
html a.l7-nachbar__knopf:hover { background: var(--k); color: var(--l7-white); }
@media (max-width: 899px) {
  .l7-nachbar__knoepfe { flex-direction: column; align-items: flex-start; }
}

/* Sektionen je Standort (23.10.2026): <div class="l7-sekt-standort" data-l7-sekt="ulm|nuernberg"> zeigt seinen Inhalt nur beim gewaehlten Standort. */
.l7-sekt-standort { display: none; }
html[data-l7-standort="ulm"] .l7-sekt-standort[data-l7-sekt="ulm"],
html[data-l7-standort="nuernberg"] .l7-sekt-standort[data-l7-sekt="nuernberg"] { display: contents; }

@media (min-width: 1180px) { html[data-l7-standort="nuernberg"] .l7-header__nav { justify-content: flex-end; } }

/* Nuernberg-Hero = Ulmer Hero-Baustein auf der Ulmer Buehne (.l7-buehne, hero.njk "home"); hier nur das Bild je Breite und die Eroeffnungsanimation. */
.l7-nbuehne .l7-buehne__bild { background-image: var(--nb-pc); background-size: 150% auto; }
@media (max-width: 899px) { .l7-nbuehne .l7-buehne__bild { background-image: var(--nb-handy); background-size: cover; } }
.l7-nbuehne__weiss, .l7-nbuehne__blitz { position: absolute; pointer-events: none; opacity: 0; }
.l7-nbuehne__weiss { inset: 0; background: #e9ffff; z-index: 3; }
.l7-nbuehne__blitz { left: 50%; top: 50%; width: auto; height: 88%; max-height: 640px; transform: translate(-50%, -50%); fill: #04FFF7; filter: drop-shadow(0 0 40px #04FFF7) drop-shadow(0 0 120px #04FFF7); z-index: 2; }
/* Animation (Vorlage Hugo flash-pc/-handy, ca. 2,3 s). Ohne Klasse steht sofort der Endzustand. */
.l7-nbuehne--blitz .l7-buehne__bild { animation: l7nb-an 1.4s .35s both; }
.l7-nbuehne--blitz .l7-nbuehne__blitz { animation: l7nb-bl .9s .12s both; }
.l7-nbuehne--blitz .l7-nbuehne__weiss { animation: l7nb-ws .5s .14s both; }
.l7-nbuehne--blitz .l7-hero__eyebrow, .l7-nbuehne--blitz .l7-hero__headline, .l7-nbuehne--blitz .l7-hero__sub, .l7-nbuehne--blitz .l7-hero__ctas { animation: l7nb-auf .6s both; }
.l7-nbuehne--blitz .l7-hero__eyebrow { animation-delay: 1.25s; }
.l7-nbuehne--blitz .l7-hero__headline { animation-delay: 1.4s; }
.l7-nbuehne--blitz .l7-hero__sub { animation-delay: 1.55s; }
.l7-nbuehne--blitz .l7-hero__ctas { animation-delay: 1.7s; }
.l7-nbuehne--blitz .l7-hero__headline .l7-accent { display: inline-block; animation: l7nb-zuck .5s 1.9s both; }
@keyframes l7nb-an { 0% { opacity: 0; filter: brightness(2.2) saturate(1.6); } 6% { opacity: 1; } 10% { opacity: .15; } 16% { opacity: 1; } 20% { opacity: .35; } 28% { opacity: 1; filter: brightness(1.6); } 100% { opacity: 1; filter: none; } }
@keyframes l7nb-bl { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.9); } 8% { opacity: 1; } 18% { opacity: .2; } 26% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(1.15); } }
@keyframes l7nb-ws { 0% { opacity: 0; } 12% { opacity: .85; } 100% { opacity: 0; } }
@keyframes l7nb-auf { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes l7nb-zuck { 0% { text-shadow: none; } 20% { text-shadow: 0 0 18px #04FFF7, 0 0 40px #04FFF7; color: #fff; } 40% { text-shadow: none; } 60% { text-shadow: 0 0 18px #04FFF7; color: #fff; } 100% { text-shadow: 0 0 10px rgba(4,255,247,.5); } }
@media (prefers-reduced-motion: reduce) { .l7-nbuehne--blitz * { animation: none !important; } .l7-nbuehne__weiss, .l7-nbuehne__blitz { display: none; } }

/* Nuernberg-Laufband: hinteres Band = Duellbox-Band (Magenta #FF1493, Glühen, dunkle Schrift, Duellbox-Signet als Trenner), gekreuzt mit dem tuerkisen Band (-4 Grad / +3,5 Grad), wie auf dem Level-7-Geburtstagsaufsteller (hugo/design/level7/kombi-duellbox). */
html .l7-kreuz--duellbox .l7-kreuz__band--a { transform: rotate(-4deg); }
html .l7-kreuz--duellbox .l7-kreuz__band--b { transform: rotate(3.5deg); background: var(--l7-magenta); color: var(--l7-black); border: 0; box-shadow: 0 0 19px rgba(255,20,147,0.5); }
html .l7-kreuz--duellbox .l7-kreuz__band--b .l7-kreuz__wort { color: var(--l7-black); -webkit-text-stroke: 0; }
html .l7-kreuz__blitz--signet img { height: 22px; width: auto; display: block; filter: brightness(0); }
@media (max-width: 640px) { html .l7-kreuz__blitz--signet img { height: 18px; } }
