
:root{--bg:#040408;--panel:#0d0d16;--cyan:#00f7ff;--pink:#ff00d4;--violet:#7d3cff;--text:#fff;--muted:#b8b8c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top left,rgba(0,247,255,.12),transparent 30%),radial-gradient(circle at top right,rgba(255,0,212,.12),transparent 35%),var(--bg);color:var(--text);font-family:Montserrat,Arial,sans-serif}a{color:inherit}.site-header{position:fixed;inset:0 0 auto 0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 6%;background:rgba(4,4,8,.75);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.logo{font-family:Orbitron,sans-serif;font-weight:900;color:var(--cyan);text-decoration:none;letter-spacing:.08em;text-shadow:0 0 14px var(--cyan)}nav{display:flex;gap:20px;flex-wrap:wrap}nav a{text-decoration:none;color:var(--muted);font-weight:700;font-size:.9rem}nav a:hover{color:var(--cyan)}.hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:120px 6% 80px;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(4,4,8,.92)),url("images/hero.webp") center/cover no-repeat}.hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 110px,rgba(0,247,255,.07) 112px 114px,transparent 116px 240px);animation:scan 10s linear infinite alternate}@keyframes scan{from{transform:translateX(-8%)}to{transform:translateX(8%)}}.laser{position:absolute;width:140vw;height:2px;left:-20vw;background:linear-gradient(90deg,transparent,var(--cyan),var(--pink),transparent);opacity:.5;animation:pulse 3s infinite alternate}.laser-1{top:32%;transform:rotate(-12deg)}.laser-2{top:48%;transform:rotate(8deg);animation-delay:.7s}.laser-3{top:61%;transform:rotate(-4deg);animation-delay:1.2s}@keyframes pulse{from{opacity:.18}to{opacity:.8}}.hero-content{position:relative;z-index:2;max-width:1050px}.eyebrow,.section-head p{color:var(--cyan);text-transform:uppercase;font-weight:800;letter-spacing:.24em;font-size:.8rem}h1,h2,h3{font-family:Orbitron,sans-serif}h1{margin:10px 0 0;font-size:clamp(3rem,9vw,7.8rem);line-height:.95;text-shadow:0 0 20px var(--cyan),0 0 42px var(--pink)}.hero h2{margin:12px 0;color:var(--cyan);font-size:clamp(1.4rem,3vw,2.8rem)}.tagline{color:#e8e8f4;font-size:1.1rem}.buttons{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;padding:14px 24px;border:1px solid rgba(0,247,255,.8);border-radius:999px;color:var(--cyan);text-decoration:none;font-weight:800;background:rgba(0,0,0,.25);box-shadow:0 0 18px rgba(0,247,255,.16);transition:.25s}.btn:hover,.btn.primary{background:linear-gradient(90deg,var(--cyan),var(--pink));color:#050505;box-shadow:0 0 28px rgba(255,0,212,.45)}.section{padding:90px 6%}.section-head{text-align:center;margin-bottom:42px}.section-head h2{margin:.2em 0 0;font-size:clamp(2rem,5vw,4rem);text-shadow:0 0 20px rgba(255,0,212,.55)}.about-grid{display:grid;grid-template-columns:2fr 1fr;gap:28px;max-width:1180px;margin:auto}.about-grid p{color:#d5d5e2;line-height:1.8}.about-card,.release-card,.booking-box{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.12);border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.28)}.about-card{padding:28px}.about-card h3{color:var(--cyan)}.about-card li{margin:12px 0;color:#ddd}.release-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.release-card{overflow:hidden;transition:.25s}.release-card:hover{transform:translateY(-8px);box-shadow:0 0 34px rgba(0,247,255,.25)}.release-info{padding:18px}.release-info span{color:var(--pink);font-weight:900}.release-info h3{min-height:48px;margin:8px 0 16px;font-size:1rem}.release-info a{display:inline-block;color:var(--cyan);font-weight:900;text-decoration:none}.video-section{background:rgba(255,255,255,.025)}.video-frame{max-width:1050px;margin:auto;border:1px solid rgba(0,247,255,.35);border-radius:24px;overflow:hidden;box-shadow:0 0 40px rgba(0,247,255,.2)}.video-frame iframe{width:100%;aspect-ratio:16/9;border:0;display:block}.booking-box{max-width:760px;margin:auto;padding:36px;text-align:center}.mail{display:inline-block;margin:10px 0 5px;color:var(--cyan);font-weight:900;font-size:1.2rem}footer{padding:34px 6%;text-align:center;color:var(--muted);border-top:1px solid rgba(255,255,255,.08)}.small{font-size:.85rem;color:#888}@media(max-width:760px){.site-header{position:absolute;display:block;text-align:center}nav{justify-content:center;margin-top:12px}.about-grid{grid-template-columns:1fr}.section{padding:70px 5%}}

.video-link-box{
  max-width:760px;
  margin:auto;
  padding:38px;
  text-align:center;
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  border:1px solid rgba(0,247,255,.35);
  border-radius:24px;
  box-shadow:0 0 40px rgba(0,247,255,.16);
}
.video-link-box h3{color:var(--cyan);margin-top:0}
.video-link-box p{color:var(--muted);line-height:1.7}


/* Release Timeline */
.discography-section{
  background:
    radial-gradient(circle at 20% 10%, rgba(0,247,255,.10), transparent 30%),
    radial-gradient(circle at 80% 20%, rgba(255,0,212,.10), transparent 35%);
}
.timeline{
  max-width:1280px;
  margin:auto;
}
.year-block{
  margin:0 0 64px;
  padding-left:26px;
  border-left:2px solid rgba(0,247,255,.45);
  position:relative;
}
.year-block:before{
  content:"";
  position:absolute;
  left:-8px;
  top:8px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:linear-gradient(90deg,var(--cyan),var(--pink));
  box-shadow:0 0 22px var(--cyan);
}
.year-block > h3{
  margin:0 0 24px;
  font-size:clamp(1.8rem,4vw,3rem);
  color:var(--cyan);
  text-shadow:0 0 18px rgba(0,247,255,.75);
}
.release-card.featured{
  border-color:rgba(255,0,212,.45);
  box-shadow:0 0 28px rgba(255,0,212,.18);
}
.release-card.featured:hover{
  box-shadow:0 0 42px rgba(255,0,212,.35);
}


/* Responsive & Mobile Optimierung */
img, iframe{
  max-width:100%;
}
.release-grid{
  align-items:stretch;
}
.release-card{
  display:flex;
  flex-direction:column;
}
.release-info{
  flex:1;
  display:flex;
  flex-direction:column;
}
.release-info a{
  margin-top:auto;
}
.video-frame iframe{
  min-height:220px;
}
@media(max-width:1024px){
  .site-header{
    padding:16px 4%;
  }
  .hero{
    min-height:92vh;
    padding:130px 5% 70px;
    background-position:center center;
  }
  .release-grid{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
    gap:20px;
  }
  .about-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .site-header{
    position:relative;
    display:block;
    text-align:center;
    padding:16px 4%;
  }
  nav{
    justify-content:center;
    gap:12px;
    margin-top:12px;
  }
  nav a{
    font-size:.82rem;
  }
  .hero{
    min-height:auto;
    padding:80px 5% 90px;
    background-position:center top;
  }
  h1{
    font-size:clamp(2.4rem,14vw,4rem);
    line-height:1;
  }
  .hero h2{
    font-size:1.25rem;
  }
  .tagline{
    font-size:.98rem;
  }
  .buttons{
    flex-direction:column;
    align-items:stretch;
  }
  .btn{
    width:100%;
    text-align:center;
  }
  .section{
    padding:64px 5%;
  }
  .section-head h2{
    font-size:2rem;
  }
  .year-block{
    padding-left:18px;
    margin-bottom:46px;
  }
  .release-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .release-card{
    max-width:420px;
    width:100%;
    margin:0 auto;
  }
  
  .booking-box{
    padding:26px 18px;
  }
  .mail{
    font-size:1rem;
    word-break:break-word;
  }
}
@media(max-width:420px){
  .logo{
    font-size:.95rem;
  }
  nav{
    gap:9px;
  }
  nav a{
    font-size:.78rem;
  }
  .hero{
    padding-top:62px;
  }
  .eyebrow,.section-head p{
    letter-spacing:.14em;
  }
}


/* FINAL COVER FIX: Alle Timeline-Cover exakt gleich groß */
.release-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;
  align-items:stretch;
}

.release-card{
  display:flex;
  flex-direction:column;
  width:100%;
  overflow:hidden;
}

.release-card img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  flex:0 0 auto;
}

.release-info{
  flex:1;
  display:flex;
  flex-direction:column;
}

.release-info a{
  margin-top:auto;
}

@media(max-width:1024px){
  .release-grid{
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  }
}

@media(max-width:760px){
  .release-grid{
    grid-template-columns:1fr;
  }

  .release-card{
    width:100%;
    max-width:420px;
    margin-left:auto;
    margin-right:auto;
  }

  .release-card img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
    object-fit:cover !important;
  }
}



/* Fix für einzelne Jahre mit nur einem Release */
.year-block .release-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,220px)) !important;
  justify-content:start !important;
}

.year-block .release-card{
  width:220px !important;
  max-width:220px !important;
}

.year-block .release-card img{
  width:220px !important;
  height:220px !important;
  aspect-ratio:1/1 !important;
  object-fit:cover !important;
}

@media(max-width:760px){
  .year-block .release-card,
  .year-block .release-card img{
    width:100% !important;
    max-width:420px !important;
    height:auto !important;
  }
}



@media(max-width:760px){
 
}


/* FINAL LOGO + HERO TITLE FIX */
.logo-image-link{
  display:flex;
  align-items:center;
  text-decoration:none;
  min-width:150px;
}

.logo-image-link img{
  display:block;
  width:150px;
  height:auto;
  max-height:64px;
  object-fit:contain;
  filter:drop-shadow(0 0 12px rgba(255,215,0,.28));
}

.hero-logo{
  display:block;
  margin:0 auto 18px auto;
  width:min(252px,55vw);
  height:auto;
  filter:drop-shadow(0 0 22px rgba(255,215,0,.32));
}

.hero h1{
  font-size:clamp(2rem,4.8vw,4.4rem) !important;
  line-height:1.05 !important;
  letter-spacing:.04em;
  margin:8px 0 4px !important;
}

.hero h2{
  font-size:clamp(1.15rem,2.5vw,2.1rem) !important;
  line-height:1.15 !important;
  margin:4px 0 10px !important;
  color:var(--cyan);
  text-shadow:0 0 16px rgba(0,247,255,.65);
}

.tagline{
  font-size:clamp(.9rem,1.8vw,1.05rem) !important;
  margin-top:10px;
}

@media(max-width:1024px){
  .logo-image-link img{
    width:126px;
    max-height:54px;
  }
  .hero-logo{
    width:min(217px,52vw);
  }
}

@media(max-width:760px){
  .site-header{
    position:relative;
  }
  .logo-image-link{
    justify-content:center;
    min-width:0;
  }
  .logo-image-link img{
    width:132px;
    max-height:56px;
    margin:0 auto;
  }
  .hero{
    padding-top:70px !important;
  }
  .hero-logo{
    width:min(175px,57vw);
    margin-bottom:14px;
  }
  .hero h1{
    font-size:clamp(1.75rem,9vw,2.7rem) !important;
  }
  .hero h2{
    font-size:clamp(1rem,5.5vw,1.45rem) !important;
  }
}


/* Professional Biography Heading */
.bio-subtitle{
  margin:6px 0 0;
  font-family:Orbitron,sans-serif;
  font-size:clamp(1.25rem,3vw,2.4rem);
  color:var(--cyan);
  text-shadow:0 0 16px rgba(0,247,255,.6);
}

.bio-role{
  margin:14px auto 0;
  color:var(--muted);
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.82rem;
}

/* Fotogalerie */
.gallery-section{
  background:
    radial-gradient(circle at 15% 20%, rgba(255,0,212,.12), transparent 32%),
    radial-gradient(circle at 85% 35%, rgba(0,247,255,.10), transparent 34%),
    rgba(255,255,255,.018);
}
.gallery-intro{
  max-width:820px;
  margin:-18px auto 34px;
  text-align:center;
  color:var(--muted);
  line-height:1.75;
}
.gallery-grid{
  max-width:1280px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:22px;
}
.gallery-item{
  position:relative;
  aspect-ratio: 4 / 3;
  display:block;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow:0 20px 60px rgba(0,0,0,.28);
  text-decoration:none;
  isolation:isolate;
}
.gallery-item img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .35s ease, filter .35s ease;
}
.gallery-item:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.78));
  z-index:1;
}
.gallery-item span{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;
  z-index:2;
  font-family:Orbitron,sans-serif;
  font-weight:800;
  color:#fff;
  text-shadow:0 0 14px rgba(0,247,255,.75);
}
.gallery-item:hover img{
  transform:scale(1.06);
  filter:saturate(1.25) contrast(1.08);
}
.gallery-item:hover{
  border-color:rgba(0,247,255,.45);
  box-shadow:0 0 38px rgba(0,247,255,.22);
}
@media(max-width:760px){
  .gallery-grid{
    grid-template-columns:1fr;
  }
  .gallery-item{
    aspect-ratio: 4 / 3;
  }
  .gallery-item img{
    height:100%;
  }
}

body.lightbox-open{
  overflow:hidden;
}
.gallery-lightbox{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.94);
  z-index:9999;
  cursor:zoom-out;
}
.gallery-lightbox.is-open{
  display:flex;
}
.gallery-lightbox img{
  max-width:min(94vw,1400px);
  max-height:88vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 0 60px rgba(0,247,255,.20);
  border:1px solid rgba(255,255,255,.16);
}
.gallery-lightbox-close{
  position:absolute;
  top:18px;
  right:24px;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}
.gallery-lightbox-close:hover{
  border-color:rgba(0,247,255,.65);
  box-shadow:0 0 24px rgba(0,247,255,.25);
}

/* About: Veröffentlichungen nach Jahren */
.about-release-summary{
  margin-top:28px;
  padding:26px;
  border:1px solid rgba(0,247,255,.22);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  box-shadow:0 0 28px rgba(0,247,255,.08);
}
.about-release-summary h3{
  margin:12px 0 18px;
  color:var(--cyan);
  text-shadow:0 0 14px rgba(0,247,255,.45);
}
.about-release-years{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:18px;
}
.about-release-year{
  padding:18px;
  border-radius:18px;
  background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.09);
}
.about-release-year h4{
  margin:0 0 12px;
  font-family:Orbitron,sans-serif;
  color:var(--pink);
  font-size:1.15rem;
}
.about-release-year ul{
  margin:0;
  padding-left:18px;
}
.about-release-year li{
  color:#d5d5e2;
  line-height:1.65;
  margin:8px 0;
}
@media(max-width:760px){
  .about-release-summary{padding:20px 16px;}
  .about-release-years{grid-template-columns:1fr;}
}


/* Booking Bild */
.booking-image{
  display:block;
  width:100%;
  max-width:520px;
  margin:0 auto 28px;
  border-radius:18px;
  border:1px solid rgba(0,247,255,.28);
  box-shadow:0 0 34px rgba(0,247,255,.20),0 0 42px rgba(255,0,212,.14);
}
@media(max-width:760px){
  .booking-image{
    max-width:100%;
    margin-bottom:22px;
    border-radius:18px;
  }
}

.release-image-link{display:block;text-decoration:none}
.release-image-link img{display:block;width:100%;height:auto}
.new-label{display:inline-block;margin:8px 0 8px;padding:6px 14px;border-radius:999px;background:linear-gradient(90deg,#f7d36a,#ff8c00);color:#050505;font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;box-shadow:0 0 18px rgba(247,211,106,.35)}
.beatport-button{margin-left:10px}
@media(min-width:900px){.release-card.new-release{grid-column:span 2;display:grid;grid-template-columns:minmax(260px,1fr) 1fr;align-items:center}.release-card.new-release img{height:100%;object-fit:cover}.release-card.new-release .release-info{padding:28px}.release-card.new-release .release-info h3{font-size:1.35rem}}

/* Korrektur Release: In Your Face mit Bild links und Text rechts */
.release-card.new-release{
  display:grid;
  grid-template-columns:minmax(180px, 42%) 1fr;
  gap:24px;
  align-items:center;
}
.release-card.new-release .release-image-link{
  width:100%;
}
.release-card.new-release .release-image-link img{
  width:100%;
  max-height:360px;
  object-fit:cover;
  border-radius:18px;
}
.release-card.new-release .release-info{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}
.release-card.new-release .release-info h3{
  display:block;
  margin:8px 0 10px;
  font-size:clamp(1.8rem, 4vw, 3rem);
  line-height:1.05;
}
.release-card.new-release .new-label{
  order:4;
  margin:14px 0 10px;
}
.release-card.new-release .beatport-button{
  order:5;
}
@media (max-width:760px){
  .release-card.new-release{
    grid-template-columns:1fr;
  }
}


/* Final Release-Korrektur: zusätzliches Beatport-Feld links neben In Your Face */
.release-card.release-promo-card{
  display:block;
}
.release-card.release-promo-card .release-image-link img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  object-position:center top;
  background:#000;
}
.release-card.release-promo-card .release-info h3{
  min-height:48px;
}
.release-info .beatport-button{
  display:inline-block;
  margin:8px 0 0;
  padding:10px 18px;
  border:1px solid rgba(0,247,255,.85);
  border-radius:999px;
  color:var(--cyan);
  text-decoration:none;
  font-weight:900;
  box-shadow:0 0 18px rgba(0,247,255,.18);
}
.release-info .beatport-button:hover{
  background:linear-gradient(90deg,var(--cyan),var(--pink));
  color:#050505;
}


/* Language switcher */
.language-switcher{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.language-switcher a{min-width:42px;text-align:center;padding:8px 10px;border:1px solid rgba(0,247,255,.55);border-radius:999px;color:var(--cyan);font-weight:900;font-size:.78rem;text-decoration:none;background:rgba(0,0,0,.28);box-shadow:0 0 14px rgba(0,247,255,.12);transition:.25s}
.language-switcher a:hover,.language-switcher a.active{background:linear-gradient(90deg,var(--cyan),var(--pink));color:#050505;box-shadow:0 0 22px rgba(255,0,212,.4)}
@media(max-width:760px){.language-switcher{justify-content:center;margin-top:12px}.language-switcher a{font-size:.75rem;padding:7px 10px}}


/* Mixcloud Live Records */
.mixcloud-section {
  position: relative;
}
.mixcloud-feature {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 28px;
  align-items: stretch;
  margin-top: 28px;
}
.mixcloud-copy,
.mixcloud-player,
.mixcloud-set-list {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 24px;
  padding: 26px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
}
.mixcloud-badge {
  display: inline-block;
  letter-spacing: 0.18em;
  font-weight: 800;
  font-size: 0.75rem;
  padding: 8px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #5000ff, #ff0066);
  color: #fff;
  margin-bottom: 14px;
}
.mixcloud-copy h3,
.mixcloud-set-list h3 {
  margin: 0 0 12px;
}
.mixcloud-copy p {
  margin-bottom: 14px;
}
.mixcloud-actions {
  margin-top: 22px;
}
.mixcloud-player iframe {
  border-radius: 18px;
  overflow: hidden;
  min-height: 360px;
}
.mixcloud-set-list {
  margin-top: 26px;
}
.mixcloud-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 22px;
}
.mixcloud-set-card {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.10);
}
.mixcloud-set-card h4 {
  margin: 0 0 6px;
  font-size: 1rem;
}
.mixcloud-set-card p {
  margin: 0;
  opacity: 0.82;
  font-size: 0.92rem;
}
.mixcloud-set-card span {
  white-space: nowrap;
  opacity: 0.75;
  font-size: 0.88rem;
}
@media (max-width: 850px) {
  .mixcloud-feature,
  .mixcloud-grid {
    grid-template-columns: 1fr;
  }
  .mixcloud-set-card {
    flex-direction: column;
  }
}


html {
  scroll-behavior: smooth;
}

/* Mixcloud Live Records */
.mixcloud-section {
  scroll-margin-top: 110px;
  position: relative;
}
.mixcloud-feature {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 28px;
  align-items: stretch;
  margin-top: 28px;
}
.mixcloud-copy,
.mixcloud-player,
.mixcloud-set-list {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 24px;
  padding: 26px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25);
}
.mixcloud-badge {
  display: inline-block;
  letter-spacing: 0.18em;
  font-weight: 800;
  font-size: 0.75rem;
  padding: 8px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #5000ff, #ff0066);
  color: #fff;
  margin-bottom: 14px;
}
.mixcloud-copy h3,
.mixcloud-set-list h3 {
  margin: 0 0 12px;
}
.mixcloud-copy p {
  margin-bottom: 14px;
}
.mixcloud-actions {
  margin-top: 22px;
}
.mixcloud-player iframe {
  border-radius: 18px;
  overflow: hidden;
  min-height: 360px;
}
.mixcloud-set-list {
  margin-top: 26px;
}
.mixcloud-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 22px;
}
.mixcloud-set-card {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.10);
}
.mixcloud-set-card h4 {
  margin: 0 0 6px;
  font-size: 1rem;
}
.mixcloud-set-card p {
  margin: 0;
  opacity: 0.82;
  font-size: 0.92rem;
}
.mixcloud-set-card span {
  white-space: nowrap;
  opacity: 0.75;
  font-size: 0.88rem;
}
@media (max-width: 850px) {
  .mixcloud-feature,
  .mixcloud-grid {
    grid-template-columns: 1fr;
  }
  .mixcloud-set-card {
    flex-direction: column;
  }
}

.release-info .youtube-button{margin-right:8px}


/* YouTube Vorschau ohne Embed-Fehler */
.youtube-preview{
  position:relative;
  display:block;
  max-width:820px;
  margin:22px auto 24px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(0,247,255,.35);
  box-shadow:0 0 40px rgba(0,247,255,.20),0 0 50px rgba(255,0,212,.12);
  background:#07070d;
}
.youtube-preview img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  filter:saturate(1.05) contrast(1.05) brightness(.78);
  transition:.25s;
}
.youtube-preview:hover img{transform:scale(1.03);filter:saturate(1.15) contrast(1.08) brightness(.9)}
.play-button{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:86px;
  height:86px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-size:38px;
  padding-left:6px;
  color:#050505;
  background:linear-gradient(90deg,var(--cyan),var(--pink));
  box-shadow:0 0 35px rgba(0,247,255,.45),0 0 45px rgba(255,0,212,.35);
}
@media(max-width:760px){.play-button{width:64px;height:64px;font-size:28px}.youtube-preview{border-radius:16px}}


/* Header Artist Links */
.header-social{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center}
.header-social a{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:.72rem;font-weight:900;color:var(--cyan);border:1px solid rgba(0,247,255,.45);background:rgba(0,0,0,.25);box-shadow:0 0 14px rgba(0,247,255,.12);transition:.25s}
.header-social a:hover{color:#050505;background:linear-gradient(90deg,var(--cyan),var(--pink));box-shadow:0 0 24px rgba(255,0,212,.35)}

/* News / EPK Section */
.news-section{background:linear-gradient(180deg,rgba(0,247,255,.035),rgba(255,0,212,.035))}
.news-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.news-card{padding:28px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.news-card.highlight{border-color:rgba(0,247,255,.45);box-shadow:0 0 34px rgba(0,247,255,.16)}
.news-card span{color:var(--pink);font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem}
.news-card h3{margin:12px 0;color:var(--cyan)}
.news-card p{color:#d5d5e2;line-height:1.7;min-height:92px}
.news-card .btn{margin-top:8px}
@media(max-width:980px){.news-grid{grid-template-columns:1fr}.header-social{margin-top:12px}.site-header{gap:12px}}


.epk-box{max-width:900px;margin:0 auto;text-align:center;background:linear-gradient(135deg,rgba(0,247,255,.10),rgba(255,0,212,.10));border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:34px;box-shadow:0 0 34px rgba(0,247,255,.10)}
.epk-box p{color:var(--muted);font-size:1.05rem;line-height:1.7}
.booking-form{width:min(760px,100%);margin:24px auto;display:grid;gap:14px}
.booking-form input,.booking-form textarea{width:100%;border:1px solid rgba(0,247,255,.35);border-radius:16px;background:rgba(0,0,0,.35);color:#fff;padding:14px 16px;font-family:Montserrat,Arial,sans-serif;font-size:1rem;outline:none}
.booking-form input:focus,.booking-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 18px rgba(0,247,255,.18)}
.booking-form textarea{resize:vertical;min-height:140px}
.booking-form button{cursor:pointer;justify-self:center}


/* Mixcloud Fix: keine externe Seite per iframe einbetten, da Firefox/Mixcloud dies blockieren kann */
.mixcloud-open-card{
  min-height:360px;
  display:flex;
  align-items:stretch;
  padding:0;
  overflow:hidden;
}
.mixcloud-preview-link{
  display:flex;
  width:100%;
  min-height:360px;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  color:var(--text);
  border-radius:24px;
  background:
    radial-gradient(circle at 20% 20%, rgba(0,247,255,.22), transparent 34%),
    radial-gradient(circle at 80% 30%, rgba(255,0,212,.24), transparent 38%),
    linear-gradient(135deg, rgba(10,10,22,.98), rgba(4,4,8,.92));
  transition:.25s;
}
.mixcloud-preview-link:hover{
  transform:scale(1.015);
  box-shadow:0 0 40px rgba(0,247,255,.24),0 0 52px rgba(255,0,212,.18);
}
.mixcloud-preview-inner{
  padding:34px;
  max-width:560px;
}
.mixcloud-logo-text{
  display:inline-block;
  margin-bottom:16px;
  padding:10px 16px;
  border-radius:999px;
  letter-spacing:.22em;
  font-weight:900;
  color:#fff;
  background:linear-gradient(90deg,#5000ff,#ff0066);
  box-shadow:0 0 24px rgba(255,0,212,.32);
}
.mixcloud-preview-inner h3{
  margin:8px 0 12px;
  font-size:clamp(1.6rem,3vw,2.6rem);
  color:var(--cyan);
  text-shadow:0 0 18px rgba(0,247,255,.5);
}
.mixcloud-preview-inner p{
  margin:0 auto 24px;
  line-height:1.7;
  color:#d8d8e8;
}
.mixcloud-play-pill{
  display:inline-block;
  padding:14px 22px;
  border-radius:999px;
  font-weight:900;
  color:#050505;
  background:linear-gradient(90deg,var(--cyan),var(--pink));
}


/* Firefox-sicherer Mixcloud-Fix: kein Mixcloud-Profil per iframe laden */
.mixcloud-player iframe[src*="mixcloud.com"],
.mixcloud-player iframe[src*="player-widget.mixcloud.com"]{
  display:none !important;
}
.mixcloud-open-card{
  min-height:360px;
  display:flex;
  align-items:stretch;
  padding:0;
  overflow:hidden;
}
.mixcloud-preview-link{
  display:flex;
  width:100%;
  min-height:360px;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  color:var(--text);
  border-radius:24px;
  background:
    radial-gradient(circle at 20% 20%, rgba(0,247,255,.22), transparent 34%),
    radial-gradient(circle at 80% 30%, rgba(255,0,212,.24), transparent 38%),
    linear-gradient(135deg, rgba(10,10,22,.98), rgba(4,4,8,.92));
  transition:.25s;
}
.mixcloud-preview-link:hover,
.mixcloud-preview-link:focus{
  transform:scale(1.015);
  box-shadow:0 0 40px rgba(0,247,255,.24),0 0 52px rgba(255,0,212,.18);
  outline:none;
}
.mixcloud-set-card{
  cursor:pointer;
}
.mixcloud-set-card:hover{
  border-color:rgba(0,247,255,.55);
  box-shadow:0 0 26px rgba(0,247,255,.14);
}

/* Firefox fix: right Mixcloud preview field removed, left field centered */
.mixcloud-feature.single-mixcloud-card {
  grid-template-columns: minmax(0, 760px);
  justify-content: center;
}
.mixcloud-feature.single-mixcloud-card .mixcloud-copy {
  width: 100%;
}

/* Mixcloud section with right live photo */
.mixcloud-feature.mixcloud-with-photo {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.95fr);
  align-items: stretch;
  justify-content: stretch;
}
.mixcloud-photo-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 24px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.25), 0 0 34px rgba(176,92,255,0.10);
  min-height: 310px;
}
.mixcloud-photo-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 310px;
  object-fit: cover;
  object-position: center center;
}
@media (max-width: 850px) {
  .mixcloud-feature.mixcloud-with-photo {
    grid-template-columns: 1fr;
  }
  .mixcloud-photo-card,
  .mixcloud-photo-card img {
    min-height: 280px;
  }
}

/* Release-Cover: vollständig und mit originalen, eckigen oberen Kanten anzeigen */
.release-grid .release-card,
.year-block .release-card,
.release-card.new-release,
.release-card.release-promo-card {
  border-radius: 0 0 24px 24px !important;
}

.release-grid .release-card > img,
.release-grid .release-card .release-image-link img,
.year-block .release-card > img,
.year-block .release-card .release-image-link img,
.release-card.new-release .release-image-link img,
.release-card.release-promo-card > img,
.release-card.release-promo-card .release-image-link img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center top !important;
  border-radius: 0 !important;
}

/* Firefox-sichere finale Darstellung der Release-Cover */
#discography .release-card {
  overflow: visible !important;
  border-radius: 0 0 24px 24px !important;
}
#discography .release-card > img,
#discography .release-card > a.release-image-link,
#discography .release-card > a.release-image-link > img {
  border-radius: 0 !important;
}
#discography .release-card > img,
#discography .release-card > a.release-image-link > img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: fill !important;
  object-position: initial !important;
  clip-path: none !important;
}
#discography .release-info {
  overflow: hidden;
  border-radius: 0 0 24px 24px;
}

/* Release covers remain square and clickable in all browsers */
.release-cover-link { display:block; width:100%; line-height:0; overflow:hidden; border-radius:0 !important; }
.release-cover-link img { display:block; width:100%; height:auto !important; aspect-ratio:auto !important; object-fit:contain !important; border-radius:0 !important; }

/* Artist links moved from header to top of News */
.news-artist-links{max-width:1180px;margin:-14px auto 34px;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}
.news-artist-links .btn{min-width:150px;text-align:center;margin:0}
@media(max-width:760px){.news-artist-links{margin-top:-8px;gap:10px}.news-artist-links .btn{min-width:calc(50% - 8px);padding:12px 14px}}

/* Zweizeilige Beschriftung der Beatport-Buttons im News-Bereich */
.news-artist-links .btn span,
.news-artist-links .btn small {
  display: block;
  line-height: 1.2;
}
.news-artist-links .btn small {
  margin-top: 0.22rem;
  font-size: 0.72em;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  opacity: 0.9;
}
