/* Blackout — high class bar | lounge · Würzburg */

/* Schriften lokal (kein Google-Fonts-Abruf, keine IP-Übertragung) */
@font-face{font-family:'Audiowide';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/audiowide-400.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jetbrains-mono-400.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jetbrains-mono-500.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/sora-300.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/sora-400.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/sora-500.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/sora-600.woff2') format('woff2')}

:root{
  --void:#050307;
  --deep:#0d0815;
  --deep-2:#150d24;
  --line:#2a1d40;
  --line-2:#3b2a5a;
  --velvet:#a099b8;
  --light:#f4f0ff;
  --violet:#a855ff;
  --magenta:#e04dff;
  --uv:#6d2cff;

  --breite:1200px;
  --rund:22px;
  --rund-klein:12px;
  --pille:999px;

  --display:'Audiowide', 'Orbitron', sans-serif;
  --text:'Sora', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mono:'JetBrains Mono', 'IBM Plex Mono', monospace;

  --glow:0 0 40px rgba(168,85,255,0.45), 0 0 120px rgba(168,85,255,0.18);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--void);
  color:var(--light);
  font-family:var(--text);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p,figure{margin:0}
button{font:inherit}
::selection{background:var(--violet);color:var(--void)}
a:focus-visible,button:focus-visible{outline:2px solid var(--magenta);outline-offset:3px;border-radius:6px}

.wrap{max-width:var(--breite);margin:0 auto;padding:0 28px}

/* Typografie */
.eyebrow{
  font-family:var(--mono);
  font-size:11.5px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--violet);
  display:inline-flex;
  align-items:center;
  gap:12px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:linear-gradient(90deg,var(--magenta),var(--violet))}
.titel{
  font-family:var(--display);
  font-weight:400;
  line-height:1.08;
  letter-spacing:0.01em;
  color:var(--light);
  text-wrap:balance;
}
h2.titel{font-size:clamp(28px,4.2vw,50px);margin-top:16px}
.titel em{font-style:normal;color:var(--violet);text-shadow:0 0 30px rgba(168,85,255,0.55)}
.fliess{color:var(--velvet);font-size:16px;font-weight:300;max-width:58ch}
.fliess strong{color:var(--light);font-weight:600}
.fliess--gross{font-size:clamp(17px,1.8vw,20px)}

/* Knöpfe */
.knopf{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 28px;border-radius:var(--pille);
  font-weight:600;font-size:15px;letter-spacing:0.01em;
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .2s ease, box-shadow .25s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.knopf svg{width:18px;height:18px;flex:none}
.knopf--licht{
  background:linear-gradient(135deg,var(--magenta),var(--uv));
  color:#fff;
  box-shadow:0 0 0 rgba(168,85,255,0);
}
.knopf--licht:hover{transform:translateY(-2px);box-shadow:0 12px 40px -8px rgba(224,77,255,0.65)}
.knopf--glas{
  background:rgba(255,255,255,0.04);
  border-color:var(--line-2);
  color:var(--light);
  backdrop-filter:blur(8px);
}
.knopf--glas:hover{border-color:var(--violet);background:rgba(168,85,255,0.08)}
.knopf--klein{padding:11px 20px;font-size:13.5px}

/* Lichtkegel (nur Desktop mit Maus) */
.lichtkegel{
  position:fixed;left:0;top:0;width:520px;height:520px;
  border-radius:50%;pointer-events:none;z-index:1;
  background:radial-gradient(circle, rgba(168,85,255,0.16), rgba(168,85,255,0.05) 40%, transparent 70%);
  transform:translate(-50%,-50%);
  opacity:0;transition:opacity .6s ease;
  mix-blend-mode:screen;
}
@media (hover:hover) and (pointer:fine){.lichtkegel.ist-aktiv{opacity:1}}

/* Kopfzeile */
.kopfzeile{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:20px 0;
  transition:background .3s ease, padding .3s ease, border-color .3s ease;
  border-bottom:1px solid transparent;
}
.kopfzeile.ist-gescrollt{
  background:rgba(5,3,7,0.72);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom-color:var(--line);
  padding:12px 0;
}
.kopfzeile .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
.marke{display:flex;align-items:center;gap:12px}
.marke img{width:44px;height:44px;filter:drop-shadow(0 0 14px rgba(168,85,255,0.55))}
.marke__wort{font-family:var(--display);font-size:20px;letter-spacing:0.04em;line-height:1;text-transform:lowercase}
.marke__wort small{
  display:block;font-family:var(--mono);font-size:9px;letter-spacing:0.22em;
  color:var(--velvet);text-transform:lowercase;margin-top:4px;
}
.nav{display:flex;align-items:center;gap:36px}
.nav__links{display:flex;gap:30px}
.nav__links a{font-size:14px;color:var(--velvet);position:relative;padding:4px 0;transition:color .15s ease}
.nav__links a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--violet);transition:width .25s ease;
}
.nav__links a:hover{color:var(--light)}
.nav__links a:hover::after{width:100%}
.nav__burger{display:none;background:none;border:none;color:var(--light);padding:8px;cursor:pointer}
.nav__burger svg{width:26px;height:26px}
.nav__burger .zu{display:none}
.nav__burger[aria-expanded="true"] .auf{display:none}
.nav__burger[aria-expanded="true"] .zu{display:block}

/* Hero */
.hero{
  position:relative;
  min-height:100svh;
  display:grid;
  align-items:center;
  padding:130px 0 90px;
  overflow:hidden;
  isolation:isolate;
}
.hero__ambient{
  position:absolute;inset:-10%;z-index:-2;
  background:url("../img/hero-blur.jpg") center/cover no-repeat;
  opacity:0;
  filter:saturate(1.3) brightness(0.55);
  animation:ambient 2.4s ease-out 1.1s forwards;
}
.hero__ambient::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(1000px 700px at 75% 50%, rgba(168,85,255,0.28), transparent 60%),
    linear-gradient(180deg, rgba(5,3,7,0.55), rgba(5,3,7,0.65) 60%, var(--void));
}
@keyframes ambient{to{opacity:1}}
.hero__gitter{
  position:absolute;inset:0;z-index:-1;
  background-image:
    linear-gradient(rgba(168,85,255,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(168,85,255,0.06) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse at 50% 40%, black 20%, transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 40%, black 20%, transparent 70%);
}
.hero .wrap{
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  gap:64px;
  align-items:center;
}
.hero .wrap > *{min-width:0}
.hero__text{position:relative}
.power{
  width:92px;height:92px;
  position:relative;
  margin-bottom:34px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  opacity:0;
  animation:power-an 1.4s cubic-bezier(.2,.8,.2,1) .15s forwards;
}
.power img{width:100%;height:100%;filter:drop-shadow(0 0 18px rgba(168,85,255,0.7)) drop-shadow(0 0 60px rgba(168,85,255,0.35))}
.power::before{
  content:"";position:absolute;inset:-18px;border-radius:50%;
  background:radial-gradient(circle, rgba(168,85,255,0.35), transparent 65%);
  animation:pulsieren 3.2s ease-in-out 1.6s infinite;
}
@keyframes power-an{
  0%{opacity:0;transform:scale(.6)}
  55%{opacity:1;transform:scale(1.08)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes pulsieren{
  0%,100%{opacity:.55;transform:scale(1)}
  50%{opacity:1;transform:scale(1.15)}
}
.hero__eyebrow{opacity:0;animation:einblenden .8s ease-out .9s forwards}
.hero h1{
  font-size:clamp(40px,4.6vw,68px);
  margin-top:18px;
  opacity:0;
  animation:einblenden 1s ease-out 1.05s forwards;
}
.hero h1 span{display:block}
.hero h1 .an{color:var(--violet);text-shadow:0 0 34px rgba(168,85,255,0.75), 0 0 90px rgba(168,85,255,0.35)}
.hero p.fliess{margin-top:24px;opacity:0;animation:einblenden .9s ease-out 1.3s forwards}
.hero__aktionen{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;opacity:0;animation:einblenden .9s ease-out 1.5s forwards}
.hero__fakten{
  display:flex;gap:28px;flex-wrap:wrap;margin-top:44px;
  font-family:var(--mono);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--velvet);
  opacity:0;animation:einblenden .9s ease-out 1.7s forwards;
}
.hero__fakten span{display:flex;align-items:center;gap:8px}
.hero__fakten i{width:6px;height:6px;border-radius:50%;background:var(--violet);box-shadow:0 0 10px var(--violet)}

.hero__bild{
  position:relative;
  opacity:0;
  animation:bild-an 1.6s cubic-bezier(.2,.8,.2,1) 1.1s forwards;
}
@keyframes bild-an{
  from{opacity:0;transform:translateY(30px) scale(.96);filter:brightness(0.2)}
  to{opacity:1;transform:translateY(0) scale(1);filter:brightness(1)}
}
.hero__rahmen{
  position:relative;
  border-radius:var(--rund);
  overflow:hidden;
  aspect-ratio:1/1;
  box-shadow:0 40px 100px -30px rgba(168,85,255,0.5), 0 0 0 1px var(--line-2);
}
.hero__rahmen img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 1.2s ease}
.hero__bild:hover .hero__rahmen img{transform:scale(1.06)}
.hero__rahmen::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(5,3,7,0.7));
}
.hero__etikett{
  position:absolute;left:22px;bottom:22px;z-index:1;
  background:rgba(5,3,7,0.55);backdrop-filter:blur(10px);
  border:1px solid var(--line-2);border-radius:var(--rund-klein);
  padding:12px 16px;font-family:var(--mono);font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--light);
  display:flex;align-items:center;gap:10px;
}
.hero__etikett i{width:8px;height:8px;border-radius:50%;background:var(--magenta);box-shadow:0 0 12px var(--magenta);animation:pulsieren 2s ease-in-out infinite}
.hero__lichtrand{
  position:absolute;inset:-2px;border-radius:calc(var(--rund) + 2px);z-index:-1;
  background:conic-gradient(from 180deg, transparent, var(--violet), transparent 30%, transparent 60%, var(--magenta), transparent);
  filter:blur(18px);opacity:.7;
}
@keyframes einblenden{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* Scroll-Enthüllung */
.js .enthuellen{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1)}
.js .enthuellen.ist-sichtbar{opacity:1;transform:none}
.enthuellen[data-verzug="1"]{transition-delay:.12s}
.enthuellen[data-verzug="2"]{transition-delay:.24s}
.enthuellen[data-verzug="3"]{transition-delay:.36s}

/* Abschnitte */
.block{padding:120px 0;position:relative}
.block--dicht{padding:90px 0}
.block__kopf{max-width:720px}
.block__kopf .fliess{margin-top:20px}

/* Der Raum — Editorial-Raster */
.raum{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:24px;
  margin-top:56px;
}
.raum__bild{
  border-radius:var(--rund);overflow:hidden;position:relative;
  min-height:560px;
  box-shadow:0 0 0 1px var(--line);
}
.raum__bild img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1.4s ease}
.raum__bild:hover img{transform:scale(1.05)}
.raum__bild figcaption{
  position:absolute;left:24px;right:24px;bottom:24px;z-index:1;
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--light);
  padding-top:14px;border-top:1px solid rgba(255,255,255,0.25);
}
.raum__bild::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(5,3,7,0.75))}
.raum__karten{display:grid;grid-template-rows:1fr 1fr;gap:24px}
.raumkarte{
  position:relative;border-radius:var(--rund);overflow:hidden;
  background:var(--deep);border:1px solid var(--line);
  display:grid;grid-template-columns:1fr 1fr;min-height:268px;
}
.raumkarte__text{padding:34px 32px;display:flex;flex-direction:column;justify-content:center}
.raumkarte h3{font-family:var(--display);font-size:22px;font-weight:400;letter-spacing:0.02em}
.raumkarte p{color:var(--velvet);font-size:14.5px;font-weight:300;margin-top:12px}
.raumkarte img{width:100%;height:100%;object-fit:cover;position:absolute;right:0;top:0;bottom:0;transition:transform 1.2s ease}
.raumkarte__bild{position:relative;overflow:hidden}
.raumkarte:hover .raumkarte__bild img{transform:scale(1.06)}
.raumkarte__bild::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--deep),transparent 40%)}

/* Erlebnis-Kacheln */
.erlebnis{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:56px;
}
.kachel{
  background:linear-gradient(180deg, var(--deep-2), var(--deep));
  border:1px solid var(--line);border-radius:var(--rund);
  padding:32px 26px;position:relative;overflow:hidden;
  transition:transform .3s ease, border-color .3s ease;
}
.kachel::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(400px 200px at 20% 0%, rgba(168,85,255,0.18), transparent 60%);
  opacity:0;transition:opacity .4s ease;
}
.kachel:hover{transform:translateY(-4px);border-color:var(--line-2)}
.kachel:hover::before{opacity:1}
.kachel__glyph{
  width:46px;height:46px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(168,85,255,0.12);border:1px solid var(--line-2);
  color:var(--violet);margin-bottom:22px;position:relative;
}
.kachel__glyph svg{width:22px;height:22px}
.kachel h3{font-size:17px;font-weight:600;position:relative}
.kachel p{color:var(--velvet);font-size:14px;font-weight:300;margin-top:10px;position:relative}

/* Karte */
.karte{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:start;margin-top:56px}
.karte__bild{
  position:sticky;top:110px;border-radius:var(--rund);overflow:hidden;
  box-shadow:0 30px 80px -30px rgba(224,77,255,0.45), 0 0 0 1px var(--line);
}
.karte__bild img{aspect-ratio:1/1;object-fit:cover;width:100%}
.karte__bild figcaption{
  position:absolute;left:20px;bottom:20px;
  background:rgba(5,3,7,0.55);backdrop-filter:blur(10px);border:1px solid var(--line-2);
  border-radius:var(--rund-klein);padding:10px 14px;
  font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;
}
.karte__gruppe + .karte__gruppe{margin-top:56px}
.karte__gruppe h3{
  font-family:var(--display);font-size:20px;font-weight:400;letter-spacing:0.03em;
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding-bottom:14px;border-bottom:1px solid var(--line-2);
}
.karte__gruppe h3 small{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;color:var(--velvet);text-transform:uppercase}
.sorte{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:16px 0;border-bottom:1px solid var(--line);
}
.sorte__name{font-size:16px;font-weight:500}
.sorte__tag{
  display:inline-block;margin-left:10px;padding:2px 8px;border-radius:var(--pille);
  font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--magenta);border:1px solid rgba(224,77,255,0.35);vertical-align:middle;
}
.sorte__preis{font-family:var(--mono);font-size:15px;color:var(--velvet);white-space:nowrap}
.sorte__preis b{color:var(--light);font-weight:500}
.karte-hinweis{font-family:var(--mono);font-size:11.5px;color:var(--velvet);margin-top:18px;letter-spacing:0.04em}

/* Specials */
.specials{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.special{
  border-radius:var(--rund);padding:36px 30px;position:relative;overflow:hidden;
  background:var(--deep);border:1px solid var(--line);
  min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;
}
.special::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(500px 260px at 50% -10%, rgba(224,77,255,0.22), transparent 60%);
}
.special__wann{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--magenta);position:relative}
.special h3{font-family:var(--display);font-size:26px;font-weight:400;margin-top:12px;letter-spacing:0.02em;position:relative}
.special p{color:var(--velvet);font-size:14.5px;font-weight:300;margin-top:12px;position:relative}
.special__nr{
  position:absolute;top:26px;right:26px;
  font-family:var(--display);font-size:44px;color:rgba(168,85,255,0.16);line-height:1;
}

/* Galerie */
.galerie{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:56px}
.galerie button{
  border:none;padding:0;background:none;cursor:pointer;
  border-radius:var(--rund-klein);overflow:hidden;position:relative;
  aspect-ratio:1/1;
}
.galerie button img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.galerie button:hover img{transform:scale(1.06)}
.galerie button::after{
  content:"";position:absolute;inset:0;
  box-shadow:inset 0 0 0 1px rgba(168,85,255,0.25);border-radius:inherit;
  transition:box-shadow .3s ease;
}
.galerie button:hover::after{box-shadow:inset 0 0 0 2px var(--violet)}
.galerie button:nth-child(1){grid-column:span 2;grid-row:span 2}

.lichtbox{
  position:fixed;inset:0;z-index:300;
  background:rgba(5,3,7,0.94);backdrop-filter:blur(10px);
  display:none;align-items:center;justify-content:center;padding:24px;
}
.lichtbox.ist-offen{display:flex}
.lichtbox img{max-width:min(92vw,900px);max-height:86vh;border-radius:var(--rund-klein);box-shadow:var(--glow)}
.lichtbox__zu{
  position:absolute;top:22px;right:22px;
  background:rgba(255,255,255,0.06);border:1px solid var(--line-2);color:var(--light);
  width:46px;height:46px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.lichtbox__zu svg{width:20px;height:20px}

/* Reservieren-Band */
.band{
  position:relative;overflow:hidden;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:
    radial-gradient(900px 500px at 15% 50%, rgba(109,44,255,0.28), transparent 60%),
    radial-gradient(700px 400px at 90% 50%, rgba(224,77,255,0.18), transparent 60%),
    var(--deep);
}
.band__inner{display:grid;grid-template-columns:1.15fr 0.85fr;gap:64px;align-items:center}
.band .titel{font-size:clamp(30px,4vw,48px)}
.stunden{margin-top:24px;font-family:var(--mono);font-size:14px}
.stunden div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--line-2);color:var(--velvet)}
.stunden div span:last-child{color:var(--light)}

/* Standort */
.standort{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.adresse{font-family:var(--mono);font-size:14px;color:var(--velvet);margin-top:22px;line-height:1.9}
.adresse b{color:var(--light);font-weight:500}
.platzhalter{color:var(--magenta)}
.kartenfeld{
  aspect-ratio:16/11;border-radius:var(--rund);border:1px solid var(--line);
  position:relative;overflow:hidden;
  background:
    radial-gradient(400px 300px at 50% 50%, rgba(168,85,255,0.15), transparent 70%),
    repeating-linear-gradient(0deg, transparent, transparent 31px, var(--line) 32px),
    repeating-linear-gradient(90deg, transparent, transparent 31px, var(--line) 32px),
    var(--deep);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  font-family:var(--mono);font-size:12px;letter-spacing:0.08em;color:var(--velvet);text-align:center;padding:24px;
}
.kartenfeld .pin{
  width:54px;height:54px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(168,85,255,0.15);border:1px solid var(--line-2);color:var(--violet);
  box-shadow:0 0 30px rgba(168,85,255,0.35);
}
.kartenfeld .pin svg{width:24px;height:24px}
.sozial{display:flex;gap:12px;margin-top:26px}
.sozial a{
  width:44px;height:44px;border-radius:50%;
  border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;
  color:var(--velvet);transition:all .2s ease;
}
.sozial a svg{width:18px;height:18px}
.sozial a:hover{color:var(--light);border-color:var(--violet);box-shadow:0 0 20px rgba(168,85,255,0.35)}

/* Fuß */
.fuss{border-top:1px solid var(--line);padding:64px 0 120px;background:var(--void)}
.fuss__oben{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.fuss__oben .fliess{font-size:14px;margin-top:16px;max-width:36ch}
.fuss h5{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--velvet);margin:0 0 16px}
.fuss__spalte a,.fuss__spalte p{display:block;color:var(--velvet);font-size:14px;margin-bottom:10px;font-weight:300}
.fuss__spalte a:hover{color:var(--light)}
.fuss__unten{
  margin-top:48px;padding-top:24px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-family:var(--mono);font-size:11.5px;color:var(--velvet);letter-spacing:0.04em;
}

/* Mobile Aktionsleiste */
.aktionsleiste{
  position:fixed;left:0;right:0;bottom:0;z-index:95;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:rgba(5,3,7,0.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-top:1px solid var(--line);
  display:none;gap:10px;
}
.aktionsleiste .knopf{flex:1;padding:14px 16px;font-size:14px}

/* Rechtstexte */
.rechts{padding:170px 0 110px;max-width:760px}
.rechts h1{font-family:var(--display);font-size:clamp(32px,5vw,52px);margin-bottom:28px}
.rechts h2{font-size:18px;font-weight:600;margin:36px 0 10px}
.rechts p{color:var(--velvet);margin-bottom:10px;font-weight:300}
.rechts a.knopf{margin-top:36px}

/* Bewegungsreduktion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
  .hero__ambient,.power,.hero__eyebrow,.hero h1,.hero p.fliess,.hero__aktionen,.hero__fakten,.hero__bild{opacity:1}
  .js .enthuellen{opacity:1;transform:none}
}

/* Responsiv */
@media (max-width:1080px){
  .erlebnis{grid-template-columns:repeat(2,1fr)}
  .fuss__oben{grid-template-columns:1fr 1fr}
  .raum{grid-template-columns:1fr}
  .raum__bild{min-height:420px}
  .raum__karten{grid-template-rows:none}
}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:44px}
  .hero{padding:120px 0 70px}
  .karte,.band__inner,.standort{grid-template-columns:1fr;gap:40px}
  .karte__bild{position:static}
  .specials{grid-template-columns:1fr}
  .galerie{grid-template-columns:repeat(2,1fr)}
  .galerie button:nth-child(1){grid-column:span 2;grid-row:span 1}
  .block{padding:90px 0}
}
@media (max-width:760px){
  .nav__links{
    position:fixed;top:0;right:0;bottom:0;width:min(82vw,340px);
    background:rgba(13,8,21,0.96);backdrop-filter:blur(20px);
    border-left:1px solid var(--line);
    flex-direction:column;gap:0;padding:110px 34px 40px;
    transform:translateX(100%);transition:transform .32s cubic-bezier(.2,.8,.2,1);
  }
  .nav__links.ist-offen{transform:translateX(0)}
  .nav__links a{font-size:18px;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--display);letter-spacing:0.03em}
  .nav__links a::after{display:none}
  .nav__burger{display:block}
  .nav .knopf{display:none}
  .aktionsleiste{display:flex}
  .fuss{padding-bottom:140px}
  .hero__fakten{gap:16px}
  .raumkarte{grid-template-columns:1fr;min-height:0}
  .raumkarte__bild{aspect-ratio:16/10;order:-1}
  .raumkarte img{position:static}
  .raumkarte__bild::before{background:linear-gradient(180deg,transparent 50%,var(--deep))}
  .wrap{padding:0 20px}
}
@media (max-width:520px){
  .erlebnis{grid-template-columns:1fr}
  .fuss__oben{grid-template-columns:1fr}
  .hero h1{font-size:clamp(28px,10.5vw,54px)}
  .titel{overflow-wrap:anywhere;hyphens:auto}
  .hero__aktionen .knopf{width:100%}
  .knopf{white-space:normal;text-align:center}
  .aktionsleiste .knopf--glas{flex:0 0 auto}
}
@media (max-width:400px){
  .marke__wort small{display:none}
}

/* ===== KARTE (karte.html) ===== */
.kseite{padding-top:96px}
.kkopf{padding:34px 0 22px;text-align:center}
.kkopf h1{font-family:var(--display);font-size:clamp(34px,8vw,64px);line-height:1;margin-top:14px}
.kkopf .fliess{margin:16px auto 0;max-width:50ch}
.kkopf .eyebrow{justify-content:center}

.anker{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:30px 0 8px}
.anker__feld{
  background:linear-gradient(160deg,var(--deep-2),var(--deep));
  border:1px solid var(--line);border-radius:var(--rund-klein);
  padding:16px 14px;text-align:center;position:relative;overflow:hidden;
}
.anker__feld::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120px 60px at 50% 0%, rgba(168,85,255,0.18), transparent 70%);
}
.anker__wert{font-family:var(--display);font-size:clamp(19px,4.4vw,26px);color:var(--light);line-height:1;display:block}
.anker__wert i{font-style:normal;font-size:0.58em;color:var(--velvet)}
.anker__was{
  display:block;margin-top:8px;font-family:var(--mono);font-size:10px;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--velvet);
}
.anker__feld--hell{border-color:var(--violet);background:linear-gradient(160deg,rgba(168,85,255,0.22),rgba(109,44,255,0.10))}
.anker__feld--hell .anker__wert{text-shadow:0 0 22px rgba(224,77,255,0.7)}
.anker__feld--hell .anker__was{color:#e9dcff}

.kartenav{
  position:sticky;top:64px;z-index:90;margin:26px 0 0;
  background:rgba(5,3,7,0.86);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.kartenav__spur{
  display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;
  padding:11px 28px;max-width:var(--breite);margin:0 auto;
}
.kartenav__spur::-webkit-scrollbar{display:none}
.kartenav a{
  flex:none;padding:9px 17px;border-radius:var(--pille);
  border:1px solid var(--line-2);
  font-family:var(--mono);font-size:12px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--velvet);white-space:nowrap;
  transition:color .2s ease, border-color .2s ease, background .2s ease;
}
.kartenav a:hover{color:var(--light);border-color:var(--violet)}
.kartenav a.ist-aktiv{
  color:#fff;border-color:transparent;
  background:linear-gradient(135deg,var(--magenta),var(--uv));
  box-shadow:0 0 22px -4px rgba(224,77,255,0.8);
}

.specialbox{
  margin:40px 0 0;border:1px solid var(--violet);border-radius:var(--rund);
  background:linear-gradient(150deg,rgba(168,85,255,0.16),rgba(13,8,21,0.9) 55%);
  padding:30px 30px 26px;position:relative;overflow:hidden;
}
.specialbox::before{
  content:"";position:absolute;top:-60%;right:-10%;width:340px;height:340px;
  background:radial-gradient(circle,rgba(224,77,255,0.28),transparent 68%);pointer-events:none;
}
.specialbox__kopf{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:relative}
.specialbox__kopf h2{font-family:var(--display);font-size:clamp(22px,4vw,30px);line-height:1}
.blitz{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;
  color:#fff;background:linear-gradient(135deg,var(--magenta),var(--uv));
  padding:6px 12px;border-radius:var(--pille);
}
.deals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px;position:relative}
.deal{background:rgba(5,3,7,0.5);border:1px solid var(--line-2);border-radius:var(--rund-klein);padding:18px}
.deal__wann{font-family:var(--mono);font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--magenta)}
.deal h3{font-size:16.5px;font-weight:600;margin-top:9px;line-height:1.3}
.deal p{color:var(--velvet);font-size:13.5px;font-weight:300;margin-top:6px;line-height:1.55}
.deal__preis{display:inline-block;margin-top:12px;font-family:var(--display);font-size:20px;color:var(--violet);text-shadow:0 0 20px rgba(168,85,255,0.6)}

.msektion{padding:56px 0 0;scroll-margin-top:124px}
.msektion__kopf{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding-bottom:14px;margin-bottom:26px;border-bottom:1px solid var(--line);
}
.msektion__kopf h2{font-family:var(--display);font-size:clamp(23px,4.6vw,34px);line-height:1}
.msektion__kopf span{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--velvet);text-align:right}

.mraster{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.mgruppe{background:var(--deep);border:1px solid var(--line);border-radius:var(--rund-klein);padding:20px 20px 18px;transition:border-color .25s ease}
.mgruppe:hover{border-color:var(--line-2)}
.mgruppe--voll{grid-column:1 / -1}
.mgruppe__kopf{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:13px;border-bottom:1px dashed var(--line-2)}
.mgruppe__kopf h3{font-family:var(--display);font-size:16px;letter-spacing:0.02em;text-transform:lowercase;color:var(--light);line-height:1.15}
.mgruppe__kopf h3 small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--velvet);margin-top:5px;font-weight:400}
.preis{font-family:var(--display);font-size:17px;color:var(--violet);white-space:nowrap;text-shadow:0 0 18px rgba(168,85,255,0.45);text-align:right}
.preis small{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:0.12em;color:var(--velvet);margin-top:3px;text-shadow:none}

.mliste{display:flex;flex-direction:column;gap:11px}
.mitem{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.mitem__text{min-width:0}
.mitem__name{font-size:14.5px;font-weight:500;color:var(--light);line-height:1.35}
.mitem__zu{display:block;font-size:12px;font-weight:300;color:var(--velvet);line-height:1.5;margin-top:2px}
.mitem__preis{font-family:var(--mono);font-size:13.5px;color:var(--light);white-space:nowrap;font-weight:500}

.mzeilen{display:flex;flex-direction:column}
.mzeile{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(42,29,64,0.6)}
.mzeile:last-child{border-bottom:none}
.mzeile__name{font-size:14px;font-weight:400}
.mzeile__name i{font-style:normal;font-family:var(--mono);font-size:10.5px;color:var(--velvet);margin-left:7px}
.mzeile__preis{font-family:var(--mono);font-size:13.5px;font-weight:500;white-space:nowrap}

.mhinweis{font-family:var(--mono);font-size:11.5px;color:var(--velvet);margin-top:14px;line-height:1.7}
.zusatz{margin:54px 0 0;border-top:1px solid var(--line);padding-top:26px}
.zusatz h3{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--velvet);margin-bottom:14px}
.zusatz ol{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 24px;margin:0;padding:0;list-style:none;font-size:12.5px;color:var(--velvet);font-weight:300}
.zusatz li i{font-style:normal;font-family:var(--mono);font-size:10.5px;color:var(--violet);margin-right:7px}

.kschluss{margin:56px 0 0;text-align:center;border:1px solid var(--line);border-radius:var(--rund);background:linear-gradient(160deg,var(--deep-2),var(--deep));padding:44px 30px}
.kschluss h2{font-family:var(--display);font-size:clamp(22px,4.4vw,34px);line-height:1.1}
.kschluss .fliess{margin:16px auto 26px;max-width:46ch}
.kseite .aktionsleiste{display:flex}
.kseite .fuss{padding-bottom:120px}

@media (max-width:980px){
  .deals{grid-template-columns:1fr}
  .zusatz ol{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .kseite{padding-top:78px}
  .kartenav{top:58px}
  .kartenav__spur{padding:10px 20px}
  .mraster{grid-template-columns:1fr}
  .msektion{padding-top:44px;scroll-margin-top:116px}
  .specialbox{padding:24px 20px 22px;border-radius:var(--rund-klein)}
  .kseite .fuss{padding-bottom:150px}
}
@media (max-width:520px){
  .anker{grid-template-columns:repeat(2,1fr);gap:10px}
  .zusatz ol{grid-template-columns:1fr}
  .msektion__kopf{flex-direction:column;align-items:flex-start;gap:4px}
  .msektion__kopf span{text-align:left}
}

/* Zeilen mit umbrechendem Namen: Preis bleibt auf Höhe der ersten Zeile */
.mzeile{align-items:flex-start}
.mzeile__name{line-height:1.5}
.mzeile__preis{line-height:1.5}

/* Zweispaltiger Infoblock (Öffnungszeiten + Adresse) */
.zwei{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.zwei .titel{font-size:clamp(24px,3.4vw,38px)}
.stunden--gross{font-size:16px;margin-top:22px}
.stunden--gross div{padding:12px 0}
.stunden--gross div span:last-child{color:var(--light);font-weight:500}

/* Kopfbereich etwas knapper, damit die Öffnungszeiten früher sichtbar sind */
.hero--knapp{min-height:auto;padding:150px 0 80px}

@media (max-width:900px){
  .zwei{grid-template-columns:1fr;gap:44px}
}
@media (max-width:760px){
  .hero--knapp{padding:120px 0 60px}
}

/* Handy: Kopfbereich straffen, damit Öffnungszeiten und Karte früher kommen.
   Das Logo steht bereits in der Kopfzeile, im Hero ist es dort verzichtbar. */
@media (max-width:760px){
  .hero--knapp .power{display:none}
  .hero--knapp{padding:96px 0 44px}
  .hero--knapp h1{font-size:clamp(30px,11vw,52px)}
  .hero--knapp .fliess--gross{font-size:16px;margin-top:16px}
  .hero--knapp .hero__aktionen{margin-top:24px;gap:10px}
  .hero--knapp .hero__fakten{margin-top:22px}
  .hero--knapp .hero__bild{display:none}
}

/* Handy: Preise vor das Foto, engere Abstände.
   Wer die Seite öffnet, will zuerst Zeiten und Preise sehen, nicht scrollen. */
@media (max-width:760px){
  .block{padding:56px 0}
  .block--dicht{padding:48px 0}
  .karte{gap:26px}
  .karte__bild{order:2;aspect-ratio:16/11}
  .karte__bild img{object-fit:cover}
  .raum{gap:22px}
  .raum__bild{min-height:300px}
  .zwei{gap:36px}
  .band__inner{gap:30px}
}
