/*
Theme Name: LSG Maihingen
Author: LITS – Lingel IT-Systems
Description: Onepager für die Laienspielgruppe Maihingen e.V. Dunkelgrüner Bühnenlook mit Ankermenü, Slider und Parallax. Inhalte werden unter Design > Customizer > Onepager gepflegt.
Version: 1.8.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: lsg-maihingen
*/

/* Schriften liegen lokal im Theme (keine Anfrage an Google). Lizenz: SIL OFL 1.1 */
@font-face{font-family:'Fraunces';font-style:normal;font-display:swap;font-weight:100 900;src:url("assets/fonts/fraunces-latin-opsz-normal.woff2") format("woff2")}
@font-face{font-family:'Fraunces';font-style:italic;font-display:swap;font-weight:100 900;src:url("assets/fonts/fraunces-latin-opsz-italic.woff2") format("woff2")}
@font-face{font-family:'Figtree';font-style:normal;font-display:swap;font-weight:300 900;src:url("assets/fonts/figtree-latin-wght-normal.woff2") format("woff2")}

html{-webkit-text-size-adjust:100%}
body{margin:0}
img{max-width:100%;height:auto}
[hidden]{display:none!important}

/* Layout: ein durchgehender dunkler Zuschauerraum. Keine Abschnittskanten, nur ein
   langer Grünverlauf, über den weiche Scheinwerferkegel mit Parallax wandern. */
:root{
  color-scheme: dark;
  --nacht:#040d09;                    /* tiefster Ton, Saal bei gelöschtem Licht */
  --tann:#0a2218;                     /* Grundgrün */
  --samt:#12382a;                     /* Vorhangsamt */
  --moos:#1d5540;                     /* helle Stelle im Lichtkegel */
  --licht:#f5f8f3;                    /* Schrift */
  --leise:rgba(245,248,243,.74);      /* Fließtext */
  --hauch:rgba(245,248,243,.07);      /* weiche Flächen */
  --rampe:#ecc97a;                    /* Rampenlicht, sparsam */
  --display:'Fraunces','Iowan Old Style','Palatino Linotype',Georgia,serif;
  --text:'Figtree',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --gutter:clamp(20px,5vw,64px);
  --mass:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{background:var(--nacht);color:var(--licht);font-family:var(--text);font-size:17px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:340;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
h2{font-size:clamp(2.1rem,5.2vw,3.6rem)}
h2 em,h1 em{font-style:italic;font-weight:300;color:var(--rampe)}
p{margin:0}
:focus-visible{outline:2px solid var(--rampe);outline-offset:4px;border-radius:8px}

/* ---------- Grund: Verlauf + wandernde Lichter ---------- */
.saal{position:relative}
/* Tiefe: fester Hintergrund hinter dem Inhalt.
   1. Der Grund ist ein Farbverlauf, dessen Grüntöne, Winkel und Lichtfleck sich mit
      dem Scrollfortschritt ändern (die Werte setzt lsg.js als --g1 bis --g3 usw.).
   2. Zwei Ebenen darüber sind höher als das Fenster und laufen langsamer als der Text:
      fern (.22) mit Lichtwolken und Lichtkegeln, mitte (.48) mit den blassen Logos. */
.tiefe{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:
  radial-gradient(ellipse 75% 65% at var(--lx,30%) var(--ly,25%),var(--gl,rgba(46,128,96,.30)),transparent 72%),
  linear-gradient(var(--winkel,180deg),var(--g1,#040d09) 0%,var(--g2,#082016) 52%,var(--g3,#0a2218) 100%)}
.ebene{position:absolute;top:0;left:0;right:0;height:100%;will-change:transform}
.ebene i{position:absolute;border-radius:50%;filter:blur(70px)}
.ebene s{position:absolute;width:44vw;height:130vh;transform-origin:50% 0;filter:blur(42px);text-decoration:none}
.ebene s::before{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(245,248,243,.13),rgba(245,248,243,.04) 55%,transparent 88%);
  -webkit-clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%)}
.ebene b{position:absolute;width:min(86vmin,760px);aspect-ratio:1;opacity:.03;filter:blur(2px);background:url("assets/img/logo-weiss.png") center/contain no-repeat}
.inhalt{position:relative;z-index:1}

/* ---------- Menüleiste ---------- */
.leiste{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:calc(env(safe-area-inset-top,0px) + 14px) var(--gutter) 34px;transition:background .6s ease}
.leiste::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .6s ease;
  background:linear-gradient(180deg,rgba(4,13,9,.97) 0%,rgba(4,13,9,.9) 50%,rgba(4,13,9,0) 100%);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%)}
.leiste.unterwegs::before{opacity:1}
.marke{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--display);font-size:1.05rem;letter-spacing:.01em;white-space:nowrap}
.marke img{width:38px;height:38px;display:block}
.marke span{opacity:0;transform:translateY(4px);transition:opacity .5s,transform .5s}
.leiste.unterwegs .marke span{opacity:1;transform:none}
.wege{display:flex;gap:clamp(14px,2.2vw,30px);list-style:none;margin:0;padding:0}
.wege a{position:relative;display:block;padding:6px 0;font-size:.86rem;letter-spacing:.06em;text-decoration:none;color:var(--leise);transition:color .3s}
.wege a::after{content:"";position:absolute;left:50%;bottom:-3px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--rampe);box-shadow:0 0 12px 2px rgba(236,201,122,.6);opacity:0;transform:scale(.3);transition:opacity .35s,transform .35s}
.wege a:hover,.wege a.hier{color:var(--licht)}
.wege a.hier::after{opacity:1;transform:none}
.knopf-menue{display:none;font:inherit;font-size:.86rem;letter-spacing:.06em;color:var(--licht);background:var(--hauch);border:0;border-radius:99px;padding:8px 18px;cursor:pointer}

/* ---------- Bühne (Begrüßung) ---------- */
.buehne{position:relative;min-height:min(94svh,860px);display:grid;place-items:center;text-align:center;padding:104px var(--gutter) 112px}
.dias{position:absolute;inset:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 100%)}
.dia{position:absolute;inset:-8% -2%;opacity:0;transition:opacity 2.6s ease;background-size:cover;background-position:center 30%;transform:translate3d(0,var(--zug,0px),0) scale(1.02)}
.dia.an{opacity:1;animation:atmen 14s ease-out both}
@keyframes atmen{from{scale:1}to{scale:1.07}}
.dia--vorhang{background:
  radial-gradient(ellipse 55% 75% at 50% 12%,rgba(236,201,122,.20),transparent 62%),
  repeating-linear-gradient(90deg,#08211a 0,#16483a 2.6%,#0b2a20 5.4%,#1c5744 8.4%,#0a251c 11.6%,#124033 14%,#08211a 16.6%)}
.dia--foto{background-image:linear-gradient(180deg,rgba(8,32,22,.50),rgba(8,32,22,.78)),url("assets/img/ensemble.jpg");filter:saturate(.5) contrast(1.05)}
.dia--licht{background:
  radial-gradient(ellipse 26% 95% at 22% -8%,rgba(245,248,243,.20),transparent 68%),
  radial-gradient(ellipse 26% 95% at 78% -8%,rgba(236,201,122,.18),transparent 68%),
  radial-gradient(ellipse 22% 85% at 50% -12%,rgba(245,248,243,.12),transparent 70%),
  radial-gradient(ellipse 75% 34% at 50% 104%,rgba(29,85,64,.9),transparent 72%),#061810}
.dias::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 42%,rgba(4,13,9,.18),rgba(4,13,9,.80) 78%)}
.gruss{position:relative;display:grid;justify-items:center;gap:18px;max-width:760px;transform:translate3d(0,var(--zug,0px),0)}
.gruss img{width:clamp(130px,17vw,190px);height:auto;filter:drop-shadow(0 0 38px rgba(236,201,122,.22))}
p.zeile,.kopf p.zeile,.wort p.zeile{font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:var(--rampe)}
h1{font-size:clamp(2.3rem,5.8vw,4.3rem)}
.gruss p.lang{font-size:1.1rem;color:var(--leise);max-width:54ch}
.wahl{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px}
.pille{display:inline-block;text-decoration:none;font-size:.95rem;font-weight:500;padding:13px 28px;border-radius:99px;background:var(--hauch);backdrop-filter:blur(8px);transition:background .35s,transform .35s,box-shadow .35s}
.pille:hover{background:rgba(245,248,243,.14);transform:translateY(-2px)}
.pille--hell{background:var(--licht);color:var(--tann);box-shadow:0 0 44px rgba(245,248,243,.18)}
.pille--hell:hover{background:#fff;box-shadow:0 0 60px rgba(245,248,243,.32)}
.punkte{position:absolute;left:0;right:0;bottom:44px;display:flex;justify-content:center;gap:10px}
.punkte button{width:26px;height:26px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.punkte button::before{content:"";width:7px;height:7px;border-radius:50%;background:rgba(245,248,243,.32);transition:background .4s,transform .4s}
.punkte button[aria-current="true"]::before{background:var(--rampe);transform:scale(1.45)}

/* ---------- Akte (Abschnitte ohne Kanten) ---------- */
.akt{padding-block:clamp(58px,7.5vw,104px)}
.rahmen{max-width:var(--mass);margin-inline:auto;padding-inline:var(--gutter)}
.kopf{display:grid;gap:14px;margin-bottom:clamp(30px,5vw,56px);max-width:720px}
.kopf p{color:var(--leise)}
.ph{display:inline-block;font-family:var(--text);font-style:normal;font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;color:var(--rampe);border:1px dashed rgba(236,201,122,.5);border-radius:99px;padding:.1em .8em;vertical-align:middle;white-space:nowrap}

/* Stück */
.stueck{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,90px);align-items:center}
.plakat{margin:0;transform:translate3d(0,var(--zug,0px),0) rotate(-1.6deg)}
.plakat img{display:block;width:100%;height:auto;border-radius:28px;box-shadow:0 50px 130px rgba(0,0,0,.6),0 0 90px rgba(29,85,64,.5)}
.stueck .wort{display:grid;gap:20px;min-width:0}
.unter{font-family:var(--display);font-style:italic;font-size:1.3rem;color:var(--leise)}
.wort p{color:var(--leise);max-width:58ch}

/* Termine */
.termine{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.termine li{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) auto;gap:8px 28px;align-items:center;padding:22px 30px;border-radius:26px;background:linear-gradient(90deg,var(--hauch),rgba(245,248,243,.02));transition:background .4s,transform .4s}
.termine li:hover{background:linear-gradient(90deg,rgba(245,248,243,.11),rgba(245,248,243,.03));transform:translateX(6px)}
.tag{font-family:var(--display);font-size:1.5rem;line-height:1.2;font-variant-numeric:tabular-nums}
.was strong{display:block;font-weight:600}
.was span{color:var(--leise);font-size:.95rem}

/* Reservierung */
.drei{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(24px,4vw,56px)}
.drei h3{font-size:1.55rem;margin-bottom:12px}
.drei p{color:var(--leise)}
.drei dl{margin:14px 0 0;display:grid;gap:6px}
.drei dt{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rampe)}
.drei dd{margin:0 0 8px}

/* Verein */
.verein{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,90px);align-items:start}
.gross{font-family:var(--display);font-weight:300;font-size:clamp(1.6rem,3.4vw,2.5rem);line-height:1.25;text-wrap:balance}
.verein .wort{display:grid;gap:18px}
.fakten{display:flex;flex-wrap:wrap;gap:14px 44px;margin:22px 0 0;padding:0;list-style:none}
.fakten b{display:block;font-family:var(--display);font-weight:340;font-size:2.5rem;line-height:1;color:var(--rampe);font-variant-numeric:tabular-nums}
.fakten span{font-size:.85rem;letter-spacing:.06em;color:var(--leise)}

/* Spielzeiten */
.zeiten{list-style:none;margin:0;padding:0;columns:2;column-gap:clamp(32px,6vw,90px)}
.zeiten li{break-inside:avoid;display:grid;grid-template-columns:86px minmax(0,1fr);gap:18px;align-items:baseline;padding:14px 0}
.zeiten .jahr{font-family:var(--display);font-style:italic;font-size:1.7rem;line-height:1;color:var(--leise);font-variant-numeric:tabular-nums}
.zeiten li.jetzt .jahr{color:var(--rampe)}
.zeiten strong{font-weight:500;font-size:1.08rem}
.zeiten small{display:block;color:var(--leise);font-size:.9rem}

/* Sponsoren: Ovale wie der Rahmen im Vereinslogo */
.gaben{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:22px;list-style:none;margin:0;padding:0}
.gaben li{aspect-ratio:5/3;max-width:100%;display:grid;place-items:center;text-align:center;border-radius:50%;background:radial-gradient(ellipse at 50% 35%,rgba(245,248,243,.10),rgba(245,248,243,.025) 70%);color:var(--leise);font-size:.9rem;padding:10px 24px}

/* Fuß */
.fuss{padding:clamp(60px,9vw,110px) var(--gutter) 46px;text-align:center;display:grid;justify-items:center;gap:18px;color:var(--leise);font-size:.9rem}
.fuss img{width:74px;height:auto;opacity:.85}
.fuss nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px}
.fuss a{text-decoration:none;transition:color .3s}
.fuss a:hover{color:var(--licht)}

/* sanftes Einblenden: Ruhezustand bleibt lesbar */
.js .sanft{opacity:.45;transform:translate3d(0,26px,0);transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.js .sanft.da{opacity:1;transform:none}

@media (max-width:860px){
  .knopf-menue{display:block}
  .wege{position:absolute;top:calc(100% - 22px);right:var(--gutter);flex-direction:column;gap:2px;min-width:210px;padding:14px 22px;border-radius:26px;background:rgba(8,28,20,.94);backdrop-filter:blur(14px);box-shadow:0 30px 80px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .35s,transform .35s,visibility .35s}
  .leiste.offen .wege{opacity:1;visibility:visible;transform:none}
  .wege a{padding:9px 0;font-size:.98rem}
  .wege a::after{left:-12px;bottom:50%;margin:0 0 -2.5px}
  .stueck,.verein{grid-template-columns:minmax(0,1fr)}
  .plakat{max-width:380px;margin-inline:auto}
  .termine li{grid-template-columns:minmax(0,1fr);padding:20px 24px}
  .zeiten{columns:1}
}
/* Wer im Betriebssystem Animationen abgeschaltet hat, bekommt eine ruhige Seite.
   Zum Begutachten lässt sich die Bewegung mit ?bewegung=an in der Adresse erzwingen. */
@media (prefers-reduced-motion:reduce){
  html:not(.bewegt){scroll-behavior:auto}
  html:not(.bewegt) .dia.an{animation:none}
  html:not(.bewegt).js .sanft{opacity:1;transform:none;transition:none}
}

/* ---------- Ergänzungen für WordPress ---------- */
.sprung{position:absolute;left:-9999px;top:0;z-index:99;padding:10px 18px;border-radius:0 0 14px 14px;background:var(--licht);color:var(--tann)}
.sprung:focus{left:var(--gutter)}
.admin-bar .leiste{top:32px}
html:has(.admin-bar){scroll-padding-top:120px}
@media (max-width:782px){.admin-bar .leiste{top:46px}}
@media (max-width:600px){.admin-bar .leiste{position:absolute}}

.termine li.vorbei{opacity:.45}
.termine li.vorbei .pille{visibility:hidden}
.tag small{display:block;font-family:var(--text);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rampe);margin-bottom:2px}
.drei a,.blatt a{color:var(--licht);text-decoration-color:rgba(236,201,122,.6);text-underline-offset:3px}
.drei a:hover,.blatt a:hover{color:var(--rampe)}
.hinweis{color:var(--leise);margin-top:26px}
.gaben a{color:inherit;text-decoration:none}
.gaben li.frei{font-style:italic}

/* Unterseiten (Impressum, Datenschutz, Beiträge) */
.blatt{max-width:780px;margin-inline:auto;padding:150px var(--gutter) 60px;min-height:70svh}
.blatt>article+article{margin-top:70px}
.blatt h1{font-size:clamp(2.1rem,5vw,3.4rem);margin-bottom:28px}
.blatt h1 a{text-decoration:none}
.blatt h2{font-size:1.8rem;margin:44px 0 14px}
.blatt h3{font-size:1.35rem;margin:34px 0 10px}
.blatt p,.blatt ul,.blatt ol,.blatt table{margin:0 0 18px;color:var(--leise)}
.blatt li{margin-bottom:6px}
.blatt img{border-radius:22px}
.blatt .zurueck{display:inline-block;margin-top:40px}
.dia--bild{filter:saturate(.6) contrast(1.05)}
.zeiten--kurz{columns:1}
.gaben{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.gross em{font-style:italic;color:var(--rampe)}
.gaben li{max-width:260px}
body:not(.home) .marke span{opacity:1;transform:none}

/* ---------- Feinschliff für Handy und Tablet ---------- */
.tiefe{bottom:auto;height:100vh;height:100lvh}
.marke{min-width:0}
.marke span{overflow:hidden;text-overflow:ellipsis}
.marke .kurz{display:none}
.knopf-menue{flex:none;min-height:44px}
.punkte{gap:2px}
.punkte button{width:36px;height:36px}
.fuss nav a{display:inline-block;padding:10px 8px}
@media (hover:none){
  .termine li:hover{transform:none;background:linear-gradient(90deg,var(--hauch),rgba(245,248,243,.02))}
  .pille:hover{transform:none}
}
@media (max-width:860px){
  .leiste{gap:12px}
  /* Terminkarte: Datum links, Knopf rechts daneben, Angaben darunter */
  .termine li{grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:18px 20px 20px}
  .termine .tag{grid-column:1;grid-row:1}
  .termine .pille{grid-column:2;grid-row:1;align-self:center;padding:11px 20px}
  .termine .was{grid-column:1 / -1;grid-row:2}
  .akt{padding-block:54px}
  .buehne{padding-bottom:104px}
}
@media (max-width:430px){
  .marke .lang{display:none}
  .marke .kurz{display:inline}
}

/* ---------- Sponsorenlogos: helle, weich gerundete Kärtchen ---------- */
.gaben--liste{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gaben--liste li{max-width:none}
.gaben li.logo{position:relative;aspect-ratio:5/3;border-radius:26px;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.28);transition:transform .35s,box-shadow .35s}
.gaben li.logo a{position:absolute;inset:0;border-radius:26px}
.gaben li.logo img{position:absolute;top:13%;left:10%;width:80%;height:74%;object-fit:contain}
@media (hover:hover){.gaben li.logo:hover{transform:translateY(-3px);box-shadow:0 26px 60px rgba(0,0,0,.36)}}
@media (min-width:620px){.gaben--liste{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media (min-width:1040px){.gaben--liste{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* ---------- Folgen-Knöpfe (Instagram, Facebook) ---------- */
.folgen{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.folgen .pille{color:var(--licht)}
.folgen .pille span{display:inline-block;margin-left:4px;color:var(--rampe);transition:transform .3s}
.folgen .pille:hover span{transform:translate(2px,-2px)}
.folgen--fuss{justify-content:center;margin:6px 0 10px}
.fuss .folgen .pille{font-size:.95rem}

/* ---------- Symbol-Links zu Instagram und Facebook in der Kopfzeile ---------- */
.marke{margin-right:auto}
.netze{display:flex;gap:8px;flex:none}
.netze a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--hauch);color:var(--licht);text-decoration:none;font-size:.74rem;font-weight:600;letter-spacing:.06em;transition:background .3s,color .3s,transform .3s}
.netze a:hover{background:rgba(245,248,243,.16);color:var(--rampe)}
.netze img{display:block;width:20px;height:20px;object-fit:contain}
@media (hover:hover){.netze a:hover{transform:translateY(-2px)}}
@media (max-width:860px){
  .leiste{gap:10px}
  .netze{gap:6px}
  .knopf-menue{padding:8px 15px}
}
@media (max-width:380px){
  .marke .kurz{display:none}
}
.folgen .pille{display:inline-flex;align-items:center;gap:10px}
.folgen .pille img{display:block;width:20px;height:20px;object-fit:contain}
.folgen .pille span{margin-left:0}
.wege a{white-space:nowrap}
/* mittlere Breiten: Menüpunkte und Symbole brauchen den Platz, der Name weicht dem Logo */
@media (min-width:861px) and (max-width:1180px){
  .marke span{display:none}
}

/* ---------- Cookie-Hinweis und externe Inhalte ---------- */
button.pille{font:inherit;font-size:.95rem;font-weight:500;color:var(--licht);border:0;cursor:pointer}
.einwilligung{position:fixed;left:var(--gutter);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);z-index:40;width:min(470px,calc(100% - 2 * var(--gutter)));padding:24px 26px;border-radius:28px;background:rgba(7,26,18,.97);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 30px 90px rgba(0,0,0,.65);font-size:.92rem;line-height:1.6;color:var(--leise)}
.einwilligung h2{font-size:1.3rem;margin-bottom:10px;color:var(--licht)}
.einwilligung p+p{margin-top:8px}
.einwilligung a{color:var(--licht);text-underline-offset:3px}
.einwilligung .wahl{justify-content:flex-start;margin-top:18px}
/* beide Knöpfe bewusst gleich groß und gleich auffällig */
.einwilligung .pille{flex:1 1 150px;padding:12px 18px;text-align:center;background:rgba(245,248,243,.12)}
.einwilligung .pille:hover{background:rgba(245,248,243,.2)}
.extern{margin-top:22px;max-width:340px;padding:18px 20px;border-radius:22px;background:var(--hauch);font-size:.9rem;color:var(--leise)}
.wort .extern p{color:var(--leise);max-width:none}
.extern p+p{margin-top:6px}
.extern .pille{margin-top:14px;padding:11px 20px}
.extern.geladen{padding:0;background:#fff;overflow:hidden}
.extern iframe{display:block;width:100%;border:0}
.fuss nav button{font:inherit;color:inherit;background:none;border:0;padding:10px 8px;cursor:pointer;transition:color .3s}
.fuss nav button:hover{color:var(--licht)}

/* ---------- Instagram und Facebook: nur die Symbole als Knöpfe ---------- */
.netze{align-items:center;gap:10px}
.netze a{width:32px;height:32px;border-radius:9px;background:none;transition:transform .3s,filter .3s}
.netze a:hover{background:none;filter:brightness(1.12)}
.netze img{width:100%;height:100%;border-radius:inherit}
.netze--gross{gap:16px;margin-top:20px}
.netze--gross a{width:46px;height:46px;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.folgen--fuss{justify-content:center;margin:6px 0 10px}
@media (max-width:860px){.netze{gap:8px}}

/* Slider: Foto vom gemalten Vereinslogo an der Bühnenwand */
.dia--buehne{background-image:linear-gradient(180deg,rgba(6,24,17,.42),rgba(6,24,17,.72)),url("assets/img/buehne.jpg");background-position:center 26%;filter:saturate(.85) contrast(1.04)}

/* weiße Symbole: weicher Schatten folgt der Form, beim Überfahren Rampenlicht-Ton */
.netze a{opacity:.92}
.netze a:hover{opacity:1;filter:drop-shadow(0 0 10px rgba(245,248,243,.45))}
.netze--gross a{box-shadow:none;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))}
.netze--gross a:hover{filter:drop-shadow(0 0 12px rgba(245,248,243,.45))}

/* ---------- Rechtstexte (Impressum, Datenschutz) ---------- */
.blatt h2{font-size:1.6rem}
.blatt p,.blatt li{max-width:68ch}
.blatt mark{background:rgba(236,201,122,.22);color:var(--licht);border-radius:6px;padding:.05em .35em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.blatt ul{padding-left:1.2em}
.blatt strong{color:var(--licht)}

/* ---------- Impressum: Abschnitte als Raster, Bezeichnung links, Angaben rechts ----------
   Jeder Abschnitt ist ein Gruppen-Block mit der Klasse impressum-abschnitt.
   Die zusätzliche Klasse impressum-aus blendet einen Abschnitt auf der Website aus
   (im Editor unter Erweitert > Zusätzliche CSS-Klassen eintragen oder entfernen). */
.blatt .impressum-unter{font-family:var(--display);font-style:italic;font-weight:340;font-size:1.3rem;color:var(--leise);margin:-12px 0 30px}
.impressum-abschnitt{padding-block:20px}
.impressum-abschnitt:not(:has(> .wp-block-group__inner-container)),
.impressum-abschnitt > .wp-block-group__inner-container{display:grid;grid-template-columns:200px minmax(0,1fr);gap:8px 40px;align-items:start}
.blatt .impressum-abschnitt h3{margin:5px 0 0;font-family:var(--text);font-size:.76rem;font-weight:500;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;color:var(--rampe)}
.blatt .impressum-angaben p{margin:0 0 14px;color:var(--licht)}
.blatt .impressum-angaben p:last-child{margin-bottom:0}
.blatt .impressum-angaben p.impressum-zusatz{margin:20px 0 8px;font-size:.92rem;color:var(--leise)}
.blatt .impressum-angaben p.impressum-zusatz:first-child{margin-top:0}
.impressum-aus{display:none}
@media (max-width:700px){
  .impressum-abschnitt{padding-block:16px}
  .impressum-abschnitt:not(:has(> .wp-block-group__inner-container)),
  .impressum-abschnitt > .wp-block-group__inner-container{grid-template-columns:minmax(0,1fr);gap:8px}
}

/* ---------- Reservierungsportal im Abschnitt „So reservieren Sie“ ---------- */
.drei .portal{grid-column:span 2;min-width:0}
.drei .portal p{max-width:52ch}
.schritte{list-style:none;counter-reset:schritt;margin:18px 0 24px;padding:0;display:grid;gap:10px;max-width:52ch}
.schritte li{counter-increment:schritt;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:baseline;color:var(--licht)}
.schritte li::before{content:counter(schritt);font-family:var(--display);font-style:italic;font-size:1.35rem;line-height:1;color:var(--rampe)}
.drei .portal .pille{color:var(--tann);text-decoration:none}
.drei .portal .pille span{display:inline-block;margin-left:4px;transition:transform .3s}
.drei .portal .pille:hover span{transform:translate(2px,-2px)}
@media (max-width:620px){.drei .portal{grid-column:auto}}
