/*
Theme Name: Kuestenrausch Festival
Description: Child-Theme fuer die Kuestenrausch-Festival-Seite, auf Basis von Twenty Twenty-Five.
Template: twentytwentyfive
Version: 0.2
Text Domain: kuestenrausch
*/

@font-face{
  font-family:'Sao Torpes';
  src:url('fonts/SaoTorpes.woff2') format('woff2'),
      url('fonts/SaoTorpes.woff') format('woff');
  font-display:swap;
}

:root{
  --ksr-max:1180px;
  --bg:#0a0e1a;
  --bg2:#11162a;
  --card:#141a30;
  --ink:#f3f5fb;
  --muted:rgba(243,245,251,.66);
  --cyan:#36d6e7;
  --pink:#e8b54a;
  --gold:#e8b54a;
  --line:rgba(255,255,255,.10);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body.ksr{
  margin:0;overflow-x:hidden;background:var(--bg);color:var(--ink);
  font-family:'Helvetica Neue',Arial,sans-serif;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
body.ksr img{max-width:100%;height:auto;display:block;}
body.ksr a{color:inherit;}

.ksr-wrap{width:100%;max-width:var(--ksr-max);margin:0 auto;padding:0 22px;}

/* Korn-Overlay */
.ksr-grain{
  position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.4;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
}
body.ksr > *:not(.ksr-grain){position:relative;z-index:2;}

/* Buttons */
.ksr-btn{
  display:inline-block;text-decoration:none;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;border-radius:999px;
  background:linear-gradient(135deg,var(--pink),var(--cyan));color:#06121a;
  transition:transform .2s ease,box-shadow .2s ease;
}
.ksr-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(54,214,231,.25);}
.ksr-btn--sm{padding:9px 18px;font-size:.82rem;}
.ksr-btn--lg{padding:15px 34px;font-size:1rem;}

/* Nav */
.ksr-nav{position:sticky;top:0;z-index:50;background:rgba(10,14,26,.72);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.ksr-nav__inner{display:flex;align-items:center;justify-content:space-between;height:62px;}
.ksr-nav__brand{font-weight:800;letter-spacing:.18em;font-size:.9rem;text-decoration:none;color:var(--ink);}

/* Hero */
.ksr-hero{position:relative;background-size:cover;background-position:center;min-height:92vh;display:flex;align-items:center;}
.ksr-hero__veil{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 30%,rgba(10,14,26,.35),rgba(10,14,26,.86) 75%),linear-gradient(180deg,rgba(10,14,26,.2),var(--bg));}
.ksr-hero__inner{position:relative;text-align:center;padding:90px 22px;width:100%;}
.ksr-logo{margin:0 0 14px;font-family:'Sao Torpes','Helvetica Neue',sans-serif;line-height:.84;text-transform:uppercase;}
.ksr-logo__a,.ksr-logo__b{display:block;font-size:clamp(3.4rem,16vw,8.5rem);}
.ksr-logo__a{color:var(--cyan);text-shadow:0 0 28px rgba(54,214,231,.45);}
.ksr-logo__b{color:var(--pink);text-shadow:0 0 28px rgba(255,77,125,.45);}
.ksr-logo__sub{display:block;font-family:'Helvetica Neue',Arial,sans-serif;font-weight:700;letter-spacing:.5em;text-transform:uppercase;font-size:clamp(.8rem,2.4vw,1.1rem);color:var(--gold);margin-top:14px;padding-left:.5em;}
.ksr-hero__meta{color:var(--muted);font-size:clamp(.95rem,2.4vw,1.15rem);margin:18px auto 30px;max-width:34ch;}

/* Countdown */
.ksr-count{display:flex;justify-content:center;gap:14px;margin:0 auto 34px;flex-wrap:wrap;}
.ksr-count__cell{min-width:74px;padding:14px 8px;border:1px solid var(--line);border-radius:14px;background:rgba(20,26,48,.55);backdrop-filter:blur(6px);}
.ksr-count__cell span{display:block;font-size:2rem;font-weight:800;color:var(--gold);line-height:1;}
.ksr-count__cell small{display:block;margin-top:6px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.ksr-count__live{font-size:1.4rem;font-weight:800;color:var(--gold);}

/* Headings */
.ksr-h2{font-family:'Sao Torpes','Helvetica Neue',sans-serif;font-size:clamp(2rem,6vw,3.2rem);text-transform:uppercase;letter-spacing:.02em;margin:0 0 26px;color:var(--ink);}
.ksr-h2--center{text-align:center;}

/* Werte */
.ksr-values{padding:64px 0;}
.ksr-values__inner{display:flex;align-items:center;gap:30px;}
.ksr-values__dc{width:84px;flex:0 0 auto;filter:drop-shadow(0 0 18px rgba(255,77,125,.3));}
.ksr-lead{color:var(--muted);font-size:1.1rem;max-width:54ch;margin:0;}

/* Divider mit Gold-Traumfänger */
.ksr-div{display:flex;justify-content:center;padding:8px 0 4px;}
.ksr-div img{width:40px;opacity:.8;filter:drop-shadow(0 0 12px rgba(232,181,74,.35));}

/* Floors */
.ksr-floors{padding:56px 0;}
.ksr-floorgrid{display:grid;grid-template-columns:1fr;gap:20px;}
.ksr-floor{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;}
.ksr-floor:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.4);}
.ksr-floor__img{height:200px;background-size:cover;background-position:center;}
.ksr-floor__body{padding:18px 20px 22px;}
.ksr-floor__name{font-family:'Sao Torpes','Helvetica Neue',sans-serif;font-size:1.7rem;text-transform:uppercase;margin:0 0 6px;color:var(--cyan);}
.ksr-floor__txt{color:var(--muted);margin:0;font-size:.98rem;}

/* Galerie */
.ksr-gallery{padding:56px 0;}
.ksr-gallgrid{display:grid;grid-template-columns:1fr;gap:16px;}
.ksr-gallitem{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);}
.ksr-gallitem img{width:100%;object-fit:cover;}

/* Tickets */
.ksr-tickets{padding:64px 0;}
.ksr-tickets__inner{text-align:center;}
.ksr-pricegrid{display:grid;grid-template-columns:1fr;gap:16px;max-width:560px;margin:0 auto 34px;}
.ksr-price{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;}
.ksr-price__v{display:block;font-size:2.2rem;font-weight:800;color:var(--gold);line-height:1;}
.ksr-price__l{display:block;margin-top:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;}

/* Footer */
.ksr-foot{border-top:1px solid var(--line);background:var(--bg2);padding:48px 0 60px;text-align:center;}
.ksr-foot__dc{width:54px;margin:0 auto 18px;opacity:.85;filter:drop-shadow(0 0 14px rgba(232,181,74,.35));}
.ksr-foot__name{font-family:'Sao Torpes','Helvetica Neue',sans-serif;font-size:1.6rem;text-transform:uppercase;margin:0 0 6px;color:var(--gold);}
.ksr-foot__meta{color:var(--muted);margin:0 0 10px;}
.ksr-foot__values{color:var(--muted);font-size:.86rem;max-width:52ch;margin:0 auto 14px;}
.ksr-foot__links a{color:var(--cyan);text-decoration:none;font-weight:700;}

/* Reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}

/* >= 720px */
@media(min-width:720px){
  .ksr-floorgrid{grid-template-columns:repeat(2,1fr);}
  .ksr-gallgrid{grid-template-columns:1.2fr 1fr;align-items:start;}
  .ksr-pricegrid{grid-template-columns:repeat(3,1fr);}
}
/* >= 1000px */
@media(min-width:1000px){
  .ksr-floorgrid{grid-template-columns:repeat(3,1fr);}
}

/* ===== Unterseiten (Impressum/Datenschutz/AGB/Kontakt) ===== */
.ksr-page{padding:90px 0 70px;min-height:60vh;}
.ksr-page__title{font-family:'Sao Torpes','Helvetica Neue',sans-serif;font-size:clamp(2.2rem,7vw,3.6rem);text-transform:uppercase;letter-spacing:.02em;color:var(--cyan);margin:0 0 28px;}
.ksr-prose{max-width:74ch;color:var(--muted);font-size:1rem;line-height:1.7;}
.ksr-prose h2{font-family:'Helvetica Neue',Arial,sans-serif;font-size:1.25rem;color:var(--ink);margin:34px 0 10px;}
.ksr-prose h3{font-size:1.05rem;color:var(--ink);margin:24px 0 8px;}
.ksr-prose p{margin:0 0 14px;}
.ksr-prose a{color:var(--cyan);text-decoration:underline;text-underline-offset:2px;word-break:break-word;}
.ksr-prose ul{margin:0 0 16px;padding-left:1.2em;}
.ksr-prose li{margin:0 0 8px;}
.ksr-prose strong{color:var(--ink);}
.ksr-prose .ksr-note{display:block;border-left:3px solid var(--gold);background:rgba(232,181,74,.08);padding:12px 16px;border-radius:0 10px 10px 0;color:var(--ink);font-size:.92rem;margin:0 0 24px;}
.ksr-page__back{margin-top:40px;}
.ksr-page__back a{color:var(--cyan);text-decoration:none;font-weight:700;}
.ksr-foot__legal{margin-top:10px;font-size:.85rem;}
.ksr-foot__legal a{color:var(--muted);text-decoration:none;}
.ksr-foot__legal a:hover{color:var(--cyan);}

/* ===== Cookie-/Einwilligungs-Banner ===== */
.ksr-cookie{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:rgba(17,22,42,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);}
.ksr-cookie[hidden]{display:none;}
.ksr-cookie__inner{max-width:var(--ksr-max);margin:0 auto;padding:16px 22px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between;}
.ksr-cookie__txt{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5;max-width:64ch;}
.ksr-cookie__txt a{color:var(--cyan);}
.ksr-cookie__btns{display:flex;gap:10px;flex-shrink:0;}
.ksr-cookie__decline{background:transparent;color:var(--ink);border:1px solid rgba(255,255,255,.35);}
.ksr-cookie__decline:hover{box-shadow:none;border-color:var(--ink);}
.ksr-cookie-reopen{cursor:pointer;}
@media(max-width:600px){
  .ksr-cookie__inner{flex-direction:column;align-items:stretch;gap:12px;}
  .ksr-cookie__btns{justify-content:stretch;}
  .ksr-cookie__btns .ksr-btn{flex:1;text-align:center;}
}

/* ===== Navigationsmenue ===== */
.links ul.menu{display:flex;gap:26px;list-style:none;margin:0;padding:0;align-items:center;flex-wrap:wrap;}
.links ul.menu li{margin:0;}
.ksr-nav__menu{margin-left:26px;margin-right:auto;}
.ksr-nav__menu ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;align-items:center;flex-wrap:wrap;}
.ksr-nav__menu a{color:var(--muted);text-decoration:none;font-size:.92rem;}
.ksr-nav__menu a:hover{color:var(--cyan);}
@media(max-width:820px){.ksr-nav__menu{display:none;}}

/* ===== Mobile-Menue (Hamburger) ===== */
.ksr-burger{display:none;}
.ksr-mobile-nav{display:none;}
@media(max-width:820px){
  .ksr-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:11px;background:transparent;border:0;cursor:pointer;}
  .ksr-burger span{display:block;height:2px;width:100%;background:var(--foam,#EDE4D3);border-radius:2px;}
  .bar .brand{margin-right:auto;}
  .ksr-nav__inner .ksr-nav__brand{margin-right:auto;}
  .ksr-mobile-nav{display:block;max-height:0;overflow:hidden;transition:max-height .32s ease;background:rgba(10,14,20,.98);border-top:1px solid rgba(255,255,255,.08);}
  .ksr-mobile-nav.open{max-height:80vh;}
  .ksr-mobile-nav ul.menu{list-style:none;margin:0;padding:6px 22px 20px;display:flex;flex-direction:column;gap:0;}
  .ksr-mobile-nav ul.menu li{margin:0;}
  .ksr-mobile-nav ul.menu a{display:block;padding:14px 2px;color:var(--foam,#EDE4D3);text-decoration:none;font-size:1.08rem;border-bottom:1px solid rgba(255,255,255,.08);}
  .ksr-mobile-nav ul.menu a:hover{color:var(--cyan,#36d6e7);}
}
