/* relaunch14c (18.10.2026): Doppel-Curtain. Technik nach Woody (wohnwagen-fenster), umgebaut auf sticky, Optik dunkles Bauhaus.
   Ebenen: Inhalt (in Fluss, deckend) > Footer (sticky, z -1) > Zitat-Footer .quote-stage (sticky, z -2).
   Aktiv ab 1024 px Breite mit JS (html.wp-curtain + html.curtain-on), bei jeder Viewport-Hoehe und auch bei reduced-motion.
   JS: /assets/curtain.js setzt --footer-h, --curtain-hd, --curtain-top, .wp-curtain-last, html.curtain-on / html.footer-static / html.curtain-quote. */

/* Zitat-Flaeche: Grundform (gestapelt unter dem Footer: mobil, 404, ohne JS) */
.quote-stage{position:relative;overflow:hidden;background:#0a0d12;border-top:1px solid rgba(255,255,255,.06);padding:72px 5%;color:var(--bh-lime,#b8d44a);font-family:'Montserrat',system-ui,-apple-system,sans-serif}
.quote-stage .qs-quote{position:relative;z-index:1;margin:0 auto;max-width:1200px;padding:0;border:0}
.quote-stage .qs-quote p{margin:0;font-weight:800;font-size:clamp(2rem,.9rem + 4.6vw,5.5rem);line-height:1.04;letter-spacing:-.03em;color:var(--bh-lime,#b8d44a);text-wrap:balance;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:normal;word-break:normal;max-width:16ch}
.quote-stage .qs-mark{position:absolute;right:5%;top:20px;width:96px;height:96px;opacity:.3;pointer-events:none}
@media (max-width:560px){.quote-stage{padding:64px 20px 56px}.quote-stage .qs-mark{width:56px;height:56px;right:16px;top:12px}}

/* Footer-Aufbau ab 1024 px wie relaunch14b (Marke links, 4 Spalten); unabhaengig vom Effekt, damit die Hoehe nicht springt */
@media (min-width:1024px){
  footer.site-footer{padding-top:44px}
  .site-footer .sf-inner{display:grid;grid-template-columns:minmax(160px,200px) minmax(0,1fr);column-gap:48px;align-items:start}
  .site-footer .sf-brand{grid-column:1;grid-row:1;margin:0}
  .site-footer .sf-cols{grid-column:2;grid-row:1;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr) minmax(0,1.45fr) minmax(0,.7fr);gap:40px;padding-bottom:28px}
  .site-footer .sf-bottom{grid-column:1/-1}
  .site-footer .sf-title{margin-bottom:14px}
  .site-footer ul{gap:8px}
  .site-footer .sf-contact p{margin-bottom:8px}
  .site-footer .sf-bottom{padding:14px 0 18px;flex-direction:row;justify-content:space-between;align-items:baseline;gap:24px}
  /* Zitat-Footer: Hoehe ca. 62svh mit Minimum/Maximum, damit im Endzustand die Unterkante des Footers sichtbar bleibt */
  .quote-stage{height:clamp(300px,62svh,600px);box-sizing:border-box;padding:0 5%;display:grid;align-content:center}
  .quote-stage .qs-mark{right:7%;top:calc(50% - 80px);width:160px;height:160px;opacity:.35}
}

/* Effekt (ab 1024 px, nur Breite; reduced-motion schaltet nur Uebergaenge ab) */
@media (min-width:1024px){
  /* Inhalt deckend: nur Fallback-Grund (:where = Spezifitaet 0), Section-Hintergruende gewinnen. Keine Positionierung am Inhalt. */
  :where(html.wp-curtain) body>:where(:not(#navbar,.site-footer,.quote-stage,.sticky-wa,script,style,link,noscript,template)){background-color:inherit}
  /* Rand-Margins der Kinder bleiben im main (sonst Luecke); sichtbare Positionen aendern sich nicht */
  html.wp-curtain body>main{display:flow-root}
  /* Footer: sticky am unteren Rand; ist er hoeher als Viewport minus Header, ankert er unter dem Header und scrollt danach normal weiter */
  html.wp-curtain.curtain-on footer.site-footer{position:sticky;bottom:min(0px,calc(100svh - var(--curtain-hd,72px) - var(--footer-h,0px)));z-index:-1}
  /* Zitat-Footer: sticky unten, liegt unter dem Footer; der Footer wandert in Stufe 2 als Ganzes mit dem Inhalt nach oben */
  html.wp-curtain:not(.footer-static) .quote-stage{position:sticky;bottom:0;z-index:-2}
  /* Der Body-Kasten liegt ueber den negativen Ebenen und wuerde Klicks schlucken: Body selbst nicht klickbar, Kinder wie gehabt */
  html.curtain-nosnap{scroll-snap-type:none!important}
  html.wp-curtain.curtain-on body{pointer-events:none}
  :where(html.wp-curtain.curtain-on) body>*{pointer-events:auto}
  html.wp-curtain.curtain-on .wp-curtain-last{min-height:calc(100svh - var(--curtain-top,0px));border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 28px 56px rgba(0,0,0,.6)}
  html.wp-curtain.curtain-on footer.site-footer{box-shadow:0 28px 56px rgba(0,0,0,.6);border-bottom:1px solid rgba(255,255,255,.08)}
}
/* Lime-Regel: Zitat-Flaeche sichtbar -> gefuellte Lime-Aktionen im Inhalt als Outline (keine Groessenaenderung) */
html.curtain-quote .wp-lime-fill{background:transparent!important;background-image:none!important;color:var(--bh-lime,#b8d44a)!important;box-shadow:inset 0 0 0 1px var(--bh-lime,#b8d44a)!important}
@media (prefers-reduced-motion:reduce){html.curtain-quote .wp-lime-fill,.wp-lime-fill{transition:none!important}}
