/*
Theme Name: Aktenzeichen Paranormal
Theme URI: https://www.aktenzeichenparanormal.de
Author: Aktenzeichen Paranormal GbR
Author URI: https://www.aktenzeichenparanormal.de
Description: Theme für den Podcast "Aktenzeichen: Paranormal" (Constantin Groß & Patrick Jost) – dunkle, filmische Mystery-Optik mit automatischem Feed-Sync der Episoden aus dem RSS-Feed.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.1
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aktenzeichen-paranormal
*/

/* ==========================================================================
   1. Design Tokens
   ========================================================================== */
:root{
  --bg:#0d0f12;
  --bg-deep-1:#0b0d10;
  --bg-deep-2:#101318;
  --bg-deep-3:#101418;
  --bg-footer:#0a0c0e;
  --panel:#14181d;

  --text-primary:#e8e6e0;
  --text-heading:#fff;
  --text-secondary:#c3c5c0;
  --text-secondary-alt:#c7c9c4;
  --text-secondary-alt2:#d8d6cf;
  --text-muted:#8f938e;
  --text-muted-2:#6f736e;

  --mint:#82c9ac;
  --mint-hover:#a4dcc5;
  --mint-hover-2:#c0ecda;
  --mint-dark-1:#04231d;
  --mint-dark-2:#08322a;
  --mint-dark-3:#083a30;

  --red:#e0473f;
  --red-hover:#ef564d;

  --ticker-from:#8a2420;
  --ticker-to:#c23a30;

  --gold-bg:#d9a441;
  --gold-text:#241a05;

  --kids-from:#1c8f78;
  --kids-to:#2fb89b;
  --kids-bg:#f4f1e6;
  --kids-accent:#ffd24a;

  --hero-from:#1c302c;
  --hero-mid:#101418;
  --hero-to:#0b0d10;

  --spotify:#1DB954;
  --youtube:#FF0000;
  --youtube-hero:#FF4040;
  --apple-light:#f2f2f2;
  --apple-light-2:#e8e6e0;

  --font-oswald:'Oswald',Arial,sans-serif;
  --font-elite:'Special Elite','Courier New',monospace;
  --font-karla:'Karla',Arial,sans-serif;

  --container:1240px;
  --container-narrow:1000px;
  --container-footer-quote:760px;
  --page-pad:24px;
  --section-gap:96px;
}

/* ==========================================================================
   2. Lokale Webfonts (kein Google-CDN, DSGVO)
   ========================================================================== */
@font-face{font-family:'Oswald';src:url('assets/fonts/oswald-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Oswald';src:url('assets/fonts/oswald-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Oswald';src:url('assets/fonts/oswald-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Oswald';src:url('assets/fonts/oswald-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Special Elite';src:url('assets/fonts/special-elite-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Karla';src:url('assets/fonts/karla-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Karla';src:url('assets/fonts/karla-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Karla';src:url('assets/fonts/karla-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* ==========================================================================
   3. Reset & Basis
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text-primary);
  font-family:var(--font-karla);
  font-size:16px;
  line-height:1.5;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p{margin:0}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--page-pad)}
.container--narrow{max-width:var(--container-narrow)}

.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.skip-link{
  position:absolute;left:12px;top:-60px;z-index:100;background:var(--mint);
  color:var(--bg);padding:10px 16px;border-radius:3px;transition:top .2s ease;
  font-family:var(--font-oswald);font-weight:600;text-transform:uppercase;letter-spacing:1px;
}
.skip-link:focus{top:12px}

/* ==========================================================================
   4. Fixe Overlays (Filmkorn / Scanlines)
   ========================================================================== */
.grain-overlay{
  position:fixed;inset:0;z-index:90;pointer-events:none;
  mix-blend-mode:overlay;opacity:.06;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNDAnIGhlaWdodD0nMTQwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC45JyBudW1PY3RhdmVzPScyJy8+PC9maWx0ZXI+PHJlY3Qgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgZmlsdGVyPSd1cmwoI24pJy8+PC9zdmc+");
}
.scanline-overlay{
  position:fixed;inset:0;z-index:89;pointer-events:none;opacity:.5;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,0) 0 2px,rgba(0,0,0,.16) 2px 3px);
}
body.grain-off .grain-overlay{display:none}

/* ==========================================================================
   5. Reveal-on-Scroll (Fallback ohne JS: sofort sichtbar)
   ========================================================================== */
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
[data-reveal].is-visible{opacity:1;transform:none}
.no-js [data-reveal]{opacity:1;transform:none}
@media (scripting:none){
  [data-reveal]{opacity:1;transform:none}
}

/* ==========================================================================
   6. Bewegungsreduktion – global
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* Weitere Sektionsstile folgen (Nav, Hero, Karten, Footer, Unterseiten …) */

/* ==========================================================================
   7. Tour-Ticker (1.1)
   ========================================================================== */
.ticker{
  display:block;position:relative;z-index:50;overflow:hidden;
  background:linear-gradient(90deg,var(--ticker-from),var(--ticker-to) 50%,var(--ticker-from));
  color:#fff;border-bottom:1px solid rgba(0,0,0,.4);
}
.ticker__track{display:flex;width:max-content;animation:marq 28s linear infinite}
.ticker__seg{
  display:inline-flex;align-items:center;padding:7px 24px;white-space:nowrap;
  font-family:var(--font-elite);font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;
}
.ticker__title{font-weight:700}
.ticker__cities{opacity:.75;margin-left:24px}
.ticker__cta{opacity:.95;margin-left:24px}
@keyframes marq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker__track{animation:none}}

/* ==========================================================================
   8. Navigation (1.2)
   ========================================================================== */
.nav{
  position:sticky;top:0;z-index:60;
  background:rgba(13,15,18,.82);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(130,201,172,.16);
}
.nav__inner{
  max-width:var(--container);margin:0 auto;padding:12px var(--page-pad);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.nav__logo img{height:38px;width:auto}
.nav__links{display:flex;align-items:center;gap:26px}
.nav__links a{
  font-family:var(--font-oswald);font-weight:500;text-transform:uppercase;
  letter-spacing:1.5px;font-size:14px;color:var(--text-secondary-alt2);
}
.nav__cta{
  background:var(--mint);color:var(--bg);padding:9px 16px;border-radius:2px;font-weight:700;
}
.nav__burger-wrap{display:none}
.nav__burger{
  width:44px;height:40px;background:transparent;list-style:none;cursor:pointer;
  border:1px solid rgba(130,201,172,.4);border-radius:3px;color:var(--mint);font-size:20px;
  display:flex;align-items:center;justify-content:center;
}
.nav__burger::-webkit-details-marker{display:none}
.nav__burger::marker{content:''}
.nav__burger-wrap[open] .nav__burger{border-color:var(--mint)}
.nav__mobile-menu{
  position:absolute;top:calc(100% + 1px);left:0;right:0;z-index:59;
  display:flex;flex-direction:column;
  background:rgba(13,15,18,.97);backdrop-filter:blur(12px);
  border-top:1px solid rgba(130,201,172,.16);border-bottom:1px solid rgba(130,201,172,.16);
  padding:8px var(--page-pad) 18px;
}
.nav__mobile-menu a{
  padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06);
  font-family:var(--font-oswald);font-weight:500;text-transform:uppercase;letter-spacing:1.5px;font-size:14px;color:var(--text-secondary-alt2);
}
.nav__mobile-menu a:last-child{color:var(--mint);border-bottom:none}
@media (max-width:860px){
  .nav__links{display:none}
  .nav__burger-wrap{display:block;position:relative}
}

/* Schlanke Nav für Unterseiten */
.nav-slim{
  position:sticky;top:0;z-index:60;background:rgba(13,15,18,.82);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(130,201,172,.16);
}
.nav-slim__inner{
  max-width:900px;margin:0 auto;padding:12px var(--page-pad);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.nav-slim__logo img{height:34px;width:auto}
.nav-slim__links{display:flex;align-items:center;gap:20px}
.nav-slim__links a{
  font-family:var(--font-oswald);font-weight:500;text-transform:uppercase;
  letter-spacing:1.5px;font-size:13px;color:var(--mint);
}

/* ==========================================================================
   9. Hero (1.3)
   ========================================================================== */
.hero{
  position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;
  overflow:hidden;text-align:center;
  background:radial-gradient(130% 95% at 50% -8%,var(--hero-from) 0%,var(--hero-mid) 42%,var(--hero-to) 78%);
}
.hero__fog{
  position:absolute;inset:0;
  background:radial-gradient(60% 50% at 50% 40%,rgba(130,201,172,.10),transparent 70%);
  animation:fogdrift 20s ease-in-out infinite;
}
@keyframes fogdrift{0%,100%{transform:translateX(-3%)}50%{transform:translateX(3%)}}
.hero__fade{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,transparent 40%,rgba(11,13,16,.6) 78%,var(--bg-deep-1) 100%);
}
/* Als Hintergrundbild statt <img>, damit mobile Browser die 1,2-MB-Grafik
   gar nicht erst laden (Hintergrundbilder in nicht zutreffenden Media
   Queries werden nicht abgerufen, ein <img> waere das trotz display:none). */
.hero__cutout{display:none}
.hero__content{position:relative;z-index:2;padding:40px 22px;max-width:900px}
.hero__badge{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-elite);font-size:13px;letter-spacing:3px;color:var(--red);text-transform:uppercase;
  border:1px solid rgba(224,71,63,.5);padding:6px 14px;border-radius:2px;margin-bottom:26px;
}
.hero__badge-dot{
  width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 10px var(--red);
  animation:pulse 1.6s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.82)}}
.hero__bim{font-family:var(--font-elite);color:var(--mint);letter-spacing:6px;font-size:15px;margin-bottom:10px}
.hero__logo{width:min(92%,720px);filter:drop-shadow(0 18px 40px rgba(0,0,0,.6))}
.hero__claim{
  font-size:clamp(16px,2.2vw,21px);color:var(--text-secondary-alt);max-width:620px;line-height:1.5;
  margin:26px auto 6px;
}
.hero__claim strong{color:var(--text-primary);font-weight:700}
.hero__subline{font-family:var(--font-elite);color:var(--text-muted);font-size:13px;letter-spacing:1px;margin:0 0 32px}
.hero__platforms{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.hero__scroll{
  font-family:var(--font-elite);color:var(--text-muted);font-size:12px;letter-spacing:2px;
  text-transform:uppercase;margin-top:44px;display:inline-block;
}
.platform-btn{
  background:rgba(255,255,255,.03);border:1px solid var(--accent,var(--mint));color:var(--accent,var(--mint));
  font-family:var(--font-oswald);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;font-size:14px;
  padding:13px 22px;border-radius:3px;display:inline-flex;align-items:center;gap:8px;
}
.platform-btn--spotify{--accent:var(--spotify)}
.platform-btn--apple{--accent:var(--apple-light-2)}
.platform-btn--youtube{--accent:var(--youtube-hero)}

@media (min-width:981px){
  .hero{justify-content:flex-start;padding-left:7%;padding-right:44%}
  .hero__cutout{
    display:block;position:absolute;right:0;bottom:0;height:90%;width:44%;max-width:44%;z-index:1;
    background-image:url('assets/img/hosts_cutout_s.png');
    background-size:contain;background-repeat:no-repeat;background-position:bottom right;
    filter:drop-shadow(-20px 0 50px rgba(0,0,0,.5)) contrast(1.02);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26%);
    mask-image:linear-gradient(90deg,transparent 0,#000 26%);
  }
  .hero__content{text-align:left;max-width:min(520px,50vw)}
  .hero__badge,.hero__platforms{justify-content:flex-start}
  .hero__logo{width:min(100%,460px)}
}

/* ==========================================================================
   10. Plattform-Karten (1.4)
   ========================================================================== */
.platforms{padding:70px 0 40px;border-bottom:1px solid rgba(255,255,255,.05)}
.platforms__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.platform-card{
  background:var(--panel);border:1px solid rgba(255,255,255,.07);border-radius:6px;padding:26px;
  transition:border-color .25s,transform .25s;
}
.platform-card:hover,.platform-card:focus-within{transform:translateY(-4px)}
.platform-card--spotify:hover{border-color:var(--spotify)}
.platform-card--apple:hover{border-color:var(--apple-light-2)}
.platform-card--youtube:hover{border-color:var(--youtube)}
.platform-card__glyph{font-size:26px}
.platform-card--spotify .platform-card__glyph{color:var(--spotify)}
.platform-card--apple .platform-card__glyph{color:var(--apple-light-2)}
.platform-card--youtube .platform-card__glyph{color:var(--youtube)}
.platform-card__name{
  font-family:var(--font-oswald);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;
  font-size:19px;color:#fff;margin:12px 0 4px;
}
.platform-card__meta{font-family:var(--font-elite);color:var(--text-muted);font-size:13px}

/* ==========================================================================
   11. Über uns (1.5)
   ========================================================================== */
.about{padding:var(--section-gap) 0}
.about__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;align-items:center}
.kicker{font-family:var(--font-elite);color:var(--mint);letter-spacing:3px;font-size:13px;text-transform:uppercase;display:block;margin-bottom:14px}
.kicker--red{color:var(--red)}
.section-h2{
  font-family:var(--font-oswald);font-weight:700;text-transform:uppercase;
  font-size:clamp(30px,4.5vw,52px);line-height:.98;color:#fff;
}
.about__text p{font-size:17px;line-height:1.65;color:var(--text-secondary);margin-top:18px}
.about__text strong{color:var(--text-primary)}
.about__slots{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.about__slot{flex:1;min-width:180px;background:var(--panel);border-radius:4px;padding:14px 18px}
.about__slot--mo{border:1px solid rgba(130,201,172,.25);border-left:3px solid var(--mint)}
.about__slot--do{border:1px solid rgba(224,71,63,.25);border-left:3px solid var(--red)}
.about__slot-label{font-family:var(--font-oswald);font-weight:700;font-size:15px;letter-spacing:2px;text-transform:uppercase}
.about__slot--mo .about__slot-label{color:var(--mint)}
.about__slot--do .about__slot-label{color:var(--red)}
.about__slot-text{color:var(--text-secondary);font-size:15px;margin-top:4px}
.about__quote{
  border-left:3px solid var(--mint);padding:6px 0 6px 18px;margin-top:26px;
  font-family:var(--font-elite);font-size:17px;color:var(--text-primary);font-style:italic;
}
.about__media{position:relative}
.about__media img{
  width:100%;border-radius:8px;border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 60px rgba(0,0,0,.6);
}
.about__stamp{
  position:absolute;top:-14px;left:16px;z-index:3;transform:rotate(-3deg);background:var(--red);color:#fff;
  font-family:var(--font-elite);font-size:12px;letter-spacing:2px;padding:6px 14px;border-radius:2px;
  box-shadow:0 6px 16px rgba(0,0,0,.5);
}

/* ==========================================================================
   12. Die Akten – Folgen-Grid (1.6)
   ========================================================================== */
.akten{padding:70px 0 var(--section-gap);background:linear-gradient(180deg,var(--bg-deep-1),var(--bg-deep-2))}
.akten__head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:36px}
.akten__hint{font-family:var(--font-elite);color:var(--text-muted);font-size:13px;max-width:300px}
.akten__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.episode-card{
  position:relative;background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:6px;
  overflow:hidden;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.episode-card__cover{position:relative;aspect-ratio:1/1;overflow:hidden}
.episode-card__cover img{width:100%;height:100%;object-fit:cover}
.episode-card__tag{
  position:absolute;top:10px;left:10px;font-family:var(--font-elite);font-size:11px;letter-spacing:1px;
  background:rgba(11,13,16,.82);color:var(--text-primary);padding:4px 9px;border-radius:2px;
  border:1px solid rgba(255,255,255,.14);
}
.episode-card__badge{
  position:absolute;bottom:10px;left:10px;font-family:var(--font-oswald);font-weight:600;font-size:10.5px;
  letter-spacing:1.5px;text-transform:uppercase;padding:4px 9px;border-radius:2px;
}
.episode-card__badge--mo{background:#82c9ac;color:#04231d}
.episode-card__badge--do{background:#e0473f;color:#fff}
.episode-card__badge--live{background:#d9a441;color:#241a05}
.episode-card__overlay{
  position:absolute;inset:0;background:rgba(9,11,13,.9);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;opacity:0;pointer-events:none;transition:opacity .28s ease;
}
.episode-card:hover .episode-card__overlay,.episode-card:focus-within .episode-card__overlay{
  opacity:1;pointer-events:auto;
}
.episode-card__overlay-title{
  font-family:var(--font-elite);color:var(--mint);font-size:12px;letter-spacing:2px;text-transform:uppercase;
}
.episode-card__overlay-btn{
  width:170px;padding:11px 0;border-radius:3px;font-family:var(--font-oswald);font-weight:600;
  text-transform:uppercase;letter-spacing:1px;font-size:13px;text-align:center;
}
.episode-card__overlay-btn--spotify{background:#1DB954;color:#04140a}
.episode-card__overlay-btn--apple{background:#f2f2f2;color:#111}
.episode-card__overlay-btn--youtube{background:#FF0000;color:#fff}
.episode-card__body{padding:14px 15px 16px}
.episode-card__title{font-family:var(--font-oswald);font-weight:600;font-size:17px;line-height:1.15;color:#fff;text-wrap:pretty}
.episode-card__date{font-family:var(--font-elite);color:var(--text-muted);font-size:12px;margin-top:7px}
.akten__cta{
  display:block;text-align:center;margin:40px auto 0;width:fit-content;
  font-family:var(--font-oswald);font-weight:600;text-transform:uppercase;letter-spacing:2px;font-size:14px;
  color:var(--mint);border:1px solid rgba(130,201,172,.5);padding:14px 30px;border-radius:3px;
}
.akten__cta:hover{background:var(--mint);color:var(--bg)}
@media (hover:none){
  /* Touch-Geraete: Overlay dauerhaft sichtbar statt per Hover, sonst sind die Links unerreichbar. */
  .episode-card__overlay{opacity:1;pointer-events:auto;background:rgba(9,11,13,.72)}
}

/* ==========================================================================
   13. Community-CTA (1.7)
   ========================================================================== */
.community{padding:0 0 var(--section-gap);background:var(--bg-deep-2)}
.community__panel{
  border-radius:10px;border:1px solid rgba(224,71,63,.28);
  background:linear-gradient(120deg,#1a1214 0%,var(--panel) 60%);padding:38px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;align-items:center;
}
.community__title{font-family:var(--font-oswald);font-weight:700;text-transform:uppercase;font-size:clamp(26px,3.6vw,40px);line-height:1;color:#fff}
.community__text{font-size:16.5px;line-height:1.6;color:var(--text-secondary);max-width:520px;margin-top:14px}
.btn-red{
  display:inline-block;background:var(--red);color:#fff;font-family:var(--font-oswald);font-weight:700;
  text-transform:uppercase;letter-spacing:1.5px;font-size:15px;padding:15px 28px;border-radius:3px;margin-top:22px;
}
.btn-red:hover{background:var(--red-hover)}
.community__media img{
  width:min(80vw,280px);border-radius:8px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px rgba(0,0,0,.6);
  animation:bob 6s ease-in-out infinite;
}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}

/* ==========================================================================
   14. Tour (1.8)
   ========================================================================== */
.tour{padding:var(--section-gap) 0;background:radial-gradient(90% 70% at 80% 0%,#1a2320,#0d0f12)}
.tour__head{text-align:center;margin-bottom:40px}
.tour__badge{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--font-elite);color:var(--red);
  font-size:13px;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;
}
.tour__meta{font-family:var(--font-elite);color:var(--text-muted);font-size:13px;margin-top:8px}
.tour__list{display:flex;flex-direction:column;gap:12px}
.tour__item{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--panel);
  border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:18px 22px;
}
.tour__date{min-width:96px;font-family:var(--font-oswald);font-weight:700;color:var(--mint);font-size:22px;letter-spacing:1px}
.tour__day{font-family:var(--font-elite);color:var(--text-muted);font-size:12px;display:block;margin-top:2px}
.tour__place{flex:1;min-width:180px}
.tour__city{font-family:var(--font-oswald);font-weight:600;font-size:19px;color:#fff;text-transform:uppercase;letter-spacing:.5px}
.tour__venue{font-family:var(--font-elite);color:var(--text-muted);font-size:13px;margin-top:2px}
.tour__ticket{
  font-family:var(--font-oswald);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;font-size:13px;
  color:var(--bg);background:var(--mint);padding:11px 20px;border-radius:3px;
}
.tour__ticket:hover{background:var(--mint-hover)}
.tour__footnote{text-align:center;font-family:var(--font-elite);color:var(--text-muted-2);font-size:12px;margin-top:22px}

/* ==========================================================================
   15. Shop (1.9)
   ========================================================================== */
.shop{padding:0 0 var(--section-gap)}
.shop__panel{
  border-radius:10px;border:1px solid rgba(130,201,172,.28);background:linear-gradient(120deg,#101c19,var(--panel));
  padding:44px 38px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;align-items:center;
}
.shop__title{font-size:clamp(28px,4vw,46px)}
.shop__text{font-size:16.5px;color:var(--text-secondary);max-width:520px;margin-top:14px}
.btn-mint{
  display:inline-block;background:var(--mint);color:var(--bg);font-family:var(--font-oswald);font-weight:700;
  text-transform:uppercase;letter-spacing:1.5px;font-size:15px;padding:15px 28px;border-radius:3px;margin-top:22px;
}
.btn-mint:hover{background:var(--mint-hover)}
.shop__media img{
  width:min(60vw,180px);border-radius:8px;border:1px solid rgba(255,255,255,.1);
  transform:rotate(-3deg);box-shadow:0 16px 40px rgba(0,0,0,.5);
}

/* ==========================================================================
   16. YouTube-Teaser (1.10)
   ========================================================================== */
.youtube-teaser{background:var(--bg-deep-2);padding-top:80px;padding-bottom:var(--section-gap);text-align:center}
.youtube-teaser__title{font-size:clamp(28px,4vw,46px);margin-bottom:30px}
.youtube-teaser__frame{
  position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;
  border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 60px rgba(0,0,0,.6);display:block;
}
.youtube-teaser__frame img{width:100%;height:100%;object-fit:cover;filter:brightness(.62)}
.youtube-teaser__play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:82px;height:82px;border-radius:50%;background:var(--youtube);display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 30px rgba(0,0,0,.6);
}
.youtube-teaser__play span{color:#fff;font-size:30px;margin-left:5px}
.youtube-teaser__bar{
  position:absolute;left:0;right:0;bottom:0;padding:22px;text-align:left;
  background:linear-gradient(transparent,rgba(0,0,0,.85));
}
.youtube-teaser__bar-title{font-family:var(--font-oswald);font-weight:600;font-size:clamp(18px,2.6vw,26px);color:#fff;text-transform:uppercase}
.youtube-teaser__bar-meta{font-family:var(--font-elite);color:#c9cbc6;font-size:13px;margin-top:4px}

/* ==========================================================================
   17. Kids-Teaser (1.11)
   ========================================================================== */
.kids-teaser{padding:0 0 var(--section-gap)}
.kids-teaser__panel{
  border-radius:14px;background:linear-gradient(120deg,var(--kids-from),var(--kids-to));padding:44px 38px;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:center;
}
.kids-teaser__kicker{color:var(--mint-dark-2)}
.kids-teaser__title{color:var(--mint-dark-1);font-size:clamp(26px,3.8vw,44px);line-height:1}
.kids-teaser__text{font-size:17px;line-height:1.55;color:var(--mint-dark-3);font-weight:500;max-width:520px;margin-top:14px}
.kids-teaser__pills{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.pill{
  border-radius:30px;padding:14px 24px;font-family:var(--font-oswald);font-weight:700;text-transform:uppercase;
  letter-spacing:1.5px;font-size:14px;display:inline-block;
}
.pill--dark{background:var(--mint-dark-1);color:#fff}
.pill--light{background:rgba(255,255,255,.9);color:var(--mint-dark-1)}
.kids-teaser__emoji{font-size:clamp(80px,16vw,150px);filter:drop-shadow(0 10px 20px rgba(0,0,0,.25));text-align:center}

/* ==========================================================================
   18. Footer (1.12)
   ========================================================================== */
.site-footer{background:var(--bg-footer);border-top:1px solid rgba(130,201,172,.16);padding:64px 0 32px}
.site-footer__quote-wrap{max-width:var(--container-footer-quote);margin:0 auto 48px;text-align:center}
.site-footer__bim{font-family:var(--font-elite);color:var(--mint);letter-spacing:4px;font-size:14px}
.site-footer__quote{
  font-family:var(--font-oswald);font-weight:500;text-transform:uppercase;letter-spacing:1px;
  font-size:clamp(20px,3vw,30px);color:#fff;line-height:1.15;margin-top:10px;
}
.site-footer__cols{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:32px;
  border-top:1px solid rgba(255,255,255,.07);padding-top:40px;
}
.site-footer__col-title{
  font-family:var(--font-oswald);font-weight:600;text-transform:uppercase;letter-spacing:2px;font-size:13px;
  color:var(--mint);margin-bottom:14px;display:block;
}
.site-footer__col ul{display:flex;flex-direction:column;gap:9px}
.site-footer__col a{color:var(--text-secondary);font-size:14.5px}
.site-footer__about-text{color:var(--text-muted);font-size:14px;line-height:1.6}
.site-footer__logo{height:40px;margin-bottom:14px}
.site-footer__contact{font-family:var(--font-elite);color:var(--text-muted);font-size:13.5px;line-height:1.7}
.site-footer__contact-block{margin-top:12px;overflow-wrap:anywhere}
.site-footer__vat{font-size:12.5px;color:var(--text-muted-2);margin-top:6px}
.site-footer__socials{
  display:flex;justify-content:center;gap:10px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.07);margin-top:40px;padding-top:26px;
}
.social-pill{
  font-family:var(--font-oswald);font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:12.5px;
  color:var(--text-secondary);border:1px solid rgba(255,255,255,.14);padding:9px 15px;border-radius:30px;
}
.social-pill:hover{border-color:var(--accent,var(--mint));color:var(--accent,var(--mint))}
.social-pill--instagram{--accent:var(--mint)}
.social-pill--spotify{--accent:var(--spotify)}
.social-pill--youtube{--accent:var(--youtube)}
.social-pill--apple{--accent:#fff}
.social-pill--deezer{--accent:var(--mint)}
.social-pill--all{background:var(--mint);color:var(--bg);font-weight:700;padding:9px 16px;border:none}
.social-pill--all:hover{background:var(--mint-hover);color:var(--bg)}
.site-footer__bottom{
  border-top:1px solid rgba(255,255,255,.07);margin-top:26px;padding-top:22px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-family:var(--font-elite);font-size:12px;color:var(--text-muted-2);
}
.site-footer__bottom-links{display:flex;gap:18px}

/* ==========================================================================
   19. Layout-Helfer für Sektionsabstand
   ========================================================================== */
.section-gap{padding:var(--section-gap) 0}

/* ==========================================================================
   20. Weitere lokale Webfonts – Kinderseite (Baloo 2 / Fredoka)
   ========================================================================== */
@font-face{font-family:'Baloo 2';src:url('assets/fonts/baloo2-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Baloo 2';src:url('assets/fonts/baloo2-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Baloo 2';src:url('assets/fonts/baloo2-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Baloo 2';src:url('assets/fonts/baloo2-800.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Fredoka';src:url('assets/fonts/fredoka-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Fredoka';src:url('assets/fonts/fredoka-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Fredoka';src:url('assets/fonts/fredoka-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Fredoka';src:url('assets/fonts/fredoka-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* ==========================================================================
   21. Rechtsseiten (Rechtliches / Datenschutz) – dunkle Bildsprache, max-width:900px
   ========================================================================== */
.legal-hero{padding:72px 0 40px;background:radial-gradient(120% 90% at 50% -20%,var(--hero-from) 0%,var(--bg-deep-3) 50%,var(--bg) 85%)}
.legal-hero__inner{max-width:900px;margin:0 auto;padding:0 var(--page-pad)}
.legal-hero__h1{
  font-family:var(--font-oswald);font-weight:700;text-transform:uppercase;letter-spacing:1px;
  font-size:clamp(32px,5vw,56px);line-height:1;margin:0;color:#fff;
}
.legal-hero__jumplinks{display:flex;gap:20px;flex-wrap:wrap;margin-top:26px}
.legal-hero__jumplinks a{
  font-family:var(--font-oswald);font-weight:600;text-transform:uppercase;letter-spacing:1.5px;font-size:13px;color:var(--mint);
}
.legal-hero__meta{font-family:var(--font-elite);color:var(--text-muted);font-size:13px;letter-spacing:1px;margin:18px 0 0}

.legal-content{max-width:900px;margin:0 auto;padding:32px var(--page-pad) 96px;display:flex;flex-direction:column;gap:64px}
.legal-content--dense{gap:56px}
.legal-content h2{
  font-family:var(--font-oswald);font-weight:700;text-transform:uppercase;letter-spacing:1px;
  font-size:clamp(24px,3.2vw,34px);margin:0 0 20px;color:#fff;
  border-bottom:1px solid rgba(130,201,172,.2);padding-bottom:14px;scroll-margin-top:90px;
}
.legal-content--dense h2{font-size:clamp(21px,2.6vw,28px)}
.legal-content h3{
  font-family:var(--font-oswald);font-weight:600;font-size:19px;letter-spacing:1.5px;color:var(--mint);
  margin:32px 0 12px;text-transform:none;
}
.legal-content p{font-size:17px;line-height:1.7;color:var(--text-secondary);text-wrap:pretty;margin:0 0 18px}
.legal-content p:last-child{margin-bottom:0}
.legal-content p.url-safe,
.legal-content .contact-block,
.legal-content .vat-line{overflow-wrap:anywhere}
.legal-content ul{padding-left:22px;display:flex;flex-direction:column;gap:9px;font-size:17px;line-height:1.6;color:var(--text-secondary);list-style:disc}
.legal-content .contact-block{
  font-family:var(--font-elite);font-size:15px;line-height:1.9;color:var(--text-secondary);
}
.legal-content .vat-line{font-size:15px;line-height:1.7;color:var(--text-muted);margin-top:20px}
.legal-content .callout{
  display:flex;flex-direction:column;gap:8px;font-size:16px;line-height:1.6;color:var(--text-secondary);
  border-left:3px solid var(--mint);padding:4px 0 4px 18px;
}
.legal-content .callout b,
.legal-content strong{color:var(--text-primary)}
.legal-content a{color:#8fd6bb;overflow-wrap:anywhere}
.legal-content a:hover{color:var(--mint-hover-2)}
.legal-content--dense section:not(:first-child) h2{scroll-margin-top:90px}
.legal-section{scroll-margin-top:90px}

/* ==========================================================================
   22. Kinderseite – helles, freundliches Design (Baloo 2 / Fredoka)
   ========================================================================== */
.kids-page{background:var(--kids-bg);color:#243b52;font-family:'Fredoka',system-ui,sans-serif}
.kids-page a{color:#1f8f78}
.kids-page a:hover{color:#166b5a}

.kids-nav{
  position:sticky;top:0;z-index:60;background:rgba(244,241,230,.9);backdrop-filter:blur(10px);
  border-bottom:3px solid var(--kids-accent);
}
.kids-nav__inner{max-width:1100px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.kids-nav__brand{display:flex;align-items:center;gap:9px;font-family:'Baloo 2',cursive;font-weight:800;font-size:20px;color:#1f8f78}
.kids-nav__badge{background:var(--kids-accent);color:#243b52;font-size:13px;padding:2px 9px;border-radius:20px;font-weight:700}
.kids-nav__back{
  font-family:'Baloo 2',cursive;font-weight:700;font-size:14px;color:#243b52;background:#fff;
  border:2px solid #243b52;padding:8px 15px;border-radius:20px;
}

.kids-hero{
  position:relative;overflow:hidden;padding:70px 20px 90px;text-align:center;
  background:radial-gradient(120% 90% at 50% 0%,var(--kids-to) 0%,var(--kids-from) 55%,#177a66 100%);
}
.kids-hero__float{position:absolute;font-size:56px;opacity:.9}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes floaty2{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-18px) rotate(4deg)}}
@keyframes wig{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.kids-hero__inner{position:relative;z-index:2;max-width:760px;margin:0 auto}
.kids-hero__eyebrow{
  display:inline-block;background:var(--kids-accent);color:#243b52;font-family:'Baloo 2',cursive;font-weight:700;
  font-size:14px;padding:7px 18px;border-radius:30px;margin-bottom:22px;
}
.kids-hero__ghost{font-size:clamp(90px,22vw,180px);line-height:1;animation:floaty 5s ease-in-out infinite;filter:drop-shadow(0 14px 24px rgba(0,0,0,.25))}
.kids-hero__title{
  font-family:'Baloo 2',cursive;font-weight:800;font-size:clamp(38px,8vw,76px);line-height:.98;color:#fff;
  margin:18px 0 8px;text-shadow:0 5px 0 rgba(0,0,0,.14);
}
.kids-hero__subtitle{font-family:'Baloo 2',cursive;font-weight:700;color:#fff2c4;font-size:clamp(24px,5vw,40px);margin-bottom:16px}
.kids-hero__lead{font-size:clamp(17px,2.4vw,22px);color:#e8fff8;max-width:540px;margin:0 auto 30px;line-height:1.5}
.kids-btn{
  display:inline-flex;align-items:center;gap:10px;background:var(--kids-accent);color:#243b52;
  font-family:'Baloo 2',cursive;font-weight:800;font-size:19px;padding:16px 34px;border-radius:40px;
  box-shadow:0 8px 0 #d9a92e;
}
.kids-btn:hover{transform:translateY(2px);box-shadow:0 6px 0 #d9a92e}
.kids-btn--dark{background:#243b52;color:#fff;box-shadow:0 8px 0 rgba(0,0,0,.25)}
.kids-btn--dark:hover{box-shadow:0 6px 0 rgba(0,0,0,.25)}

.kids-wave{height:40px;background:var(--kids-from);border-radius:0 0 50% 50%/0 0 100% 100%}

.kids-howto{max-width:1000px;margin:0 auto;padding:70px 22px 40px}
.kids-howto__title{font-family:'Baloo 2',cursive;font-weight:800;font-size:clamp(28px,5vw,44px);color:#1f8f78;text-align:center;margin:0 0 40px}
.kids-howto__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.kids-card{background:#fff;border:3px solid #243b52;border-radius:22px;padding:28px 24px;text-align:center;box-shadow:0 8px 0 rgba(36,59,82,.12)}
.kids-card__icon{font-size:56px;margin-bottom:8px}
.kids-card__title{font-family:'Baloo 2',cursive;font-weight:700;font-size:21px;color:#243b52;margin:0 0 8px}
.kids-card__text{font-size:16px;line-height:1.5;color:#4a6274;margin:0}

.kids-friends{max-width:1100px;margin:0 auto;padding:50px 22px 20px}
.kids-friends__title{font-family:'Baloo 2',cursive;font-weight:800;font-size:clamp(26px,4.5vw,40px);color:#1f8f78;text-align:center;margin:0 0 8px}
.kids-friends__lead{text-align:center;color:#4a6274;font-size:17px;margin:0 auto 36px;max-width:560px}
.kids-friends__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.kids-friend-card{background:#fff;border:3px solid #243b52;border-radius:22px;overflow:hidden;box-shadow:0 8px 0 rgba(36,59,82,.12)}
.kids-friend-card__img{aspect-ratio:1/1;overflow:hidden;background:#dfeee9}
.kids-friend-card__img img{width:100%;height:100%;object-fit:cover}
.kids-friend-card__body{padding:14px 16px 18px;text-align:center}
.kids-friend-card__name{font-family:'Baloo 2',cursive;font-weight:700;font-size:20px;color:#243b52}
.kids-friend-card__note{font-size:14.5px;color:#4a6274;margin-top:3px}

.kids-cta{max-width:900px;margin:0 auto;padding:60px 22px 30px}
.kids-cta__panel{
  background:linear-gradient(120deg,var(--kids-accent),#ffb84a);border:4px solid #243b52;border-radius:28px;
  padding:44px 30px;text-align:center;box-shadow:0 12px 0 rgba(36,59,82,.15);
}
.kids-cta__icon{font-size:60px;margin-bottom:6px;animation:wig 3s ease-in-out infinite;display:inline-block}
.kids-cta__title{font-family:'Baloo 2',cursive;font-weight:800;font-size:clamp(26px,5vw,42px);color:#243b52;margin:0 0 10px;line-height:1}
.kids-cta__text{font-size:18px;color:#3a5064;margin:0 auto 26px;max-width:460px}

.kids-parent-note{max-width:760px;margin:0 auto;padding:20px 22px 40px}
.kids-parent-note__box{
  background:#fff;border:2px dashed #9db4a8;border-radius:18px;padding:22px 24px;
  display:flex;gap:14px;align-items:flex-start;
}
.kids-parent-note__icon{font-size:30px}
.kids-parent-note__title{font-family:'Baloo 2',cursive;font-weight:700;color:#243b52;font-size:17px;margin-bottom:4px}
.kids-parent-note__text{font-size:15px;line-height:1.55;color:#4a6274;margin:0}
.kids-parent-note__text a{font-weight:600}

.kids-footer{background:var(--kids-from);padding:40px 22px 30px;text-align:center;color:#e8fff8}
.kids-footer__brand{font-family:'Baloo 2',cursive;font-weight:800;font-size:22px;color:#fff;margin-bottom:8px}
.kids-footer__links{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin:14px 0;font-weight:600}
.kids-footer__links a{color:#fff2c4}
.kids-footer__meta{font-size:13px;opacity:.8;margin-top:8px}

@media (prefers-reduced-motion:reduce){
  .kids-hero__float,.kids-hero__ghost,.kids-cta__icon{animation:none}
}

/* ==========================================================================
   23. Kleines Kicker-Label innerhalb der Rechtstexte
   ========================================================================== */
.legal-content .eyebrow{
  display:block;font-family:var(--font-elite);color:var(--mint);letter-spacing:2px;
  font-size:12.5px;text-transform:uppercase;margin-bottom:18px;
}
