/* ====================================================
   ifrit-style.css — Ifrit Flammenzunge Custom Theme
   Version: 1.0 | Eingebunden via functions.php
   ==================================================== */

:root {
  --black:  #000;
  --deep:   #090909;
  --panel:  #111;
  --red:    #c41010;
  --rhot:   #ee2222;
  --line:   rgba(196,16,16,.2);
  --text:   #f0e6e2;
  --sub:    #c8b4ae;
  --dim:    #8a7470;
  --white:  #fff;
}

/* ── RESET & BASE ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--text);font-family:&quot;Raleway&quot;,sans-serif;font-weight:400;line-height:1.75;overflow-x:hidden}

/* grain overlay */
body::after{content:&quot;&quot;;position:fixed;inset:0;pointer-events:none;z-index:9000;
  background-image:url(&quot;data:image/svg+xml,%3Csvg viewBox=&#039;0 0 200 200&#039; xmlns=&#039;http://www.w3.org/2000/svg&#039;%3E%3Cfilter id=&#039;n&#039;%3E%3CfeTurbulence type=&#039;fractalNoise&#039; baseFrequency=&#039;.85&#039; numOctaves=&#039;4&#039; stitchTiles=&#039;stitch&#039;/%3E%3C/filter%3E%3Crect width=&#039;100%25&#039; height=&#039;100%25&#039; filter=&#039;url(%23n)&#039; opacity=&#039;.045&#039;/%3E%3C/svg%3E&quot;);
  opacity:.2}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;justify-content:space-between;align-items:center;
  padding:1rem 3.5rem;
  background:linear-gradient(to bottom,rgba(0,0,0,.92),transparent);
  transition:background .35s,border-color .35s}
nav.scrolled{background:rgba(0,0,0,.97);border-bottom:1px solid var(--line)}
.nav-logo img{height:48px;width:auto;display:block;
  filter:drop-shadow(0 0 7px rgba(196,16,16,.8));transition:filter .3s}
.nav-logo img:hover{filter:drop-shadow(0 0 16px rgba(238,34,34,.95))}
.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}
.nav-links a{font-family:&quot;Cinzel&quot;,serif;font-size:.67rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--sub);text-decoration:none;transition:color .3s}
.nav-links a:hover{color:var(--rhot)}
.nav-cta{padding:.48rem 1.3rem;border:1px solid rgba(196,16,16,.4);
  color:var(--sub)!important;transition:color .3s,border-color .3s,background .3s!important}
.nav-cta:hover{color:var(--white)!important;border-color:var(--rhot)!important;
  background:rgba(196,16,16,.14)!important}

/* ── HERO ── */
#hero{min-height:100vh;display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  text-align:center;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;
  background:radial-gradient(ellipse 55% 48% at 50% 100%,rgba(180,10,10,.3) 0%,transparent 65%),#000}
.hero-glow{position:absolute;bottom:-8%;left:50%;transform:translateX(-50%);
  width:500px;height:320px;
  background:radial-gradient(ellipse at 50% 90%,rgba(196,16,16,.25) 0%,transparent 68%);
  animation:breathe 5s ease-in-out infinite alternate}
@keyframes breathe{
  from{opacity:.6;transform:translateX(-50%) scaleX(.94)}
  to  {opacity:1; transform:translateX(-50%) scaleX(1.06)}}
.hero-content{position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:1.5rem;
  animation:rise 1.2s ease both}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

.hero-logo{width:min(270px,50vw);height:auto;mix-blend-mode:screen;
  filter:drop-shadow(0 0 14px rgba(210,18,18,.95)) drop-shadow(0 0 48px rgba(196,14,14,.5)) drop-shadow(0 0 90px rgba(180,6,6,.22));
  animation:rise 1.2s .1s ease both,glow 7s 2s ease-in-out infinite alternate}
@keyframes glow{
  0%  {filter:drop-shadow(0 0 14px rgba(210,18,18,.9))  drop-shadow(0 0 48px rgba(196,14,14,.48))}
  50% {filter:drop-shadow(0 0 22px rgba(255,36,36,1.0)) drop-shadow(0 0 68px rgba(218,16,16,.72))}
  100%{filter:drop-shadow(0 0 11px rgba(206,16,16,.85)) drop-shadow(0 0 40px rgba(188,10,10,.42))}}

.hero-stats{display:flex;gap:2.5rem;align-items:center;animation:rise 1.2s .3s ease both}
.hero-stat{text-align:center}
.hero-stat-num{font-family:&quot;Cinzel&quot;,serif;font-size:1.6rem;font-weight:700;
  color:var(--white);line-height:1;display:block;text-shadow:0 0 20px rgba(196,16,16,.5)}
.hero-stat-lbl{font-family:&quot;Cinzel&quot;,serif;font-size:.55rem;letter-spacing:.25em;
  text-transform:uppercase;color:var(--dim);display:block;margin-top:.3rem}
.stat-div{width:1px;height:36px;background:var(--line)}

.hero-rule{width:66px;height:1px;
  background:linear-gradient(to right,transparent,var(--red),transparent);
  animation:rise 1.2s .45s ease both}
.hero-sub{font-size:1rem;line-height:1.9;color:var(--sub);
  max-width:460px;animation:rise 1.2s .5s ease both}
.hero-sub strong{color:var(--white);font-weight:600}

.btn-row{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;
  animation:rise 1.2s .62s ease both}
.btn-fire{padding:.82rem 2.2rem;background:var(--red);color:#fff;
  font-family:&quot;Cinzel&quot;,serif;font-size:.67rem;letter-spacing:.2em;text-transform:uppercase;
  text-decoration:none;border:none;cursor:pointer;
  box-shadow:0 0 22px rgba(196,16,16,.4);
  transition:background .25s,box-shadow .3s,transform .2s;
  position:relative;overflow:hidden}
.btn-fire::before{content:&quot;&quot;;position:absolute;inset:0;
  background:rgba(255,255,255,.09);transform:translateX(-100%);transition:transform .4s}
.btn-fire:hover::before{transform:translateX(0)}
.btn-fire:hover{background:var(--rhot);box-shadow:0 0 38px rgba(238,34,34,.6);transform:translateY(-2px)}
.btn-outline{padding:.82rem 2.2rem;background:transparent;color:var(--sub);
  font-family:&quot;Cinzel&quot;,serif;font-size:.67rem;letter-spacing:.2em;text-transform:uppercase;
  text-decoration:none;border:1px solid rgba(196,16,16,.38);cursor:pointer;
  transition:color .3s,border-color .3q}
.btn-outline:hover{color:var(--rhot);border-color:var(--red)}

.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  animation:rise 1.2s 1.1s ease both}
.scroll-hint span{font-family:&quot;Cinzel&quot;,serif;font-size:.55rem;
  letter-spacing:.32em;text-transform:uppercase;color:var(--dim)}
.scroll-bar{width:1px;height:34px;
  background:linear-gradient(to bottom,var(--red),transparent);
  animation:drop 2.2s ease-in-out infinite}
@keyframes drop{0%,100%;opacity:.45;transform:scaleY(.9)}50%{opacity:1;transform:scaleY(1.1)}}

/* ── SHARED ── */
section{padding:6rem 3.5rem}
.lbl{font-family:&quot;Cinzel&quot;,serif;font-size:.76rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--rhot);display:block;margin-bottom:.6rem}
.heading{font-family:&quot;Cinzel&quot;,serif;font-size:clamp(1.8rem,3.5vw,2.6rem);
  font-weight:700;color:var(--white);line-height:1.2;margin-bottom:.9rem;letter-spacing:.04em}
.intro{color:var(--sub);font-size:.95rem;line-height:1.9;max-width:580px}
.rule-wrap{display:flex;align-items:center;gap:.8rem;margin:1.3rem 0 3rem}
.rule-line{width:52px;height:1px;background:linear-gradient(to right,var(--red),transparent)}
.rule-dot{width:5px;height:5px;background:var(--red);transform:rotate(45deg);flex-shrink:0}

/* ── SHOWS ── */
#shows{background:var(--deep)}
.shows-grid{display:grid;
  grid-template-columns:1.6fr 1fr 1fr;
  grid-template-rows:300px 270px;gap:2px}
.sc:nth-child(1){grid-column:1;grid-row:1/3}
.sc:nth-child(2){grid-column:2;grid-row:1}
.sc:nth-child(3){grid-column:3;grid-row:1}
.sc:nth-child(4){grid-column:2/4;grid-row:2}

.sc{position:relative;overflow:hidden;cursor:pointer;background:#060404}
.sc-bg{position:absolute;inset:0;transition:transform .7s ease}
.sc:hover .sc-bg{transform:scale(1.07)}
.sc:nth-child(1) .sc-bg{background:radial-gradient(ellipse at 42% 65%,#5c0b00,#1a0400 55%,#060101)}
.sc:nth-child(2) .sc-bg{background:radial-gradient(ellipse at 55% 40%,#001540,#000520 60%,#020308)}
.sc:nth-child(3) .sc-bg{background:radial-gradient(ellipse at 50% 55%,#280a2a,#0e0210 60%,#060108)}
.sc:nth-child(4) .sc-bg{background:radial-gradient(ellipse at 35% 50%,#3a0800,#120300 55%,#050101)}
.sc:nth-child(1) .sc-bg::after{content:&quot;&quot;;position:absolute;bottom:0;left:20%;width:60%;height:75%;
  background:radial-gradient(ellipse at 50% 100%,rgba(196,16,16,.38) 0%,transparent 68%);
  animation:breathe 4s ease-in-out infinite alternate}
.sc-shade{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.97) 0%,rgba(0,0,0,.5) 42%,rgba(0,0,0,.08) 100%);
  transition:background .4s}
.sc:hover .sc-shade{background:linear-gradient(to top,rgba(0,0,0,.99) 0%,rgba(0,0,0,.66) 52%,rgba(0,0,0,.12) 100%)}
.sc-accent{position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,var(--red),transparent);opacity:0;transition:opacity .4s}
.sc:hover .sc-accent{opacity:1}
.sc-body{position:absolute;bottom:0;left:0;right:0;padding:1.6rem 1.8rem}
.sc-tag{font-family:&quot;Cinzel&quot;,serif;font-size:.72rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--rhot);display:block;margin-bottom:.4rem}
.sc-name{font-family:&quot;Cinzel&quot;,serif;font-weight:700;
  font-size:clamp(1.45rem,4vw,1.7rem);color:var(--white);line-height:1.15;
  text-shadow:0 1px 14px rgba(0,0,0,1)}
.sc-desc{font-size:.82rem;color:var(--sub);line-height:1.75;
  max-height:0;overflow:hidden;opacity:0;
  transition:max-height .5s ease,opacity .4s,margin .4s}
.sc:hover .sc-desc{max-height:100px;opacity:1;margin-top:.55rem}
.sc-link{font-family:&quot;Cinzel&quot;,serif;font-size:.6rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--rhot);display:block;margin-top:.7rem;
  opacity:0;transform:translateY(5px);transition:opacity .35s .08s,transform .35s .08s}
.sc:hover .sc-link{opacity:1;transform:none}

/* ── GALERIE ── */
#gallery{background:var(--black)}
.gal-head{text-align:center;margin-bottom:3rem}
.gal-rule{justify-content:center}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);
  grid-template-rows:280px 230px;gap:4px}
.gi:nth-child(1){grid-column:1/3;grid-row:1/3}
.gi:nth-child(3){grid-column:4;grid-row:1/3}
.gi{position:relative;overflow:hidden;cursor:zoom-in;background:#080404}
.gi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;
  transition:transform .6s ease}
.gi:hover img{transform:scale(1.08)}
.gi-ov{position:absolute;inset:0;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;transition:background .35s;}
.gi:hover .gi-ov{background:rgba(0,0,0,.4);}
.gi-plus{width:44px;height:44px;border:2px solid rgba(255,255,255,0);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:rgba(255,255,255,0);transition:all .35s;line-height:1;}
.gi:hover .gi-plus{opacity:1}
.gal-note{text-align:center;margin-top:.9rem;font-size:.73rem;color:var(--dim);font-style:italic}
.gal-foot{text-align:center;margin-top:2.2rem}

/* ── REFERENZEN ── */
#refs{background:var(--panel)}
.refs-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.refs-highlights{margin-top:2rem}
.refs-highlights h3{font-family:&quot;Cinzel&quot;,serif;font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--dim);margin-bottom:1rem}
.ref-item{display:flex;align-items:flex-start;gap:.8rem;
  padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.05)}
.ref-item:last-child{border-bottom:none}
.ref-dot{width:4px;height:4px;background:var(--red);transform:rotate(45deg);
  flex-shrink:0;margin-top:.55rem}
.ref-text{font-size:.85rem;color:var(--sub);line-height:1.6}
.ref-text strong{color:var(--text);font-weight:600}
.ref-year{font-family:&quot;Cinzel&quot;,serif;font-size:.62rem;color:var(--dim);
  display:block;margin-top:.15rem;letter-spacing:.08em}
.tags{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.tag{padding:.4rem 1rem;border:1px solid var(--line);
  font-family:&quot;Cinzel&quot;,serif;font-size:.62rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--sub);transition:color .3s,border-color .3s;cursor:default}
.tag:hover{color:var(--rhot);border-color:var(--red)}

/* ── KONTAKT ── */
#contact{background:var(--deep);text-align:center;position:relative;overflow:hidden}
#contact::before{content:&quot;&quot;;position:absolute;bottom:-18%;left:50%;transform:translateX(-50%);
  width:560px;height:320px;pointer-events:none;
  background:radial-gradient(ellipse at 50% 100%,rgba(180,10,10,.1) 0%,transparent 70%)}
.con-wrap{position:relative;max-width:560px;margin:0 auto}
.con-title{font-family:&quot;Cinzel&quot;,serif;font-weight:700;
  font-size:clamp(1.7rem,4.5vw,2.8rem);letter-spacing:.04em;
  color:var(--white);text-shadow:0 0 40px rgba(196,16,16,.22);margin-bottom:.8rem}
.con-sub{font-size:.95rem;color:var(--sub);line-height:1.9;margin-bottom:2.8rem}
.con-direct{margin-bottom:2rem}
.con-phone{display:flex;flex-direction:column;align-items:center;gap:.4rem;
  padding:1.6rem 2rem;border:1px solid rgba(196,16,16,.4);
  background:rgba(196,16,16,.06);text-decoration:none;
  transition:background .3s,border-color .3s,transform .2s;cursor:pointer}
.con-phone:hover{background:rgba(196,16,16,.12);border-color:var(--red);transform:translateY(-2px)}
.con-phone-icon{font-size:1.6rem;line-height:1}
.con-phone-num{font-family:&quot;Cinzel&quot;,serif;font-size:clamp(1.2rem,3vw,1.7rem);
  font-weight:700;color:var(--white);letter-spacing:.06em}
.con-phone-lbl{font-size:.78rem;color:var(--sub);letter-spacing:.04em}
.con-or{display:flex;align-items:center;gap:1rem;margin:1.8rem 0 1.5rem}
.con-or-line{flex:1;height:1px;background:rgba(255,255,255,.08)}
.con-or-text{font-family:&quot;Cinzel&quot;,serif;font-size:.6rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--dim);white-space:nowrap}
.con-mail{display:flex;align-items:center;justify-content:center;gap:.8rem;
  color:var(--sub);text-decoration:none;font-size:.95rem;
  transition:color .3s;margin-top:1rem}
.con-mail:hover{color:var(--rhot)}
.con-mail-icon{font-size:1.2rem}
.con-mail-addr{letter-spacing:.04em}

/* ── FOOTER ── */
footer{background:#050505;border-top:1px solid var(--line);
  padding:1.8rem 3.5rem;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.2rem}
.foot-logo img{height:36px;width:auto;filter:drop-shadow(0 0 5px rgba(196,16,16,.5))}
.foot-nav{display:flex;gap:1.6rem;flex-wrap:wrap}
.foot-nav a{font-size:.7rem;color:var(--sub);text-decoration:none;
  letter-spacing:.06em;transition:color .3s}
.foot-nav a:hover{color:var(--rhot)}
.foot-copy{font-size:.68rem;color:var(--dim)}
.foot-top{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.foot-sub{display:flex;gap:.8rem;align-items:center;font-size:.7rem;color:var(--dim)}
.foot-sub a{color:var(--sub);text-decoration:none;transition:color .3s}
.foot-sub a:hover{color:var(--rhot)}

/* ── REVEAL ── */
.rv{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
section .rv:not(.on){opacity:0;transform:translateY(30px)}
.rv.on{opacity:1;transform:none}
.d1{transition-delay:.09s}.d2{transition-delay:.18s}.d3{transition-delay:.27s}

/* ── CURSOR ── */
#cur{position:fixed;width:10px;height:10px;border-radius:50%;
  background:var(--red);mix-blend-mode:screen;
  box-shadow:0 0 10px 3px rgba(196,16,16,.55);
  pointer-events:none;z-index:8999;
  transform:translate(-50%,-50%);transition:width .15s,height .15s}

/* ── RESPONSIVE ── */
@media(max-width:880px){
  nav{padding:.9rem 1.4rem}
  .nav-links{display:none}
  section{padding:4.5rem 1.4rem}
  .shows-grid{grid-template-columns:1fr;grid-template-rows:none}
  .sc{grid-column:auto!important;grid-row:auto!important;min-height:230px}
  .refs-inner{grid-template-columns:1fr}
  .gal-grid{grid-template-columns:1fr 1fr;grid-template-rows:170px 170px 170px}
  .gi:nth-child(1){grid-column:1/3;grid-row:1}
  .gi:nth-child(3){grid-column:auto;grid-row:auto}
  footer{flex-direction:column;text-align:center}
  .hero-stats{flex-direction:column;gap:1.2rem}
  .stat-div{width:40px;height:1px}
}


/* -- Show card GIF overlay -- */
.sc-gif{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;transition:opacity .6s;z-index:1;pointer-events:none;}
/* Feuershow: 2 GIFs alternating always */
.sc .sc-gif:nth-child(4){animation:gifA 8s ease-in-out infinite;}
.sc .sc-gif:nth-child(5){animation:gifB 8s ease-in-out infinite;}
@keyframes gifA{0%,40%{opacity:.38}55%,95%{opacity:0}100%{opacity:.38}}
@keyframes gifB{0%,40%{opacity:0}55%,95%{opacity:.38}100%{opacity:0}}55%,95%{opacity:.4}100%{opacity:0}}

/* ── Lightbox ────────────────────────────────────────────── */
#ifrit-lb{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.93);align-items:center;justify-content:center;}
#ifrit-lb.open{display:flex;}
#ifrit-lb-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:3px;box-shadow:0 8px 40px rgba(0,0,0,.6);}
#ifrit-lb-cl{position:absolute;top:1.2rem;right:1.4rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;opacity:.7;transition:opacity .2s;line-height:1;padding:.3rem .6rem;z-index:1;}
#ifrit-lb-cl:hover{opacity:1;}
#ifrit-lb-prev,#ifrit-lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;font-size:2.4rem;cursor:pointer;padding:.4rem .9rem;border-radius:4px;opacity:.7;transition:opacity .2s;z-index:1;}
#ifrit-lb-prev{left:1.2rem;}#ifrit-lb-next{right:1.2rem;}
#ifrit-lb-prev:hover,#ifrit-lb-next:hover{opacity:1;background:rgba(255,255,255,.15);}

/* -- Referenzen links & footer -- */
.ref-text a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(var(--red-rgb,180,40,20),.35);transition:border-color .25s,color .25s;}
.ref-text a:hover{color:var(--red);border-color:var(--red);}
.refs-foot{text-align:center;padding-top:1rem;}

/* ═══════════════════════════════════════════════════════════
   UNTERSEITEN — Globales Layout
   ═══════════════════════════════════════════════════════════ */

/* Body-Grundlage für alle WP-Seiten */
body{background:var(--black);color:var(--text);}

/* Content-Bereich zwischen Nav und Footer */
#page-main{
  min-height:70vh;
  padding: calc(var(--nav-h,80px) + 4rem) 2rem 5rem;
  max-width:900px;
  margin:0 auto;
}

/* Typografie für WP-Seiteninhalt */
#page-main h1,#page-main h2,#page-main h3{
  font-family:&#039;Cinzel&#039;,serif;
  color:var(--red);
  margin-bottom:1rem;
  line-height:1.2;
}
#page-main h1{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:1.5rem;}
#page-main h2{font-size:clamp(1.3rem,3vw,2rem);}
#page-main h3{font-size:clamp(1.1rem,2vw,1.5rem);}
#page-main p{line-height:1.8;margin-bottom:1.2rem;color:var(--text);}
#page-main a{color:var(--red);text-decoration:none;border-bottom:1px solid rgba(180,40,20,.3);transition:border-color .25s;}
#page-main a:hover{border-color:var(--red);}
#page-main ul,#page-main ol{padding-left:1.5rem;margin-bottom:1.2rem;line-height:1.8;}
#page-main img{max-width:100%;height:auto;border-radius:3px;}

/* Seitentitel-Bereich */
.page-hero{
  text-align:center;
  padding:3rem 0 2.5rem;
  border-bottom:1px solid rgba(255,255,255,.08);
  margin-bottom:3rem;
}
.page-hero .lbl{display:block;margin-bottom:.6rem;}

/* -- page.php Content Body -- */
.page-body{max-width:800px;margin:0 auto;}
.page-body p{line-height:1.9;margin-bottom:1.4rem;}
.page-body h2{margin-top:2.5rem;padding-bottom:.4rem;border-bottom:1px solid rgba(255,255,255,.08);}
.page-body h3{margin-top:1.8rem;}
.page-body ul{list-style:none;padding:0;}
.page-body ul li{padding:.5rem 0 .5rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05);position:relative;}
.page-body ul li::before{content:&quot;▸&quot;;color:var(--red);position:absolute;left:0;}
.page-body table{width:100%;border-collapse:collapse;margin:1.5rem 0;}
.page-body td,.page-body th{padding:.7rem 1rem;border:1px solid rgba(255,255,255,.1);text-align:left;vertical-align:top;}
.page-body th{color:var(--red);font-family:&#039;Cinzel&#039;,serif;font-weight:400;}

/* -- Galerie Unterseite -- */
.gallery-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px;margin-top:2rem;}
.gallery-page-grid .gi{aspect-ratio:4/3;}
.gallery-page-grid .gi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;}

/* -- Referenzen Unterseite -- */
.refs-page-stats{display:flex;gap:2rem;flex-wrap:wrap;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(196,16,16,.2);}
.refs-page-stat{text-align:center;}
.refs-page-stat strong{display:block;font-family:&#039;Cinzel&#039;,serif;font-size:1.6rem;color:var(--red);line-height:1;}
.refs-page-stat span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:.3rem;display:block;}
.refs-page-section{margin-bottom:3rem;}
.refs-page-section h2{font-family:&#039;Cinzel&#039;,serif;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(196,16,16,.25);}
.refs-page-item{display:flex;gap:1.2rem;padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.06);align-items:baseline;}
.refs-page-item.highlight .refs-page-name{color:var(--rhot);font-weight:600;}
.refs-page-item.highlight .refs-page-year::before{content:&#039;🏆 &#039;;}
.refs-page-year{color:var(--red);font-family:&#039;Cinzel&#039;,serif;font-size:.8rem;min-width:140px;flex-shrink:0;letter-spacing:.04em;}
.refs-page-name{color:var(--text);font-size:.95rem;}
.refs-page-name a{color:var(--text);text-decoration:none;border-bottom:1px solid rgba(196,16,16,.3);transition:color .2s,border-color .2s;}
.refs-page-name a:hover{color:var(--red);border-color:var(--red);}
.refs-page-intro{color:var(--sub);font-size:.95rem;line-height:1.9;margin-bottom:1rem;padding-top:.8rem;}
.refs-page-note{color:var(--dim);font-size:.85rem;font-style:italic;margin-top:.4rem;}
/* -- Datenschutz Sonderblöcke -- */
.dp-address{border-left:2px solid rgba(196,16,16,.4);padding:.8rem 1.2rem;margin:1rem 0 1.5rem;color:var(--sub);font-size:.9rem;line-height:1.8;}
.dp-notice{border:1px solid rgba(196,16,16,.3);border-radius:4px;padding:1rem 1.2rem;background:rgba(196,16,16,.05);color:var(--sub);font-size:.85rem;line-height:1.7;font-weight:500;}
.ref-award .ref-dot{background:var(--red);box-shadow:0 0 8px rgba(196,16,16,.7);}
.ref-award .ref-text strong{color:var(--rhot);}
/* v2.2 overrides */
.hero-stat-lbl{font-size:.72rem;letter-spacing:.18em;color:var(--sub)}

/* ============================================================
   IFRIT FLAMMENZUNGE — CSS-KORREKTUREN v2
   ============================================================ */

/* FIX #03 — Textmarkierung: Rot + schwarze Schrift */
::selection      { background: var(--red); color: #000000; }
::-moz-selection { background: var(--red); color: #000000; }

/* FIX #04 — Vertikale Abstände auf Desktop */
@media (min-width: 992px) {
  #hero    { padding-top: 8rem;  padding-bottom: 8rem;  }
  #shows   { padding-top: 7rem;  padding-bottom: 7rem;  }
  #gallery { padding-top: 6rem;  padding-bottom: 6rem;  }
  #refs    { padding-top: 7rem;  padding-bottom: 7rem;  }
  #contact { padding-top: 8rem;  padding-bottom: 8rem;  }
}

/* FIX #05 — max-width konsistent */
#shows .rv, #shows .shows-grid,
#gallery .gal-head, #gallery .gal-grid, #gallery .gal-note, #gallery .gal-foot,
#refs .rv, #refs .refs-inner, #refs .refs-foot,
#contact .con-wrap {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  width: 100%;
  box-sizing: border-box;
}

/* FIX #06 — Formularfelder (--if-* → korrekte Variablennamen) */
input[type="text"], input[type="email"], input[type="url"],
input[type="password"], input[type="search"], input[type="number"],
input[type="tel"], input[type="date"], textarea, select {
  background: #1a1410 !important;
  border: 1px solid rgba(196,16,16,.3) !important;
  color: var(--text) !important;
  border-radius: 0 !important;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus,
input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus,
input[type="tel"]:focus, input[type="date"]:focus, textarea:focus, select:focus {
  border-color: var(--red) !important;
  outline: none !important;
  color: var(--text) !important;
}
::-webkit-input-placeholder { color: var(--dim) !important; }
:-moz-placeholder           { color: var(--dim) !important; }
::-moz-placeholder          { color: var(--dim) !important; }
:-ms-input-placeholder      { color: var(--dim) !important; }

/* FIX #07 — Theme-Basis: Link-Farben + weißer Wrapper */
#wrapper               { background-color: transparent !important; }
a                      { color: var(--red); }
a:hover, a:focus       { color: var(--rhot); text-decoration: none; }
#nav a, footer a       { color: var(--text); }
#nav a:hover,
footer a:hover         { color: var(--red); }
#nav .nav-cta,
#nav .nav-cta:hover    { color: inherit; }

/* FIX #09 — mark / ins lesbar */
mark, ins {
  background: rgba(196,16,16,.22);
  color: var(--text);
  text-decoration: none;
  padding: 0 0.2rem;
}
