/*
Theme Name:   LTW Child
Theme URI:    https://weirdboys.ch
Description:  Longsleeve & The Weirdboys — Custom Child Theme
Author:       Longsleeve & The Weirdboys
Template:     twentytwentyfour
Version:      1.0.0
Text Domain:  ltw-child
*/

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--red:#ff003c;--cyan:#00ffcc;--white:#e8e8e8;--dim:#666;--bg:#060606;--font-display:'Creepster',cursive;--font-body:'Space Mono',monospace;--fs-body:1.05rem;--fs-nav:.85rem;--fs-label:1.2rem;--fs-venue:1.6rem;--fs-date:3rem;--fs-btn:.65rem;--fs-member-name:1.05rem;--fs-member-role:.58rem;--fs-modal-date:2rem;--fs-modal-venue:1.3rem;--fs-modal-info:.68rem;--fs-eyebrow:.6rem;--fs-tags:.58rem;--color-eyebrow:#00ffcc;--color-tags:#ff003c;--color-blog-title:#e8e8e8;--color-blog-excerpt:#e8e8e8;--color-blog-modal:#e8e8e8;--fs-blog-title:1.1rem;--fs-blog-excerpt:.8rem;--fs-blog-modal-title:2.5rem;--fs-blog-modal-body:1rem;--font-blog-title:var(--font-display);--font-blog-content:var(--font-body)}
html{scroll-behavior:smooth}
html,body{width:100%;min-height:100%;background:var(--bg);color:var(--white);font-family:var(--font-body);overflow-x:hidden;cursor:none}
a,button,.ltw-past-item,[onclick]{cursor:none}

/* Hide TT4 default output completely */
.wp-site-blocks>*:not(#ltw-content):not(#ltw-deco):not(#gc):not(#gc3d):not(#gc-cyber):not(#ltw-cursor){display:none!important}

/* Shader canvases */
#gc{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}
#gc3d{position:fixed;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none;mix-blend-mode:screen}
#gc-cyber{position:fixed;top:0;left:0;width:100%;height:100%;z-index:4;pointer-events:none;mix-blend-mode:screen;opacity:.90}

/* Cursor */
#ltw-cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;mix-blend-mode:difference}
#ltw-cursor .ring{position:absolute;box-sizing:border-box;border:1px solid #fff;border-radius:50%;transform:translate(-50%,-50%);transition:width .12s,height .12s,opacity .12s}
#ltw-cursor .dot{position:absolute;width:4px;height:4px;background:#fff;border-radius:50%;transform:translate(-50%,-50%)}

/* Deco layer */
#ltw-deco{position:fixed;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.ltw-deco{position:absolute}
.ltw-frame-h{width:100%;height:8px;left:0}
.ltw-frame-top{top:0}.ltw-frame-bot{bottom:0}
.ltw-corner{width:60px;height:60px}
.ltw-corner-tl{top:12px;left:12px}.ltw-corner-tr{top:12px;right:12px}
.ltw-corner-bl{bottom:12px;left:12px}.ltw-corner-br{bottom:12px;right:12px}
.ltw-star-1{width:40px;height:40px;top:18vh;right:8vw;animation:starSpin 12s linear infinite;filter:drop-shadow(0 0 6px #ff003c)}
.ltw-star-2{width:24px;height:24px;top:35vh;left:6vw;animation:starSpin 8s linear infinite reverse;filter:drop-shadow(0 0 5px #00ffcc)}
.ltw-star-3{width:32px;height:32px;top:55vh;right:12vw;animation:starSpin 15s linear infinite}
.ltw-star-4{width:18px;height:18px;top:72vh;left:15vw;animation:starSpin 6s linear infinite}
.ltw-star-5{width:28px;height:28px;top:82vh;right:5vw;animation:starSpin 10s linear infinite reverse}
.ltw-barcode{width:130px;height:52px;bottom:3.5rem;left:3rem}
.ltw-badge{width:44px;height:44px;top:3.5rem;right:3rem}
.ltw-circle-1{width:110px;height:110px;top:25vh;right:3vw;animation:circleRotate 20s linear infinite}
.ltw-circle-2{width:80px;height:80px;bottom:25vh;left:4vw;animation:circleRotate 30s linear infinite reverse}
.ltw-dtag{font-family:var(--font-body);font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(232,232,232,0.35);border:1px solid rgba(232,232,232,0.15);padding:.2rem .5rem;white-space:nowrap;background:rgba(0,0,0,0.2)}
.ltw-dtag-1{bottom:28vh;right:3rem;transform:rotate(-90deg);transform-origin:right center}
.ltw-dtag-2{top:42vh;left:1.5rem;transform:rotate(-90deg);transform-origin:left center}
.ltw-dtag-3{bottom:18vh;right:3rem;transform:rotate(-90deg);transform-origin:right center}
.ltw-dtag-4{top:15vh;left:3rem;color:rgba(255,0,60,0.6);border-color:rgba(255,0,60,0.25);animation:recBlink 1.4s ease-in-out infinite}
.ltw-slash-1{width:220px;height:32px;bottom:38vh;right:0}
.ltw-slash-2{width:220px;height:32px;top:38vh;left:0}
@keyframes starSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes circleRotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes recBlink{0%,100%{opacity:1}50%{opacity:.2}}

/* Content wrapper */
#ltw-content{position:relative;z-index:10;min-height:100vh;cursor:none}

/* Nav */
.ltw-nav{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 3rem;border-bottom:1px solid rgba(255,0,60,0.18);backdrop-filter:blur(3px);background:rgba(6,6,6,0.5);position:sticky;top:0;z-index:100}
.ltw-nav-logo{font-family:var(--font-display);font-size:1.1rem;letter-spacing:.25em;color:var(--red);text-shadow:0 0 18px var(--red);text-decoration:none}
/* WP nav_menu ul */
.ltw-nav ul,.ltw-nav .menu{list-style:none;display:flex;gap:2rem;margin:0;padding:0}
.ltw-nav li{list-style:none}
.ltw-nav a{color:rgba(232,232,232,.35);text-decoration:none;font-size:var(--fs-nav);font-weight:700;letter-spacing:.16em;text-transform:uppercase;transition:color .2s,text-shadow .2s}
.ltw-nav a:hover{color:var(--cyan);text-shadow:0 0 6px var(--cyan),0 0 18px var(--cyan),0 0 40px rgba(0,255,204,.6)}
.ltw-nav .current-menu-item>a{color:var(--cyan)}

/* Logo mit RGB-Glitch (Nav + Footer) */
.ltw-logo-wrap{position:relative;display:inline-block}
.ltw-logo-img{display:block;width:auto;object-fit:contain}
.ltw-nav-logo-inner .ltw-logo-img{height:3.4rem}
.ltw-footer-logo-inner .ltw-logo-img{height:2.6rem}
.ltw-logo-glitch-r,
.ltw-logo-glitch-c{
  position:absolute;top:0;left:0;
  height:100%;width:auto;
  pointer-events:none;
  mix-blend-mode:screen;
  opacity:0;
}
.ltw-logo-glitch-r{
  filter:sepia(1) saturate(6) hue-rotate(-50deg) brightness(1.2);
  animation:logoGlitchR 6s steps(1) infinite;
}
.ltw-logo-glitch-c{
  filter:sepia(1) saturate(6) hue-rotate(140deg) brightness(1.2);
  animation:logoGlitchC 7s steps(1) infinite 2.3s;
}
@keyframes logoGlitchR{
  0%,100%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
  41%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
  42%{opacity:.6;transform:translate3d(-3px,1px,0);clip-path:inset(15% 0 60% 0)}
  44%{opacity:.5;transform:translate3d(2px,0,0);clip-path:inset(55% 0 10% 0)}
  46%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
  72%{opacity:0;clip-path:inset(0 0 0 0)}
  73%{opacity:.45;transform:translate3d(-2px,0,0);clip-path:inset(30% 0 35% 0)}
  75%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
}
@keyframes logoGlitchC{
  0%,100%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
  29%{opacity:0;clip-path:inset(0 0 0 0)}
  30%{opacity:.55;transform:translate3d(3px,-1px,0);clip-path:inset(8% 0 70% 0)}
  32%{opacity:.45;transform:translate3d(-2px,0,0);clip-path:inset(65% 0 5% 0)}
  34%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
  61%{opacity:0;clip-path:inset(0 0 0 0)}
  62%{opacity:.5;transform:translate3d(2px,0,0);clip-path:inset(40% 0 25% 0)}
  64%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
}

/* Footer logo */

/* Hero */
.ltw-hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem;position:relative}
.ltw-hero-eyebrow{font-family:var(--font-body);font-size:var(--fs-eyebrow);letter-spacing:.45em;color:var(--color-eyebrow);text-transform:uppercase;margin-bottom:1.8rem;text-shadow:0 0 14px var(--color-eyebrow)}
.ltw-hero-title{font-family:var(--font-display);font-size:clamp(4rem,14vw,11rem);line-height:.88;color:var(--white);letter-spacing:.02em;animation:hGlitch 6s infinite}
.ltw-hero-sub{font-family:var(--font-display);font-size:clamp(.9rem,2.5vw,1.8rem);color:var(--red);letter-spacing:.35em;margin-top:.6rem;animation:hGlitch 6s .4s infinite}
.ltw-hero-tags{display:flex;gap:.8rem;margin-top:2.8rem;flex-wrap:wrap;justify-content:center}
.ltw-hero-tag{border:1px solid var(--color-tags);color:var(--color-tags);font-family:var(--font-body);font-size:var(--fs-tags);letter-spacing:.2em;padding:.3rem .9rem;text-transform:uppercase}
.ltw-hero-cta{margin-top:3rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}

/* Buttons */
.ltw-btn{font-family:var(--font-body);font-size:var(--fs-btn);letter-spacing:.2em;text-transform:uppercase;padding:.75rem 2rem;text-decoration:none;cursor:none;transition:all .15s;border:none;display:inline-block}
.ltw-btn-primary{background:var(--red);color:#000}
.ltw-btn-primary:hover{background:#fff;box-shadow:0 0 28px rgba(255,0,60,.8);color:#000}
.ltw-btn-ghost{background:transparent;color:var(--cyan);border:1px solid var(--cyan)}
.ltw-btn-ghost:hover{background:var(--cyan);color:#000;box-shadow:0 0 28px rgba(0,255,204,.55)}

/* Divider */
.ltw-divider{height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent);margin:0 3rem;opacity:.35}

/* Sections */
.ltw-section{padding:5.5rem 5rem;backdrop-filter:blur(1px)}
.ltw-section-label{font-size:var(--fs-label);font-weight:700;letter-spacing:.32em;color:var(--red);text-transform:uppercase;margin-bottom:2.8rem;display:flex;align-items:center;gap:1rem;text-shadow:0 0 14px var(--red)}
.ltw-section-label::after{content:'';flex:1;height:1px;background:rgba(255,0,60,.28)}

/* Shows */
.ltw-shows{background:rgba(6,6,6,.40)}
.ltw-show-cards{display:flex;flex-direction:column;gap:0}

/* Show Card */
.ltw-show-card{
  display:flex;
  align-items:center;
  gap:3.1rem;
  padding:3rem 0;
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .2s;
}
.ltw-show-card:hover{background:rgba(255,0,60,.03)}

/* Text links */
.ltw-show-card-text{display:flex;flex-direction:column;gap:1rem;max-width:38rem;flex-shrink:1}

.ltw-show-date{font-family:var(--font-display);font-size:var(--fs-date);color:var(--red);line-height:.9}
.ltw-show-date span{display:block;font-family:var(--font-body);font-size:var(--fs-body);letter-spacing:.2em;color:var(--white);text-transform:uppercase;margin-top:.3rem}

.ltw-show-venue{font-family:var(--font-display);font-size:var(--fs-venue);color:var(--white);letter-spacing:.04em;font-weight:400}
.ltw-show-info-text{font-size:var(--fs-body);color:var(--white);letter-spacing:.08em;line-height:1.75}

.ltw-show-ticket{
  display:inline-block;
  font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cyan);border:1px solid rgba(0,255,204,.35);
  padding:.5rem 1.4rem;text-decoration:none;
  transition:all .15s;white-space:nowrap;
  align-self:flex-start;
}
.ltw-show-ticket:hover{background:var(--cyan);color:#000;box-shadow:0 0 20px rgba(0,255,204,.4)}

/* Bild rechts — 9:16 */
.ltw-show-card-img{flex-shrink:0}
.ltw-show-img-wrap{
  position:relative;
  width:180px;
  aspect-ratio:9/16;
  border-radius:8px;
  overflow:hidden;
  background:#111;
}
.ltw-show-img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
  border-radius:8px;
}

/* RGB-Split Bild-Klone (echte Pixelverschiebung) */
.ltw-img-glitch-r,
.ltw-img-glitch-c{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  border-radius:8px;
  pointer-events:none;
  mix-blend-mode:screen;
  opacity:0;
}
.ltw-img-glitch-r{
  filter:sepia(1) saturate(6) hue-rotate(-50deg) brightness(1.1);
  animation:imgGlitchR 6s steps(1) infinite;
}
.ltw-img-glitch-c{
  filter:sepia(1) saturate(6) hue-rotate(140deg) brightness(1.1);
  animation:imgGlitchC 7s steps(1) infinite 2.3s;
}

@keyframes imgGlitchR{
  0%,100%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
  41%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
  42%{opacity:.55;transform:translate3d(-6px,0,0);clip-path:inset(15% 0 60% 0)}
  44%{opacity:.45;transform:translate3d(5px,0,0);clip-path:inset(55% 0 10% 0)}
  46%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
  72%{opacity:0;clip-path:inset(0 0 0 0)}
  73%{opacity:.4;transform:translate3d(-4px,0,0);clip-path:inset(30% 0 35% 0)}
  75%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
}
@keyframes imgGlitchC{
  0%,100%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
  29%{opacity:0;clip-path:inset(0 0 0 0)}
  30%{opacity:.5;transform:translate3d(6px,0,0);clip-path:inset(8% 0 70% 0)}
  32%{opacity:.4;transform:translate3d(-5px,0,0);clip-path:inset(65% 0 5% 0)}
  34%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
  61%{opacity:0;clip-path:inset(0 0 0 0)}
  62%{opacity:.45;transform:translate3d(4px,0,0);clip-path:inset(40% 0 25% 0)}
  64%{opacity:0;transform:translate3d(0,0,0);clip-path:inset(0 0 0 0)}
}

/* Glitch overlay */
.ltw-glitch-layer{
  position:absolute;inset:0;
  border-radius:8px;
  pointer-events:none;
  mix-blend-mode:screen;
}
.ltw-glitch-r{
  background:rgba(255,0,60,.08);
  animation:glitchR 4s infinite;
}
.ltw-glitch-c{
  background:rgba(0,255,204,.05);
  animation:glitchC 5s infinite 1.5s;
}
.ltw-glitch-scan{
  position:absolute;inset:0;
  border-radius:8px;
  background:repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0,0,0,.15) 2px,
    rgba(0,0,0,.15) 4px
  );
  pointer-events:none;
  animation:scanPulse 3.2s ease-in-out infinite;
}
@keyframes scanPulse{
  0%,100%{opacity:.6}
  50%{opacity:1}
}

@keyframes glitchR{
  0%,90%,100%{transform:none;opacity:.08}
  91%{transform:translateX(-3px);opacity:.25;clip-path:inset(20% 0 65% 0)}
  92%{transform:translateX(3px);opacity:.15;clip-path:inset(55% 0 20% 0)}
  93%{transform:none;opacity:.08;clip-path:none}
  96%{transform:translateX(-2px);opacity:.2;clip-path:inset(40% 0 40% 0)}
  97%{transform:none;opacity:.08;clip-path:none}
}
@keyframes glitchC{
  0%,85%,100%{transform:none;opacity:.05}
  86%{transform:translateX(4px);opacity:.2;clip-path:inset(10% 0 75% 0)}
  87%{transform:translateX(-2px);opacity:.12;clip-path:inset(70% 0 5% 0)}
  88%{transform:none;opacity:.05;clip-path:none}
}
@keyframes carouselGlitchR{
  0%,90%,100%{transform:none;opacity:.15}
  91%{transform:translateX(-3px);opacity:.55;clip-path:inset(20% 0 65% 0)}
  92%{transform:translateX(3px);opacity:.4;clip-path:inset(55% 0 20% 0)}
  93%{transform:none;opacity:.15;clip-path:none}
  96%{transform:translateX(-2px);opacity:.45;clip-path:inset(40% 0 40% 0)}
  97%{transform:none;opacity:.15;clip-path:none}
}
@keyframes carouselGlitchC{
  0%,85%,100%{transform:none;opacity:.1}
  86%{transform:translateX(4px);opacity:.45;clip-path:inset(10% 0 75% 0)}
  87%{transform:translateX(-2px);opacity:.3;clip-path:inset(70% 0 5% 0)}
  88%{transform:none;opacity:.1;clip-path:none}
}

/* Responsive */
@media(max-width:640px){
  .ltw-show-card{flex-direction:column;gap:1.5rem;align-items:stretch}
  .ltw-show-card-text{max-width:none}
  .ltw-show-card-img{order:-1}
  .ltw-show-img-wrap{width:100%;aspect-ratio:9/16;max-height:60vw;aspect-ratio:16/9}
}

/* Releases */
.ltw-releases{background:rgba(4,4,4,.45)}
.ltw-release-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2rem}
.ltw-release-card{position:relative;overflow:hidden;cursor:none}
.ltw-release-art{width:100%;aspect-ratio:1;background:var(--bg);overflow:hidden;position:relative}
.ltw-release-art canvas{width:100%;height:100%;display:block}
.ltw-release-art::after{content:'▶ PLAY';position:absolute;inset:0;background:rgba(255,0,60,.82);display:flex;align-items:center;justify-content:center;font-size:.65rem;letter-spacing:.3em;opacity:0;transition:opacity .25s;font-family:var(--font-body)}
.ltw-release-card:hover .ltw-release-art::after{opacity:1}
.ltw-release-info{padding:.75rem 0}
.ltw-release-title{font-family:var(--font-display);font-size:var(--fs-body);color:var(--white);letter-spacing:.05em}
.ltw-release-meta{font-size:.58rem;color:var(--dim);letter-spacing:.15em;margin-top:.15rem}

/* About */
.ltw-about{background:rgba(6,6,6,.42);display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.ltw-about-solo{grid-template-columns:1fr;display:flex;justify-content:center}
.ltw-about-solo>div{width:61.8%}
.ltw-about-text{font-size:var(--fs-body);line-height:1.95;color:var(--white)}
.ltw-about-text p{margin-bottom:1.1rem}
.ltw-about-text strong{font-family:var(--font-display);font-weight:400;font-size:1.3rem;letter-spacing:.04em;color:var(--white)}
.ltw-about-text a{color:var(--cyan);text-decoration:none}
/* Gutenberg paragraph blocks im about */
.ltw-about-text .wp-block-paragraph{margin-bottom:1.1rem}
.ltw-members{display:flex;flex-direction:column;gap:1.4rem}
.ltw-member{border-left:2px solid rgba(255,0,60,.38);padding-left:1.1rem}
.ltw-member-name{font-family:var(--font-display);font-size:var(--fs-member-name);color:var(--white);letter-spacing:.05em}
.ltw-member-role{font-size:var(--fs-member-role);letter-spacing:.2em;color:var(--red);text-transform:uppercase;margin-top:.1rem}

/* Footer */
.ltw-footer{position:relative;z-index:10;padding:2.8rem 3rem;border-top:1px solid rgba(255,0,60,.14);display:flex;flex-direction:column;align-items:center;gap:1.2rem;background:rgba(4,4,4,.85)}
.ltw-footer-logo{font-family:var(--font-display);font-size:1.4rem;color:var(--red);letter-spacing:.1em;text-shadow:0 0 18px var(--red);text-decoration:none}
.ltw-footer-meta{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;justify-content:center}
.ltw-footer-copy{font-size:.58rem;letter-spacing:.2em;color:var(--white);text-transform:uppercase}
.ltw-footer-privacy-btn{background:none;border:none;font-family:var(--font-body);font-size:.58rem;letter-spacing:.2em;color:var(--white);text-transform:uppercase;cursor:none;transition:color .15s;padding:0}
.ltw-footer-privacy-btn:hover{color:var(--cyan)}

/* Datenschutz Modal */
.ltw-privacy-modal-box{
  position:relative;
  background:rgba(10,10,12,.97);
  border:1px solid rgba(255,255,255,.08);
  width:min(700px,90vw);
  max-height:80vh;
  overflow-y:auto;
  padding:3rem;
  transform:translateY(30px);
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.ltw-privacy-modal.is-open .ltw-privacy-modal-box{transform:translateY(0)}
.ltw-privacy-modal-close{position:sticky;top:0;float:right;margin-left:1rem}
.ltw-privacy-modal-title{font-family:var(--font-display);font-size:var(--fs-venue);color:var(--white);letter-spacing:.04em;font-weight:400;margin-bottom:2rem}
.ltw-privacy-modal-content{font-size:.85rem;line-height:1.9;color:var(--white)}
.ltw-privacy-modal-content p{margin-bottom:1.2rem}
.ltw-privacy-modal-content h2,.ltw-privacy-modal-content h3{font-family:var(--font-display);font-weight:400;font-size:1.1rem;letter-spacing:.03em;margin:1.8rem 0 .8rem;color:var(--white)}
.ltw-privacy-modal-content a{color:var(--cyan)}
.ltw-social{display:flex;gap:1.5rem;flex-wrap:wrap}
.ltw-social a{color:var(--dim);text-decoration:none;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;transition:color .15s}
.ltw-social a:hover{color:var(--cyan)}

/* Contact */
.ltw-contact{text-align:center}
.ltw-social{display:flex;gap:1.5rem;flex-wrap:wrap}
.ltw-social a{color:var(--dim);text-decoration:none;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;transition:color .15s}
.ltw-social a:hover{color:var(--cyan)}

.ltw-contact .ltw-social{justify-content:center;gap:3rem;flex-wrap:wrap}
.ltw-contact .ltw-social a{
  display:flex;flex-direction:column;align-items:center;gap:.7rem;
  text-decoration:none;color:var(--dim);font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;
  transition:color .2s,filter .2s,transform .2s;
}
.ltw-contact .ltw-social a:hover{
  color:var(--cyan);
  filter:drop-shadow(0 0 8px var(--cyan)) drop-shadow(0 0 20px rgba(0,255,204,.4));
  transform:translateY(-4px);
}
.ltw-social-icon{width:42px;height:42px;display:block;transition:inherit}
.ltw-contact .ltw-social a:hover .ltw-social-icon{filter:drop-shadow(0 0 6px currentColor)}

/* Blog Cards — kompakter */
.ltw-blog-list{display:flex;flex-direction:column;gap:1.2rem}
.ltw-blog-item{display:grid;grid-template-columns:140px 1fr;gap:1.5rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:1.2rem;cursor:none;transition:border-color .15s}
.ltw-blog-item:hover{border-color:var(--cyan)}
.ltw-blog-thumb{position:relative;width:140px;height:140px;border-radius:12px;overflow:hidden;flex-shrink:0}
.ltw-blog-img-main,.ltw-blog-img-r,.ltw-blog-img-c{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:12px}
.ltw-blog-img-r,.ltw-blog-img-c{opacity:0;transition:opacity .1s}
.ltw-blog-item:hover .ltw-blog-img-r{opacity:.5;transform:translate3d(-4px,0,0);filter:sepia(1) saturate(6) hue-rotate(-50deg);clip-path:inset(15% 0 60% 0)}
.ltw-blog-item:hover .ltw-blog-img-c{opacity:.45;transform:translate3d(4px,0,0);filter:sepia(1) saturate(6) hue-rotate(140deg);clip-path:inset(55% 0 10% 0)}
.ltw-blog-date{font-size:.6rem;letter-spacing:.2em;color:var(--dim);text-transform:uppercase;margin-bottom:.4rem}
.ltw-blog-title{font-family:var(--font-blog-title);font-size:var(--fs-blog-title);color:var(--color-blog-title);letter-spacing:.03em;font-weight:400;margin-bottom:.5rem}
.ltw-blog-excerpt{font-size:var(--fs-blog-excerpt);line-height:1.7;color:var(--color-blog-excerpt);margin-bottom:.5rem}
.ltw-blog-toggle{display:inline-block;color:var(--cyan);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase}
.ltw-blog-item:hover .ltw-blog-toggle{color:var(--red)}
.ltw-blog-all{margin-top:2rem;text-align:center}

/* Blog Pagination (WP paginate_links) */
.ltw-blog-pagination{margin-top:2.5rem}
.ltw-blog-pagination ul{list-style:none;display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;padding:0;margin:0}
.ltw-blog-pagination a,.ltw-blog-pagination span{font-family:var(--font-body);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--white);text-decoration:none;border:1px solid rgba(255,255,255,.15);padding:.6rem 1rem;display:inline-block;transition:border-color .15s,color .15s}
.ltw-blog-pagination a:hover{border-color:var(--cyan);color:var(--cyan)}
.ltw-blog-pagination span.current{border-color:var(--red);color:var(--red)}

/* Blog Archive */
.ltw-blog-archive{padding-top:8rem}
.ltw-blog-empty{color:var(--dim);font-size:.85rem}

/* Blog Single */
.ltw-blog-single{padding-top:8rem;max-width:780px;margin:0 auto}
.ltw-blog-single-date{font-size:.6rem;letter-spacing:.2em;color:var(--dim);text-transform:uppercase;margin-bottom:1rem}
.ltw-blog-single-title{font-family:var(--font-display);font-size:clamp(1.8rem,5vw,3rem);color:var(--white);letter-spacing:.02em;font-weight:400;margin-bottom:1.5rem}
.ltw-blog-single-thumb{margin-bottom:2rem;border:1px solid rgba(255,255,255,.08)}
.ltw-blog-single-content{font-size:.9rem;line-height:1.9;color:var(--white)}
.ltw-blog-single-content p{margin-bottom:1.2rem}
.ltw-blog-single-content h2,.ltw-blog-single-content h3{font-family:var(--font-display);font-weight:400;letter-spacing:.03em;margin:1.8rem 0 1rem;color:var(--white)}
.ltw-blog-single-content a{color:var(--cyan)}
.ltw-blog-single-content ul,.ltw-blog-single-content ol{margin:0 0 1.2rem 1.4rem}
.ltw-blog-single-content img{max-width:100%}
.ltw-blog-back{display:inline-block;margin-top:3rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);text-decoration:none}
.ltw-blog-back:hover{color:var(--red)}

/* Blog Fullscreen Modal */
.ltw-blog-modal{position:fixed;inset:0;z-index:500;opacity:0;pointer-events:none;transition:opacity .3s}
.ltw-blog-modal.is-open{opacity:1;pointer-events:all}
.ltw-blog-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.95)}
.ltw-blog-modal-inner{position:relative;z-index:1;width:100%;height:100%;overflow:hidden}
.ltw-blog-modal-close{position:fixed;top:1.5rem;right:1.5rem;z-index:10;background:rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.2);color:var(--white);font-size:1rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:none;transition:border-color .15s,color .15s}
.ltw-blog-modal-close:hover{border-color:var(--red);color:var(--red)}
.ltw-blog-modal-scroll{height:100vh;overflow-y:auto;transition:opacity .25s}
.ltw-blog-modal-hero{width:100%;height:55vh;background-size:cover;background-position:center top}
.ltw-blog-modal-body{width:61.8%;margin:3rem auto 6rem}
.ltw-blog-modal-date{font-size:.6rem;letter-spacing:.25em;color:var(--dim);text-transform:uppercase;margin-bottom:1rem}
.ltw-blog-modal-title{font-family:var(--font-blog-title);font-size:var(--fs-blog-modal-title);color:var(--white);font-weight:400;letter-spacing:.02em;margin-bottom:2rem;line-height:1.2}
.ltw-blog-modal-content{font-family:var(--font-blog-content);font-size:var(--fs-blog-modal-body);line-height:2;color:var(--color-blog-modal)}
.ltw-blog-modal-content p{margin-bottom:1.4rem}
.ltw-blog-modal-content h2,.ltw-blog-modal-content h3{font-family:var(--font-display);font-weight:400;font-size:1.3rem;letter-spacing:.03em;margin:2rem 0 1rem;color:var(--white)}
.ltw-blog-modal-content a{color:var(--cyan)}
.ltw-blog-modal-content img{max-width:100%;border-radius:4px}
.ltw-blog-modal-source{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08);text-align:center}
.ltw-blog-modal-close-bottom{font-size:.7rem;letter-spacing:.2em}
.ltw-blog-pagination-wrap{margin-top:2rem;text-align:center}
.ltw-blog-modal-loading{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.85)}
.ltw-blog-modal-spinner{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.1);border-top-color:var(--cyan);animation:blogSpin .8s linear infinite}
@keyframes blogSpin{to{transform:rotate(360deg)}}

@media(max-width:768px){
  .ltw-blog-item{grid-template-columns:90px 1fr;gap:1rem;padding:.8rem}
  .ltw-blog-thumb{width:90px;height:90px}
  .ltw-blog-archive,.ltw-blog-single{padding-top:5rem}
  .ltw-blog-modal-body{width:92%;margin:1.5rem auto 4rem}
  .ltw-blog-modal-hero{height:35vh}
}

/* Glitch */
@keyframes hGlitch{
  0%,82%,100%{text-shadow:2px 0 var(--red),-2px 0 var(--cyan);transform:none;clip-path:none}
  83%{text-shadow:-6px 0 var(--red),6px 0 var(--cyan);transform:skewX(-3deg) translateX(4px);clip-path:inset(20% 0 60% 0)}
  84%{text-shadow:6px 0 var(--red),-6px 0 var(--cyan);transform:skewX(2deg) translateX(-3px);clip-path:inset(60% 0 10% 0)}
  85%{text-shadow:2px 0 var(--red),-2px 0 var(--cyan);transform:none;clip-path:none}
  86%{text-shadow:-8px 0 var(--red),8px 0 var(--cyan);transform:skewX(4deg);clip-path:inset(40% 0 40% 0)}
  87%{text-shadow:2px 0 var(--red),-2px 0 var(--cyan);transform:none;clip-path:none}
}

/* Responsive */
@media(max-width:768px){
  .ltw-about{grid-template-columns:1fr}
  .ltw-about-solo>div{width:100%}
  .ltw-nav{padding:1rem 1.5rem}
  .ltw-nav ul{display:none}
  .ltw-section{padding:3.5rem 1.5rem}
  .ltw-show-item{grid-template-columns:1fr;gap:.5rem}
  .ltw-show-ticket{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ── Show Compact (2. Show) ───────────────────────────── */
.ltw-show-card--compact {
  padding: 2rem 0;
  opacity: 0.72;
}
.ltw-show-card--compact .ltw-show-date {
  font-size: var(--fs-date);
}
.ltw-show-card--compact .ltw-show-venue {
  font-size: var(--fs-venue);
  color: var(--white);
}

/* ── Show List (3+ Shows) ─────────────────────────────── */
.ltw-show-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255,255,255,.06);
}
.ltw-show-list-item {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .75rem 0;
  border-bottom: 1px solid rgba(255,255,255,.04);
  font-size:var(--fs-body);
  letter-spacing: .12em;
  color: var(--white);
  transition: transform .18s ease;
}
.ltw-show-list-item:hover { transform: scale(1.02); }
.ltw-show-list-link {
  display: flex;
  align-items: center;
  gap: .8rem;
  color: inherit;
  text-decoration: none;
  width: 100%;
}
.ltw-show-list-date {
  font-family:var(--font-body);
  color: var(--cyan);
  white-space: nowrap;
  min-width: 8rem;
  text-shadow: 0 0 8px rgba(0,255,204,.4);
}
.ltw-show-list-sep {
  color: var(--dim);
}
.ltw-show-list-venue {
  color: var(--white);
  flex: 1;
}

/* ── Past Shows ───────────────────────────────────────── */
.ltw-past-shows {
  margin-top: 3rem;
  padding-top: 2.5rem;
  border-top: 1px solid rgba(255,255,255,.08);
}
.ltw-past-shows-label {
  font-size: var(--fs-label);
  font-weight: 700;
  letter-spacing: .32em;
  color: var(--red);
  text-transform: uppercase;
  margin-bottom: 2.8rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  text-shadow:0 0 14px var(--red);
}
.ltw-past-shows-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(255,0,60,.28);
}
.ltw-past-list {
  list-style: none;
  margin: 0; padding: 0;
}
.ltw-past-item {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .6rem 0;
  border-bottom: 1px solid rgba(255,255,255,.04);
  font-size:var(--fs-body);
  letter-spacing: .12em;
  color: var(--white);
  transform: scale(1);
  transform-origin: left center;
  transition: transform .18s ease, background .15s;
}
.ltw-past-item:hover {
  transform: scale(1.04);
  background: rgba(255,0,60,.04);
  padding-left: .5rem;
}
.ltw-past-item:hover .ltw-past-date {
  color: var(--cyan);
}
.ltw-past-date {
  color: rgba(0,255,204,.80);
  min-width: 8rem;
  white-space: nowrap;
  transition: color .15s;
  text-shadow: 0 0 8px rgba(0,255,204,.3);
}
.ltw-past-sep { color: var(--dim); }
.ltw-past-venue { flex: 1; color: var(--white); }

/* ── Modal ────────────────────────────────────────────── */
.ltw-modal {
  position: fixed; inset: 0;
  z-index: 10000;
  display: flex; align-items: center; justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s;
  cursor: default;
}
.ltw-modal.is-open ~ #ltw-cursor { display: none; }
.ltw-modal.is-open {
  pointer-events: all;
  opacity: 1;
}
.ltw-modal-backdrop {
  position: absolute; inset: 0;
  background: rgba(6,6,6,.88);
  backdrop-filter: blur(6px);
  cursor: default;
}
.ltw-modal-box {
  position: relative;
  z-index: 1;
  cursor: default;
  width: min(680px, 92vw);
  max-height: 85vh;
  overflow-y: auto;
  background: rgba(10,10,10,.95);
  border: 1px solid rgba(255,0,60,.25);
  box-shadow: 0 0 60px rgba(255,0,60,.12), 0 0 120px rgba(0,0,0,.8);
  transform: translateY(18px);
  transition: transform .28s cubic-bezier(.22,1,.36,1);
}
.ltw-modal.is-open .ltw-modal-box {
  transform: translateY(0);
}
.ltw-modal-close {
  position: absolute; top: 1rem; right: 1rem;
  background: none; border: none;
  color: var(--dim); font-size: .9rem;
  cursor: pointer; z-index: 2;
  transition: color .15s;
  font-family:var(--font-body);
  line-height: 1;
  padding: .3rem .5rem;
}
.ltw-modal-close:hover { color: var(--red); }
.ltw-modal-inner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0;
}
.ltw-modal-img-wrap {
  width: 200px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
.ltw-modal-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.ltw-modal-img-wrap::before,
.ltw-modal-img-wrap::after{
  content:'';
  position:absolute;inset:0;
  background-image:var(--modal-img);
  background-size:cover;
  background-position:center;
  pointer-events:none;
  mix-blend-mode:screen;
  opacity:0;
}
.ltw-modal-img-wrap::before{
  filter:sepia(1) saturate(6) hue-rotate(-50deg) brightness(1.1);
  animation:imgGlitchR 6s steps(1) infinite;
}
.ltw-modal-img-wrap::after{
  filter:sepia(1) saturate(6) hue-rotate(140deg) brightness(1.1);
  animation:imgGlitchC 7s steps(1) infinite 2.3s;
}
.ltw-modal-content {
  padding: 2rem 2rem 2rem 1.8rem;
  display: flex;
  flex-direction: column;
  gap: .8rem;
}
.ltw-modal-date {
  font-family:var(--font-display);
  font-size: var(--fs-modal-date);
  color: var(--dim);
  line-height: 1;
}
.ltw-modal-venue {
  font-family:var(--font-display);
  font-size: var(--fs-modal-venue);
  color: var(--white);
  letter-spacing: .04em;
}
.ltw-modal-info {
  font-size: var(--fs-modal-info);
  color: #888;
  line-height: 1.7;
  letter-spacing: .08em;
}
.ltw-modal-ticket { margin-top: .5rem; align-self: flex-start; }

@media(max-width:560px) {
  .ltw-modal-inner { grid-template-columns: 1fr; }
  .ltw-modal-img-wrap { width: 100%; max-height: 220px; }
  .ltw-modal-img-wrap img { max-height: 220px; }
  .ltw-modal-content { padding: 1.5rem; }
}

/* ── Back to Top ──────────────────────────────────────── */
/* ── Rocket Scroll ── */
#ltw-rocket-rail{
  position:fixed;
  right:1.8rem;
  top:0;
  width:3px;
  height:100vh;
  background:linear-gradient(to bottom,transparent,rgba(0,255,204,.28) 15%,rgba(0,255,204,.28) 85%,transparent);
  z-index:190;
  pointer-events:none;
}
#ltw-totop{
  position:fixed;
  right:calc(1.8rem - 18px);
  top:0;
  z-index:200;
  width:42px;
  height:42px;
  border:none;
  background:transparent;
  cursor:none;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:filter .2s,transform .15s;
  will-change:top;
}
#ltw-totop svg{
  width:36px;height:36px;
  color:var(--cyan);
  filter:drop-shadow(0 0 4px rgba(0,255,204,.5));
  transition:filter .2s,color .2s;
}
#ltw-totop:hover svg{
  color:#fff;
  filter:
    drop-shadow(0 0 6px var(--cyan))
    drop-shadow(0 0 16px var(--cyan))
    drop-shadow(0 0 40px rgba(0,255,204,.8));
}
#ltw-totop.is-moving svg{
  filter:drop-shadow(0 0 8px var(--cyan)) drop-shadow(0 0 24px rgba(0,255,204,.6));
}

/* Glitch-Klone bleiben für Kompatibilität, aber unsichtbar */
.ltw-totop-shape,.ltw-totop-arrow,
.ltw-totop-glitch-r,.ltw-totop-glitch-c{display:none}

@keyframes totopGlitchR{0%,100%{opacity:0}}
@keyframes totopGlitchC{0%,100%{opacity:0}}

@media(max-width:640px){
  #ltw-rocket-rail{right:.8rem}
  #ltw-totop{right:calc(.8rem - 18px)}
}

/* ── Media Carousel ──────────────────────────────────────── */
.ltw-media{display:flex;flex-direction:column;align-items:stretch}
.ltw-carousel{width:100%;display:flex;flex-direction:column;align-items:center}
.ltw-carousel-stage{
  position:relative;
  width:100%;
  padding:0 4%;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ltw-carousel-ring{
  position:relative;
  width:100%;
}
.ltw-carousel-item{
  position:absolute;
  top:0;
  height:100%;
  transition:left .6s cubic-bezier(.22,1,.36,1), width .6s cubic-bezier(.22,1,.36,1), clip-path .6s cubic-bezier(.22,1,.36,1), opacity .6s ease;
}
.ltw-carousel-card{
  position:absolute;
  inset:0;
  border-radius:10px;
  overflow:hidden;
  background:#111;
  border:1px solid rgba(255,255,255,.08);
  isolation:isolate;
}
.ltw-carousel-img{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
.ltw-carousel-card .ltw-glitch-r,
.ltw-carousel-card .ltw-glitch-c{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  border-radius:10px;
  pointer-events:none;
  mix-blend-mode:screen;
  opacity:0;
}
.ltw-carousel-card .ltw-glitch-r{
  filter:sepia(1) saturate(6) hue-rotate(-50deg) brightness(1.2);
}
.ltw-carousel-card .ltw-glitch-c{
  filter:sepia(1) saturate(6) hue-rotate(140deg) brightness(1.2);
}

.ltw-carousel-play{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.25);
  opacity:0;
  transition:opacity .4s ease;
  z-index:5;
}
.ltw-carousel-play-icon{
  width:60px;height:60px;
  border-radius:50%;
  background:rgba(255,0,60,.85);
  box-shadow:0 0 24px rgba(255,0,60,.5);
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.ltw-carousel-play-icon::after{
  content:'';
  width:0;height:0;
  border-style:solid;
  border-width:11px 0 11px 18px;
  border-color:transparent transparent transparent #fff;
  margin-left:4px;
}

.ltw-carousel-caption{
  position:absolute;
  bottom:0;left:0;right:0;
  padding:10px 14px;
  background:linear-gradient(transparent, rgba(0,0,0,.75));
  font-size:.6rem;
  letter-spacing:.15em;
  color:var(--white);
  text-transform:uppercase;
  opacity:0;
  transition:opacity .4s ease;
  z-index:6;
}
.ltw-carousel-scan{
  position:absolute;inset:0;
  border-radius:10px;
  background:repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,.15) 2px, rgba(0,0,0,.15) 4px);
  pointer-events:none;
  opacity:0;
  z-index:7;
}

/* Aktive (zentrale) Karte */
.ltw-carousel-item.is-active .ltw-carousel-play,
.ltw-carousel-item.is-active .ltw-carousel-caption{
  opacity:1;
}
.ltw-carousel-item.is-active .ltw-carousel-scan{
  opacity:1;
  animation:scanPulse 3.2s ease-in-out infinite;
}
.ltw-carousel-item.is-active .ltw-glitch-r{
  animation:carouselGlitchR 6s steps(1) infinite;
}
.ltw-carousel-item.is-active .ltw-glitch-c{
  animation:carouselGlitchC 7s steps(1) infinite 2.3s;
}
.ltw-carousel-item.is-active .ltw-carousel-card{
  animation:carouselShellJitter 6s steps(1) infinite;
}
@keyframes carouselShellJitter{
  0%,100%{transform:translate3d(0,0,0) skewX(0deg)}
  41%{transform:translate3d(0,0,0) skewX(0deg)}
  42%{transform:translate3d(-4px,1px,0) skewX(-1.2deg)}
  44%{transform:translate3d(3px,-1px,0) skewX(0.8deg)}
  46%{transform:translate3d(0,0,0) skewX(0deg)}
  72%{transform:translate3d(0,0,0) skewX(0deg)}
  73%{transform:translate3d(-3px,0,0) skewX(-0.8deg)}
  75%{transform:translate3d(0,0,0) skewX(0deg)}
}

/* Iframe-Modus (Video aktiv) */
.ltw-carousel-card.is-playing .ltw-carousel-img,
.ltw-carousel-card.is-playing .ltw-glitch-r,
.ltw-carousel-card.is-playing .ltw-glitch-c,
.ltw-carousel-card.is-playing .ltw-carousel-play,
.ltw-carousel-card.is-playing .ltw-carousel-scan,
.ltw-carousel-card.is-playing .ltw-carousel-caption{
  display:none;
}
.ltw-carousel-card.is-playing{animation:none}
.ltw-carousel-iframe{
  position:absolute;inset:0;
  width:100%;height:100%;
  border:none;
}

/* Nav-Buttons */
.ltw-carousel-nav{
  display:flex;
  gap:2rem;
  margin-top:2rem;
}
.ltw-carousel-prev,
.ltw-carousel-next{
  width:48px;height:48px;
  border-radius:50%;
  border:1px solid rgba(0,255,204,.35);
  background:rgba(0,255,204,.08);
  color:var(--cyan);
  font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;
  cursor:none;
  transition:background .15s, border-color .15s;
}
.ltw-carousel-prev:hover,
.ltw-carousel-next:hover{
  background:rgba(0,255,204,.18);
  border-color:rgba(0,255,204,.6);
}

@media(max-width:640px){
  .ltw-carousel-stage{padding:0 2%}
}

/* ── Media Lightbox Modal ─────────────────────────────────── */
.ltw-media-modal-box {
  position: relative;
  z-index: 1;
  cursor: default;
  width: min(900px, 92vw);
  max-height: 88vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ltw-media-modal-content {
  position: relative;
  width: 100%;
  background: #060606;
  border: 1px solid rgba(255,0,60,.25);
  box-shadow: 0 0 60px rgba(255,0,60,.12), 0 0 120px rgba(0,0,0,.8);
  border-radius: 10px;
  overflow: hidden;
  transform: translateY(18px);
  transition: transform .28s cubic-bezier(.22,1,.36,1);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ltw-media-modal.is-open .ltw-media-modal-content {
  transform: translateY(0);
}
.ltw-media-modal-content img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 80vh;
  object-fit: contain;
}
.ltw-media-modal-content .ltw-media-modal-video {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
}
.ltw-media-modal-content iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: none;
}

.ltw-media-modal-close {
  position: absolute; top: .75rem; right: .75rem;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(6,6,6,.7);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  color: var(--white);
  font-size: .9rem;
  cursor: pointer;
  z-index: 3;
  transition: color .15s, border-color .15s;
}
.ltw-media-modal-close:hover {
  color: var(--red);
  border-color: rgba(255,0,60,.4);
}

.ltw-media-modal-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(6,6,6,.6);
  border: 1px solid rgba(0,255,204,.3);
  border-radius: 50%;
  color: var(--cyan);
  font-size: 1.3rem;
  cursor: pointer;
  z-index: 3;
  transition: background .15s, border-color .15s;
}
.ltw-media-modal-nav:hover {
  background: rgba(0,255,204,.15);
  border-color: rgba(0,255,204,.6);
}
.ltw-media-modal-prev { left: -22px; }
.ltw-media-modal-next { right: -22px; }

@media(max-width: 768px) {
  .ltw-media-modal-prev { left: 4px; }
  .ltw-media-modal-next { right: 4px; }
}

/* ── Member Lineup: klickbar mit Portrait-Modal ── */
.ltw-member--has-img{cursor:none;transition:border-color .15s}
.ltw-member--has-img:hover,
.ltw-member--has-img:focus-visible{border-color:var(--cyan);outline:none}

/* Morph: Member-Modal mit rundem Portrait, zentriert */
.ltw-member-modal-box{
  display:flex;flex-direction:column;align-items:center;gap:1.2rem;
  width:min(420px,86vw);max-height:none;background:transparent;
  border:none;box-shadow:none;padding:2rem 1rem;
  transform:scale(.85);transition:transform .32s cubic-bezier(.22,1,.36,1);
}
.ltw-member-modal.is-open .ltw-member-modal-box{transform:scale(1)}
.ltw-member-portrait{
  position:relative;
  width:min(280px,70vw);height:min(280px,70vw);
  border-radius:50%;overflow:hidden;
  border:2px solid rgba(255,0,60,.4);
  box-shadow:0 0 50px rgba(255,0,60,.18),0 0 100px rgba(0,255,204,.08);
}
.ltw-member-portrait img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;
}
.ltw-member-portrait .ltw-img-glitch-r,
.ltw-member-portrait .ltw-img-glitch-c{
  border-radius:50%;animation:none;opacity:0;
}
/* Zufälliger Glitch-Burst per JS getriggert */
.ltw-member-portrait.is-glitching #ltw-member-portrait-r{
  opacity:.5;transform:translate3d(-6px,0,0);clip-path:inset(20% 0 55% 0);
  filter:sepia(1) saturate(6) hue-rotate(-50deg) brightness(1.1);
}
.ltw-member-portrait.is-glitching #ltw-member-portrait-c{
  opacity:.45;transform:translate3d(5px,0,0);clip-path:inset(50% 0 15% 0);
  filter:sepia(1) saturate(6) hue-rotate(140deg) brightness(1.1);
}
.ltw-member-portrait.is-glitching{animation:memberShake .18s steps(2)}
@keyframes memberShake{
  0%,100%{transform:translate(0,0)}
  50%{transform:translate(2px,-1px)}
}
.ltw-member-modal-name{font-family:var(--font-display);font-size:var(--fs-venue);color:var(--white);letter-spacing:.04em;text-align:center}
.ltw-member-modal-role{font-size:.6rem;letter-spacing:.2em;color:var(--red);text-transform:uppercase;text-align:center}
.ltw-member-modal-close{top:.5rem;right:.5rem;color:var(--white)}

/* Past Shows Pagination */
.ltw-past-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06)}
.ltw-past-nav{font-family:var(--font-body);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--white);text-decoration:none;border:1px solid rgba(255,255,255,.15);padding:.5rem 1rem;transition:border-color .15s,color .15s;cursor:none}
.ltw-past-nav:hover{border-color:var(--cyan);color:var(--cyan)}
.ltw-past-counter{font-family:var(--font-body);font-size:.6rem;letter-spacing:.2em;color:var(--dim)}

/* Shows Sublabels */
.ltw-shows-sublabel{margin-top:3rem;margin-bottom:1.5rem}
.ltw-shows-sublabel:first-child{margin-top:0}
