/*
Theme Name: DJ.DURACELL Premium 20.4 Final
Theme URI: https://www.djduracell.com
Author: DJ.DURACELL
Description: Individuelles WordPress-Theme für DJ.DURACELL – Event-DJ aus Lübeck.
Version: 20.4.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: dj-duracell-premium
*/

:root{
  --djd-yellow:#f4c400;
  --djd-black:#070707;
  --djd-dark:#101010;
  --djd-white:#ffffff;
  --djd-light:#f2f0eb;
  --djd-text:#151515;
  --djd-radius:26px;
  --djd-shadow:0 25px 70px rgba(0,0,0,.20);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--djd-text);background:var(--djd-black)}
a{color:inherit}
img{max-width:100%;height:auto}
.djd-wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.djd-site-header{position:fixed;z-index:100;top:0;left:0;right:0;background:rgba(7,7,7,.84);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.djd-nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:82px}
.djd-brand{text-decoration:none;color:#fff}
.djd-brand-main{display:block;font-weight:900;font-size:1.65rem;letter-spacing:-.03em}
.djd-brand-main b{color:var(--djd-yellow)}
.djd-brand-sub{font-size:.72rem;letter-spacing:.14em}
.djd-main-nav{display:flex;align-items:center;gap:32px}
.djd-main-nav a{
  position:relative;
  text-decoration:none;
  color:#fff;
  font-weight:700;
  font-size:.94rem;
  padding:30px 0 27px;
  transition:color .2s ease
}
.djd-main-nav a:not(.djd-nav-cta):after{
  content:'';
  position:absolute;
  left:0;
  right:100%;
  bottom:18px;
  height:2px;
  background:var(--djd-yellow);
  transition:right .25s ease
}
.djd-main-nav a:not(.djd-nav-cta):hover{color:var(--djd-yellow)}
.djd-main-nav a:not(.djd-nav-cta):hover:after{right:0}
.djd-nav-cta{background:var(--djd-yellow);color:#111!important;padding:13px 19px;border-radius:8px}
.djd-menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer}
.djd-hero{
  min-height:calc(100vh + 50px);
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 26%,rgba(244,196,0,.14),transparent 20%),
    radial-gradient(circle at 68% 52%,rgba(255,134,0,.10),transparent 28%),
    linear-gradient(90deg,#030303 0%,#070707 48%,#140d02 100%);
  color:#fff;
}
.djd-hero-photo{
  position:absolute;
  z-index:0;
  top:82px;
  right:0;
  bottom:0;
  width:55%;
  height:calc(100% - 82px);
  object-fit:cover;
  object-position:58% 42%;
  filter:saturate(1.04) contrast(1.08) brightness(1.04);
  animation:djdPhotoIn .8s ease both;
}
.djd-hero:before{
  content:'';
  position:absolute;
  z-index:1;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,.98) 30%,
      rgba(0,0,0,.80) 48%,
      rgba(0,0,0,.22) 69%,
      rgba(0,0,0,.02) 100%),
    linear-gradient(0deg,rgba(0,0,0,.84) 0%,transparent 38%);
}
.djd-hero:after{
  content:'';
  position:absolute;
  z-index:1;
  top:70px;
  right:2%;
  width:38%;
  height:70%;
  background:
    linear-gradient(115deg,transparent 0 35%,rgba(255,194,37,.18) 45%,transparent 56%),
    linear-gradient(72deg,transparent 0 58%,rgba(255,231,145,.11) 67%,transparent 77%);
  filter:blur(3px);
  opacity:.55;
  animation:djdLightMove 8s ease-in-out infinite alternate;
  pointer-events:none;
}
.djd-hero-overlay{
  position:absolute;
  z-index:1;
  inset:0;
  background:
    radial-gradient(circle at 84% 20%,rgba(255,214,92,.14),transparent 18%),
    radial-gradient(circle at 70% 66%,rgba(244,96,0,.10),transparent 30%);
}
.djd-hero-content{
  position:relative;
  z-index:2;
  padding-top:145px;
  padding-bottom:165px;
}
.djd-eyebrow{
  color:var(--djd-yellow);
  font-weight:900;
  letter-spacing:.20em;
  font-size:.79rem;
  margin:0 0 22px;
}
.djd-dark-eyebrow{color:#9b7d00}
.djd-hero h1,.djd-section h2{font-weight:900;letter-spacing:-.05em}
.djd-hero h1{
  font-size:clamp(3.8rem,6.15vw,6.9rem);
  line-height:.89;
  text-transform:uppercase;
  margin:0 0 26px;
  max-width:745px;
  animation:djdTextIn .65s ease both;
}
.djd-hero h1 span{
  color:var(--djd-yellow);
  display:block;
}
.djd-hero-text{
  font-size:clamp(1.02rem,1.32vw,1.2rem);
  line-height:1.68;
  max-width:600px;
  color:#f0f0f0;
  margin:0;
  animation:djdTextIn .75s .08s ease both;
}
.djd-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:31px;
  animation:djdTextIn .75s .16s ease both;
}
.djd-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:60px;
  padding:16px 29px;
  border-radius:8px;
  text-decoration:none;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.djd-btn:hover{transform:translateY(-3px)}
.djd-btn-primary{
  background:linear-gradient(180deg,#ffd62b,#f4c400);
  color:#111;
  box-shadow:0 12px 34px rgba(244,196,0,.25);
}
.djd-btn-primary:hover{box-shadow:0 17px 44px rgba(244,196,0,.40)}
.djd-btn-secondary{
  border:1px solid rgba(244,196,0,.75);
  color:#fff;
  background:rgba(0,0,0,.32);
}
.djd-btn-secondary:hover{background:rgba(244,196,0,.09)}
.djd-signature{
  margin-top:42px;
  color:var(--djd-yellow);
  font-family:"Brush Script MT","Segoe Script",cursive;
  font-size:2.2rem;
  line-height:1.05;
  transform:rotate(-3deg);
  width:max-content;
  opacity:.95;
  animation:djdTextIn .75s .24s ease both;
}
.djd-signature small{
  display:block;
  font-size:1.05rem;
  margin-bottom:2px;
}
.djd-trust-row{
  position:absolute;
  left:20px;
  right:20px;
  bottom:22px;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin:0 auto;
  max-width:1180px;
  padding:18px 0;
  background:rgba(0,0,0,.79);
  border-top:1px solid rgba(244,196,0,.38);
  border-bottom:1px solid rgba(255,255,255,.05);
  backdrop-filter:blur(12px);
}
.djd-trust-row span{
  display:flex;
  align-items:center;
  min-height:62px;
  padding:0 24px;
  border-right:1px solid rgba(255,255,255,.12);
  font-weight:800;
  font-size:.94rem;
}
.djd-trust-row span:last-child{border-right:0}
.djd-trust-row span:before{
  display:grid;
  place-items:center;
  flex:0 0 48px;
  width:48px;
  height:48px;
  border:1px solid var(--djd-yellow);
  border-radius:50%;
  color:var(--djd-yellow);
  font-size:1.35rem;
  margin-right:13px;
}
.djd-trust-row span:nth-child(1):before{content:'★'}
.djd-trust-row span:nth-child(2):before{content:'♫'}
.djd-trust-row span:nth-child(3):before{content:'●'}
.djd-trust-row span:nth-child(4):before{content:'♥'}
@keyframes djdTextIn{
  from{opacity:0;transform:translateX(-24px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes djdPhotoIn{
  from{opacity:0;transform:scale(1.025)}
  to{opacity:1;transform:scale(1)}
}
@keyframes djdLightMove{
  from{transform:translate3d(-1%,0,0) rotate(-1deg)}
  to{transform:translate3d(2%,1%,0) rotate(1deg)}
}
@media (prefers-reduced-motion:reduce){
  .djd-hero-photo,.djd-hero h1,.djd-hero-text,.djd-actions,.djd-signature,.djd-hero:after{
    animation:none!important
  }
}
.djd-facts{background:#0d0d0d;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.djd-facts-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.djd-facts-grid div{text-align:center;padding:30px 10px;border-right:1px solid rgba(255,255,255,.08)}
.djd-facts-grid div:last-child{border-right:0}
.djd-facts-grid strong{display:block;color:var(--djd-yellow);font-size:clamp(2rem,4vw,3rem)}
.djd-facts-grid span{color:#ddd}
.djd-section{padding:105px 0}
.djd-light{background:var(--djd-light)}
.djd-dark{background:var(--djd-black);color:#fff}
.djd-section h2{font-size:clamp(2.5rem,5vw,5rem);line-height:1.03;margin:0 0 30px}
.djd-lead{font-size:1.18rem;line-height:1.75}
.djd-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.djd-visual{min-height:540px;border-radius:var(--djd-radius);background-size:cover;background-position:center;box-shadow:var(--djd-shadow)}
.djd-visual-party{background-image:url('assets/images/service-party.jpg')}
.djd-visual-dj{background-image:url('assets/images/about-andreas.jpg');background-position:center 22%}
.djd-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.djd-card{padding:32px;border-radius:24px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,#171717,#101010)}
.djd-card .djd-icon{color:var(--djd-yellow);font-size:2rem}
.djd-card p{color:#d1d1d1;line-height:1.7}
.djd-statement{background:var(--djd-yellow);padding:56px 0}
.djd-statement p{font-size:clamp(2rem,4vw,4rem);font-weight:900;line-height:1.08;text-align:center;margin:0}
.djd-services{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:42px}
.djd-service{min-height:430px;border-radius:25px;position:relative;overflow:hidden;background-size:cover;background-position:center}
.djd-service:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.85))}
.djd-service div{position:absolute;z-index:2;left:28px;right:28px;bottom:25px}
.djd-service h3{font-size:2rem;margin:0 0 8px}
.djd-service p{margin:0;color:#eee}
.djd-service-wedding{background-image:url('assets/images/service-wedding.jpg')}
.djd-service-birthday{background-image:url('assets/images/service-birthday.jpg')}
.djd-service-company{background-image:url('assets/images/service-company.jpg')}
.djd-service-queer{background-image:url('assets/images/service-party.jpg')}
.djd-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.djd-steps article{background:#fff;border-radius:22px;padding:28px;box-shadow:var(--djd-shadow)}
.djd-steps b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--djd-yellow)}
.djd-steps h3{margin:20px 0 8px}
.djd-steps p{margin:0}
.djd-section blockquote{border-left:5px solid var(--djd-yellow);margin:28px 0;padding-left:24px;font-size:1.35rem;line-height:1.5}
.djd-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.djd-reviews article{background:#fff;padding:28px;border-radius:22px;box-shadow:var(--djd-shadow)}
.djd-stars{color:#c79d00;letter-spacing:.08em}
.djd-note{color:#777;font-size:.9rem}
.djd-cta{background:linear-gradient(135deg,#1a1a1a,#0c0c0c);padding:55px;border:1px solid rgba(255,255,255,.1);border-radius:28px}
.djd-cta p{max-width:740px;color:#ddd;font-size:1.15rem}
.djd-site-footer{background:#020202;color:#fff;padding:48px 0;border-top:1px solid rgba(255,255,255,.08)}
.djd-footer-grid{display:flex;justify-content:space-between;gap:30px}
.djd-footer-grid a{display:block;text-decoration:none;margin-top:8px;color:#ddd}
.djd-content-page{background:var(--djd-light);padding:140px 0 80px;min-height:70vh}
.djd-content-page article{max-width:900px;margin:auto;background:#fff;padding:42px;border-radius:24px}
@media(max-width:900px){
  .djd-main-nav{
    position:absolute;top:82px;left:0;right:0;background:#080808;
    display:none;flex-direction:column;align-items:flex-start;padding:24px
  }
  .djd-main-nav.open{display:flex}
  .djd-menu-toggle{display:block}
  .djd-split{grid-template-columns:1fr}
  .djd-cards,.djd-reviews{grid-template-columns:1fr}
  .djd-steps{grid-template-columns:repeat(2,1fr)}
  .djd-facts-grid{grid-template-columns:repeat(2,1fr)}
  .djd-hero-photo{width:62%;object-position:56% 38%}
  .djd-hero:before{
    background:
      linear-gradient(90deg,rgba(0,0,0,.99),rgba(0,0,0,.91) 49%,rgba(0,0,0,.34) 77%,rgba(0,0,0,.06)),
      linear-gradient(0deg,rgba(0,0,0,.90),transparent 46%);
  }
  .djd-hero-content{padding-top:128px;padding-bottom:285px}
  .djd-trust-row{grid-template-columns:repeat(2,1fr);bottom:22px}
  .djd-trust-row span:nth-child(2){border-right:0}
  .djd-trust-row span:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}
}
@media(max-width:640px){
  .djd-wrap{width:min(100% - 26px,1180px)}
  .djd-hero{min-height:auto}
  .djd-hero-photo{
    top:82px;
    width:100%;
    height:43%;
    object-position:55% 29%;
    opacity:.86;
  }
  .djd-hero:before{
    background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.50) 32%,rgba(0,0,0,.97) 58%,rgba(0,0,0,1) 100%);
  }
  .djd-hero h1{font-size:clamp(3rem,15vw,4.8rem);max-width:100%}
  .djd-hero-text{max-width:96%}
  .djd-hero-content{padding-top:330px;padding-bottom:440px}
  .djd-actions{flex-direction:column}
  .djd-btn{width:100%}
  .djd-signature{font-size:1.6rem}
  .djd-trust-row{
    left:13px;right:13px;bottom:16px;
    grid-template-columns:1fr;padding:0
  }
  .djd-trust-row span{
    border-right:0;border-bottom:1px solid rgba(255,255,255,.12);
    padding:13px 18px;min-height:58px
  }
  .djd-trust-row span:last-child{border-bottom:0}
  .djd-section{padding:68px 0}
  .djd-services,.djd-steps,.djd-facts-grid{grid-template-columns:1fr}
  .djd-visual{min-height:380px}
  .djd-cta{padding:34px 23px}
  .djd-footer-grid{flex-direction:column}
}

/* Homepage completion */
.djd-section-head{max-width:820px;margin-bottom:46px}
.djd-section-head p:last-child{font-size:1.12rem;line-height:1.75;color:#cfcfcf}
.djd-light .djd-section-head p:last-child{color:#4a4a4a}

.djd-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.djd-benefit{
  position:relative;overflow:hidden;min-height:280px;padding:30px 26px;
  border:1px solid rgba(255,255,255,.11);border-radius:22px;
  background:linear-gradient(150deg,#191919,#0e0e0e);
  transition:transform .25s ease,border-color .25s ease
}
.djd-benefit:hover{transform:translateY(-6px);border-color:rgba(244,196,0,.55)}
.djd-benefit:before{
  content:'';position:absolute;width:120px;height:120px;border-radius:50%;
  right:-55px;top:-55px;background:rgba(244,196,0,.08)
}
.djd-benefit-number{color:var(--djd-yellow);font-size:.78rem;font-weight:900;letter-spacing:.18em}
.djd-benefit h3{font-size:1.35rem;margin:54px 0 12px}
.djd-benefit p{color:#cfcfcf;line-height:1.65;margin:0}

.djd-process{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
.djd-process:before{
  content:'';position:absolute;left:9%;right:9%;top:28px;height:1px;
  background:linear-gradient(90deg,transparent,var(--djd-yellow),var(--djd-yellow),transparent)
}
.djd-process article{position:relative;text-align:center;padding:0 15px}
.djd-process b{
  position:relative;z-index:2;display:grid;place-items:center;width:58px;height:58px;
  margin:0 auto 24px;border-radius:50%;background:var(--djd-black);color:var(--djd-yellow);
  border:2px solid var(--djd-yellow);font-size:1.08rem;box-shadow:0 0 0 8px var(--djd-light)
}
.djd-process h3{margin:0 0 10px}
.djd-process p{line-height:1.6;margin:0;color:#555}

.djd-service{isolation:isolate;transition:transform .25s ease}
.djd-service:hover{transform:translateY(-6px)}
.djd-service:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(244,196,0,.08),transparent 45%);z-index:1}
.djd-service-link{position:absolute;inset:0;z-index:4;text-indent:-9999px}
.djd-service-kicker{display:inline-block;color:var(--djd-yellow);font-size:.75rem;font-weight:900;letter-spacing:.16em;margin-bottom:7px}

.djd-about-points{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px}
.djd-about-points span{padding:15px 16px;border:1px solid rgba(255,255,255,.11);border-radius:12px;color:#e5e5e5}
.djd-about-points span:before{content:'✓';color:var(--djd-yellow);font-weight:900;margin-right:10px}

.djd-gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:260px 260px;gap:16px}
.djd-gallery figure{margin:0;overflow:hidden;border-radius:18px;position:relative;background:#151515}
.djd-gallery figure:first-child{grid-row:1/3}
.djd-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.djd-gallery figure:hover img{transform:scale(1.035)}
.djd-gallery figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:18px;
  color:#fff;font-weight:800;background:linear-gradient(transparent,rgba(0,0,0,.85))
}

.djd-review-intro{max-width:760px}
.djd-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:36px}
.djd-review-card{padding:30px;border-radius:22px;background:#fff;box-shadow:var(--djd-shadow)}
.djd-review-card .djd-stars{margin-bottom:14px}
.djd-review-card p{font-size:1.07rem;line-height:1.7;margin:0 0 20px}
.djd-review-card strong{display:block}
.djd-review-card small{color:#777}

.djd-contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}
.djd-contact-card{padding:42px;border-radius:24px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,#181818,#0c0c0c)}
.djd-contact-card h3{font-size:1.55rem;margin-top:0}
.djd-contact-list{display:grid;gap:14px;margin-top:24px}
.djd-contact-list a,.djd-contact-list span{
  display:flex;align-items:center;gap:12px;padding:15px 16px;border-radius:12px;
  background:rgba(255,255,255,.04);text-decoration:none;color:#eee
}
.djd-contact-list b{color:var(--djd-yellow)}
.djd-final-cta{
  padding:48px;border-radius:24px;background:linear-gradient(135deg,var(--djd-yellow),#dcae00);
  color:#111;display:flex;flex-direction:column;justify-content:center
}
.djd-final-cta .djd-eyebrow{color:#111}
.djd-final-cta h2{font-size:clamp(2.4rem,4vw,4.5rem);margin-bottom:18px}
.djd-final-cta p{font-size:1.1rem;line-height:1.65}
.djd-final-cta .djd-btn{background:#111;color:#fff;margin-top:14px;align-self:flex-start}

.djd-reveal{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s ease}
.djd-reveal.is-visible{opacity:1;transform:none}

@media(max-width:1050px){
  .djd-benefits{grid-template-columns:repeat(2,1fr)}
  .djd-contact-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .djd-process{grid-template-columns:repeat(2,1fr)}
  .djd-process:before{display:none}
  .djd-gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 230px 230px}
  .djd-gallery figure:first-child{grid-column:1/3;grid-row:auto}
}
@media(max-width:640px){
  .djd-benefits,.djd-process,.djd-review-grid{grid-template-columns:1fr}
  .djd-gallery{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,260px)}
  .djd-gallery figure:first-child{grid-column:auto}
  .djd-contact-card,.djd-final-cta{padding:28px 22px}
  .djd-about-points{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .djd-reveal{opacity:1;transform:none;transition:none}
}


/* =========================================================
   HOCHZEITSSEITE
   ========================================================= */
.djd-wedding-hero{
  position:relative;
  min-height:calc(100vh - 78px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#090909;
}
.djd-wedding-hero-photo{
  position:absolute;
  inset:0 0 0 auto;
  width:58%;
  height:100%;
  object-fit:cover;
  object-position:center 26%;
  filter:saturate(.92) contrast(1.08) brightness(.82);
}
.djd-wedding-hero:before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,#070707 0%,#070707 39%,rgba(7,7,7,.92) 50%,rgba(7,7,7,.18) 78%,rgba(7,7,7,.1) 100%),
    radial-gradient(circle at 66% 35%,rgba(244,196,0,.16),transparent 30%);
  z-index:1;
}
.djd-wedding-hero:after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;height:180px;
  background:linear-gradient(transparent,#090909);
  z-index:1;
}
.djd-wedding-hero-content{
  position:relative;
  z-index:2;
  width:100%;
  padding-top:120px;
  padding-bottom:78px;
}
.djd-wedding-copy{max-width:720px}
.djd-wedding-copy h1{
  max-width:700px;
  font-size:clamp(3.4rem,6.5vw,7rem);
  line-height:.95;
  letter-spacing:-.055em;
  margin:14px 0 26px;
}
.djd-wedding-copy h1 span{display:block;color:var(--djd-yellow)}
.djd-wedding-copy .djd-hero-text{max-width:640px;font-size:1.14rem}
.djd-wedding-proof{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin-top:48px;
  max-width:940px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14);
}
.djd-wedding-proof div{
  background:rgba(10,10,10,.88);
  padding:19px 18px;
}
.djd-wedding-proof strong{
  display:block;
  color:var(--djd-yellow);
  font-size:.77rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  margin-bottom:5px;
}
.djd-wedding-proof span{font-size:.94rem;color:#f2f2f2}

.djd-availability-strip{
  position:relative;
  z-index:3;
  background:var(--djd-yellow);
  color:#111;
}
.djd-availability-inner{
  min-height:104px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.djd-availability-inner h2{
  margin:0;
  font-size:clamp(1.6rem,3vw,2.5rem);
}
.djd-availability-inner p{margin:5px 0 0;max-width:700px}
.djd-availability-inner .djd-btn{background:#111;color:#fff;white-space:nowrap}

.djd-imagine{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:80px;
  align-items:center;
}
.djd-imagine-quote{
  padding:42px;
  border-left:4px solid var(--djd-yellow);
  background:linear-gradient(135deg,rgba(244,196,0,.1),rgba(255,255,255,.025));
  border-radius:0 24px 24px 0;
}
.djd-imagine-quote p{
  font-size:clamp(1.35rem,2.4vw,2.2rem);
  line-height:1.42;
  margin:0;
  color:#fff;
}
.djd-imagine-quote strong{color:var(--djd-yellow)}

.djd-wedding-journey{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:18px;
  margin-top:55px;
}
.djd-wedding-journey:before{
  content:'';
  position:absolute;
  top:31px;
  left:8%;
  right:8%;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--djd-yellow),var(--djd-yellow),transparent);
}
.djd-journey-step{
  position:relative;
  text-align:center;
}
.djd-journey-icon{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:64px;height:64px;
  margin:0 auto 22px;
  border-radius:50%;
  border:2px solid var(--djd-yellow);
  background:#101010;
  font-size:1.55rem;
  box-shadow:0 0 0 8px #101010;
}
.djd-journey-step h3{font-size:1.1rem;margin:0 0 10px}
.djd-journey-step p{font-size:.93rem;color:#c9c9c9;line-height:1.58;margin:0}

.djd-wedding-benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.djd-wedding-benefit{
  min-height:280px;
  padding:30px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(150deg,#191919,#0d0d0d);
}
.djd-wedding-benefit b{
  display:inline-block;
  color:var(--djd-yellow);
  font-size:.78rem;
  letter-spacing:.14em;
  margin-bottom:54px;
}
.djd-wedding-benefit h3{font-size:1.35rem}
.djd-wedding-benefit p{color:#cfcfcf;line-height:1.65}

.djd-music-path{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:72px;
  align-items:center;
}
.djd-music-flow{
  position:relative;
  display:grid;
  gap:18px;
}
.djd-music-flow article{
  position:relative;
  padding:20px 22px 20px 64px;
  border-radius:16px;
  background:#fff;
  box-shadow:var(--djd-shadow);
}
.djd-music-flow article:before{
  content:attr(data-step);
  position:absolute;
  left:18px;top:18px;
  display:grid;place-items:center;
  width:30px;height:30px;
  border-radius:50%;
  background:var(--djd-yellow);
  color:#111;
  font-weight:900;
}
.djd-music-flow h3{margin:0 0 5px;font-size:1.05rem}
.djd-music-flow p{margin:0;color:#595959;line-height:1.55}

.djd-genre-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.djd-genre{
  appearance:none;
  border:1px solid rgba(255,255,255,.18);
  background:#151515;
  color:#fff;
  padding:12px 17px;
  border-radius:999px;
  font:inherit;
  cursor:pointer;
  transition:.2s ease;
}
.djd-genre:hover,.djd-genre.is-active{
  background:var(--djd-yellow);
  color:#111;
  border-color:var(--djd-yellow);
  transform:translateY(-2px);
}

.djd-wedding-gallery{
  display:grid;
  grid-template-columns:1.1fr .9fr .9fr;
  grid-template-rows:280px 280px;
  gap:16px;
}
.djd-wedding-gallery figure{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:20px;
  background:#111;
}
.djd-wedding-gallery figure:first-child{grid-row:1/3}
.djd-wedding-gallery img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .35s ease;
}
.djd-wedding-gallery figure:hover img{transform:scale(1.04)}
.djd-wedding-gallery figcaption{
  position:absolute;left:0;right:0;bottom:0;
  padding:20px;
  color:#fff;font-weight:800;
  background:linear-gradient(transparent,rgba(0,0,0,.85));
}

.djd-values{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}
.djd-value-statement{
  padding:46px;
  border-radius:24px;
  background:var(--djd-yellow);
  color:#111;
}
.djd-value-statement p{
  font-size:clamp(1.65rem,3vw,3rem);
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.035em;
  margin:0;
}

.djd-faq-list{display:grid;gap:12px;max-width:980px}
.djd-faq-item{
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:#151515;
  overflow:hidden;
}
.djd-faq-question{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:20px 22px;
  border:0;
  background:none;
  color:#fff;
  text-align:left;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.djd-faq-question span:last-child{
  color:var(--djd-yellow);
  font-size:1.4rem;
  transition:transform .2s ease;
}
.djd-faq-item.is-open .djd-faq-question span:last-child{transform:rotate(45deg)}
.djd-faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s ease;
}
.djd-faq-answer p{
  padding:0 22px 22px;
  margin:0;
  color:#cfcfcf;
  line-height:1.7;
}

.djd-wedding-final{
  background:
    linear-gradient(115deg,rgba(0,0,0,.94),rgba(0,0,0,.64)),
    url('assets/images/service-wedding.jpg') center 31%/cover no-repeat;
}
.djd-wedding-final-inner{
  max-width:780px;
  padding:80px 0;
}
.djd-wedding-final h2{
  font-size:clamp(3rem,6vw,6rem);
  line-height:.98;
  margin:10px 0 25px;
}
.djd-wedding-final p{font-size:1.15rem;line-height:1.7;color:#e4e4e4}

.djd-mobile-wedding-cta{display:none}

@media(max-width:1100px){
  .djd-wedding-journey{grid-template-columns:repeat(3,1fr);row-gap:44px}
  .djd-wedding-journey:before{display:none}
  .djd-wedding-benefits{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .djd-wedding-hero{min-height:900px;align-items:flex-end}
  .djd-wedding-hero-photo{width:100%;height:62%;top:0;object-position:center 20%}
  .djd-wedding-hero:before{
    background:linear-gradient(0deg,#070707 0%,#070707 35%,rgba(7,7,7,.7) 58%,rgba(7,7,7,.08) 100%);
  }
  .djd-wedding-copy{padding-top:330px}
  .djd-wedding-proof{grid-template-columns:repeat(2,1fr)}
  .djd-imagine,.djd-music-path,.djd-values{grid-template-columns:1fr;gap:36px}
  .djd-wedding-gallery{grid-template-columns:1fr 1fr;grid-template-rows:320px 230px 230px}
  .djd-wedding-gallery figure:first-child{grid-column:1/3;grid-row:auto}
}
@media(max-width:680px){
  body{padding-bottom:72px}
  .djd-wedding-hero{min-height:840px}
  .djd-wedding-hero-content{padding-bottom:44px}
  .djd-wedding-copy{padding-top:340px}
  .djd-wedding-copy h1{font-size:3.15rem}
  .djd-wedding-proof{grid-template-columns:1fr 1fr}
  .djd-availability-inner{padding:24px 0;align-items:flex-start;flex-direction:column}
  .djd-wedding-journey,.djd-wedding-benefits{grid-template-columns:1fr}
  .djd-journey-step{text-align:left;padding-left:82px;min-height:66px}
  .djd-journey-icon{position:absolute;left:0;top:0;margin:0}
  .djd-imagine-quote,.djd-value-statement{padding:28px 23px}
  .djd-wedding-gallery{grid-template-columns:1fr;grid-template-rows:repeat(4,260px)}
  .djd-wedding-gallery figure:first-child{grid-column:auto}
  .djd-mobile-wedding-cta{
    position:fixed;
    z-index:50;
    left:0;right:0;bottom:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    box-shadow:0 -10px 30px rgba(0,0,0,.35);
  }
  .djd-mobile-wedding-cta a{
    padding:17px 10px;
    text-align:center;
    text-decoration:none;
    font-weight:900;
  }
  .djd-mobile-wedding-cta a:first-child{background:var(--djd-yellow);color:#111}
  .djd-mobile-wedding-cta a:last-child{background:#111;color:#fff}
}


/* =========================================================
   GEBURTSTAGSSEITE
   ========================================================= */
.djd-birthday-hero{
  position:relative;
  min-height:calc(100vh - 78px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#090909;
}
.djd-birthday-hero-photo{
  position:absolute;
  inset:0 0 0 auto;
  width:60%;
  height:100%;
  object-fit:cover;
  object-position:center 30%;
  filter:saturate(1.03) contrast(1.08) brightness(.82);
}
.djd-birthday-hero:before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,#070707 0%,#070707 38%,rgba(7,7,7,.92) 50%,rgba(7,7,7,.16) 80%,rgba(7,7,7,.08) 100%),
    radial-gradient(circle at 69% 42%,rgba(244,196,0,.17),transparent 31%);
  z-index:1;
}
.djd-birthday-hero:after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;height:170px;
  background:linear-gradient(transparent,#090909);
  z-index:1;
}
.djd-birthday-hero-content{
  position:relative;
  z-index:2;
  width:100%;
  padding-top:120px;
  padding-bottom:78px;
}
.djd-birthday-copy{max-width:735px}
.djd-birthday-copy h1{
  max-width:720px;
  font-size:clamp(3.4rem,6.5vw,7rem);
  line-height:.95;
  letter-spacing:-.055em;
  margin:14px 0 26px;
}
.djd-birthday-copy h1 span{display:block;color:var(--djd-yellow)}
.djd-birthday-copy .djd-hero-text{max-width:650px;font-size:1.14rem}
.djd-birthday-proof{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin-top:48px;
  max-width:940px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14);
}
.djd-birthday-proof div{
  background:rgba(10,10,10,.88);
  padding:19px 18px;
}
.djd-birthday-proof strong{
  display:block;
  color:var(--djd-yellow);
  font-size:.77rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  margin-bottom:5px;
}
.djd-birthday-proof span{font-size:.94rem;color:#f2f2f2}

.djd-generation-strip{
  background:var(--djd-yellow);
  color:#111;
}
.djd-generation-inner{
  min-height:104px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.djd-generation-inner h2{
  margin:0;
  font-size:clamp(1.6rem,3vw,2.5rem);
}
.djd-generation-inner p{margin:5px 0 0;max-width:730px}
.djd-generation-inner .djd-btn{background:#111;color:#fff;white-space:nowrap}

.djd-birthday-scenarios{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.djd-birthday-scenario{
  min-height:300px;
  padding:30px 26px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(150deg,#191919,#0c0c0c);
}
.djd-birthday-scenario b{
  color:var(--djd-yellow);
  font-size:.78rem;
  letter-spacing:.14em;
}
.djd-birthday-scenario h3{
  margin:58px 0 12px;
  font-size:1.42rem;
}
.djd-birthday-scenario p{color:#cecece;line-height:1.65}

.djd-party-journey{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  margin-top:50px;
}
.djd-party-step{
  position:relative;
  padding:26px 22px;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--djd-shadow);
}
.djd-party-step b{
  display:grid;
  place-items:center;
  width:42px;height:42px;
  border-radius:50%;
  background:var(--djd-yellow);
  color:#111;
  margin-bottom:34px;
}
.djd-party-step h3{font-size:1.15rem;margin:0 0 10px}
.djd-party-step p{color:#575757;line-height:1.6;margin:0}

.djd-birthday-music{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:72px;
  align-items:center;
}
.djd-era-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:15px;
}
.djd-era-card{
  padding:24px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.11);
  background:#141414;
}
.djd-era-card h3{margin:0 0 8px;color:var(--djd-yellow)}
.djd-era-card p{margin:0;color:#ccc;line-height:1.58}

.djd-birthday-gallery{
  display:grid;
  grid-template-columns:1.1fr .9fr .9fr;
  grid-template-rows:280px 280px;
  gap:16px;
}
.djd-birthday-gallery figure{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:20px;
  background:#111;
}
.djd-birthday-gallery figure:first-child{grid-row:1/3}
.djd-birthday-gallery img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .35s ease;
}
.djd-birthday-gallery figure:hover img{transform:scale(1.04)}
.djd-birthday-gallery figcaption{
  position:absolute;left:0;right:0;bottom:0;
  padding:20px;
  color:#fff;font-weight:800;
  background:linear-gradient(transparent,rgba(0,0,0,.85));
}

.djd-birthday-value{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}
.djd-birthday-quote{
  padding:46px;
  border-radius:24px;
  background:var(--djd-yellow);
  color:#111;
}
.djd-birthday-quote p{
  font-size:clamp(1.65rem,3vw,3rem);
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.035em;
  margin:0;
}

.djd-birthday-final{
  background:
    linear-gradient(115deg,rgba(0,0,0,.93),rgba(0,0,0,.62)),
    url('assets/images/service-birthday.jpg') center 35%/cover no-repeat;
}
.djd-birthday-final-inner{
  max-width:790px;
  padding:82px 0;
}
.djd-birthday-final h2{
  font-size:clamp(3rem,6vw,6rem);
  line-height:.98;
  margin:10px 0 25px;
}
.djd-birthday-final p{font-size:1.15rem;line-height:1.7;color:#e4e4e4}

.djd-mobile-birthday-cta{display:none}

@media(max-width:1100px){
  .djd-birthday-scenarios{grid-template-columns:repeat(2,1fr)}
  .djd-party-journey{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .djd-birthday-hero{min-height:900px}
  .djd-birthday-hero-photo{width:100%;height:62%;top:0;object-position:center 24%}
  .djd-birthday-hero:before{
    background:linear-gradient(0deg,#070707 0%,#070707 35%,rgba(7,7,7,.7) 58%,rgba(7,7,7,.08) 100%);
  }
  .djd-birthday-copy{padding-top:330px}
  .djd-birthday-proof{grid-template-columns:repeat(2,1fr)}
  .djd-birthday-music,.djd-birthday-value{grid-template-columns:1fr;gap:36px}
  .djd-birthday-gallery{grid-template-columns:1fr 1fr;grid-template-rows:320px 230px 230px}
  .djd-birthday-gallery figure:first-child{grid-column:1/3;grid-row:auto}
}
@media(max-width:680px){
  body{padding-bottom:72px}
  .djd-birthday-hero{min-height:840px}
  .djd-birthday-hero-content{padding-bottom:44px}
  .djd-birthday-copy{padding-top:340px}
  .djd-birthday-copy h1{font-size:3.1rem}
  .djd-birthday-proof{grid-template-columns:1fr 1fr}
  .djd-generation-inner{padding:24px 0;align-items:flex-start;flex-direction:column}
  .djd-birthday-scenarios,.djd-party-journey,.djd-era-grid{grid-template-columns:1fr}
  .djd-birthday-gallery{grid-template-columns:1fr;grid-template-rows:repeat(4,260px)}
  .djd-birthday-gallery figure:first-child{grid-column:auto}
  .djd-birthday-quote{padding:28px 23px}
  .djd-mobile-birthday-cta{
    position:fixed;
    z-index:50;
    left:0;right:0;bottom:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    box-shadow:0 -10px 30px rgba(0,0,0,.35);
  }
  .djd-mobile-birthday-cta a{
    padding:17px 10px;
    text-align:center;
    text-decoration:none;
    font-weight:900;
  }
  .djd-mobile-birthday-cta a:first-child{background:var(--djd-yellow);color:#111}
  .djd-mobile-birthday-cta a:last-child{background:#111;color:#fff}
}


/* =========================================================
   FIRMENEVENTS
   ========================================================= */
.djd-company-hero{
  position:relative;
  min-height:calc(100vh - 78px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#080808;
}
.djd-company-hero-photo{
  position:absolute;
  inset:0 0 0 auto;
  width:61%;
  height:100%;
  object-fit:cover;
  object-position:center 35%;
  filter:saturate(.9) contrast(1.12) brightness(.72);
}
.djd-company-hero:before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,#070707 0%,#070707 39%,rgba(7,7,7,.94) 50%,rgba(7,7,7,.18) 80%,rgba(7,7,7,.08) 100%),
    radial-gradient(circle at 71% 42%,rgba(244,196,0,.15),transparent 31%);
  z-index:1;
}
.djd-company-hero:after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;height:180px;
  background:linear-gradient(transparent,#080808);
  z-index:1;
}
.djd-company-hero-content{
  position:relative;
  z-index:2;
  width:100%;
  padding-top:120px;
  padding-bottom:78px;
}
.djd-company-copy{max-width:760px}
.djd-company-copy h1{
  max-width:760px;
  font-size:clamp(3.3rem,6.3vw,6.8rem);
  line-height:.96;
  letter-spacing:-.052em;
  margin:14px 0 26px;
}
.djd-company-copy h1 span{display:block;color:var(--djd-yellow)}
.djd-company-copy .djd-hero-text{max-width:675px;font-size:1.13rem}
.djd-company-proof{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin-top:48px;
  max-width:980px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14);
}
.djd-company-proof div{
  background:rgba(10,10,10,.9);
  padding:19px 18px;
}
.djd-company-proof strong{
  display:block;
  color:var(--djd-yellow);
  font-size:.76rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  margin-bottom:5px;
}
.djd-company-proof span{font-size:.93rem;color:#f1f1f1}

.djd-business-strip{
  background:var(--djd-yellow);
  color:#111;
}
.djd-business-strip-inner{
  min-height:106px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.djd-business-strip-inner h2{
  margin:0;
  font-size:clamp(1.6rem,3vw,2.55rem);
}
.djd-business-strip-inner p{margin:5px 0 0;max-width:730px}
.djd-business-strip-inner .djd-btn{background:#111;color:#fff;white-space:nowrap}

.djd-company-benefits{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.djd-company-benefit{
  min-height:290px;
  padding:30px 26px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(150deg,#191919,#0c0c0c);
  transition:transform .25s ease,border-color .25s ease;
}
.djd-company-benefit:hover{
  transform:translateY(-6px);
  border-color:rgba(244,196,0,.52);
}
.djd-company-benefit b{
  color:var(--djd-yellow);
  font-size:.78rem;
  letter-spacing:.14em;
}
.djd-company-benefit h3{
  margin:58px 0 12px;
  font-size:1.38rem;
}
.djd-company-benefit p{color:#cecece;line-height:1.65}

.djd-company-process{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  margin-top:50px;
}
.djd-company-process article{
  position:relative;
  padding:26px 22px;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--djd-shadow);
}
.djd-company-process b{
  display:grid;
  place-items:center;
  width:42px;height:42px;
  border-radius:50%;
  background:var(--djd-yellow);
  color:#111;
  margin-bottom:34px;
}
.djd-company-process h3{font-size:1.12rem;margin:0 0 10px}
.djd-company-process p{color:#585858;line-height:1.6;margin:0}

.djd-event-types{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.djd-event-type{
  position:relative;
  min-height:270px;
  padding:30px;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.11);
  background:
    linear-gradient(145deg,rgba(244,196,0,.08),transparent 48%),
    linear-gradient(150deg,#191919,#0d0d0d);
}
.djd-event-type span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--djd-yellow);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.djd-event-type h3{margin:52px 0 12px;font-size:1.42rem}
.djd-event-type p{color:#ccc;line-height:1.65}

.djd-company-tech{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:72px;
  align-items:center;
}
.djd-tech-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.djd-tech-item{
  padding:22px;
  border-radius:17px;
  background:#fff;
  box-shadow:var(--djd-shadow);
}
.djd-tech-item h3{margin:0 0 8px;font-size:1.06rem}
.djd-tech-item p{margin:0;color:#595959;line-height:1.58}

.djd-company-partnership{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:68px;
  align-items:center;
}
.djd-partnership-flow{display:grid;gap:14px}
.djd-partnership-flow article{
  position:relative;
  padding:19px 22px 19px 64px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.11);
  background:#141414;
}
.djd-partnership-flow article:before{
  content:attr(data-step);
  position:absolute;
  left:18px;top:17px;
  display:grid;place-items:center;
  width:30px;height:30px;
  border-radius:50%;
  background:var(--djd-yellow);
  color:#111;
  font-weight:900;
}
.djd-partnership-flow h3{margin:0 0 5px;font-size:1.05rem}
.djd-partnership-flow p{margin:0;color:#ccc;line-height:1.55}

.djd-company-gallery{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  grid-template-rows:280px 280px;
  gap:16px;
}
.djd-company-gallery figure{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:20px;
  background:#111;
}
.djd-company-gallery figure:first-child{grid-row:1/3}
.djd-company-gallery img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .35s ease;
}
.djd-company-gallery figure:hover img{transform:scale(1.04)}
.djd-company-gallery figcaption{
  position:absolute;left:0;right:0;bottom:0;
  padding:20px;
  color:#fff;font-weight:800;
  background:linear-gradient(transparent,rgba(0,0,0,.85));
}

.djd-company-values{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}
.djd-company-statement{
  padding:46px;
  border-radius:24px;
  background:var(--djd-yellow);
  color:#111;
}
.djd-company-statement p{
  font-size:clamp(1.65rem,3vw,3rem);
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.035em;
  margin:0;
}

.djd-company-final{
  background:
    linear-gradient(115deg,rgba(0,0,0,.94),rgba(0,0,0,.62)),
    url('assets/images/service-company.jpg') center 38%/cover no-repeat;
}
.djd-company-final-inner{max-width:820px;padding:82px 0}
.djd-company-final h2{
  font-size:clamp(3rem,6vw,6rem);
  line-height:.98;
  margin:10px 0 25px;
}
.djd-company-final p{font-size:1.15rem;line-height:1.7;color:#e4e4e4}

.djd-mobile-company-cta{display:none}

@media(max-width:1100px){
  .djd-company-benefits{grid-template-columns:repeat(2,1fr)}
  .djd-company-process{grid-template-columns:repeat(3,1fr)}
  .djd-event-types{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .djd-company-hero{min-height:900px}
  .djd-company-hero-photo{width:100%;height:62%;top:0;object-position:center 29%}
  .djd-company-hero:before{
    background:linear-gradient(0deg,#070707 0%,#070707 35%,rgba(7,7,7,.72) 58%,rgba(7,7,7,.08) 100%);
  }
  .djd-company-copy{padding-top:330px}
  .djd-company-proof{grid-template-columns:repeat(2,1fr)}
  .djd-company-tech,.djd-company-partnership,.djd-company-values{grid-template-columns:1fr;gap:36px}
  .djd-company-gallery{grid-template-columns:1fr 1fr;grid-template-rows:320px 230px 230px}
  .djd-company-gallery figure:first-child{grid-column:1/3;grid-row:auto}
}
@media(max-width:680px){
  body{padding-bottom:72px}
  .djd-company-hero{min-height:850px}
  .djd-company-hero-content{padding-bottom:44px}
  .djd-company-copy{padding-top:340px}
  .djd-company-copy h1{font-size:3.05rem}
  .djd-company-proof{grid-template-columns:1fr 1fr}
  .djd-business-strip-inner{padding:24px 0;align-items:flex-start;flex-direction:column}
  .djd-company-benefits,.djd-company-process,.djd-event-types,.djd-tech-list{grid-template-columns:1fr}
  .djd-company-gallery{grid-template-columns:1fr;grid-template-rows:repeat(4,260px)}
  .djd-company-gallery figure:first-child{grid-column:auto}
  .djd-company-statement{padding:28px 23px}
  .djd-mobile-company-cta{
    position:fixed;
    z-index:50;
    left:0;right:0;bottom:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    box-shadow:0 -10px 30px rgba(0,0,0,.35);
  }
  .djd-mobile-company-cta a{
    padding:17px 10px;
    text-align:center;
    text-decoration:none;
    font-weight:900;
  }
  .djd-mobile-company-cta a:first-child{background:var(--djd-yellow);color:#111}
  .djd-mobile-company-cta a:last-child{background:#111;color:#fff}
}


/* =========================================================
   QUEER EVENTS
   ========================================================= */
.djd-queer-hero{
  position:relative;
  min-height:calc(100vh - 78px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#070707;
}
.djd-queer-hero-photo{
  position:absolute;
  inset:0 0 0 auto;
  width:62%;
  height:100%;
  object-fit:cover;
  object-position:center 32%;
  filter:saturate(1.16) contrast(1.11) brightness(.70);
}
.djd-queer-hero:before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,#060606 0%,#060606 39%,rgba(6,6,6,.92) 51%,rgba(6,6,6,.22) 80%,rgba(6,6,6,.10) 100%),
    radial-gradient(circle at 76% 28%,rgba(255,52,159,.22),transparent 28%),
    radial-gradient(circle at 68% 65%,rgba(50,211,255,.18),transparent 31%),
    radial-gradient(circle at 88% 63%,rgba(141,77,255,.18),transparent 27%);
}
.djd-queer-hero:after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;height:180px;
  z-index:1;
  background:linear-gradient(transparent,#070707);
}
.djd-queer-hero-content{
  position:relative;
  z-index:2;
  width:100%;
  padding-top:120px;
  padding-bottom:78px;
}
.djd-queer-copy{max-width:775px}
.djd-queer-copy h1{
  max-width:780px;
  font-size:clamp(3.4rem,6.5vw,7rem);
  line-height:.95;
  letter-spacing:-.055em;
  margin:14px 0 26px;
}
.djd-queer-copy h1 span{
  display:block;
  background:linear-gradient(90deg,var(--djd-yellow),#ff55b8,#6edcff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.djd-queer-copy .djd-hero-text{max-width:680px;font-size:1.14rem}
.djd-queer-proof{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  margin-top:48px;
  max-width:980px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14);
}
.djd-queer-proof div{background:rgba(9,9,9,.90);padding:19px 18px}
.djd-queer-proof strong{
  display:block;
  color:var(--djd-yellow);
  font-size:.76rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  margin-bottom:5px;
}
.djd-queer-proof span{font-size:.93rem;color:#f2f2f2}

.djd-queer-strip{
  background:linear-gradient(90deg,var(--djd-yellow),#ff6bbc 55%,#7bdcff);
  color:#111;
}
.djd-queer-strip-inner{
  min-height:108px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.djd-queer-strip-inner h2{margin:0;font-size:clamp(1.6rem,3vw,2.55rem)}
.djd-queer-strip-inner p{margin:5px 0 0;max-width:740px}
.djd-queer-strip-inner .djd-btn{background:#111;color:#fff;white-space:nowrap}

.djd-queer-values{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.djd-queer-value{
  min-height:295px;
  padding:30px 26px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.11);
  background:
    radial-gradient(circle at 100% 0,rgba(255,70,168,.11),transparent 35%),
    linear-gradient(150deg,#191919,#0c0c0c);
  transition:transform .25s ease,border-color .25s ease;
}
.djd-queer-value:nth-child(2){background:radial-gradient(circle at 100% 0,rgba(74,215,255,.11),transparent 35%),linear-gradient(150deg,#191919,#0c0c0c)}
.djd-queer-value:nth-child(3){background:radial-gradient(circle at 100% 0,rgba(147,88,255,.12),transparent 35%),linear-gradient(150deg,#191919,#0c0c0c)}
.djd-queer-value:hover{transform:translateY(-6px);border-color:rgba(244,196,0,.5)}
.djd-queer-value b{color:var(--djd-yellow);font-size:.78rem;letter-spacing:.14em}
.djd-queer-value h3{margin:58px 0 12px;font-size:1.4rem}
.djd-queer-value p{color:#cecece;line-height:1.65}

.djd-queer-event-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.djd-queer-event{
  min-height:270px;
  padding:30px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.11);
  background:
    linear-gradient(145deg,rgba(255,255,255,.025),transparent),
    linear-gradient(150deg,#191919,#0d0d0d);
}
.djd-queer-event span{
  display:inline-flex;
  color:var(--djd-yellow);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.djd-queer-event h3{margin:50px 0 12px;font-size:1.42rem}
.djd-queer-event p{color:#ccc;line-height:1.65}

.djd-queer-music{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:70px;
  align-items:center;
}
.djd-queer-cloud{display:flex;flex-wrap:wrap;gap:12px}
.djd-queer-chip{
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  padding:13px 18px;
  color:#fff;
  background:#151515;
  font-weight:800;
  cursor:pointer;
  transition:.2s ease;
}
.djd-queer-chip:hover,.djd-queer-chip.is-active{
  color:#111;
  border-color:var(--djd-yellow);
  background:var(--djd-yellow);
  transform:translateY(-2px);
}

.djd-queer-process{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  margin-top:50px;
}
.djd-queer-process article{
  padding:26px 22px;
  border-radius:18px;
  background:#fff;
  box-shadow:var(--djd-shadow);
}
.djd-queer-process b{
  display:grid;place-items:center;
  width:42px;height:42px;border-radius:50%;
  color:#111;background:var(--djd-yellow);
  margin-bottom:34px;
}
.djd-queer-process h3{font-size:1.12rem;margin:0 0 10px}
.djd-queer-process p{color:#585858;line-height:1.6;margin:0}

.djd-queer-gallery{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  grid-template-rows:280px 280px;
  gap:16px;
}
.djd-queer-gallery figure{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:20px;
  background:#111;
}
.djd-queer-gallery figure:first-child{grid-row:1/3}
.djd-queer-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.djd-queer-gallery figure:hover img{transform:scale(1.04)}
.djd-queer-gallery figcaption{
  position:absolute;left:0;right:0;bottom:0;
  padding:20px;color:#fff;font-weight:800;
  background:linear-gradient(transparent,rgba(0,0,0,.86));
}

.djd-queer-manifesto{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}
.djd-queer-statement{
  padding:46px;
  border-radius:24px;
  color:#111;
  background:linear-gradient(135deg,var(--djd-yellow),#ff75bd 58%,#82ddff);
}
.djd-queer-statement p{
  margin:0;
  font-size:clamp(1.65rem,3vw,3rem);
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.035em;
}

.djd-queer-final{
  background:
    linear-gradient(115deg,rgba(0,0,0,.94),rgba(0,0,0,.58)),
    radial-gradient(circle at 75% 25%,rgba(255,56,166,.24),transparent 28%),
    url('assets/images/service-party.jpg') center 38%/cover no-repeat;
}
.djd-queer-final-inner{max-width:820px;padding:84px 0}
.djd-queer-final h2{
  font-size:clamp(3rem,6vw,6rem);
  line-height:.98;
  margin:10px 0 25px;
}
.djd-queer-final p{font-size:1.15rem;line-height:1.7;color:#e4e4e4}
.djd-mobile-queer-cta{display:none}

@media(max-width:1100px){
  .djd-queer-values{grid-template-columns:repeat(2,1fr)}
  .djd-queer-event-grid{grid-template-columns:repeat(2,1fr)}
  .djd-queer-process{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .djd-queer-hero{min-height:900px}
  .djd-queer-hero-photo{width:100%;height:62%;top:0;object-position:center 26%}
  .djd-queer-hero:before{
    background:
      linear-gradient(0deg,#060606 0%,#060606 35%,rgba(6,6,6,.7) 58%,rgba(6,6,6,.08) 100%),
      radial-gradient(circle at 75% 20%,rgba(255,52,159,.18),transparent 30%);
  }
  .djd-queer-copy{padding-top:330px}
  .djd-queer-proof{grid-template-columns:repeat(2,1fr)}
  .djd-queer-music,.djd-queer-manifesto{grid-template-columns:1fr;gap:36px}
  .djd-queer-gallery{grid-template-columns:1fr 1fr;grid-template-rows:320px 230px 230px}
  .djd-queer-gallery figure:first-child{grid-column:1/3;grid-row:auto}
}
@media(max-width:680px){
  body{padding-bottom:72px}
  .djd-queer-hero{min-height:850px}
  .djd-queer-hero-content{padding-bottom:44px}
  .djd-queer-copy{padding-top:340px}
  .djd-queer-copy h1{font-size:3.05rem}
  .djd-queer-proof{grid-template-columns:1fr 1fr}
  .djd-queer-strip-inner{padding:24px 0;align-items:flex-start;flex-direction:column}
  .djd-queer-values,.djd-queer-event-grid,.djd-queer-process{grid-template-columns:1fr}
  .djd-queer-gallery{grid-template-columns:1fr;grid-template-rows:repeat(4,260px)}
  .djd-queer-gallery figure:first-child{grid-column:auto}
  .djd-queer-statement{padding:28px 23px}
  .djd-mobile-queer-cta{
    position:fixed;z-index:50;left:0;right:0;bottom:0;
    display:grid;grid-template-columns:1fr 1fr;
    box-shadow:0 -10px 30px rgba(0,0,0,.35);
  }
  .djd-mobile-queer-cta a{
    padding:17px 10px;text-align:center;text-decoration:none;font-weight:900;
  }
  .djd-mobile-queer-cta a:first-child{background:var(--djd-yellow);color:#111}
  .djd-mobile-queer-cta a:last-child{background:#111;color:#fff}
}


/* =========================================================
   HEADER-KORREKTUR + QUEER EVENTS DELUXE 11.2
   ========================================================= */
.djd-site-header{
  top:0;
}
.admin-bar .djd-site-header{top:32px}
.djd-nav-wrap{
  min-height:88px;
  gap:24px;
}
.djd-brand{
  flex:0 0 205px;
  min-width:205px;
}
.djd-brand-main{font-size:1.48rem;white-space:nowrap}
.djd-brand-sub{display:block;white-space:nowrap;font-size:.62rem}
.djd-main-nav{
  justify-content:flex-end;
  gap:clamp(15px,1.45vw,27px);
  min-width:0;
}
.djd-main-nav a{
  white-space:nowrap;
  font-size:clamp(.76rem,.78vw,.9rem);
  padding:33px 0 30px;
}
.djd-main-nav .current-menu-item > a,
.djd-main-nav .current_page_item > a{
  color:var(--djd-yellow);
}
.djd-main-nav .current-menu-item > a:after,
.djd-main-nav .current_page_item > a:after{
  right:0!important;
}

.djd-queer-topline{
  position:fixed;
  z-index:102;
  top:0;
  left:0;
  right:0;
  height:34px;
  background:#020202;
  color:#eee;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.admin-bar .djd-queer-topline{top:32px}
.djd-queer-topline + .djd-site-header{top:34px}
.admin-bar .djd-queer-topline + .djd-site-header{top:66px}
.djd-queer-topline-inner{
  height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  font-size:.72rem;
  white-space:nowrap;
}
.djd-queer-topline-inner span{color:#e8e8e8}
.djd-queer-topline-inner span::first-letter{color:var(--djd-yellow)}

.djd-queer-page{background:#060606;color:#fff}
.djd-qhero{
  position:relative;
  min-height:690px;
  overflow:hidden;
  display:flex;
  align-items:center;
  border-bottom:3px solid transparent;
  border-image:linear-gradient(90deg,#ff3ba7,var(--djd-yellow),#48dcff) 1;
  padding-top:122px;
}
.admin-bar .djd-qhero{padding-top:154px}
.djd-qhero-image{
  position:absolute;
  inset:0 0 0 auto;
  width:67%;
  height:100%;
  object-fit:cover;
  object-position:center 34%;
  filter:saturate(1.22) contrast(1.08) brightness(.79);
}
.djd-qhero:before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,#030303 0%,rgba(3,3,3,.99) 30%,rgba(3,3,3,.82) 47%,rgba(3,3,3,.18) 73%,rgba(3,3,3,.04) 100%),
    linear-gradient(0deg,rgba(0,0,0,.76),transparent 46%);
}
.djd-qhero-glow{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 58% 12%,rgba(255,41,166,.30),transparent 23%),
    radial-gradient(circle at 75% 45%,rgba(66,218,255,.22),transparent 26%),
    radial-gradient(circle at 87% 65%,rgba(126,64,255,.20),transparent 22%);
  mix-blend-mode:screen;
}
.djd-qhero-inner{position:relative;z-index:2;width:100%}
.djd-qhero-copy{max-width:650px;padding:66px 0 72px}
.djd-qhero-copy h1{
  margin:0 0 24px;
  font-size:clamp(3.5rem,5.7vw,6rem);
  line-height:.98;
  letter-spacing:-.052em;
  font-weight:900;
}
.djd-qhero-copy h1 span{
  display:block;
  background:linear-gradient(90deg,#ff46b6,#ffa45c 40%,#8dc6ff 92%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.djd-qhero-copy > p:not(.djd-eyebrow){
  max-width:600px;
  margin:0;
  color:#ededed;
  font-size:1.08rem;
  line-height:1.72;
}

.djd-qfacts{
  background:#050505;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.djd-qfacts-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.djd-qfacts article{
  min-height:112px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:22px 26px;
  border-right:1px solid rgba(255,255,255,.13);
}
.djd-qfacts article:last-child{border-right:0}
.djd-qfacts i{
  flex:0 0 48px;
  font-size:2.25rem;
  line-height:1;
  font-style:normal;
  color:#ff4fba;
}
.djd-qfacts article:nth-child(2) i{color:#a775ff}
.djd-qfacts article:nth-child(3) i{color:#4bdfff}
.djd-qfacts article:nth-child(4) i{color:var(--djd-yellow)}
.djd-qfacts strong{display:block;margin-bottom:6px;font-size:.95rem}
.djd-qfacts span{display:block;color:#c9c9c9;font-size:.83rem;line-height:1.45}

.djd-qevents-section{
  position:relative;
  background:
    radial-gradient(circle at 15% 20%,rgba(255,34,161,.13),transparent 25%),
    radial-gradient(circle at 82% 19%,rgba(46,209,255,.12),transparent 25%),
    #090909;
}
.djd-qcenter{text-align:center;margin-left:auto;margin-right:auto}
.djd-qcenter p{margin-left:auto;margin-right:auto}
.djd-qevent-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.djd-qevent-card{
  position:relative;
  min-height:350px;
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.15);
  background:#111;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  transition:transform .28s ease,border-color .28s ease;
}
.djd-qevent-card:hover{
  transform:translateY(-7px);
  border-color:rgba(255,70,184,.7);
}
.djd-qevent-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.14) brightness(.80);
  transition:transform .38s ease;
}
.djd-qevent-card:hover img{transform:scale(1.055)}
.djd-qevent-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.74) 42%,rgba(0,0,0,.06) 76%);
}
.djd-qevent-content{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:26px;
}
.djd-qevent-content > span{
  display:block;
  margin-bottom:13px;
  color:#ff57bd;
  font-size:2.2rem;
}
.djd-qevent-card:nth-child(2n) .djd-qevent-content > span{color:#a87cff}
.djd-qevent-card:nth-child(3n) .djd-qevent-content > span{color:#45dcff}
.djd-qevent-content h3{
  margin:0 0 9px;
  font-size:1.4rem;
}
.djd-qevent-content p{
  margin:0;
  color:#e3e3e3;
  line-height:1.55;
  font-size:.92rem;
}

.djd-qcontact{
  color:#111;
  background:linear-gradient(90deg,#ffc515,#ff75bd 55%,#4bdcff);
}
.djd-qcontact-inner{
  min-height:170px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  padding-top:30px;
  padding-bottom:30px;
}
.djd-qcontact .djd-eyebrow{color:#111;margin-bottom:8px}
.djd-qcontact h2{font-size:clamp(1.8rem,3vw,3rem);margin:0 0 7px}
.djd-qcontact p{margin:0}
.djd-btn-dark{background:#111;color:#fff}
.djd-btn-dark-outline{background:#111;color:#fff;border:1px solid rgba(255,255,255,.45)}

@media(max-width:1180px){
  .djd-main-nav{gap:13px}
  .djd-brand{flex-basis:180px;min-width:180px}
  .djd-brand-main{font-size:1.3rem}
  .djd-brand-sub{font-size:.56rem}
  .djd-main-nav a{font-size:.72rem}
}
@media(max-width:1000px){
  .djd-queer-topline{display:none}
  .djd-queer-topline + .djd-site-header,
  .admin-bar .djd-queer-topline + .djd-site-header{top:0}
  .admin-bar .djd-site-header{top:32px}
  .djd-nav-wrap{min-height:82px}
  .djd-main-nav{
    top:82px;
    gap:0;
    max-height:calc(100vh - 82px);
    overflow:auto;
  }
  .admin-bar .djd-main-nav{max-height:calc(100vh - 114px)}
  .djd-main-nav a{font-size:.95rem;padding:14px 0}
  .djd-qhero,.admin-bar .djd-qhero{padding-top:82px}
  .djd-qfacts-grid{grid-template-columns:repeat(2,1fr)}
  .djd-qfacts article:nth-child(2){border-right:0}
  .djd-qfacts article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}
  .djd-qevent-cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .admin-bar .djd-site-header{top:46px}
  .djd-qhero,.admin-bar .djd-qhero{
    min-height:760px;
    align-items:flex-end;
    padding-top:82px;
  }
  .djd-qhero-image{
    width:100%;
    height:56%;
    top:0;
    object-position:center 23%;
  }
  .djd-qhero:before{
    background:
      linear-gradient(0deg,#030303 0%,#030303 39%,rgba(3,3,3,.75) 59%,rgba(3,3,3,.06) 100%),
      radial-gradient(circle at 60% 20%,rgba(255,41,166,.19),transparent 27%);
  }
  .djd-qhero-copy{padding:325px 0 42px}
  .djd-qhero-copy h1{font-size:3.1rem}
  .djd-qfacts-grid{grid-template-columns:1fr}
  .djd-qfacts article{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.13);
  }
  .djd-qevent-cards{grid-template-columns:1fr}
  .djd-qevent-card{min-height:330px}
  .djd-qcontact-inner{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   MUSIKWÜNSCHE 12.0
   ========================================================= */
.djd-wish-page{background:#070707;color:#fff}
.djd-wish-hero{
  position:relative;
  overflow:hidden;
  min-height:760px;
  padding-top:115px;
  display:flex;
  align-items:center;
  background:#070707;
}
.admin-bar .djd-wish-hero{padding-top:147px}
.djd-wish-hero-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 75% 28%,rgba(244,196,0,.20),transparent 25%),
    radial-gradient(circle at 88% 72%,rgba(255,70,173,.18),transparent 25%),
    radial-gradient(circle at 64% 72%,rgba(65,214,255,.14),transparent 24%),
    linear-gradient(120deg,#050505 0%,#0b0b0b 48%,#111 100%);
}
.djd-wish-hero-bg:after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(90deg,transparent 10%,#000 65%);
}
.djd-wish-hero-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:80px;
  align-items:center;
  width:100%;
}
.djd-wish-hero-copy h1{
  font-size:clamp(3.8rem,6.5vw,7rem);
  line-height:.96;
  letter-spacing:-.055em;
  margin:12px 0 25px;
}
.djd-wish-hero-copy h1 span{
  display:block;
  background:linear-gradient(90deg,var(--djd-yellow),#ff7abf 52%,#63dfff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.djd-wish-hero-copy > p:not(.djd-eyebrow){
  max-width:660px;
  color:#dedede;
  font-size:1.12rem;
  line-height:1.72;
}
.djd-wish-hero-note{
  max-width:610px;
  margin-top:35px;
  padding:20px 22px;
  border-left:3px solid var(--djd-yellow);
  background:rgba(255,255,255,.045);
}
.djd-wish-hero-note strong{display:block;margin-bottom:5px}
.djd-wish-hero-note span{color:#cfcfcf;font-size:.94rem;line-height:1.55}

.djd-wish-phone{
  width:min(365px,100%);
  margin:0 auto;
  padding:14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:42px;
  background:linear-gradient(145deg,#252525,#080808);
  box-shadow:0 40px 90px rgba(0,0,0,.48),0 0 80px rgba(244,196,0,.10);
  transform:rotate(2deg);
}
.djd-wish-phone-top{
  width:112px;height:24px;
  margin:0 auto 10px;
  border-radius:0 0 16px 16px;
  background:#020202;
}
.djd-wish-phone-screen{
  min-height:590px;
  padding:28px 25px;
  border-radius:29px;
  background:
    radial-gradient(circle at 80% 10%,rgba(255,80,182,.17),transparent 26%),
    linear-gradient(160deg,#151515,#070707);
}
.djd-wish-phone-brand{font-weight:900;color:var(--djd-yellow);letter-spacing:.12em;font-size:.78rem}
.djd-wish-phone-screen > p{font-size:1.65rem;font-weight:900;margin:26px 0 28px}
.djd-wish-phone-screen label{display:block;color:#aaa;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin:15px 0 7px}
.djd-wish-input{
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:#111;
  color:#eee;
  font-size:.9rem;
}
.djd-wish-input-large{min-height:75px}
.djd-wish-phone-screen button{
  width:100%;
  margin-top:23px;
  padding:15px 12px;
  border:0;
  border-radius:12px;
  background:var(--djd-yellow);
  color:#111;
  font-weight:900;
}
.djd-wish-phone-screen small{display:block;text-align:center;color:#8e8e8e;margin-top:14px}

.djd-wish-trust{background:#fff;color:#111;border-bottom:1px solid #e3e3e3}
.djd-wish-trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.djd-wish-trust article{min-height:130px;padding:28px 24px;border-right:1px solid #dedede}
.djd-wish-trust article:last-child{border-right:0}
.djd-wish-trust b{display:block;color:#a17f00;font-size:.76rem;letter-spacing:.13em;margin-bottom:16px}
.djd-wish-trust strong{display:block;margin-bottom:7px}
.djd-wish-trust span{display:block;color:#666;line-height:1.5;font-size:.9rem}

.djd-wish-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.djd-wish-steps article{
  position:relative;
  min-height:300px;
  padding:28px;
  border-radius:20px;
  background:#fff;
  border:1px solid #e8e8e8;
  box-shadow:0 20px 55px rgba(0,0,0,.08);
}
.djd-wish-step-icon{
  display:grid;place-items:center;
  width:58px;height:58px;
  border-radius:18px;
  background:#111;color:var(--djd-yellow);
  font-size:1.7rem;
  margin-bottom:45px;
}
.djd-wish-steps b{position:absolute;right:25px;top:25px;color:#b89200}
.djd-wish-steps h3{font-size:1.3rem;margin:0 0 12px}
.djd-wish-steps p{color:#606060;line-height:1.6;margin:0}

.djd-wish-balance{
  background:
    radial-gradient(circle at 85% 20%,rgba(255,66,177,.11),transparent 27%),
    radial-gradient(circle at 65% 80%,rgba(61,215,255,.09),transparent 28%),
    #080808;
}
.djd-wish-balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.djd-wish-balance-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:rgba(255,255,255,.12);
}
.djd-wish-balance-card div{padding:27px;background:#101010;min-height:190px}
.djd-wish-balance-card span{display:block;font-size:1.8rem;color:var(--djd-yellow);margin-bottom:24px}
.djd-wish-balance-card strong{display:block;margin-bottom:8px}
.djd-wish-balance-card p{margin:0;color:#bfbfbf;line-height:1.55;font-size:.9rem}

.djd-wish-before{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.djd-wish-before-card{padding:42px;border-radius:24px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.08)}
.djd-wish-before-card ul{margin:26px 0 0;padding:0;list-style:none}
.djd-wish-before-card li{position:relative;padding:10px 0 10px 28px;border-bottom:1px solid #eee;color:#444}
.djd-wish-before-card li:before{content:'✓';position:absolute;left:0;color:#a17f00;font-weight:900}
.djd-wish-before-visual{display:flex;flex-wrap:wrap;gap:13px;align-content:center;justify-content:center}
.djd-wish-tag{
  padding:15px 21px;
  border-radius:999px;
  color:#fff;
  background:#111;
  font-weight:800;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}
.djd-wish-tag:nth-child(3n){background:#231429}
.djd-wish-tag:nth-child(4n){background:#10252b}
.djd-wish-tag.is-main{background:var(--djd-yellow);color:#111;font-size:1.08rem}
.djd-wish-tag.is-no{background:#8c1837}

.djd-wish-guest-section{
  background:
    radial-gradient(circle at 15% 20%,rgba(244,196,0,.14),transparent 24%),
    radial-gradient(circle at 85% 75%,rgba(255,70,177,.12),transparent 26%),
    #0a0a0a;
}
.djd-wish-guest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.djd-wish-guest-grid article{
  padding:31px 27px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(255,255,255,.035);
}
.djd-wish-guest-grid span{display:block;font-size:2rem;color:var(--djd-yellow);margin-bottom:45px}
.djd-wish-guest-grid h3{font-size:1.25rem;margin:0 0 10px}
.djd-wish-guest-grid p{color:#c4c4c4;line-height:1.6;margin:0}

.djd-wish-final{
  color:#111;
  background:linear-gradient(90deg,var(--djd-yellow),#ff74bd 56%,#55ddff);
}
.djd-wish-final-inner{
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:45px;
  padding-top:35px;
  padding-bottom:35px;
}
.djd-wish-final .djd-eyebrow{color:#111}
.djd-wish-final h2{font-size:clamp(2rem,3.5vw,3.5rem);margin:7px 0 9px}
.djd-wish-final p{margin:0}

@media(max-width:1050px){
  .djd-wish-hero-inner{gap:35px}
  .djd-wish-trust-grid,.djd-wish-steps,.djd-wish-guest-grid{grid-template-columns:repeat(2,1fr)}
  .djd-wish-trust article:nth-child(2){border-right:0}
  .djd-wish-trust article:nth-child(-n+2){border-bottom:1px solid #dedede}
}
@media(max-width:850px){
  .djd-wish-hero,.admin-bar .djd-wish-hero{padding-top:100px}
  .djd-wish-hero-inner{grid-template-columns:1fr;padding-bottom:70px}
  .djd-wish-hero-copy{padding-top:35px}
  .djd-wish-phone{transform:none}
  .djd-wish-balance-grid,.djd-wish-before{grid-template-columns:1fr;gap:38px}
}
@media(max-width:650px){
  .djd-wish-hero-copy h1{font-size:3.15rem}
  .djd-wish-trust-grid,.djd-wish-steps,.djd-wish-guest-grid{grid-template-columns:1fr}
  .djd-wish-trust article{border-right:0;border-bottom:1px solid #dedede}
  .djd-wish-balance-card{grid-template-columns:1fr}
  .djd-wish-before-card{padding:28px 23px}
  .djd-wish-final-inner{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   ÜBER MICH – SIGNATURE EDITION 13.1
   ========================================================= */
.djd-about-page{background:#070707;color:#fff}
.djd-about-hero{position:relative;min-height:850px;display:flex;align-items:center;overflow:hidden;background:#050505}
.djd-about-hero-photo{position:absolute;inset:82px 0 0 auto;width:62%;height:calc(100% - 82px);object-fit:cover;object-position:center 34%;filter:contrast(1.08) saturate(.92)}
.djd-about-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.98) 34%,rgba(5,5,5,.67) 60%,rgba(5,5,5,.13) 100%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 40%)}
.djd-about-hero-inner{position:relative;z-index:2;width:100%;padding-top:90px;padding-bottom:70px}
.djd-about-hero-copy{max-width:750px}
.djd-about-hero h1{font-size:clamp(3.7rem,6.5vw,7.1rem);line-height:.94;letter-spacing:-.06em;margin:14px 0 28px}
.djd-about-hero h1 span{display:block;color:var(--djd-yellow)}
.djd-about-hero-copy>p:not(.djd-eyebrow){max-width:655px;color:#ddd;font-size:1.12rem;line-height:1.72}
.djd-about-signature{background:var(--djd-yellow);color:#111}
.djd-about-signature-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);align-items:stretch}
.djd-about-signature-grid>p{font-size:1.34rem;font-weight:900;margin:0;padding:34px 25px 34px 0;display:flex;align-items:center}
.djd-about-signature-grid>div{padding:30px 24px;border-left:1px solid rgba(0,0,0,.2)}
.djd-about-signature strong,.djd-about-signature span{display:block}.djd-about-signature strong{font-size:1.08rem}.djd-about-signature span{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;margin-top:5px}
.djd-about-story-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:85px;align-items:start}
.djd-about-story-copy{position:sticky;top:130px}
.djd-about-timeline{position:relative}.djd-about-timeline:before{content:'';position:absolute;left:32px;top:20px;bottom:20px;width:1px;background:#d2c8a4}
.djd-about-timeline article{position:relative;display:grid;grid-template-columns:66px 1fr;gap:25px;padding:0 0 42px}
.djd-about-timeline b{position:relative;z-index:2;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#111;color:var(--djd-yellow);border:7px solid var(--djd-light);font-size:.85rem}
.djd-about-timeline span{display:block;font-size:1.38rem;font-weight:900;margin:7px 0 8px}.djd-about-timeline p{margin:0;color:#5d5d5d;line-height:1.65}
.djd-about-values-section{background:radial-gradient(circle at 80% 15%,rgba(244,196,0,.12),transparent 26%),#080808}
.djd-about-values{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.djd-about-values article{position:relative;min-height:330px;padding:30px 27px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(255,255,255,.035);overflow:hidden}
.djd-about-values article:after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--djd-yellow);transform:scaleX(0);transform-origin:left;transition:.3s}.djd-about-values article:hover:after{transform:scaleX(1)}
.djd-about-values b{position:absolute;right:23px;top:23px;color:#777}.djd-about-values span{display:block;font-size:2.1rem;color:var(--djd-yellow);margin:38px 0 50px}.djd-about-values h3{font-size:1.25rem;margin:0 0 12px}.djd-about-values p{color:#bdbdbd;line-height:1.62;margin:0}
.djd-about-philosophy{overflow:hidden}.djd-about-contrast{display:grid;grid-template-columns:1fr 300px 1fr;gap:40px;align-items:center;margin-top:55px}
.djd-about-contrast article{padding:38px;border-radius:24px;box-shadow:0 22px 60px rgba(0,0,0,.08);background:#fff}.djd-about-contrast small{display:block;font-weight:900;letter-spacing:.15em;margin-bottom:25px}.djd-about-contrast ul{list-style:none;padding:0;margin:0}.djd-about-contrast li{padding:14px 0;border-bottom:1px solid #eee;font-weight:750}.djd-about-not li:before{content:'×';color:#a51f42;margin-right:13px;font-size:1.3rem}.djd-about-is li:before{content:'✓';color:#8a7200;margin-right:13px;font-weight:900}
.djd-about-vinyl{width:300px;height:300px;border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle,#111 0 7px,#191919 8px 10px);box-shadow:0 30px 65px rgba(0,0,0,.3)}.djd-about-vinyl:before{content:'';position:absolute}.djd-about-vinyl>div{width:125px;height:125px;border-radius:50%;background:var(--djd-yellow);display:grid;place-content:center;text-align:center;color:#111}.djd-about-vinyl span{font-size:.72rem;letter-spacing:.18em}.djd-about-vinyl strong{font-size:1.1rem}
.djd-about-gallery-section{background:#080808}.djd-about-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:260px 260px;gap:16px}.djd-about-gallery figure{position:relative;margin:0;overflow:hidden;border-radius:19px}.djd-about-gallery-main{grid-row:1/3}.djd-about-gallery figure:last-child{grid-column:2/4}.djd-about-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .6s ease;filter:saturate(.85)}.djd-about-gallery figure:hover img{transform:scale(1.045);filter:saturate(1)}.djd-about-gallery figcaption{position:absolute;inset:auto 0 0;padding:55px 22px 20px;background:linear-gradient(transparent,rgba(0,0,0,.9))}.djd-about-gallery figcaption strong,.djd-about-gallery figcaption span{display:block}.djd-about-gallery figcaption span{color:#ccc;font-size:.88rem;margin-top:5px}
.djd-about-personal-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center}.djd-about-personal-image{height:590px;border-radius:26px;overflow:hidden;box-shadow:var(--djd-shadow)}.djd-about-personal-image img{width:100%;height:100%;object-fit:cover;object-position:center 28%}.djd-about-personal blockquote{margin:32px 0 0;padding:23px 25px;border-left:4px solid var(--djd-yellow);background:#fff;font-size:1.25rem;font-weight:850;line-height:1.45}
.djd-about-final{color:#111;background:linear-gradient(100deg,var(--djd-yellow),#f5d85b)}.djd-about-final-inner{min-height:245px;display:flex;align-items:center;justify-content:space-between;gap:45px;padding-top:40px;padding-bottom:40px}.djd-about-final .djd-eyebrow{color:#111}.djd-about-final h2{font-size:clamp(2.1rem,3.8vw,3.7rem);max-width:760px;line-height:1.02;margin:8px 0 12px}.djd-about-final p{margin:0}
@media(max-width:1080px){.djd-about-values{grid-template-columns:repeat(2,1fr)}.djd-about-signature-grid{grid-template-columns:1fr 1fr}.djd-about-signature-grid>p{grid-column:1/3}.djd-about-signature-grid>div:nth-of-type(2){border-left:0}.djd-about-contrast{grid-template-columns:1fr 250px 1fr}.djd-about-vinyl{width:250px;height:250px}}
@media(max-width:850px){.djd-about-hero{min-height:900px;align-items:flex-end}.djd-about-hero-photo{top:82px;width:100%;height:55%;object-position:center 25%}.djd-about-hero-shade{background:linear-gradient(0deg,#050505 0%,#050505 46%,rgba(5,5,5,.45) 70%,rgba(5,5,5,.1) 100%)}.djd-about-hero-inner{padding-top:430px}.djd-about-story-grid,.djd-about-personal-grid{grid-template-columns:1fr;gap:45px}.djd-about-story-copy{position:static}.djd-about-contrast{grid-template-columns:1fr}.djd-about-vinyl{margin:auto}.djd-about-gallery{grid-template-columns:1fr 1fr;grid-template-rows:360px 230px 230px}.djd-about-gallery-main{grid-column:1/3;grid-row:auto}.djd-about-gallery figure:last-child{grid-column:1/3}.djd-about-personal-image{height:520px}}
@media(max-width:650px){.djd-about-hero h1{font-size:3.25rem}.djd-about-signature-grid{grid-template-columns:1fr}.djd-about-signature-grid>p{grid-column:auto}.djd-about-signature-grid>div{border-left:0;border-top:1px solid rgba(0,0,0,.18)}.djd-about-values{grid-template-columns:1fr}.djd-about-gallery{display:grid;grid-template-columns:1fr;grid-template-rows:none}.djd-about-gallery-main,.djd-about-gallery figure:last-child{grid-column:auto}.djd-about-gallery figure{height:270px}.djd-about-personal-image{height:430px}.djd-about-final-inner{flex-direction:column;align-items:flex-start}}


/* =========================================================
   ECHTE FOTOS & VISUELLER FEINSCHLIFF 13.1
   ========================================================= */
.djd-about-hero-photo{
  object-position:center 28%;
  filter:contrast(1.04) saturate(.96) brightness(.9);
}
.djd-about-hero-shade{
  background:
    linear-gradient(90deg,#050505 0%,rgba(5,5,5,.98) 34%,rgba(5,5,5,.69) 59%,rgba(5,5,5,.08) 100%),
    linear-gradient(0deg,rgba(0,0,0,.68),transparent 42%);
}
.djd-about-gallery-main img{object-position:center 36%}
.djd-about-gallery figure:nth-child(2) img{object-position:center 34%}
.djd-about-gallery figure:nth-child(3) img{object-position:center 26%}
.djd-about-gallery figure:last-child img{object-position:center 25%}
.djd-about-personal-image img{object-position:center 28%}

.djd-hero-photo{
  object-position:center 30%;
  filter:contrast(1.03) saturate(.96) brightness(.88);
}
.djd-wedding-hero-photo{
  object-position:center 25%;
  filter:contrast(1.03) saturate(.96) brightness(.86);
}

.djd-about-gallery figure:after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  border-radius:inherit;
}
.djd-about-gallery figcaption{
  z-index:2;
}

@media(max-width:850px){
  .djd-about-hero-photo{object-position:center 24%}
  .djd-hero-photo{object-position:center 24%}
  .djd-wedding-hero-photo{object-position:center 23%}
}

/* Authentisch-Bildkorrektur 13.2.2 */
.djd-about-authentisch img{
  object-position:center 42% !important;
  filter:contrast(1.05) brightness(.88) !important;
}


/* =========================================================
   KONTAKT – PREMIUM EDITION 14.0
   ========================================================= */
.djd-contact-page{background:#070707;color:#fff}
.djd-contact-hero{
  position:relative;
  min-height:790px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#070707;
}
.djd-contact-hero-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 30%;
  filter:contrast(1.04) saturate(.92) brightness(.82);
}
.djd-contact-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,3,3,.98) 0%,rgba(3,3,3,.93) 37%,rgba(3,3,3,.43) 64%,rgba(3,3,3,.18) 100%),
    linear-gradient(0deg,rgba(0,0,0,.72),transparent 48%);
}
.djd-contact-hero-inner{position:relative;z-index:2;width:100%;padding-top:135px;padding-bottom:70px}
.djd-contact-hero-copy{max-width:760px}
.djd-contact-hero h1{
  max-width:800px;
  margin:12px 0 25px;
  font-size:clamp(3.7rem,6.2vw,6.7rem);
  line-height:.96;
  letter-spacing:-.055em;
}
.djd-contact-hero h1 span{display:block;color:var(--djd-yellow)}
.djd-contact-hero-copy>p:not(.djd-eyebrow){
  max-width:675px;
  color:#dedede;
  font-size:1.08rem;
  line-height:1.72;
}
.djd-contact-hero-meta{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:770px;
  margin-top:42px;
  border-top:1px solid rgba(255,255,255,.16);
}
.djd-contact-hero-meta div{padding:22px 22px 0 0}
.djd-contact-hero-meta strong,.djd-contact-hero-meta span{display:block}
.djd-contact-hero-meta strong{margin-bottom:5px;color:#fff}
.djd-contact-hero-meta span{color:#bdbdbd;font-size:.88rem;line-height:1.45}

.djd-contact-quick{background:#fff;color:#111;border-bottom:1px solid #ddd}
.djd-contact-quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.djd-contact-quick a{
  position:relative;
  min-height:145px;
  padding:30px 25px;
  color:#111;
  text-decoration:none;
  border-right:1px solid #dedede;
  transition:transform .25s ease,background .25s ease;
}
.djd-contact-quick a:last-child{border-right:0}
.djd-contact-quick a:hover{background:#f5f5f5;transform:translateY(-4px)}
.djd-contact-quick span{
  display:grid;
  place-items:center;
  width:40px;height:40px;
  margin-bottom:18px;
  border-radius:12px;
  background:#111;
  color:var(--djd-yellow);
  font-weight:900;
}
.djd-contact-quick strong,.djd-contact-quick small{display:block}
.djd-contact-quick strong{font-size:1.05rem;margin-bottom:5px}
.djd-contact-quick small{color:#696969}

.djd-contact-form-section{padding-top:110px;padding-bottom:110px}
.djd-contact-form-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:68px;align-items:start}
.djd-contact-form-copy{position:sticky;top:135px}
.djd-contact-promise{margin-top:38px}
.djd-contact-promise article{display:flex;gap:17px;padding:21px 0;border-bottom:1px solid #ddd}
.djd-contact-promise b{color:#9a7900;font-size:.78rem;letter-spacing:.12em}
.djd-contact-promise strong,.djd-contact-promise span{display:block}
.djd-contact-promise strong{margin-bottom:5px}
.djd-contact-promise span{color:#666;line-height:1.5;font-size:.92rem}

.djd-contact-form-card{
  padding:38px;
  border-radius:25px;
  background:#fff;
  box-shadow:0 25px 75px rgba(0,0,0,.13);
}
.djd-contact-form{display:grid;gap:20px}
.djd-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.djd-contact-form label>span{display:block;margin-bottom:8px;color:#282828;font-weight:800;font-size:.85rem}
.djd-contact-form input,
.djd-contact-form select,
.djd-contact-form textarea{
  width:100%;
  border:1px solid #d9d9d9;
  border-radius:12px;
  background:#fafafa;
  color:#111;
  padding:14px 15px;
  font:inherit;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.djd-contact-form input:focus,
.djd-contact-form select:focus,
.djd-contact-form textarea:focus{
  border-color:#b48c00;
  background:#fff;
  box-shadow:0 0 0 3px rgba(244,196,0,.16);
}
.djd-contact-form textarea{resize:vertical}
.djd-privacy-check{display:flex;gap:11px;align-items:flex-start}
.djd-privacy-check input{width:auto;margin-top:4px}
.djd-privacy-check span{font-weight:500!important;color:#565656!important;line-height:1.5}
.djd-form-submit{width:100%;border:0;cursor:pointer}
.djd-form-note{margin:0;text-align:center;color:#777;font-size:.78rem}
.djd-honeypot{position:absolute!important;left:-9999px!important}
.djd-form-message{display:grid;gap:4px;margin-bottom:24px;padding:17px 18px;border-radius:12px}
.djd-form-message span{line-height:1.5;font-size:.9rem}
.djd-form-message.is-success{background:#e9f7ed;color:#155b2b;border:1px solid #b8dfc3}
.djd-form-message.is-warning{background:#fff6d7;color:#715600;border:1px solid #efd889}
.djd-form-message.is-error{background:#fde8eb;color:#7c1e2c;border:1px solid #efbcc5}

.djd-contact-availability{
  background:
    radial-gradient(circle at 18% 15%,rgba(244,196,0,.13),transparent 25%),
    radial-gradient(circle at 85% 80%,rgba(70,210,255,.08),transparent 27%),
    #080808;
}
.djd-availability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.djd-availability-grid article{
  min-height:245px;
  padding:31px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:21px;
  background:rgba(255,255,255,.035);
}
.djd-availability-grid article>span{display:block;width:14px;height:14px;border-radius:50%;margin-bottom:55px;box-shadow:0 0 22px currentColor}
.djd-availability-grid .is-green>span{background:#47d47d;color:#47d47d}
.djd-availability-grid .is-yellow>span{background:#f4c400;color:#f4c400}
.djd-availability-grid .is-red>span{background:#ff5d70;color:#ff5d70}
.djd-availability-grid h3{margin:0 0 10px;font-size:1.3rem}
.djd-availability-grid p{margin:0;color:#c4c4c4;line-height:1.65}

.djd-contact-area{overflow:hidden}
.djd-contact-area-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}
.djd-area-cities{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}
.djd-area-cities span{padding:11px 16px;border-radius:999px;background:#111;color:#fff;font-weight:800;font-size:.86rem}
.djd-area-note{color:#6b6b6b;font-size:.9rem}
.djd-area-map{
  position:relative;
  min-height:540px;
  border-radius:28px;
  overflow:hidden;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),
    radial-gradient(circle at center,#262626,#080808 72%);
  background-size:42px 42px,42px 42px,auto;
  box-shadow:0 30px 80px rgba(0,0,0,.18);
}
.djd-map-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(244,196,0,.30);border-radius:50%;transform:translate(-50%,-50%)}
.djd-map-ring.ring-one{width:180px;height:180px}
.djd-map-ring.ring-two{width:340px;height:340px}
.djd-map-ring.ring-three{width:500px;height:500px}
.djd-map-center{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  display:grid;place-items:center;
  width:116px;height:116px;border-radius:50%;
  background:var(--djd-yellow);color:#111;
  box-shadow:0 0 55px rgba(244,196,0,.38);
}
.djd-map-center b{font-size:.92rem;letter-spacing:.08em}
.djd-map-center span{font-size:.7rem}
.djd-area-map .pin{
  position:absolute;
  padding:7px 10px 7px 22px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-style:normal;
  font-size:.72rem;
  backdrop-filter:blur(8px);
}
.djd-area-map .pin:before{content:'';position:absolute;left:9px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--djd-yellow);transform:translateY(-50%)}
.pin-hamburg{left:27%;top:39%}.pin-kiel{left:42%;top:17%}.pin-schwerin{right:21%;top:36%}
.pin-rostock{right:13%;top:19%}.pin-hannover{left:27%;bottom:21%}.pin-bremen{left:8%;bottom:32%}.pin-berlin{right:7%;bottom:22%}

.djd-contact-faq{background:#090909}
.djd-contact-final{
  color:#111;
  background:linear-gradient(90deg,var(--djd-yellow),#ff77bd 57%,#5fdfff);
}
.djd-contact-final-inner{
  min-height:245px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:50px;
  padding-top:42px;
  padding-bottom:42px;
}
.djd-contact-final .djd-eyebrow{color:#111}
.djd-contact-final h2{margin:8px 0 10px;font-size:clamp(2.2rem,3.7vw,3.7rem)}
.djd-contact-final p{margin:0}

@media(max-width:1050px){
  .djd-contact-quick-grid{grid-template-columns:repeat(2,1fr)}
  .djd-contact-quick a:nth-child(2){border-right:0}
  .djd-contact-quick a:nth-child(-n+2){border-bottom:1px solid #dedede}
  .djd-contact-form-layout,.djd-contact-area-layout{grid-template-columns:1fr;gap:45px}
  .djd-contact-form-copy{position:static}
}
@media(max-width:780px){
  .djd-contact-hero{min-height:730px}
  .djd-contact-hero-inner{padding-top:110px}
  .djd-contact-hero h1{font-size:3.3rem}
  .djd-contact-hero-overlay{background:linear-gradient(90deg,rgba(3,3,3,.96),rgba(3,3,3,.66))}
  .djd-contact-hero-meta{grid-template-columns:1fr}
  .djd-contact-hero-meta div{padding-top:15px}
  .djd-form-grid,.djd-availability-grid{grid-template-columns:1fr}
  .djd-area-map{min-height:460px}
  .djd-map-ring.ring-three{width:420px;height:420px}
  .djd-contact-final-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  .djd-contact-quick-grid{grid-template-columns:1fr}
  .djd-contact-quick a{border-right:0;border-bottom:1px solid #dedede}
  .djd-contact-form-card{padding:25px 20px}
  .djd-contact-hero h1{font-size:2.8rem}
  .djd-area-map{min-height:400px}
  .djd-map-ring.ring-two{width:280px;height:280px}
  .djd-map-ring.ring-three{width:360px;height:360px}
}


/* =========================================================
   SOCIAL MEDIA 14.1
   ========================================================= */
.djd-btn-instagram{
  color:#fff!important;
  border:1px solid rgba(255,255,255,.55)!important;
  background:linear-gradient(115deg,#833ab4,#fd1d1d 52%,#fcb045)!important;
  box-shadow:0 10px 30px rgba(225,48,108,.22);
}
.djd-btn-instagram:hover{
  transform:translateY(-3px);
  filter:brightness(1.08);
}

.djd-contact-social{
  position:relative;
  overflow:hidden;
  padding:105px 0;
  background:
    radial-gradient(circle at 15% 20%,rgba(225,48,108,.17),transparent 26%),
    radial-gradient(circle at 82% 78%,rgba(255,85,0,.12),transparent 28%),
    #090909;
}
.djd-social-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.djd-social-card{
  position:relative;
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:28px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  overflow:hidden;
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.035);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.djd-social-card:before{
  content:'';
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .3s ease;
}
.djd-social-card:hover{
  transform:translateY(-8px);
  border-color:rgba(255,255,255,.28);
  box-shadow:0 25px 65px rgba(0,0,0,.34);
}
.djd-social-card:hover:before{opacity:1}
.djd-social-card>*{position:relative;z-index:2}
.djd-social-icon{
  display:grid;
  place-items:center;
  width:58px;height:58px;
  border-radius:18px;
  background:#fff;
  color:#111;
  font-weight:950;
  letter-spacing:-.02em;
}
.djd-social-card strong,
.djd-social-card small,
.djd-social-card b{display:block}
.djd-social-card strong{font-size:1.35rem;margin-bottom:6px}
.djd-social-card small{color:#d1d1d1;font-size:.9rem}
.djd-social-card b{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#fff}
.djd-social-card.is-instagram:before{background:linear-gradient(145deg,rgba(131,58,180,.85),rgba(253,29,29,.75),rgba(252,176,69,.70))}
.djd-social-card.is-facebook:before{background:linear-gradient(145deg,rgba(24,119,242,.88),rgba(16,72,145,.72))}
.djd-social-card.is-soundcloud:before{background:linear-gradient(145deg,rgba(255,85,0,.90),rgba(255,132,0,.68))}
.djd-social-card.is-tiktok:before{background:linear-gradient(145deg,rgba(37,244,238,.32),rgba(0,0,0,.58),rgba(254,44,85,.42))}
.djd-social-card.is-instagram .djd-social-icon{color:#c13584}
.djd-social-card.is-facebook .djd-social-icon{color:#1877f2}
.djd-social-card.is-soundcloud .djd-social-icon{color:#ff5500}
.djd-social-card.is-tiktok .djd-social-icon{color:#111}

.djd-footer-social{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 18px;
  padding:18px 20px 24px;
  border-top:1px solid rgba(255,255,255,.09);
}
.djd-footer-social a{
  color:#bdbdbd;
  text-decoration:none;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.04em;
  transition:color .2s ease,transform .2s ease;
}
.djd-footer-social a:hover{
  color:var(--djd-yellow);
  transform:translateY(-2px);
}

@media(max-width:1050px){
  .djd-social-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .djd-contact-hero-actions{align-items:stretch}
  .djd-contact-hero-actions .djd-btn{width:100%;justify-content:center}
  .djd-social-grid{grid-template-columns:1fr}
  .djd-social-card{min-height:220px}
}


/* =========================================================
   ABSCHLUSS, RECHTLICHES & GOOGLE-BEWERTUNGEN 15.0
   ========================================================= */
body{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.djd-reviews-cta{
  padding:78px 0;
  background:
    radial-gradient(circle at 15% 35%,rgba(244,196,0,.16),transparent 28%),
    #0a0a0a;
}
.djd-reviews-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:45px;
  padding:40px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  background:rgba(255,255,255,.035);
}
.djd-reviews-cta-inner h2{margin:8px 0 10px}
.djd-reviews-cta-inner p:last-child{margin:0;color:#c4c4c4;max-width:670px}

.djd-google-reviews{
  color:#fff;
  background:
    radial-gradient(circle at 80% 20%,rgba(95,223,255,.10),transparent 28%),
    linear-gradient(145deg,#111,#050505);
}
.djd-google-reviews-inner{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:36px;
  align-items:center;
  padding:42px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:25px;
  background:rgba(255,255,255,.035);
}
.djd-google-stars{
  color:var(--djd-yellow);
  font-size:1.55rem;
  letter-spacing:.12em;
  white-space:nowrap;
}
.djd-google-reviews h2{margin:7px 0 10px}
.djd-google-reviews p:last-child{margin:0;color:#c8c8c8;line-height:1.65}

.djd-legal-page{background:#f4f4f1;color:#111}
.djd-legal-hero{
  padding:190px 0 90px;
  color:#fff;
  background:
    radial-gradient(circle at 75% 25%,rgba(244,196,0,.18),transparent 28%),
    #080808;
}
.djd-legal-hero h1{
  margin:10px 0 15px;
  font-size:clamp(3.2rem,6vw,6rem);
  line-height:.96;
  letter-spacing:-.05em;
}
.djd-legal-hero p:last-child{max-width:700px;color:#c7c7c7;font-size:1.05rem}
.djd-legal-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:65px;
  align-items:start;
}
.djd-legal-content{
  padding:45px;
  border-radius:25px;
  background:#fff;
  box-shadow:0 22px 65px rgba(0,0,0,.08);
}
.djd-legal-content h2{
  margin:42px 0 13px;
  font-size:1.35rem;
  letter-spacing:-.02em;
}
.djd-legal-content h2:first-child{margin-top:0}
.djd-legal-content p,.djd-legal-content li{
  color:#4e4e4e;
  line-height:1.75;
}
.djd-legal-content a{color:#6d5500;font-weight:750}
.djd-legal-card{
  position:sticky;
  top:135px;
  display:grid;
  gap:9px;
  padding:28px;
  border-radius:21px;
  background:#101010;
  color:#fff;
  box-shadow:0 24px 65px rgba(0,0,0,.16);
}
.djd-legal-card strong{font-size:1.2rem;line-height:1.35;margin-bottom:9px}
.djd-legal-card span,.djd-legal-card>a:not(.djd-btn){color:#c9c9c9}
.djd-legal-card .djd-btn{margin-top:18px}
.djd-legal-note{margin-top:15px;padding-top:15px;border-top:1px solid rgba(255,255,255,.13);font-size:.8rem;line-height:1.55}

.djd-footer-grid-expanded{grid-template-columns:1.35fr 1fr 1fr}
.djd-footer-grid-expanded>div{display:flex;flex-direction:column;gap:8px}
.djd-footer-grid-expanded small{color:#aaa;line-height:1.55}
.djd-footer-bottom{
  display:flex;
  justify-content:center;
  padding:18px 20px 25px;
  color:#888;
  font-size:.76rem;
  border-top:1px solid rgba(255,255,255,.07);
}

@media(max-width:950px){
  .djd-google-reviews-inner{grid-template-columns:1fr}
  .djd-reviews-cta-inner{align-items:flex-start;flex-direction:column}
  .djd-legal-layout{grid-template-columns:1fr}
  .djd-legal-card{position:static}
  .djd-footer-grid-expanded{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .djd-legal-hero{padding-top:145px}
  .djd-legal-content{padding:28px 21px}
  .djd-google-reviews-inner,.djd-reviews-cta-inner{padding:27px 22px}
  .djd-footer-grid-expanded{grid-template-columns:1fr}
}


/* =========================================================
   ULTIMATE 16.0
   ========================================================= */
.djd-scroll-top{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:999;
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:var(--djd-yellow,#f4c400);
  color:#111;
  font-size:1.35rem;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 16px 40px rgba(0,0,0,.28);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
}
.djd-scroll-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.djd-scroll-top:hover{transform:translateY(-4px)}

.djd-404-page{
  min-height:80vh;
  display:grid;
  align-items:center;
  padding:170px 0 100px;
  color:#fff;
  background:
    radial-gradient(circle at 75% 25%,rgba(244,196,0,.18),transparent 28%),
    #080808;
}
.djd-404-inner{max-width:940px}
.djd-404-inner h1{
  max-width:850px;
  margin:12px 0 20px;
  font-size:clamp(3.2rem,7vw,7rem);
  line-height:.92;
  letter-spacing:-.06em;
}
.djd-404-inner>p:last-of-type{
  max-width:690px;
  color:#c7c7c7;
  font-size:1.08rem;
  line-height:1.7;
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}


/* =========================================================
   DJ.DURACELL PREMIUM 20.1 – GALERIE-KONFLIKT BEHOBEN
   ========================================================= */
.djd-custom-logo-link{display:flex;align-items:center;text-decoration:none;line-height:0}
.djd-custom-logo-link img{display:block;width:auto;max-width:190px;max-height:58px;object-fit:contain}

/* Die Galerie arbeitet bewusst mit eindeutig benannten Bereichen.
   Dadurch hängt die Darstellung nicht mehr von :last-child ab. */
.djd-about-gallery.djd-about-gallery-v20{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:260px 260px;
  gap:16px;
}
.djd-about-gallery-v20 .djd-gallery-controller{grid-column:1;grid-row:1 / 3}
.djd-about-gallery-v20 .djd-gallery-personal{grid-column:2;grid-row:1}
.djd-about-gallery-v20 .djd-gallery-celebration{grid-column:3;grid-row:1}
.djd-about-gallery-v20 .djd-gallery-live{grid-column:2;grid-row:2}
.djd-about-gallery-v20 .djd-gallery-authentic{grid-column:3;grid-row:2}
.djd-about-gallery-v20 figure{min-width:0;min-height:0}
.djd-about-gallery-v20 .djd-gallery-controller img{object-position:center center}
.djd-about-gallery-v20 .djd-gallery-personal img{object-position:center 24%}
.djd-about-gallery-v20 .djd-gallery-celebration img{object-position:center 30%}
.djd-about-gallery-v20 .djd-gallery-live img{object-position:center 30%}
.djd-about-gallery-v20 .djd-gallery-authentic img{object-position:center 42% !important}

@media(max-width:850px){
  .djd-about-gallery.djd-about-gallery-v20{
    grid-template-columns:1fr 1fr;
    grid-template-rows:380px 240px 240px;
  }
  .djd-about-gallery-v20 .djd-gallery-controller{grid-column:1 / 3;grid-row:1}
  .djd-about-gallery-v20 .djd-gallery-personal{grid-column:1;grid-row:2}
  .djd-about-gallery-v20 .djd-gallery-celebration{grid-column:2;grid-row:2}
  .djd-about-gallery-v20 .djd-gallery-live{grid-column:1;grid-row:3}
  .djd-about-gallery-v20 .djd-gallery-authentic{grid-column:2;grid-row:3}
}
@media(max-width:650px){
  .djd-custom-logo-link img{max-width:160px;max-height:50px}
  .djd-about-gallery.djd-about-gallery-v20{display:grid;grid-template-columns:1fr;grid-template-rows:none}
  .djd-about-gallery-v20 .djd-gallery-controller,
  .djd-about-gallery-v20 .djd-gallery-personal,
  .djd-about-gallery-v20 .djd-gallery-celebration,
  .djd-about-gallery-v20 .djd-gallery-live,
  .djd-about-gallery-v20 .djd-gallery-authentic{grid-column:1;grid-row:auto;height:280px}
}


/* 20.1: endgültige Rasterregeln – überschreiben die alten :last-child-Regeln */
.djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-controller{grid-column:1 !important;grid-row:1 / 3 !important}
.djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-personal{grid-column:2 !important;grid-row:1 !important}
.djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-celebration{grid-column:3 !important;grid-row:1 !important}
.djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-live{grid-column:2 !important;grid-row:2 !important}
.djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-authentic{grid-column:3 !important;grid-row:2 !important}
@media(max-width:850px){
 .djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-controller{grid-column:1 / 3 !important;grid-row:1 !important}
 .djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-personal{grid-column:1 !important;grid-row:2 !important}
 .djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-celebration{grid-column:2 !important;grid-row:2 !important}
 .djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-live{grid-column:1 !important;grid-row:3 !important}
 .djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-authentic{grid-column:2 !important;grid-row:3 !important}
}
@media(max-width:650px){
 .djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-controller,
 .djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-personal,
 .djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-celebration,
 .djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-live,
 .djd-about-gallery.djd-about-gallery-v20 figure.djd-gallery-authentic{grid-column:1 !important;grid-row:auto !important}
}


/* =========================================================
   20.2 – STARTSEITE / EINBLICKE: vollständiges 5er-Raster
   ========================================================= */
.djd-gallery{
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.8fr);
  grid-template-rows:260px 260px;
}
.djd-gallery figure:nth-child(1){grid-column:1;grid-row:1 / 3}
.djd-gallery figure:nth-child(2){grid-column:2;grid-row:1}
.djd-gallery figure:nth-child(3){grid-column:3;grid-row:1}
.djd-gallery figure:nth-child(4){grid-column:2;grid-row:2}
.djd-gallery figure:nth-child(5){grid-column:3;grid-row:2}
@media(max-width:900px){
  .djd-gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 230px 230px}
  .djd-gallery figure:nth-child(1){grid-column:1 / 3;grid-row:1}
  .djd-gallery figure:nth-child(2){grid-column:1;grid-row:2}
  .djd-gallery figure:nth-child(3){grid-column:2;grid-row:2}
  .djd-gallery figure:nth-child(4){grid-column:1;grid-row:3}
  .djd-gallery figure:nth-child(5){grid-column:2;grid-row:3}
}
@media(max-width:640px){
  .djd-gallery{grid-template-columns:1fr;grid-template-rows:repeat(5,260px)}
  .djd-gallery figure:nth-child(1),
  .djd-gallery figure:nth-child(2),
  .djd-gallery figure:nth-child(3),
  .djd-gallery figure:nth-child(4),
  .djd-gallery figure:nth-child(5){grid-column:1;grid-row:auto}
}


/* 20.3 – LEISTUNGSKARTEN: echte IMG-Elemente statt fehleranfälliger CSS-Hintergründe */
.djd-service{background:#111!important;}
.djd-service-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  display:block;
  z-index:0;
  opacity:1;
  filter:none;
  transform:scale(1.002);
  transition:transform .45s ease;
}
.djd-service:hover .djd-service-image{transform:scale(1.045);}
.djd-service:after{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.08) 45%,rgba(0,0,0,.88) 100%);}
.djd-service:before{z-index:2;pointer-events:none;}
.djd-service div{z-index:3;}
.djd-service-link{z-index:5;}
.djd-service-wedding .djd-service-image{object-position:center 38%;}
.djd-service-birthday .djd-service-image{object-position:center 42%;}
.djd-service-company .djd-service-image{object-position:center 38%;}
.djd-service-queer .djd-service-image{object-position:center 35%;}

/* =========================================================
   20.4 FINAL – vorsichtiger Feinschliff ohne Layoutänderungen
   ========================================================= */

/* Klar sichtbare Tastaturfokussierung */
a:focus-visible,
button:focus-visible,
.djd-lightbox-trigger:focus-visible{
  outline:3px solid var(--djd-yellow,#f4c400);
  outline-offset:4px;
}

/* Bestehende Karten nur minimal veredeln */
.djd-benefit,
.djd-review-card,
.djd-process article,
.djd-contact-card{
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
@media (hover:hover) and (pointer:fine){
  .djd-benefit:hover,
  .djd-review-card:hover,
  .djd-process article:hover{
    transform:translateY(-4px);
  }
}

/* Galerie bleibt unverändert, erhält nur einen eindeutigen Interaktionshinweis */
.djd-lightbox-trigger{cursor:zoom-in}
.djd-lightbox-trigger img{transition:transform .35s ease,filter .35s ease}
@media (hover:hover) and (pointer:fine){
  .djd-lightbox-trigger:hover img{transform:scale(1.025);filter:brightness(1.04)}
}

body.djd-lightbox-open{overflow:hidden}
.djd-lightbox{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(0,0,0,.92);
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease,visibility .22s ease;
}
.djd-lightbox.is-open{opacity:1;visibility:visible}
.djd-lightbox-dialog{
  position:relative;
  width:min(1180px,100%);
  height:min(820px,calc(100vh - 48px));
  display:grid;
  place-items:center;
}
.djd-lightbox figure{
  margin:0;
  width:100%;
  height:100%;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  gap:14px;
  place-items:center;
}
.djd-lightbox-image{
  display:block;
  max-width:100%;
  max-height:calc(100vh - 125px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:16px;
  box-shadow:0 26px 90px rgba(0,0,0,.52);
}
.djd-lightbox-caption{
  min-height:24px;
  color:#fff;
  font-size:.95rem;
  font-weight:750;
  text-align:center;
}
.djd-lightbox-close,
.djd-lightbox-prev,
.djd-lightbox-next{
  position:absolute;
  z-index:2;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(10,10,10,.7);
  color:#fff;
  cursor:pointer;
  backdrop-filter:blur(10px);
  transition:background .2s ease,transform .2s ease;
}
.djd-lightbox-close{
  top:0;
  right:0;
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:2rem;
  line-height:1;
}
.djd-lightbox-prev,
.djd-lightbox-next{
  top:50%;
  width:52px;
  height:70px;
  border-radius:18px;
  transform:translateY(-50%);
  font-size:2.6rem;
  line-height:1;
}
.djd-lightbox-prev{left:0}
.djd-lightbox-next{right:0}
@media (hover:hover) and (pointer:fine){
  .djd-lightbox-close:hover,
  .djd-lightbox-prev:hover,
  .djd-lightbox-next:hover{background:var(--djd-yellow,#f4c400);color:#111}
  .djd-lightbox-close:hover{transform:scale(1.06)}
  .djd-lightbox-prev:hover{transform:translateY(-50%) translateX(-3px)}
  .djd-lightbox-next:hover{transform:translateY(-50%) translateX(3px)}
}

/* Kleine Smartphone-Korrekturen, keine strukturellen Änderungen */
@media(max-width:650px){
  .djd-wrap{width:min(100% - 28px,1180px)}
  .djd-btn{min-height:48px;padding-inline:20px}
  .djd-scroll-top{right:16px;bottom:16px;width:46px;height:46px}
  .djd-lightbox{padding:14px}
  .djd-lightbox-dialog{height:calc(100vh - 28px)}
  .djd-lightbox-image{max-height:calc(100vh - 105px);border-radius:12px}
  .djd-lightbox-prev,.djd-lightbox-next{top:auto;bottom:4px;width:48px;height:48px;border-radius:50%;font-size:2rem;transform:none}
  .djd-lightbox-prev{left:0}
  .djd-lightbox-next{right:0}
  .djd-lightbox-close{top:0;right:0;width:44px;height:44px}
  .djd-lightbox-caption{padding:0 58px;font-size:.86rem}
}

@media (prefers-reduced-motion: reduce){
  .djd-lightbox,
  .djd-lightbox-trigger img,
  .djd-benefit,
  .djd-review-card,
  .djd-process article,
  .djd-contact-card{transition:none!important}
}
