/* ============================================================
   40-Jahre-Jubiläum – festliche Gold-Akzente auf Blau.
   Alle Jubiläums-Elemente sind standardmäßig versteckt und
   nur sichtbar, wenn <body> die Klasse "jubilee" trägt
   (im echten Theme gesteuert durch den Admin-Toggle).
   ============================================================ */
:root{
  --gold:#C9A24B; --gold-light:#E7C66B; --gold-deep:#9A7B2E;
}

/* Jubiläums-Bausteine standardmäßig aus */
.jubilee-banner,
.jubilee-hero,
.jubilee-cta{ display:none; }
body.jubilee .jubilee-banner{ display:block; }
body.jubilee .jubilee-hero{ display:block; }
body.jubilee .jubilee-cta{ display:block; }

/* dünne Goldlinie ganz oben */
body.jubilee::before{ content:""; position:fixed; top:0; left:0; right:0; height:4px; z-index:130;
  background:linear-gradient(90deg,var(--jb-petrol),var(--jb-coral),var(--jb-petrol)); }

/* ---------- Banner ---------- */
.jubilee-banner{ position:relative; z-index:90;
  background:linear-gradient(90deg,var(--jb-coral2),var(--jb-coral)); color:var(--jb-petrol2); }
.jubilee-banner__inner{ display:flex; align-items:center; justify-content:center; gap:8px 18px;
  flex-wrap:wrap; padding:10px 20px; text-align:center; }
.jubilee-banner strong{ font-weight:800; letter-spacing:.01em; }
.jubilee-banner a{ color:var(--jb-petrol2); font-weight:800; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.jubilee-banner a:hover{ color:#000; }
/* kompakter Countdown im Banner */
.jubilee-banner__cd{ font-weight:800; white-space:nowrap; color:var(--jb-petrol2); }
.jubilee-banner__cd b{ font-variant-numeric:tabular-nums; }
/* Kurz-/Lang-Varianten (Handy vs. Desktop) */
.jb-short{ display:none; }

/* ---------- Hero / Aufmacher ---------- */
.jubilee-hero{ position:relative; overflow:hidden; color:#fff; text-align:center;
  padding:clamp(38px,6vw,70px) 0;
  background:radial-gradient(120% 130% at 50% -10%, #2B6CA3 0%, #235682 45%, #15324a 100%); }
.jubilee-hero .container{ position:relative; z-index:2; }
.jubilee-hero h1{ color:#fff; margin:.2em 0 .1em; }
.jubilee-hero .lead{ color:#e6f0f8; max-width:560px; margin:0 auto 6px; }

/* Emblem „40 · 1986–2026" */
/* schlankes Emblem: nur „40" groß + „1986–2026" darunter (kein Kreis) */
.jubilee-emblem{ display:inline-flex; flex-direction:column; align-items:center; margin:0 auto 6px; line-height:1; }
.jubilee-emblem b{ font-family:var(--font-head); font-weight:700; font-size:clamp(3rem,9vw,4.6rem);
  line-height:.85; color:var(--gold-light); }
.jubilee-emblem em{ font-style:normal; font-weight:800; font-size:.72rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold); margin-top:6px; }

/* ---------- Countdown ---------- */
.countdown{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin:22px 0 26px; }
.countdown__unit{ background:rgba(255,255,255,.08); border:1px solid rgba(201,162,75,.45);
  border-radius:16px; padding:14px 12px; min-width:82px; }
.countdown__num{ font-family:var(--font-head); font-weight:700; font-size:clamp(1.7rem,4vw,2.5rem);
  line-height:1; color:var(--gold-light); }
.countdown__label{ font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em;
  color:#cfe0f0; margin-top:6px; }
.countdown__done{ font-family:var(--font-head); font-size:1.4rem; color:var(--gold-light); }
.jubilee-hero .btn-row{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* festlicher Gold-Button */
.btn--gold{ background:var(--gold); color:#241F1B; }
.btn--gold:hover{ background:var(--gold-light); color:#241F1B; transform:translateY(-2px); }

/* ---------- Ehemaligen-Band ---------- */
.jubilee-cta{ background:
   radial-gradient(120% 100% at 0% 0%, #fbf2da 0%, transparent 60%), var(--cream); }
.jubilee-cta .inner{ border:2px dashed var(--gold); border-radius:var(--radius-lg);
  padding:clamp(24px,4vw,40px); text-align:center; background:#fff; }
.jubilee-cta h2{ margin-top:0; }
.jubilee-cta .kicker{ color:var(--gold-deep); }
.jubilee-cta .kicker::after{ background:linear-gradient(90deg,var(--gold-deep),var(--gold-light)); }

/* dezente Gold-Akzente im Jubiläumsmodus */
body.jubilee .kicker{ color:var(--jb-coral); }
body.jubilee .kicker::after{ background:var(--jb-coral); }
body.jubilee .facts{ background:
   radial-gradient(120% 140% at 0% 0%, var(--jb-petrol-soft) 0%, var(--jb-petrol) 70%, var(--jb-petrol2) 100%); }
body.jubilee .fact__num{ color:var(--jb-coral2); }
body.jubilee .facts::before{ background:linear-gradient(90deg,var(--jb-petrol),var(--jb-coral),var(--jb-petrol)); }

/* ---------- Konfetti ---------- */
.confetti{ position:fixed; inset:0; pointer-events:none; z-index:200; overflow:hidden; }
.confetti i{ position:absolute; top:-14px; width:8px; height:13px; border-radius:2px; opacity:.9;
  will-change:transform; animation:rgc-fall linear forwards; }
@keyframes rgc-fall{ to{ transform:translateY(106vh) rotate(620deg); } }

/* ---------- Demo-Umschalter (nur Prototyp!) ---------- */
.demo-toggle{ position:fixed; right:14px; bottom:14px; z-index:400; display:flex; align-items:center; gap:9px;
  background:#15324a; color:#fff; border:1px solid var(--gold); border-radius:var(--radius-pill);
  padding:9px 14px; font-weight:800; font-size:.86rem; box-shadow:0 10px 30px rgba(0,0,0,.25); cursor:pointer; }
.demo-toggle .dot{ width:12px; height:12px; border-radius:50%; background:#6b7c8c; transition:.2s; }
.demo-toggle.is-on .dot{ background:var(--gold-light); box-shadow:0 0 8px var(--gold-light); }
.demo-toggle small{ font-weight:700; opacity:.8; }

@media (max-width:680px){
  /* kleines, kompaktes Textbanner statt großer Leiste */
  .jb-full{ display:none; }
  .jb-short{ display:inline; }
  .jubilee-banner__inner{ flex-wrap:nowrap; gap:8px; padding:6px 12px; font-size:.78rem; }
  .jubilee-banner strong{ font-size:.82rem; white-space:nowrap; }
  .jubilee-banner__cd{ font-size:.8rem; }
  .jubilee-banner a{ white-space:nowrap; font-size:1.15rem; line-height:1; }
  .countdown__unit{ min-width:68px; padding:11px 9px; }
}
@media (prefers-reduced-motion:reduce){
  .confetti{ display:none !important; }
}

/* ============================================================
   PLAKAT-STIL – 40-Jahre-Chronik (Jubiläums-Seite)
   Petrol + Koralle, große Anton-Headline + Schreibschrift,
   gepunktete Timeline, Zahlen-Counter, Pinsel-/Wellenkanten.
   Angelehnt an die offiziellen Festabend-Plakate.
   ============================================================ */
:root{
  --jb-petrol:#0E4B49; --jb-petrol2:#0A3937; --jb-petrol-soft:#15635F;
  --jb-coral:#E8633C; --jb-coral2:#F0855E; --jb-coral-deep:#C44A28;
  --jb-sand:#F6EFE4; --jb-cream:#FBF6EC; --jb-on-petrol:#F3EDE3;
  --font-poster:"Anton",Impact,"Arial Narrow Bold",sans-serif;
  --font-script:"Kaushan Script","Segoe Script","Brush Script MT",cursive;
}

/* Im Jubiläumsmodus die ganze Seite von „normalem Blau" auf Jubiläums-Petrol
   umstellen – greift NUR, wenn body.jubilee aktiv ist. Toggle aus = normales Blau. */
body.jubilee{
  --green:var(--jb-petrol); --green-dark:var(--jb-petrol2); --green-deep:#07302E;
  --c-red:var(--jb-petrol); --c-orange:var(--jb-petrol-soft); --c-yellow:#2A7E79;
  --c-green:var(--jb-petrol); --c-blue:var(--jb-petrol-soft); --c-violet:var(--jb-petrol2);
  --rainbow:linear-gradient(90deg,var(--jb-petrol2),var(--jb-petrol),var(--jb-petrol-soft));
  --rainbow-soft:linear-gradient(90deg,rgba(14,75,73,.15),rgba(21,99,95,.15));
  --num-light:#dfeae6;
  --g1:linear-gradient(135deg,#15635F,#0E4B49);
  --g2:linear-gradient(135deg,#0E4B49,#0A3937);
  --g3:linear-gradient(135deg,#2A7E79,#0E4B49);
  --g4:linear-gradient(135deg,#3A8F8A,#15635F);
  --g5:linear-gradient(135deg,#0A3937,#07302E);
  --g6:linear-gradient(135deg,#0E4B49,#15635F);
}
/* warmer statt blauer Tint-Hintergrund im Jubiläumsmodus */
body.jubilee .section--tint{ background:
   radial-gradient(120% 80% at 100% 0%, #fbeee7 0%, transparent 55%),
   radial-gradient(100% 80% at 0% 100%, #f4ede2 0%, transparent 55%),
   var(--cream); }

.jb-script{ font-family:var(--font-script); font-weight:400; }

/* Kicker im Plakat-Look (Koralle statt Blau) – body.jubilee, um die
   bestehende Gold-Regel (body.jubilee .kicker) sicher zu überschreiben */
body.jubilee .jb-kicker{ color:var(--jb-coral); }
body.jubilee .jb-kicker::after{ background:var(--jb-coral) !important; }
body.jubilee .jb-kicker--coral{ color:#fff3ee; }
body.jubilee .jb-kicker--coral::after{ background:#fff !important; }

/* ---------- HERO ---------- */
.jb-hero{ position:relative; overflow:hidden; color:var(--jb-on-petrol); text-align:center;
  padding:clamp(40px,7vw,84px) 0 clamp(58px,8vw,104px);
  background:radial-gradient(120% 120% at 50% -20%, var(--jb-petrol-soft) 0%, var(--jb-petrol) 45%, var(--jb-petrol2) 100%); }
.jb-hero__inner{ position:relative; z-index:2; }
.jb-eyebrow{ font-weight:800; letter-spacing:.26em; text-transform:uppercase; font-size:.72rem;
  color:var(--jb-coral2); margin:0 0 .9rem; }
.jb-display{ position:relative; display:inline-flex; flex-direction:column; align-items:center;
  line-height:.82; margin:0 auto .2rem; }
.jb-display__l{ font-family:var(--font-poster); font-weight:400; color:var(--jb-coral);
  font-size:clamp(3.4rem,15vw,9.5rem); letter-spacing:.02em; text-transform:uppercase; }
.jb-display__script{ position:absolute; left:50%; top:50%; transform:translate(-50%,-54%) rotate(-4deg);
  color:#fff; font-size:clamp(1.9rem,8.5vw,5.4rem); white-space:nowrap;
  text-shadow:0 6px 22px rgba(0,0,0,.38); pointer-events:none; }
.jb-hero__title{ font-family:var(--font-head); color:#fff; margin:.55em 0 .25em;
  font-size:clamp(1.5rem,3.6vw,2.4rem); }
.jb-hero__lead{ color:#dfeae6; max-width:640px; margin:0 auto 1.6rem; font-size:1.08rem; }
.jb-hero__cd{ display:inline-flex; align-items:center; flex-wrap:wrap; justify-content:center; gap:10px;
  color:#dfeae6; font-weight:700; }
.jb-hero__cd-pre,.jb-hero__cd-post{ font-size:.92rem; }
.jb-hero__cd-box{ display:inline-flex; flex-direction:column; align-items:center; min-width:62px;
  background:rgba(255,255,255,.08); border:1px solid rgba(232,99,60,.55); border-radius:14px; padding:8px 10px; }
.jb-hero__cd-box b{ font-family:var(--font-poster); font-size:1.7rem; line-height:1; color:#fff;
  font-variant-numeric:tabular-nums; }
.jb-hero__cd-box i{ font-style:normal; font-size:.6rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--jb-coral2); margin-top:4px; }

/* ---------- Pinsel-/Wellen-Kanten ---------- */
.jb-wave{ position:absolute; left:0; width:100%; height:52px; display:block; z-index:1; }
.jb-wave:not(.jb-wave--top){ bottom:-1px; }
.jb-wave--top{ top:-1px; }
.jb-wave--coral path{ fill:var(--jb-coral); }
.jb-wave--cream path{ fill:var(--jb-cream); }
.jb-wave--sand path{ fill:var(--jb-sand); }

/* ---------- ZAHLEN (Count-up) ---------- */
.jb-stats{ background:var(--jb-coral); }
.jb-stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px;
  padding:clamp(26px,4vw,40px) 0; text-align:center; }
.jb-stat__num{ display:block; font-family:var(--font-poster); font-weight:400; line-height:.9;
  font-size:clamp(2.6rem,6vw,4.2rem); color:var(--jb-petrol2); }
.jb-stat__lbl{ display:block; font-weight:800; letter-spacing:.03em; margin-top:.35rem;
  color:#5a2716; font-size:.9rem; }

/* ---------- WIE ALLES BEGANN ---------- */
.jb-story{ background:var(--jb-cream); }
.jb-story__grid{ align-items:center; }
.jb-photo{ margin:0; }
.jb-photo__img{ aspect-ratio:4/3; border-radius:18px; box-shadow:var(--shadow-lg);
  background:radial-gradient(120% 120% at 30% 20%, rgba(255,255,255,.18), transparent 60%),
    linear-gradient(135deg,#6e5640,#3d2f24 70%);
  background-size:cover; background-position:center;
  filter:sepia(.28) contrast(1.02); }
.jb-photo__cap{ display:inline-flex; align-items:center; gap:8px; margin-top:12px;
  font-weight:800; color:var(--jb-petrol); font-size:.9rem; }

/* ---------- GÄNSEHAUT-MOMENT ---------- */
.jb-moment{ position:relative; background:var(--jb-petrol); color:#fff; text-align:center;
  padding:clamp(56px,8vw,96px) 0; }
.jb-moment .container{ position:relative; z-index:2; max-width:880px; }
.jb-moment__eyebrow{ color:var(--jb-coral2); font-weight:800; letter-spacing:.2em; text-transform:uppercase;
  font-size:.74rem; margin:0 0 1rem; }
.jb-moment__text{ font-family:var(--font-head); font-size:clamp(1.3rem,2.8vw,2rem); line-height:1.4;
  color:#fff; margin:0; }
.jb-moment__text em{ color:var(--jb-coral2); font-style:italic; }

/* ---------- TIMELINE ---------- */
.jb-timeline-sec{ background:var(--jb-sand); }
.jb-time{ position:relative; max-width:720px; margin:0 auto; padding:6px 0 6px 54px; list-style:none; }
.jb-time::before{ content:""; position:absolute; left:15px; top:10px; bottom:10px;
  border-left:3px dotted var(--jb-coral); }
.jb-time__item{ position:relative; margin-bottom:26px; }
.jb-time__item:last-child{ margin-bottom:0; }
.jb-time__item::before{ content:""; position:absolute; left:-46px; top:5px; width:17px; height:17px;
  border-radius:50%; background:var(--jb-coral); border:3px solid var(--jb-sand);
  box-shadow:0 0 0 3px rgba(232,99,60,.25); }
.jb-time__year{ display:inline-block; font-family:var(--font-poster); font-weight:400;
  color:var(--jb-petrol); font-size:1.12rem; letter-spacing:.02em; margin-bottom:6px; text-transform:uppercase; }
.jb-time__card{ background:#fff; border-radius:16px; padding:16px 20px; box-shadow:var(--shadow);
  border-left:4px solid var(--jb-coral); }
.jb-time__card h3{ margin:0 0 .25rem; color:var(--jb-petrol); font-size:1.15rem; }
.jb-time__card p{ margin:0; color:var(--ink-soft); }
.jb-time__item--finale .jb-time__card{ background:var(--jb-petrol); border-left-color:var(--jb-coral2); }
.jb-time__item--finale .jb-time__card h3,
.jb-time__item--finale .jb-time__card p{ color:#fff; }

/* ---------- ZITAT (Mehr als nur Musik) ---------- */
.jb-quote{ background:var(--jb-coral); color:#fff; text-align:center; padding:clamp(48px,7vw,88px) 0; }
.jb-quote .container{ max-width:920px; }
.jb-quote__intro{ font-size:1.1rem; color:#fff3ee; max-width:680px; margin:0 auto 1.4rem; }
.jb-quote__text{ font-family:var(--font-head); font-style:italic; font-weight:500;
  font-size:clamp(1.4rem,3vw,2.1rem); line-height:1.42; color:#fff; margin:0 auto; max-width:840px; padding:0 .2em; }
.jb-quote__text::before{ content:"\201C"; }
.jb-quote__text::after{ content:"\201D"; }
.jb-quote__by{ margin:1.4rem 0 0; font-weight:800; letter-spacing:.04em; color:#3a190d; }

/* ---------- FINALE / EINLADUNG ---------- */
.jb-finale{ background:radial-gradient(120% 120% at 50% 120%, var(--jb-petrol-soft) 0%, var(--jb-petrol) 50%, var(--jb-petrol2) 100%);
  color:var(--jb-on-petrol); text-align:center; padding:clamp(54px,8vw,96px) 0; }
.jb-finale__inner{ max-width:760px; margin-inline:auto; }
.jb-finale__script{ display:block; color:var(--jb-coral2); font-size:clamp(1.8rem,5vw,3rem); line-height:1; margin-bottom:.2rem; }
.jb-finale__title{ font-family:var(--font-head); color:#fff; margin:0 0 .5em; font-size:clamp(1.6rem,3.6vw,2.5rem); }
.jb-finale__lead{ color:#dfeae6; margin:0 auto 1.6rem; max-width:620px; }
.jb-finale__facts{ display:flex; flex-direction:column; gap:8px; align-items:center; margin:0 auto 1.8rem; font-weight:700; }
.jb-finale__facts li{ display:flex; gap:8px; align-items:center; }
.jb-btn{ background:var(--jb-coral); color:#fff; box-shadow:0 12px 28px rgba(232,99,60,.4); }
.jb-btn:hover{ background:var(--jb-coral2); color:#fff; transform:translateY(-2px); }

/* ---------- Responsive ---------- */
@media (max-width:820px){
  .jb-story__grid{ grid-template-columns:1fr; }
  .jb-stats__grid{ grid-template-columns:repeat(2,1fr); gap:24px 12px; }
}
@media (max-width:560px){
  .jb-time{ padding-left:44px; }
  .jb-time__item::before{ left:-38px; }
  .jb-hero__cd-pre,.jb-hero__cd-post{ flex-basis:100%; }
}

/* ---------- JUBILÄUMS-EVENTS (Beiträge mit Tag „40 Jahre") ---------- */
.jb-events{ background:var(--jb-petrol); }
.jb-events .section__head h2{ color:#fff; }
.jb-events .section__head .lead{ color:#dfeae6; }
.jb-events .section__head .lead strong{ color:var(--jb-coral2); }
/* Koralle-Tag „40 Jahre" auf Karten */
.badge--jubilee{ background:var(--jb-coral); color:#fff; }
