/*
Theme Name: disco-vision 3
Version: 5.19.33
Description: Modernes, responsives WordPress-Theme für disco-vision mit der originalen Seiten-/Menüstruktur.
*/
:root{--navy:#071827;--navy2:#0d2537;--gold:#f5b900;--white:#fff;--text:#17232e;--muted:#687582;--light:#f5f7f9;--line:#dfe5ea;--shadow:0 12px 32px rgba(0,0,0,.12)}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);line-height:1.65}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}
.site-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:999;border-bottom:2px solid var(--gold);box-shadow:0 4px 18px #0004}.topline{display:none}.nav{min-height:78px;display:flex;align-items:center}.brand{font-weight:900;font-size:28px;font-style:italic;letter-spacing:-1.5px;margin-right:34px;white-space:nowrap}.brand span{color:var(--gold)}.brand small{display:block;font-style:normal;font-size:8px;letter-spacing:1.7px;color:#cbd5dc;font-weight:600}.menu-wrap{flex:1;display:flex;justify-content:flex-end;align-items:center}.menu{display:flex;align-items:stretch;list-style:none;margin:0;padding:0;height:78px;gap:2px}.menu>li{position:relative;height:78px}.menu>li>a{height:78px;display:flex;align-items:center;padding:0 14px;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.2px;white-space:nowrap}.menu>li>a:hover,.menu>li.current-menu-item>a,.menu>li.current-menu-ancestor>a{background:var(--navy2);color:var(--gold)}.menu>li.menu-item-has-children>a:after{content:"▾";margin-left:7px;color:var(--gold);font-size:11px}.menu li ul{position:absolute;left:0;top:78px;min-width:230px;background:#fff;list-style:none;margin:0;padding:7px 0;border-top:3px solid var(--gold);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(5px);transition:.15s}.menu li:hover>ul,.menu li:focus-within>ul{opacity:1;visibility:visible;transform:none}.menu li ul li{position:relative}.menu li ul a{display:block;color:var(--text);padding:10px 16px;font-size:13px;line-height:1.25}.menu li ul a:hover{background:var(--light);color:#a97800}.menu li ul ul{left:100%;top:-7px}.request{margin-left:14px;background:var(--gold);color:#111!important;border:2px solid var(--gold);padding:10px 17px;border-radius:6px;font-size:12px;font-weight:900;white-space:nowrap}.mobile-toggle{display:none;background:transparent;border:0;color:#fff;font-size:28px}
.hero{background:linear-gradient(90deg,#061522ed,#0615229c 55%,#06152222),url('assets/hero.jpg') center/cover;min-height:620px;display:flex;align-items:center;color:#fff}.hero-inner{padding:80px 0}.eyebrow{color:var(--gold);font-size:13px;text-transform:uppercase;font-weight:800;letter-spacing:1px}.hero h1{font-size:clamp(42px,5.3vw,68px);line-height:1.02;max-width:800px;margin:12px 0}.hero h1 span{color:var(--gold)}.hero p{max-width:700px;font-size:18px}.buttons{display:flex;gap:13px;flex-wrap:wrap;margin-top:25px}.btn{display:inline-flex;padding:12px 20px;border-radius:6px;background:var(--gold);border:2px solid var(--gold);color:#111;font-weight:800}.btn.alt{background:transparent;color:#fff;border-color:#fff}
.section{padding:78px 0}.section.dark{background:var(--navy);color:#fff}.section.gray{background:var(--light)}.section h2{font-size:clamp(32px,4vw,48px);line-height:1.1;margin:8px 0 20px}.goldline{display:inline-block;width:42px;height:4px;background:var(--gold)}.lead{font-size:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.card img{width:100%;height:190px;object-fit:cover}.card-body{padding:22px}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.photo{width:100%;height:390px;object-fit:cover;border-radius:14px;box-shadow:var(--shadow)}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:35px}.fact{padding:20px;text-align:center;border:1px solid #ffffff22}.fact b{display:block;font-size:28px;color:var(--gold)}.page-hero{padding:60px 0;background:var(--navy);color:#fff}.page-hero h1{font-size:clamp(38px,5vw,60px);line-height:1.05;margin:10px 0}.content{max-width:920px;margin:auto}.footer{background:#04101a;color:#c8d1d8;padding:38px 0}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}.footer .brand{margin:0}.copyright{border-top:1px solid #ffffff1a;margin-top:28px;padding-top:18px;font-size:12px}
@media(max-width:1050px){.menu>li>a{padding:0 9px;font-size:11px}.brand{margin-right:15px}.request{margin-left:7px;padding:9px 12px}}
@media(max-width:900px){.topline{display:none}.nav{min-height:72px}.mobile-toggle{display:block;margin-left:auto}.menu-wrap{display:none}.nav.open .menu-wrap{display:block;position:absolute;top:72px;left:0;right:0;background:var(--navy);padding:8px 4%;box-shadow:0 15px 25px #0005}.nav.open .menu{height:auto;display:block}.nav.open .menu>li{height:auto}.nav.open .menu>li>a{height:auto;padding:13px 0}.nav.open .menu li ul{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border-top:0;background:#0d2537;padding:0 0 0 15px}.nav.open .menu li:hover>ul,.nav.open .menu li:focus-within>ul{display:block}.nav.open .request{display:block;text-align:center;margin:10px 0}.split{grid-template-columns:1fr}.grid3{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.brand{font-size:24px}.hero{min-height:680px}.hero h1{font-size:42px}.section{padding:58px 0}.facts{grid-template-columns:1fr}}

/* DJ Premium Design 2.1 */
body{background:#070b10}
.site-header{background:rgba(5,10,16,.97);backdrop-filter:blur(10px)}
.menu>li>a{transition:.2s ease}
.request{background:transparent!important;color:#fff!important;border-color:rgba(245,185,0,.75)!important;transition:.2s ease}
.request:hover{background:var(--gold)!important;color:#111!important;border-color:var(--gold)!important;box-shadow:0 0 18px rgba(245,185,0,.28)}
.hero{min-height:690px;background:linear-gradient(90deg,rgba(3,7,11,.88) 0%,rgba(3,7,11,.54) 45%,rgba(3,7,11,.16) 78%,rgba(3,7,11,.48) 100%),url('assets/hero.jpg') center/cover;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;inset:auto -10% -55% -10%;height:70%;background:radial-gradient(ellipse,rgba(245,185,0,.16),transparent 60%);pointer-events:none}
.hero-inner{position:relative;z-index:1}
.eyebrow{letter-spacing:2px}
.hero h1{text-shadow:0 5px 25px #000}
.hero p{color:#d7dee4}
.section{background:#fff}.section.dark{background:#070f17}.section.gray{background:#eef1f4}
.section h2{font-weight:900;letter-spacing:-.8px}
.card{transition:transform .2s ease,box-shadow .2s ease;border-color:#e5e8eb}
.card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(0,0,0,.16)}
.fact{background:rgba(255,255,255,.025);transition:.2s}.fact:hover{background:rgba(245,185,0,.08)}
.btn{box-shadow:0 7px 18px rgba(0,0,0,.12);transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.2)}
.page-hero{background:linear-gradient(135deg,#050b12,#10283a)}
.footer{background:#03080d}
@media(max-width:900px){.request{background:transparent!important;color:#fff!important}.nav.open .request{border-color:var(--gold)!important}}

/* Theme 3 – DJ event visual identity */
.hero{background-position:center center}.hero:after{background:radial-gradient(ellipse,rgba(245,185,0,.12),transparent 58%)}

/* Theme 3.0.1: explicit WordPress hero asset URL is injected in header.php */

.front-page-hero{background-position:center center!important;background-repeat:no-repeat!important;background-size:cover!important;}

/* Theme 3.1 – same DJ event background on every page */
.page-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(3,7,11,.90) 0%,rgba(3,7,11,.62) 48%,rgba(3,7,11,.28) 78%,rgba(3,7,11,.62) 100%),
    url('assets/hero.jpg') center/cover no-repeat !important;
  min-height:300px;
  display:flex;
  align-items:center;
}
.page-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 70% 50%,rgba(245,185,0,.10),transparent 55%);
  pointer-events:none;
}
.page-hero .container{position:relative;z-index:1}

/* Theme 3.2 – unified blue DJ palette */
:root{--navy:#061a2a;--navy2:#0d2d46;--blue:#155078;--blue2:#1d6b9d;--blue3:#2f8ac2;--gold:#f5b900}
.site-header{background:linear-gradient(90deg,#051521 0%,#08243a 52%,#0a304b 100%);border-bottom-color:rgba(245,185,0,.9)}
.menu>li>a{transition:background .2s ease,color .2s ease}
.menu>li>a:hover,.menu>li.current-menu-item>a,.menu>li.current-menu-ancestor>a{background:linear-gradient(180deg,#164b70,#0d2f4a);color:#fff}
.menu li ul{background:linear-gradient(180deg,#0b2c46,#092237);border-top-color:var(--gold);box-shadow:0 16px 36px rgba(0,0,0,.35)}
.menu li ul a{color:#fff}
.menu li ul a:hover{background:linear-gradient(90deg,#155078,#1d6b9d);color:#fff}
.hero{background:linear-gradient(90deg,rgba(3,10,17,.90),rgba(4,30,49,.55),rgba(4,61,92,.18),rgba(3,10,17,.52)),url('assets/hero.jpg') center/cover!important}
.page-hero{background:linear-gradient(90deg,rgba(3,14,24,.88),rgba(7,36,58,.52),rgba(8,49,77,.22),rgba(3,14,24,.58)),url('assets/hero.jpg') center/cover no-repeat!important}
.section.dark{background:linear-gradient(135deg,#061827,#0a2a43 58%,#0d3b5d)}
.footer{background:linear-gradient(135deg,#030c14,#08243a)}

/* Theme 3.3 – stronger pure blue #0000FF accents */
:root{--pure-blue:#0000FF}
.site-header{
  background:linear-gradient(90deg,#020b18 0%,#001a5c 45%,#0000FF 100%);
}
.menu>li>a:hover,
.menu>li.current-menu-item>a,
.menu>li.current-menu-ancestor>a{
  background:#0000FF;color:#fff;
}
.menu li ul{
  background:linear-gradient(180deg,#001a66,#0000FF);
}
.menu li ul a:hover{
  background:#0000cc;color:#fff;
}
.request:hover{
  background:#0000FF!important;
  border-color:#0000FF!important;
  color:#fff!important;
  box-shadow:0 0 22px rgba(0,0,255,.45);
}
.hero{
  background:
    linear-gradient(90deg,rgba(2,5,15,.90),rgba(0,0,70,.48),rgba(0,0,255,.12),rgba(2,5,15,.52)),
    url('assets/hero.jpg') center/cover!important;
}
.page-hero{
  background:
    linear-gradient(90deg,rgba(2,5,15,.88),rgba(0,0,100,.48),rgba(0,0,255,.12),rgba(2,5,15,.55)),
    url('assets/hero.jpg') center/cover no-repeat!important;
}
.section.dark{
  background:linear-gradient(135deg,#020b18,#001a66 55%,#0000FF);
}
.footer{
  background:linear-gradient(135deg,#010711,#001a66 70%,#0000FF);
}
.goldline{box-shadow:0 0 10px rgba(245,185,0,.35)}

/* Theme 4.1 – editable homepage window */
.dv-window-section{padding-top:20px}
.dv-window{position:relative;min-height:260px;border-radius:18px;overflow:hidden;background:#061a2a;box-shadow:0 18px 45px rgba(0,0,0,.22)}
.dv-window img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dv-window:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,10,17,.88),rgba(0,0,120,.50),rgba(0,0,255,.12))}
.dv-window-copy{position:relative;z-index:1;width:min(560px,85%);padding:45px;color:#fff}
.dv-window-copy p{font-size:18px}

/* Theme 4.2 – Online booking */
.booking-hero{min-height:340px}
.booking-section{background:linear-gradient(180deg,#eef4f9,#fff);padding:72px 0}
.booking-wrap{display:grid;grid-template-columns:.8fr 1.5fr;gap:44px;align-items:start}
.booking-intro{padding:24px 0}.booking-intro h2{font-size:42px;line-height:1.05;margin:10px 0 18px;color:#061a2a}.booking-intro p{font-size:18px;color:#4f6070}
.booking-points{margin-top:28px;display:grid;gap:12px}.booking-points div{padding:15px 17px;background:#fff;border-left:5px solid #0000FF;border-radius:6px;box-shadow:0 5px 18px rgba(0,0,0,.07)}.booking-points b{color:#0000FF;margin-right:7px}
.booking-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 18px 48px rgba(4,27,45,.16);border-top:5px solid #0000FF}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 18px}.form-grid p{margin:0 0 12px}.form-grid .full{grid-column:1/-1}.form-grid label{display:block;font-size:13px;font-weight:800;color:#173047;margin-bottom:6px}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #cbd7e1;border-radius:6px;padding:13px 14px;font:inherit;background:#f9fbfd;color:#142535;outline:none;transition:.15s}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#0000FF;box-shadow:0 0 0 3px rgba(0,0,255,.09);background:#fff}.form-grid textarea{resize:vertical}
.form-grid .check label{font-weight:500;font-size:12px;display:flex;gap:8px;align-items:flex-start}.form-grid .check input{width:auto;margin-top:3px}
.booking-submit{width:100%;border:0;border-radius:7px;background:#0000FF;color:#fff;padding:16px 20px;font-size:14px;font-weight:900;letter-spacing:.5px;cursor:pointer;transition:.2s}.booking-submit:hover{background:#0000cc;box-shadow:0 8px 22px rgba(0,0,255,.25);transform:translateY(-1px)}
@media(max-width:850px){.booking-wrap{grid-template-columns:1fr;gap:20px}.booking-intro h2{font-size:34px}}@media(max-width:560px){.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.booking-card{padding:20px}.booking-section{padding:50px 0}}

.booking-message{margin:0 auto 24px;max-width:1100px;padding:16px 20px;border-radius:8px;font-weight:700}
.booking-message.success{background:#e8f7ee;color:#126b3a;border-left:5px solid #18a957}
.booking-message.error{background:#fff0f0;color:#9b1c1c;border-left:5px solid #d33}

/* Theme 4.4 – compact page header with page intro text */
.page-hero{
  min-height:210px!important;
  padding:48px 0 42px!important;
}
.page-hero .container{max-width:1180px}
.page-hero h1{
  font-size:42px!important;
  line-height:1.05;
  margin:8px 0 10px!important;
}
.page-hero .lead{
  max-width:780px;
  margin:0;
  font-size:18px;
  line-height:1.55;
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.45);
}
.page-hero .page-intro{
  max-width:820px;
  margin:10px 0 0;
  font-size:15px;
  line-height:1.55;
  color:#e9f4ff;
}
@media(max-width:700px){
  .page-hero{min-height:180px!important;padding:34px 0 30px!important}
  .page-hero h1{font-size:32px!important}
  .page-hero .lead{font-size:16px}
  .page-hero .page-intro{font-size:14px}
}

/* Theme 4.5 – middle homepage card removed */
.front-page-hero + .dv-window-section,
.dv-window-section{display:none!important}

/* Theme 4.6 – remove legacy homepage split image/card */
.front-page-hero + .split,.front-page-hero ~ .split{display:none!important}

/* Theme 4.7 – restored homepage content without the removed middle card */
.home-copy{max-width:920px;font-size:17px;line-height:1.7}
.home-copy p{margin:0 0 18px}
.home-benefits{columns:2;column-gap:50px;margin:24px 0;padding-left:20px}
.home-benefits li{margin-bottom:9px}
@media(max-width:700px){.home-benefits{columns:1}.home-copy{font-size:16px}}







/* Theme 4.16 – same slow reveal on every page/subpage */
html.dv416-ready .dv416-reveal{
  opacity:0;
  transform:translateY(32px);
  transition:
    opacity 1.35s ease var(--dv-delay,0s),
    transform 1.35s ease var(--dv-delay,0s);
  will-change:opacity,transform;
}
html.dv416-ready .dv416-reveal.dv416-visible{
  opacity:1!important;
  transform:translateY(0)!important;
}
@media(prefers-reduced-motion:reduce){
  html.dv416-ready .dv416-reveal,
  html.dv416-ready .dv416-reveal.dv416-visible{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}

/* =========================================================
   DISCO-VISION 4.17 – MODERN DJ EVENT DESIGN
   ========================================================= */

/* Premium glass / depth */
:root{
  --dv-blue:#0000FF;
  --dv-blue-2:#1747ff;
  --dv-dark:#050a16;
  --dv-ink:#0b1424;
  --dv-white:#fff;
  --dv-muted:#65758b;
  --dv-radius:18px;
  --dv-shadow:0 18px 55px rgba(0,0,40,.14);
}

/* Modern typography and page rhythm */
body{
  background:#f5f8fc;
  color:var(--dv-ink);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  letter-spacing:-.025em;
}
.container{
  width:min(1180px,calc(100% - 40px));
}

/* More premium page hero */
.page-hero{
  position:relative;
  overflow:hidden;
  min-height:210px!important;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 80% 20%,rgba(0,0,255,.48),transparent 34%),
    linear-gradient(115deg,#030717 0%,#07163d 48%,#0000ff 140%);
  box-shadow:0 14px 38px rgba(0,0,30,.18);
}
.page-hero:before{
  content:"";
  position:absolute;
  width:360px;height:360px;
  right:-120px;top:-160px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.025);
}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{
  font-size:clamp(34px,5vw,54px)!important;
  font-weight:900;
  text-shadow:0 8px 30px rgba(0,0,0,.28);
}
.page-hero .lead{
  max-width:760px;
  font-size:18px;
  color:#dce8ff;
}

/* Section headings */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
  color:var(--dv-blue);
}
.eyebrow:before{
  content:"";
  width:24px;height:3px;
  background:var(--dv-blue);
  border-radius:5px;
}

/* Cards – modern but not overloaded */
.section{
  padding:76px 0;
}
.section .container > h2{
  font-size:clamp(30px,4vw,46px);
  margin-top:10px;
  margin-bottom:18px;
}
.section .lead{
  max-width:850px;
  font-size:18px;
  line-height:1.7;
}

/* Modern buttons */
button,.button,.btn,a.button,a.btn{
  border-radius:9px;
  font-weight:850;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
button:hover,.button:hover,.btn:hover,a.button:hover,a.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(0,0,255,.22);
}

/* Modern booking card */
.booking-card{
  border:1px solid rgba(8,30,70,.08);
  border-top:4px solid var(--dv-blue);
  border-radius:20px;
  box-shadow:0 22px 60px rgba(7,25,60,.13);
  backdrop-filter:blur(8px);
}
.booking-submit{
  background:linear-gradient(90deg,#0000ff,#1747ff);
  border-radius:10px;
  box-shadow:0 9px 25px rgba(0,0,255,.18);
}

/* Home copy becomes easier to scan */
.home-copy{
  max-width:940px;
  font-size:17px;
  line-height:1.78;
}
.home-copy p{
  margin-bottom:20px;
}
.home-benefits{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 28px;
  list-style:none;
  padding:0;
  margin:28px 0 32px;
}
.home-benefits li{
  position:relative;
  padding:12px 15px 12px 38px;
  background:#fff;
  border:1px solid #e4ebf3;
  border-radius:10px;
  box-shadow:0 5px 18px rgba(0,20,60,.05);
}
.home-benefits li:before{
  content:"✓";
  position:absolute;
  left:14px;top:11px;
  color:var(--dv-blue);
  font-weight:900;
}

/* Cleaner mobile presentation */
@media(max-width:700px){
  .container{width:min(100% - 28px,1180px)}
  .section{padding:55px 0}
  .home-benefits{grid-template-columns:1fr}
  .page-hero{min-height:180px!important}
}

/* Keep the successful 4.16 reveal exactly as the animation engine */

/* Theme 4.18 – requested DJ background */
body{
  background-image:
    linear-gradient(rgba(4,9,24,.58),rgba(4,9,24,.58)),
    url("assets/dj-background.jpg");
  background-size:cover;
  background-position:center top;
  background-attachment:fixed;
  background-repeat:no-repeat;
}

/* Keep content readable over the photographic background */
.site-main{
  background:transparent;
}
.site-main .section{
  background:rgba(255,255,255,.94);
  border-radius:22px;
  margin:28px auto;
  width:min(1180px,calc(100% - 28px));
  box-shadow:0 18px 55px rgba(0,0,35,.16);
}
@media(max-width:700px){
  body{background-attachment:scroll;background-position:center top}
  .site-main .section{
    width:calc(100% - 18px);
    border-radius:16px;
    margin:18px auto;
  }
}

/* Theme 4.19 – homepage links */
.dv-home-links .container{padding-top:10px;padding-bottom:10px}
.dv-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
.dv-link-grid a{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:15px 18px;border:1px solid #e2e9f3;border-radius:12px;background:#fff;color:#0b1424;text-decoration:none;font-weight:800;box-shadow:0 6px 20px rgba(0,20,60,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.dv-link-grid a:after{content:"→";color:#0000ff;font-size:20px}
.dv-link-grid a:hover{transform:translateY(-2px);border-color:#0000ff;box-shadow:0 12px 28px rgba(0,0,255,.14)}
@media(max-width:760px){.dv-link-grid{grid-template-columns:1fr}}

/* ==========================================================
   DISCO-VISION 5.2
   Exact section background correction. No white content panels.
   ========================================================== */
html, body {
  background-color:#020817 !important;
  color:#fff !important;
}
body {
  background-image:
    linear-gradient(rgba(0,7,20,.76),rgba(0,8,25,.90)),
    url("assets/dj-background.jpg") !important;
  background-size:cover !important;
  background-position:center top !important;
  background-attachment:fixed !important;
}

/* Exact content section selectors */
main .section,
.site-main .section,
.section,
.section.gray,
.section.dark,
section.section {
  background:rgba(3,17,36,.82) !important;
  background-color:rgba(3,17,36,.82) !important;
  color:#fff !important;
}

/* If the original theme uses these wrapper names */
.content-section,
.home-section,
.home-content,
.page-content,
.entry-content {
  background:transparent !important;
  color:#fff !important;
}

/* Text */
.section h1,.section h2,.section h3,.section h4,
.section p,.section li,.section .lead,
.section a {
  color:#fff !important;
}

/* Home benefit/list blocks */
.home-benefits,
.home-benefits li,
.dv-link-grid,
.dv-link-grid a {
  background:rgba(4,25,50,.88) !important;
  color:#fff !important;
  border-color:rgba(0,0,255,.32) !important;
}
.dv-link-grid a:hover {
  background:rgba(0,0,255,.35) !important;
}

/* Cards */
.card {
  background:rgba(4,25,50,.92) !important;
  color:#fff !important;
  border-color:rgba(0,0,255,.38) !important;
}
.card h3,.card p { color:#fff !important; }

/* Hero */
.hero {
  background-color:#020817 !important;
  background-size:cover !important;
  background-position:center !important;
}

/* Keep form fields readable; these are not page backgrounds. */
input,textarea,select {
  background:#fff !important;
  color:#17202a !important;
}

.dv52-dots{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:10;display:flex;gap:9px}
.dv52-dots button{width:10px;height:10px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.58);cursor:pointer}
.dv52-dots button.active{background:#0000ff;box-shadow:0 0 0 3px rgba(255,255,255,.2)}
.hero.dv52-slideshow{background-size:cover!important;background-position:center!important}

/* THEME 5.3 - cache-busted final background correction */
html body .site-main .section,
html body main > .section,
html body main section.section,
html body .section.gray,
html body .section.dark {
  background: rgba(3,17,36,.84) !important;
  background-color: rgba(3,17,36,.84) !important;
}
html body .site-main .section .home-benefits li,
html body .home-benefits li,
html body .dv-link-grid a {
  background: rgba(4,25,50,.90) !important;
  background-color: rgba(4,25,50,.90) !important;
  color:#fff !important;
}
html body .site-main .section,
html body .site-main .section * {
  --section-white: transparent;
}

/* Theme 5.4 editable homepage feature links */
.dv54-editable-grid a,
.dv54-editable-stats a{
  text-decoration:none!important;
}
.dv54-editable-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px 18px!important;
}
.dv54-editable-grid .dv54-item{
  display:block!important;
  padding:12px 16px!important;
  background:rgba(5,28,52,.82)!important;
  border:1px solid rgba(0,0,255,.45)!important;
  border-radius:6px!important;
  color:#fff!important;
  transition:.2s ease!important;
}
.dv54-editable-grid .dv54-item:hover{
  background:rgba(0,0,255,.22)!important;
  border-color:#0000ff!important;
  transform:translateY(-1px);
}
.dv54-editable-grid .dv54-check{
  color:#0000ff!important;
  font-weight:700!important;
  margin-right:8px!important;
}
.dv54-editable-stats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  border:1px solid rgba(255,255,255,.18)!important;
}
.dv54-editable-stats .dv54-stat{
  display:block!important;
  min-height:72px!important;
  padding:14px 10px!important;
  text-align:center!important;
  background:rgba(3,17,36,.62)!important;
  color:#fff!important;
  border-right:1px solid rgba(255,255,255,.18)!important;
  border-bottom:1px solid rgba(255,255,255,.18)!important;
}
.dv54-editable-stats .dv54-stat:nth-child(3n){border-right:0!important}
.dv54-editable-stats .dv54-stat strong{
  display:block!important;
  color:#ffd000!important;
  font-size:1.2rem!important;
}
.dv54-editable-stats .dv54-stat small{
  color:#fff!important;
}
@media(max-width:700px){
  .dv54-editable-grid{grid-template-columns:1fr!important}
  .dv54-editable-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dv54-editable-stats .dv54-stat:nth-child(3n){border-right:1px solid rgba(255,255,255,.18)!important}
  .dv54-editable-stats .dv54-stat:nth-child(2n){border-right:0!important}
}

/* ==========================================================
   Theme 5.5 – readable booking form labels
   The labels above inputs must remain white on the dark theme.
   ========================================================== */
.booking-form label,
.booking-form .form-label,
.booking-form legend,
.booking-form .field-label,
.booking-form p,
.booking-form .description,
.booking-form .help-text,
.online-booking label,
.online-booking .form-label,
.online-booking legend,
.online-booking p,
.online-booking .description,
.online-booking .help-text,
form label,
form legend{
  color:#fff !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.65) !important;
}

/* Common WordPress form wrappers */
.wpcf7 form label,
.wpcf7 form .wpcf7-list-item-label,
.wpcf7 form .wpcf7-acceptance,
.wpcf7 form p,
.wpforms-container label,
.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-field-sublabel,
.wpforms-container .wpforms-field-description{
  color:#fff !important;
  opacity:1 !important;
}

/* Input fields themselves stay light for comfortable typing */
.booking-form input,
.booking-form textarea,
.booking-form select,
.online-booking input,
.online-booking textarea,
.online-booking select,
.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select,
.wpforms-container input,
.wpforms-container textarea,
.wpforms-container select{
  background:#fff !important;
  color:#17202a !important;
  border:1px solid rgba(0,0,255,.45) !important;
}

/* Placeholder text */
.booking-form ::placeholder,
.online-booking ::placeholder,
.wpcf7 ::placeholder,
.wpforms-container ::placeholder{
  color:#555 !important;
  opacity:1 !important;
}

/* Checkbox/radio text */
.booking-form .checkbox,
.booking-form .radio,
.booking-form .checkbox label,
.booking-form .radio label,
.online-booking .checkbox,
.online-booking .radio,
.online-booking .checkbox label,
.online-booking .radio label{
  color:#fff !important;
}

/* Keep headings on booking page readable */
.booking-form h1,.booking-form h2,.booking-form h3,
.online-booking h1,.online-booking h2,.online-booking h3{
  color:#fff !important;
}

/* ==========================================================
   THEME 5.6 – ONLINE BOOKING FORM, EXACT FALLBACK
   The live form shown on disco-vision.com uses generic form
   markup (Name*, Email*, Telefon, Details, Senden), so target
   generic form text rather than plugin-specific classes.
   ========================================================== */

/* ALL textual labels/content inside forms */
body form label,
body form legend,
body form p,
body form span,
body form .label,
body form .field-label,
body form .description,
body form .help,
body form small,
body form div{
  color:#fff !important;
  opacity:1 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.75) !important;
}

/* Make sure labels cannot inherit the old black text rule */
body form label *,
body form legend *,
body form p *,
body form .label *,
body form .field-label *{
  color:#fff !important;
}

/* Inputs: white field + dark typed text */
body form input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
body form textarea,
body form select{
  background:#fff !important;
  background-color:#fff !important;
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  border:1px solid rgba(0,0,255,.55) !important;
  opacity:1 !important;
}

/* Placeholder */
body form input::placeholder,
body form textarea::placeholder{
  color:#555 !important;
  -webkit-text-fill-color:#555 !important;
  opacity:1 !important;
}

/* Submit button */
body form input[type="submit"],
body form button[type="submit"],
body form button{
  background:#0000ff !important;
  background-color:#0000ff !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border:1px solid #0000ff !important;
  opacity:1 !important;
  text-shadow:none !important;
  cursor:pointer !important;
}
body form input[type="submit"]:hover,
body form button[type="submit"]:hover,
body form button:hover{
  background:#001fd6 !important;
  color:#fff !important;
}

/* Checkboxes/radios keep native appearance but their text stays white */
body form input[type="checkbox"],
body form input[type="radio"]{
  accent-color:#0000ff !important;
}
body form input[type="checkbox"] + label,
body form input[type="radio"] + label{
  color:#fff !important;
}

/* Theme 5.7 – slideshow layer */
.hero.dv52-slideshow{
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
.dv52-dots{
  position:absolute!important; left:50%!important; bottom:24px!important;
  transform:translateX(-50%)!important; display:flex!important;
  gap:8px!important; z-index:5!important;
}
.dv52-dots button{
  width:10px!important;height:10px!important;padding:0!important;
  border-radius:50%!important;border:1px solid #fff!important;
  background:rgba(255,255,255,.35)!important;cursor:pointer!important;
}
.dv52-dots button.active{background:#0000ff!important;border-color:#0000ff!important}

/* Theme 5.8 – inner-page hero shows page title only */
body:not(.home) .dv58-hero-title-only p,
body:not(.home) .dv58-hero-title-only .hero-text,
body:not(.home) .dv58-hero-title-only .hero-description,
body:not(.home) .dv58-hero-title-only .hero-content > p:not(.eyebrow),
body:not(.home) .dv58-hero-title-only .hero-content > div:not(.hero-title-wrap){
  display:none !important;
}
/* Keep the current page title clearly visible */
body:not(.home) .dv58-hero-title-only h1,
body:not(.home) .dv58-hero-title-only .hero-title{
  display:block !important;
  color:#fff !important;
}

/* Theme 5.9 – exact page.php hero: title ONLY */
.page-hero .container > p,
.page-hero .container > .lead,
.page-hero .container > .page-intro{
  display:none !important;
}
.page-hero h1{
  display:block !important;
  color:#fff !important;
}

/* Theme 5.10 – editable benefit boxes */
.home-benefits li a{display:block;color:inherit;text-decoration:none;width:100%;height:100%}
.home-benefits li a:hover{color:#fff;text-decoration:none}
.home-benefits li a span{display:block}
.dv510-benefit-intro{margin-bottom:1rem}

/* Theme 5.11 – the Customizer-controlled grid is the visible homepage grid */
.dv54-editable-grid .dv54-item{min-height:48px;box-sizing:border-box}
.dv54-editable-grid .dv54-item a,
.dv54-editable-grid a{color:#fff!important}

/* =========================================================
   Theme 5.12 – Chartsarchiv
   ========================================================= */
.dv512-charts-page{background:#020d20;color:#fff}
.dv512-chart-hero{position:relative;min-height:520px;display:flex;align-items:center;background:
linear-gradient(90deg,rgba(0,4,20,.92),rgba(0,8,28,.55),rgba(0,4,20,.35)),
url('https://images.unsplash.com/photo-1493225457124-a3eb161ffa5f?auto=format&fit=crop&w=1800&q=85') center/cover}
.dv512-chart-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),#020d20 98%)}
.dv512-chart-hero-inner{position:relative;z-index:2;padding-top:70px;padding-bottom:60px}
.dv512-chart-hero h1{font-size:clamp(48px,7vw,92px);line-height:.95;margin:15px 0 12px;font-weight:900;letter-spacing:-2px}
.dv512-chart-hero h1 span{color:#ffc400}
.dv512-chart-hero h2{font-size:clamp(24px,3vw,42px);margin:0 0 15px;color:#dce7f8}
.dv512-chart-hero p{font-size:19px;line-height:1.55;max-width:760px}
.dv512-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}
.dv512-stat-row>div{padding:22px;border:1px solid #075eff;border-radius:10px;background:rgba(2,20,45,.86);box-shadow:0 10px 35px rgba(0,0,0,.25)}
.dv512-stat-row strong{display:block;font-size:22px;color:#fff}
.dv512-stat-row small{display:block;margin-top:5px;color:#cbd8ea;font-size:15px}
.dv512-decades{padding-top:65px;padding-bottom:55px}
.dv512-decades h2{font-size:42px;margin:10px 0 8px}
.dv512-lead{font-size:18px;color:#c8d4e6;margin-bottom:30px}
.dv512-decade-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.dv512-decade-grid a{min-height:135px;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;text-decoration:none!important;color:#fff!important;border:1px solid #0762ff;border-radius:10px;background:linear-gradient(145deg,#071d38,#061326);transition:.25s}
.dv512-decade-grid a:hover,.dv512-decade-grid a.active{transform:translateY(-4px);border-color:#ffc400;box-shadow:0 0 24px rgba(255,196,0,.25)}
.dv512-decade-grid a{font-size:27px;font-weight:800}
.dv512-decade-grid small{font-size:13px;font-weight:400;color:#cbd8ea;margin-top:7px}
.dv512-existing-content{padding-top:20px;padding-bottom:70px}
.dv512-content-card{padding:30px;border:1px solid rgba(44,111,220,.35);border-radius:12px;background:rgba(3,18,37,.75)}
.dv512-content-card a{color:#ffd000}
.dv512-content-card table{width:100%;border-collapse:collapse}
.dv512-content-card th,.dv512-content-card td{padding:9px;border-bottom:1px solid rgba(255,255,255,.12)}
.dv512-chart-cta{position:relative;padding:85px 0;background:linear-gradient(90deg,rgba(0,3,18,.9),rgba(0,3,18,.45)),url('https://images.unsplash.com/photo-1501386761578-eac5c94b800a?auto=format&fit=crop&w=1800&q=85') center/cover}
.dv512-cta-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#020d20aa,#020d20cc)}
.dv512-chart-cta .container{position:relative;z-index:2}
.dv512-chart-cta h2{font-size:46px;margin:10px 0}
.dv512-chart-cta p{max-width:680px;font-size:19px;line-height:1.6}
.dv512-cta-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}
.dv512-btn{display:inline-block;padding:15px 25px;border-radius:8px;text-decoration:none!important;font-weight:800}
.dv512-btn.gold{background:#ffc400;color:#081226!important}
.dv512-btn.blue{border:1px solid #0870ff;background:#061a36;color:#fff!important}
@media(max-width:900px){
 .dv512-decade-grid{grid-template-columns:repeat(2,1fr)}
 .dv512-stat-row{grid-template-columns:1fr}
}
@media(max-width:560px){
 .dv512-chart-hero{min-height:600px}
 .dv512-chart-hero-inner{padding-left:20px;padding-right:20px}
 .dv512-decade-grid{grid-template-columns:1fr}
 .dv512-chart-hero h1{font-size:50px}
 .dv512-chart-hero h2{font-size:25px}
}

/* 5.13 – Chartsarchiv: photographic decade buttons */
.dv512-decade-grid{grid-template-columns:repeat(5,1fr);gap:14px}
.dv512-decade-card{
  position:relative!important; min-height:145px!important; padding:0!important;
  overflow:hidden; border:1px solid #0870ff!important; border-radius:11px!important;
  background-color:#061326!important; background-size:cover!important; background-position:center!important;
  box-shadow:0 10px 24px rgba(0,0,0,.28); transition:transform .25s,box-shadow .25s,border-color .25s;
}
.dv512-decade-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 15%,rgba(0,4,18,.90) 100%);z-index:0}
.dv512-decade-card span{position:absolute;left:18px;right:18px;bottom:16px;z-index:1}
.dv512-decade-card b{display:block;font-size:27px;line-height:1.05;color:#fff;text-shadow:0 2px 10px #000}
.dv512-decade-card small{display:block;margin-top:6px;font-size:13px;color:#fff}
.dv512-decade-card:hover,.dv512-decade-card.active{
  transform:translateY(-5px);border-color:#ffc400!important;
  box-shadow:0 0 28px rgba(255,196,0,.30),0 14px 30px rgba(0,0,0,.35)
}
.dv512-decade-card.d1930{background-image:url('https://images.unsplash.com/photo-1511379938547-c1f69419868d?auto=format&fit=crop&w=700&q=82')}
.dv512-decade-card.d1940{background-image:url('https://images.unsplash.com/photo-1520523839897-bd0b52f945a0?auto=format&fit=crop&w=700&q=82')}
.dv512-decade-card.d1950{background-image:url('https://images.unsplash.com/photo-1545454675-3531b543be5d?auto=format&fit=crop&w=700&q=82')}
.dv512-decade-card.d1960{background-image:url('https://images.unsplash.com/photo-1514525253161-7a46d19cd819?auto=format&fit=crop&w=700&q=82')}
.dv512-decade-card.d1970{background-image:url('https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=700&q=82')}
.dv512-decade-card.d1980{background-image:url('https://images.unsplash.com/photo-1516450360452-9312f5e86fc7?auto=format&fit=crop&w=700&q=82')}
.dv512-decade-card.d1990{background-image:url('https://images.unsplash.com/photo-1506157786151-b8491531f063?auto=format&fit=crop&w=700&q=82')}
.dv512-decade-card.d2000{background-image:url('https://images.unsplash.com/photo-1571266028243-d220c9c3b0f8?auto=format&fit=crop&w=700&q=82')}
.dv512-decade-card.d2010{background-image:url('https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=700&q=82')}
.dv512-decade-card.d2020{background-image:url('https://images.unsplash.com/photo-1501386761578-eac5c94b800a?auto=format&fit=crop&w=700&q=82')}


.dv512-eighties .container{position:relative;display:grid;grid-template-columns:1.05fr 1.45fr;gap:28px;align-items:stretch;padding:34px;border:1px solid #0870ff;border-radius:12px;overflow:hidden;background:
linear-gradient(90deg,rgba(2,10,28,.93),rgba(2,10,28,.68)),
url('https://images.unsplash.com/photo-1516450360452-9312f5e86fc7?auto=format&fit=crop&w=1600&q=85') center/cover}

.dv512-eighties-copy>strong{display:block;font-size:27px;color:#ffc400;margin:2px 0 8px}



.dv512-year-grid a span{font-size:28px;color:#ffc400}

@media(max-width:1100px){.dv512-decade-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.dv512-eighties .container{grid-template-columns:1fr}}
@media(max-width:560px){.dv512-decade-grid{grid-template-columns:1fr}.dv512-eighties .container{padding:22px}}

/* 5.14 – interactive Chartsarchiv browser */
.dv514-browser{padding:10px 0 65px}
.dv514-browser-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.dv514-browser-head h2{font-size:40px;margin:8px 0 5px}
.dv514-browser-head p{margin:0;color:#cbd8ea}
.dv514-back{border:1px solid #0870ff;background:#061a36;color:#fff;padding:12px 18px;border-radius:8px;font-weight:800;cursor:pointer}
.dv514-browser-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.dv514-browser-card{position:relative;min-height:110px;border:1px solid #0870ff;border-radius:10px;overflow:hidden;text-decoration:none!important;color:#fff!important;background:#061326 center/cover no-repeat;display:flex;align-items:flex-end;padding:16px;box-sizing:border-box}
.dv514-browser-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(1,8,25,.94))}
.dv514-browser-card>*{position:relative;z-index:1}
.dv514-browser-card strong{font-size:24px}
.dv514-browser-card small{display:block;color:#dbe6f5;margin-top:4px}
.dv514-browser-card:hover{border-color:#ffc400;transform:translateY(-3px)}
.dv514-browser-empty{padding:25px;border:1px dashed #2b5d9b;border-radius:10px;color:#cbd8ea}
.dv514-browser-link{background:linear-gradient(135deg,rgba(10,54,120,.82),rgba(105,0,100,.66));}
@media(max-width:1100px){.dv514-browser-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.dv514-browser-head{align-items:flex-start;flex-direction:column}.dv514-browser-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:450px){.dv514-browser-grid{grid-template-columns:1fr}}

/* 5.15 – reliable Chartsarchiv buttons */
.dv515-browser{padding:12px 0 70px}
.dv515-browser-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.dv515-browser-head h2{font-size:40px;margin:8px 0 5px}
.dv515-browser-head p{margin:0;color:#cbd8ea}
.dv515-back,.dv515-close{border:1px solid #0870ff;background:#061a36;color:#fff;padding:11px 18px;border-radius:8px;font-weight:800;cursor:pointer}
.dv515-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.dv515-card{position:relative;min-height:118px;border:1px solid #0870ff;border-radius:11px;overflow:hidden;text-decoration:none;background:#061326 center/cover no-repeat;color:#fff;display:flex;align-items:flex-end;text-align:left;padding:17px;cursor:pointer;box-sizing:border-box}
.dv515-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,10,25,.08),rgba(1,8,25,.94))}
.dv515-card span{position:relative;z-index:1}
.dv515-card strong{display:block;font-size:25px}
.dv515-card small{display:block;color:#dbe6f5;margin-top:5px}
.dv515-card:hover{border-color:#ffc400;transform:translateY(-3px)}
.dv515-card.disabled{opacity:.45;cursor:not-allowed}
.dv515-result{margin-top:28px;border:1px solid #1d4e85;border-radius:12px;overflow:hidden;background:#031329}
.dv515-result-head{padding:13px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#061a36;color:#fff}
.dv515-open{color:#ffc400;text-decoration:none;font-weight:700;margin-right:12px}
.dv515-result iframe{display:block;width:100%;height:780px;border:0;background:#fff}
@media(max-width:1100px){.dv515-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.dv515-browser-head{align-items:flex-start;flex-direction:column}.dv515-grid{grid-template-columns:repeat(2,1fr)}.dv515-result-head{align-items:flex-start;flex-direction:column}.dv515-result iframe{height:650px}}
@media(max-width:450px){.dv515-grid{grid-template-columns:1fr}}

/* Theme 5.17 – remove the decade selector from Chartsarchiv */
body.page-id-chartsarchiv .dv515-browser,
body.page-id-chartsarchiv .dv512-decade-card,
body.page-id-chartsarchiv .dv512-decade-section,
body.page-id-chartsarchiv .dv512-decade-grid,
body.page-id-chartsarchiv .dv512-decade-selector { display:none !important; }

/* Theme 5.18 – verified direct Chartsarchiv links */
.dv518-archive{padding:50px 0 70px}
.dv518-archive h2{font-size:42px;margin:8px 0 8px}
.dv518-intro{font-size:18px;color:#cbd8ea;margin:0 0 26px}
.dv518-year-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:10px}
.dv518-year{min-height:72px;border:1px solid #0870ff;border-radius:9px;background:linear-gradient(145deg,#071d39,#061326);color:#fff!important;text-decoration:none!important;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.18s ease;box-sizing:border-box}
.dv518-year span{font-size:22px;font-weight:900;line-height:1}
.dv518-year small{margin-top:6px;color:#b8c8dd;font-size:11px}
.dv518-year:hover{border-color:#ffc400;background:linear-gradient(145deg,#102e52,#07152a);transform:translateY(-2px);box-shadow:0 7px 18px rgba(0,0,0,.28)}
.dv518-note{margin-top:18px;color:#8fa6c2;font-size:13px}
@media(max-width:1100px){.dv518-year-grid{grid-template-columns:repeat(8,1fr)}}
@media(max-width:800px){.dv518-year-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:600px){.dv518-year-grid{grid-template-columns:repeat(4,1fr)}.dv518-archive h2{font-size:34px}}
@media(max-width:400px){.dv518-year-grid{grid-template-columns:repeat(3,1fr)}}


/* =========================================================
   Theme 5.19 – Chartsarchiv decade selector
   ========================================================= */
.dv519-charts-page{background:#031224;color:#fff;min-height:70vh}
.dv519-hero{position:relative;min-height:430px;overflow:hidden;display:flex;align-items:center;border-top:1px solid #f5b900}
.dv519-hero-bg{position:absolute;inset:0;background-image:url('assets/hero.jpg');background-size:cover;background-position:center}
.dv519-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,11,25,.92),rgba(3,18,36,.65),rgba(1,9,22,.35))}
.dv519-hero-inner{position:relative;z-index:2;padding:65px 0}
.dv519-hero h1{font-size:clamp(48px,7vw,88px);line-height:.95;margin:14px 0 10px;font-weight:950;letter-spacing:-3px}
.dv519-hero h1 span{color:#f5b900}
.dv519-hero h2{font-size:clamp(25px,3vw,40px);margin:0 0 10px}
.dv519-hero p{font-size:18px;max-width:760px;color:#e7edf5}
.dv519-selector,.dv519-results{background:#031224}
.dv519-selector{padding:55px 0 28px}
.dv519-selector h2{font-size:42px;margin:5px 0 5px;color:#fff}
.dv519-intro{font-size:18px;color:#c9d6e6;margin:0 0 25px}
.dv519-decade-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.dv519-decade-card{position:relative;min-height:165px;border:1px solid #0877ff;border-radius:12px;overflow:hidden;padding:0;text-align:left;background:#06172b;color:#fff;cursor:pointer;isolation:isolate;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.dv519-decade-card:hover{transform:translateY(-3px);border-color:#f5b900;box-shadow:0 12px 28px rgba(0,0,0,.35)}
.dv519-decade-card.is-active{border:2px solid #f5b900;box-shadow:0 0 0 1px rgba(245,185,0,.2),0 12px 32px rgba(245,185,0,.12)}
.dv519-card-bg,.dv519-card-shade{position:absolute;inset:0;display:block}
.dv519-card-bg{background-size:cover;background-position:center;z-index:-2;transition:transform .35s ease}
.dv519-decade-card:hover .dv519-card-bg{transform:scale(1.05)}
.dv519-card-shade{z-index:-1;background:linear-gradient(180deg,rgba(0,8,20,.1),rgba(0,7,17,.86))}
.dv519-card-content{position:absolute;left:16px;right:35px;bottom:15px;display:flex;flex-direction:column}
.dv519-card-content strong{font-size:30px;line-height:1;font-weight:950;text-shadow:0 2px 8px #000}
.dv519-card-content small{font-size:12px;line-height:1.35;margin-top:8px;color:#fff;font-weight:700;text-shadow:0 1px 5px #000}
.dv519-arrow{position:absolute;right:13px;bottom:17px;font-size:36px;color:#f5b900;font-weight:900;line-height:1}
.dv519-results{padding:20px 0 70px}
.dv519-panel{display:none;position:relative;min-height:310px;border:1px solid #0877ff;border-radius:14px;overflow:hidden;background:#07192e}
.dv519-panel.is-active{display:grid;grid-template-columns:34% 66%}
.dv519-panel-info{padding:40px 28px;background:linear-gradient(135deg,rgba(2,13,28,.96),rgba(6,30,55,.78))}
.dv519-panel-info h2{font-size:48px;margin:10px 0 0;color:#fff}
.dv519-range{font-size:24px;color:#f5b900;font-weight:900;margin-top:2px}
.dv519-panel-info p{font-size:16px;color:#d4deea;max-width:370px}
.dv519-years{padding:35px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-content:center;background:linear-gradient(90deg,rgba(5,19,36,.7),rgba(4,12,26,.88))}
.dv519-year{position:relative;height:72px;border:1px solid #0877ff;border-radius:9px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff!important;text-decoration:none!important;background:#07192e;transition:.18s ease}
.dv519-year:hover{border-color:#f5b900;transform:translateY(-2px);box-shadow:0 7px 18px rgba(0,0,0,.3)}
.dv519-year-bg,.dv519-year-shade{position:absolute;inset:0}
.dv519-year-bg{background-size:cover;background-position:center}
.dv519-year-shade{background:linear-gradient(90deg,rgba(0,8,22,.6),rgba(0,8,22,.8))}
.dv519-year strong{position:relative;z-index:2;font-size:22px;font-weight:950;text-shadow:0 2px 7px #000}
.dv519-chevron{position:absolute;right:10px;z-index:2;color:#f5b900;font-size:26px;font-weight:900}
@media(max-width:1050px){.dv519-decade-grid{grid-template-columns:repeat(5,1fr)}.dv519-card-content strong{font-size:25px}.dv519-panel.is-active{grid-template-columns:1fr}.dv519-panel-info{padding:28px}.dv519-years{grid-template-columns:repeat(5,1fr)}}
@media(max-width:760px){.dv519-decade-grid{grid-template-columns:repeat(2,1fr)}.dv519-hero{min-height:360px}.dv519-hero-inner{padding:50px 0}.dv519-selector h2{font-size:34px}.dv519-years{grid-template-columns:repeat(3,1fr);padding:20px}.dv519-card-content strong{font-size:27px}}
@media(max-width:430px){.dv519-decade-grid{grid-template-columns:1fr}.dv519-decade-card{min-height:145px}.dv519-years{grid-template-columns:repeat(2,1fr)}.dv519-panel-info h2{font-size:38px}}

/* 5.19.1 readability + booking link correction */
:root{--dv-blue:#66bfff;--dv-blue-2:#8fd3ff;--pure-blue:#66bfff}
body a:not(.btn):not(.request){color:var(--dv-blue)}
body a:not(.btn):not(.request):hover{color:#b9e5ff}
.menu>li>a,.menu li ul a{color:#fff}
.menu>li>a:hover,.menu>li.current-menu-item>a,.menu>li.current-menu-ancestor>a{color:#fff}
.dv-link-grid a{color:#0b1424}
.dv-link-grid a:after{color:var(--dv-blue)}
.dv-link-grid a:hover{border-color:var(--dv-blue);box-shadow:0 12px 28px rgba(102,191,255,.18)}
.facts .fact b{color:var(--gold)}


/* =========================================================
   Theme 5.19.3 – Standardseiten sauber zentrieren
   Nur normale WordPress-Seiten; Startseite und Chartsarchiv
   bleiben unverändert.
   ========================================================= */
.standard-page-section{padding:60px 0}
.standard-page-content{
  width:min(920px,100%);
  margin:0 auto;
  padding:0 10px;
}
.standard-page-content > *:first-child{margin-top:0}
.standard-page-content > *:last-child{margin-bottom:0}
.standard-page-content img{max-width:100%;height:auto}
.standard-page-content iframe{max-width:100%}

/* Online buchen: nur innerhalb der Buchungsseite */
.dv-booking-page{
  width:min(1000px,100%);
}
.dv-booking-page .booking-section,
.dv-booking-page .booking-wrap{
  width:100%;
}
.dv-booking-page .booking-card,
.dv-booking-page form{
  width:100%;
}
.dv-booking-page p{margin-top:0}
@media(max-width:700px){
  .standard-page-section{padding:45px 0}
  .standard-page-content{padding:0 4px}
}

/* Theme 5.19.5 – SEO content styling; layout unchanged */
.dv-seo-service-title{font-size:clamp(24px,3vw,34px);line-height:1.15;margin:34px 0 10px;color:#061a2a;font-weight:900}.dv-seo-service-text{max-width:850px;margin:0 0 24px;color:#394b5c;font-size:17px;line-height:1.7}


/* =========================================================
   Theme 5.19.7 – Kontrast-Optimierung
   Grundlage: 5.19.5 SEO-optimiert
   Layout, Startseite und Chartsarchiv bleiben erhalten.
   ========================================================= */
:root{
  --dv-contrast-blue:#1597ff;
  --dv-contrast-blue-2:#56b7ff;
  --dv-contrast-navy:#061321;
  --dv-contrast-panel:#0b2033;
  --dv-contrast-gold:#ffd04a;
}

/* Klarerer Header und bessere Navigation */
.site-header{
  background:linear-gradient(90deg,#020b14 0%,#071d30 55%,#0b3552 100%) !important;
  border-bottom:2px solid var(--dv-contrast-blue) !important;
  box-shadow:0 6px 22px rgba(0,0,0,.42) !important;
}
.menu>li>a{font-weight:900;text-shadow:0 1px 3px rgba(0,0,0,.55)}
.menu>li>a:hover,.menu>li.current-menu-item>a,.menu>li.current-menu-ancestor>a{
  background:linear-gradient(180deg,#126b9f,#0a3c5e) !important;
  color:#fff !important;
  box-shadow:inset 0 -3px 0 var(--dv-contrast-blue);
}
.request{
  background:var(--dv-contrast-blue) !important;
  border-color:var(--dv-contrast-blue) !important;
  color:#fff !important;
  box-shadow:0 5px 18px rgba(21,151,255,.28);
}
.request:hover{background:#56b7ff !important;color:#03111d !important}

/* Hero: stärkere Lesbarkeit ohne das Foto zu verlieren */
.hero{
  background:linear-gradient(90deg,rgba(1,7,13,.94) 0%,rgba(2,16,28,.72) 46%,rgba(2,18,30,.28) 78%,rgba(1,7,13,.62) 100%),url('assets/hero.jpg') center/cover !important;
}
.hero h1,.hero p,.hero .eyebrow{text-shadow:0 3px 12px rgba(0,0,0,.72)}
.hero h1 span,.eyebrow{color:var(--dv-contrast-blue-2) !important}
.hero p{color:#f1f6fa !important;font-weight:500}
.btn{
  background:linear-gradient(135deg,#0b8ff5,#1597ff) !important;
  border-color:#1597ff !important;
  color:#fff !important;
  box-shadow:0 7px 20px rgba(21,151,255,.28);
}
.btn:hover{background:linear-gradient(135deg,#56b7ff,#1597ff) !important;color:#03111d !important;transform:translateY(-1px)}
.btn.alt{background:rgba(3,12,20,.55) !important;border-color:#fff !important;color:#fff !important}
.btn.alt:hover{background:#fff !important;color:#061321 !important}

/* Helle Bereiche: deutlichere Trennung und besser lesbarer Text */
.section{background:#fff !important;color:#142331}
.section.gray{background:#edf3f8 !important}
.section h2,.section h3{color:#061827}
.section .lead,.home-copy p{color:#263b4c}
.section.dark{
  background:linear-gradient(135deg,#020b15 0%,#06233a 60%,#0a4164 100%) !important;
  color:#fff !important;
}
.section.dark h2,.section.dark p,.section.dark .lead{color:#fff !important}
.goldline{background:var(--dv-contrast-blue) !important;box-shadow:0 0 12px rgba(21,151,255,.35)}

/* Karten: mehr Kontrast und klare Kanten */
.card{
  background:#fff !important;
  border:1px solid #c8d6e2 !important;
  box-shadow:0 10px 28px rgba(3,25,45,.13) !important;
}
.card:hover{border-color:#1597ff !important;box-shadow:0 16px 34px rgba(3,25,45,.19) !important}
.card-body h3{color:#061827 !important}
.card-body p{color:#304657 !important}

/* Vorteile */
.fact{border-color:rgba(255,255,255,.18) !important;background:rgba(255,255,255,.06) !important}
.fact b{color:var(--dv-contrast-gold) !important;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.fact:hover{background:rgba(21,151,255,.16) !important}

/* SEO-Text: mehr Kontrast */
.dv-seo-service-title{color:#061827 !important}
.dv-seo-service-text{color:#263d4f !important}

/* Seiten-Header */
.page-hero{
  background:linear-gradient(90deg,rgba(1,8,15,.94),rgba(5,37,59,.72),rgba(7,65,96,.30),rgba(1,8,15,.72)),url('assets/hero.jpg') center/cover no-repeat !important;
}
.page-hero h1{color:#fff !important;text-shadow:0 3px 12px rgba(0,0,0,.72)}
.page-hero .lead,.page-hero .page-intro{color:#f1f6fa !important;text-shadow:0 2px 8px rgba(0,0,0,.55)}

/* Links und wichtige Hinweise */
body a:not(.btn):not(.request){color:#087bd1}
body a:not(.btn):not(.request):hover{color:#00579b}

/* Footer klarer vom Seiteninhalt trennen */
.footer{
  background:linear-gradient(135deg,#02080e,#071c2d 60%,#0a304a) !important;
  color:#e0e9ef !important;
  border-top:2px solid rgba(21,151,255,.65);
}
.footer a{color:#dcefff !important}
.footer a:hover{color:#56b7ff !important}

/* Mobile: Kontrast bleibt erhalten, keine Layoutänderung */
@media(max-width:700px){
  .hero{background:linear-gradient(90deg,rgba(1,7,13,.95),rgba(2,16,28,.78)),url('assets/hero.jpg') center/cover !important}
  .page-hero{background:linear-gradient(90deg,rgba(1,8,15,.95),rgba(5,37,59,.80)),url('assets/hero.jpg') center/cover no-repeat !important}
}

/* 5.19.7 – hellere Abgrenzungen der Inhaltskarten
   Nur Rahmen/Abgrenzung, keine Änderung am Seitenlayout. */
.fact{
  border:1px solid rgba(117,190,255,.48) !important;
  background:rgba(8,29,50,.82) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 4px 16px rgba(0,0,0,.18) !important;
}
.fact:hover{
  border-color:var(--dv-contrast-blue-2) !important;
  background:rgba(12,49,78,.9) !important;
  box-shadow:inset 0 0 0 1px rgba(86,183,255,.16),0 8px 22px rgba(0,0,0,.24) !important;
}
.dv54-editable-grid .dv54-item{
  border:1px solid rgba(117,190,255,.46) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025) !important;
}
.dv54-editable-grid .dv54-item:hover{
  border-color:var(--dv-contrast-blue-2) !important;
}
.card{
  border:1px solid #78b9e8 !important;
  box-shadow:0 10px 28px rgba(3,25,45,.15),inset 0 0 0 1px rgba(255,255,255,.35) !important;
}
.card:hover{
  border-color:#1597ff !important;
}


/* Theme 5.19.8 – Menütext und Startseiten-Schnellzugriff
   Nur gezielte Farbkorrekturen; Layout und übrige Bereiche bleiben unverändert. */
.site-header .brand,
.site-header .brand small,
.site-header .menu > li > a,
.site-header .mobile-toggle{
  color:#ffffff !important;
}
.site-header .brand span{color:var(--gold) !important;}
.site-header .menu > li > a:hover,
.site-header .menu > li.current-menu-item > a,
.site-header .menu > li.current-menu-ancestor > a{
  color:#ffffff !important;
}

/* „Direkt zu den wichtigsten Seiten“: dunkle Karten statt weißem Inhalt */
.dv-important-links{
  background:linear-gradient(180deg,#061321 0%,#081d30 100%) !important;
  color:#fff !important;
}
.dv-important-links h2{color:#fff !important;}
.dv-important-links .goldline{background:var(--dv-contrast-blue) !important;}
.dv-important-links .card{
  background:linear-gradient(145deg,#0a2135 0%,#061827 100%) !important;
  border:2px solid #65c2ff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 10px 28px rgba(0,0,0,.28) !important;
}
.dv-important-links .card-body h3{color:#ffd04a !important;}
.dv-important-links .card-body p{color:#f1f6fa !important;}
.dv-important-links .card .btn{
  background:var(--gold) !important;
  border-color:var(--gold) !important;
  color:#111 !important;
}
.dv-important-links .card:hover{
  border-color:#9cdaff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 14px 34px rgba(21,151,255,.20) !important;
}

/* Theme 5.19.9 – Untermenüs auf dunklem Menüband immer lesbar */
.site-header .menu li ul,
.nav.open .menu li ul{
  background:linear-gradient(180deg,#071f34 0%,#061827 100%) !important;
  border-top:3px solid var(--gold) !important;
}
body .site-header .menu li ul a,
body .nav.open .menu li ul a{
  color:#ffffff !important;
  background:transparent !important;
  text-shadow:0 1px 2px rgba(0,0,0,.55);
}
body .site-header .menu li ul a:hover,
body .site-header .menu li ul a:focus,
body .nav.open .menu li ul a:hover,
body .nav.open .menu li ul a:focus{
  color:#ffffff !important;
  background:linear-gradient(90deg,#155078,#1d6b9d) !important;
}


/* Theme 5.19.11 – Startseite kompakter und blaue Haken besser sichtbar */
.front-page-hero .hero-inner{padding-top:62px;padding-bottom:62px}
.front-page-hero.hero{min-height:540px}
.front-page-hero .hero h1{
  font-size:clamp(34px,4.2vw,54px) !important;
  line-height:1.06 !important;
  margin:10px 0 16px !important;
}
.front-page-hero .hero p{font-size:17px;line-height:1.55}
.site-main > .section{padding-top:54px;padding-bottom:54px}
.site-main > .section + .section{padding-top:46px}
.front-page-hero + .section{padding-top:50px}
.dv54-editable-grid{margin-top:18px !important;margin-bottom:22px !important}
.dv54-editable-grid .dv54-item{
  border-color:#66bfff !important;
  box-shadow:inset 0 0 0 1px rgba(143,211,255,.12),0 4px 14px rgba(0,0,0,.16) !important;
}
.dv54-editable-grid .dv54-item:before,
.home-benefits li:before{
  color:#8fd8ff !important;
  text-shadow:0 0 7px rgba(102,191,255,.65);
}
.dv54-editable-grid .dv54-item a{color:#fff !important}
@media(max-width:700px){
  .front-page-hero.hero{min-height:560px}
  .front-page-hero .hero-inner{padding-top:50px;padding-bottom:50px}
  .front-page-hero .hero h1{font-size:34px !important;line-height:1.08 !important}
  .site-main > .section{padding-top:42px;padding-bottom:42px}
  .site-main > .section + .section{padding-top:36px}
}

/* Theme 5.19.11 – Haken wirklich hell und unabhängig von Link-/Variablenfarben */
html body .site-main .home-benefits li::before,
html body .home-benefits li::before,
html body .dv54-editable-grid .dv54-item::before,
html body .dv54-editable-grid .dv54-check {
  color:#8fe8ff !important;
  -webkit-text-fill-color:#8fe8ff !important;
  text-shadow:0 0 4px rgba(143,232,255,.95), 0 0 10px rgba(70,190,255,.55) !important;
  opacity:1 !important;
  filter:none !important;
}

/* Theme 5.19.12 – Startseite: Abstände zwischen den Inhaltsblöcken weiter reduzieren */
body.home > main > .section{
  padding-top:34px !important;
  padding-bottom:34px !important;
}
body.home > main > .section + .section{
  padding-top:22px !important;
}
body.home > main > .front-page-hero + .section{
  padding-top:34px !important;
}
body.home > main > .section h2{
  margin-top:6px !important;
  margin-bottom:14px !important;
}
body.home > main > .dv-important-links{
  padding-top:28px !important;
  padding-bottom:30px !important;
}
body.home > main > .dv-important-links .grid3{
  margin-top:16px !important;
}
@media(max-width:700px){
  body.home > main > .section{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }
  body.home > main > .section + .section{
    padding-top:20px !important;
  }
  body.home > main > .front-page-hero + .section{
    padding-top:30px !important;
  }
  body.home > main > .dv-important-links{
    padding-top:26px !important;
    padding-bottom:28px !important;
  }
}

/* Theme 5.19.14 – Startseite: Bereichsüberschrift kompakter */
body.home > main > .section .dv-home-about-title{
  font-size:40px !important;
  line-height:1.08 !important;
  margin:6px 0 14px !important;
}
@media(max-width:700px){
  body.home > main > .section .dv-home-about-title{
    font-size:30px !important;
    line-height:1.12 !important;
    margin:5px 0 12px !important;
  }
}

/* Theme 5.19.16 – GOLD / NEON-CYAN STARTSEITE
   Bewusst nur body.home: andere Seiten und Chartsarchiv bleiben unangetastet. */
body.home{
  --dv-neon:#19d9ff;
  --dv-neon2:#52a9ff;
  --dv-gold:#ffc400;
  --dv-gold2:#ffdf63;
  background:#020914 !important;
}
body.home .site-header{
  background:linear-gradient(90deg,#020713 0%,#06182b 48%,#031022 100%) !important;
  border-bottom:2px solid var(--dv-gold) !important;
  box-shadow:0 4px 22px rgba(0,0,0,.45),0 1px 14px rgba(25,217,255,.18) !important;
}
body.home .site-header .brand{color:#fff !important;text-shadow:0 0 12px rgba(82,169,255,.25)}
body.home .site-header .brand span{color:var(--dv-gold) !important}
body.home .site-header .menu > li > a{color:#fff !important}
body.home .site-header .menu > li > a:hover{color:var(--dv-gold2) !important;text-shadow:0 0 8px rgba(255,196,0,.45)}
body.home .site-header .request{
  background:linear-gradient(135deg,#ffc400,#ff9d00) !important;
  color:#06111d !important;border:1px solid #ffe27a !important;
  box-shadow:0 0 16px rgba(255,196,0,.45) !important;
}
body.home .front-page-hero{
  position:relative !important;
  min-height:0 !important;
  background:
   linear-gradient(90deg,rgba(1,7,16,.97) 0%,rgba(1,12,27,.88) 38%,rgba(2,14,28,.40) 68%,rgba(0,7,15,.72) 100%),
   url('assets/hero.jpg') center/cover no-repeat !important;
  border-bottom:1px solid rgba(25,217,255,.65) !important;
  box-shadow:inset 0 -35px 70px rgba(0,0,0,.38),0 12px 34px rgba(0,0,0,.35) !important;
}
body.home .front-page-hero:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--dv-neon),var(--dv-gold),var(--dv-neon),transparent);
  box-shadow:0 0 14px rgba(25,217,255,.75),0 0 14px rgba(255,196,0,.35);
}
body.home .front-page-hero .eyebrow{color:var(--dv-neon) !important;text-shadow:0 0 10px rgba(25,217,255,.55)}
body.home .front-page-hero h1{color:#fff !important;text-shadow:0 3px 18px rgba(0,0,0,.85) !important}
body.home .front-page-hero h1 span{color:var(--dv-gold) !important;text-shadow:0 0 14px rgba(255,196,0,.30)}
body.home .front-page-hero p{color:#f5f9ff !important}
body.home .front-page-hero .btn{
  background:linear-gradient(135deg,#ffc400,#ff9d00) !important;color:#07111c !important;
  border:1px solid #ffe47c !important;box-shadow:0 0 18px rgba(255,196,0,.42) !important;
}
body.home .front-page-hero .btn.alt{background:rgba(4,18,33,.72) !important;color:#fff !important;border:1px solid var(--dv-neon) !important;box-shadow:0 0 14px rgba(25,217,255,.25) !important}
body.home main > .section{background:#030c19 !important;color:#f4f8fc !important}
body.home main > .section:nth-of-type(2){background:linear-gradient(180deg,#03101e,#041426) !important}
body.home main > .section.dark{background:linear-gradient(180deg,#020a14,#041526) !important;border-top:1px solid rgba(25,217,255,.20) !important;border-bottom:1px solid rgba(25,217,255,.20) !important}
body.home main > .section.gray{background:linear-gradient(180deg,#020b16,#061626) !important}
body.home .section h2,body.home .section h3{color:#fff !important;text-shadow:0 2px 10px rgba(0,0,0,.55)}
body.home .goldline{background:var(--dv-neon) !important;box-shadow:0 0 10px rgba(25,217,255,.65) !important}
body.home .dv54-editable-grid{gap:14px !important}
body.home .dv54-editable-grid .dv54-item,
body.home .fact{
  background:linear-gradient(145deg,rgba(5,25,44,.96),rgba(2,13,26,.96)) !important;
  border:1px solid var(--dv-neon) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 0 12px rgba(25,217,255,.18) !important;
}
body.home .dv54-editable-grid .dv54-item:before{color:var(--dv-neon) !important;text-shadow:0 0 8px rgba(25,217,255,.8) !important}
body.home .fact b{color:var(--dv-gold) !important;text-shadow:0 0 9px rgba(255,196,0,.28) !important}
body.home .fact span{color:#fff !important}
body.home .dv-important-links{background:linear-gradient(180deg,#020914,#061a2c) !important}
body.home .dv-important-links .grid3{gap:18px !important}
body.home .dv-important-links .card{
  background:linear-gradient(145deg,rgba(5,25,44,.96),rgba(1,11,23,.98)) !important;
  border:1px solid var(--dv-neon) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 0 18px rgba(25,217,255,.20) !important;
}
body.home .dv-important-links .card-body h3{color:var(--dv-gold) !important;text-shadow:0 0 8px rgba(255,196,0,.24)}
body.home .dv-important-links .card-body p{color:#f4f8fc !important}
body.home .dv-important-links .card .btn{background:linear-gradient(135deg,#ffc400,#ff9d00) !important;color:#07111c !important;border-color:#ffe47c !important;box-shadow:0 0 15px rgba(255,196,0,.36) !important}
body.home .dv-link-grid a{background:#061827 !important;color:#fff !important;border:1px solid var(--dv-neon) !important;box-shadow:0 0 10px rgba(25,217,255,.14) !important}
@media(max-width:700px){
 body.home .front-page-hero{background:linear-gradient(90deg,rgba(1,7,16,.96),rgba(1,13,27,.83)),url('assets/hero.jpg') center/cover no-repeat !important}
 body.home .front-page-hero .hero-inner{padding-top:42px !important;padding-bottom:42px !important}
 body.home .front-page-hero h1{font-size:30px !important;line-height:1.10 !important}
 body.home .dv54-editable-grid{gap:10px !important}
 body.home .dv-important-links .grid3{gap:12px !important}
}


/* Theme 5.19.17 – GOLD / NEON-CYAN INTENSIV
   Startseite: stärkerer Neon-Look, tiefere Farbverläufe und leuchtende Linien. */
body.home{
  background:
    radial-gradient(ellipse at 15% 12%, rgba(0,213,255,.18), transparent 30%),
    radial-gradient(ellipse at 85% 28%, rgba(0,119,255,.20), transparent 34%),
    radial-gradient(ellipse at 50% 72%, rgba(255,188,0,.10), transparent 28%),
    linear-gradient(180deg,#010711 0%,#031225 34%,#020a18 68%,#01060f 100%) !important;
  color:#f7fbff !important;
}
body.home main{
  background:
    radial-gradient(ellipse at 10% 42%, rgba(0,214,255,.13), transparent 24%),
    radial-gradient(ellipse at 90% 62%, rgba(255,185,0,.09), transparent 22%),
    linear-gradient(180deg,#020916 0%,#031426 48%,#020914 100%) !important;
  position:relative;
  overflow:hidden;
}
body.home main:before,
body.home main:after{
  content:"";
  position:absolute;
  left:-8%; right:-8%;
  height:130px;
  pointer-events:none;
  z-index:0;
  opacity:.9;
}
body.home main:before{
  top:620px;
  background:
    radial-gradient(ellipse at 12% 55%, transparent 0 18%, rgba(25,217,255,.65) 19% 20%, transparent 21%),
    radial-gradient(ellipse at 50% 45%, transparent 0 25%, rgba(20,156,255,.45) 26% 27%, transparent 28%),
    radial-gradient(ellipse at 86% 58%, transparent 0 17%, rgba(255,196,0,.45) 18% 19%, transparent 20%);
  filter:blur(1px);
}
body.home main:after{
  top:1150px;
  background:
    radial-gradient(ellipse at 18% 55%, transparent 0 20%, rgba(0,213,255,.45) 21% 22%, transparent 23%),
    radial-gradient(ellipse at 62% 40%, transparent 0 24%, rgba(255,190,0,.40) 25% 26%, transparent 27%),
    radial-gradient(ellipse at 90% 55%, transparent 0 16%, rgba(0,145,255,.52) 17% 18%, transparent 19%);
}
body.home main > .section{position:relative;z-index:1;background:transparent !important}
body.home main > .section:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:
    radial-gradient(circle at 15% 20%, rgba(0,214,255,.08), transparent 28%),
    radial-gradient(circle at 82% 78%, rgba(255,196,0,.06), transparent 26%);
}
body.home .front-page-hero{
  min-height:700px !important;
  background:
    linear-gradient(90deg,rgba(0,5,14,.97) 0%,rgba(1,13,31,.82) 38%,rgba(0,22,44,.42) 67%,rgba(0,7,16,.60) 100%),
    radial-gradient(circle at 70% 45%,rgba(0,214,255,.32),transparent 32%),
    url('assets/hero.jpg') center/cover no-repeat !important;
  border-bottom:1px solid rgba(25,217,255,.85) !important;
  box-shadow:inset 0 -90px 120px rgba(0,0,0,.50),0 0 34px rgba(0,183,255,.18) !important;
}
body.home .front-page-hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(112deg,transparent 0 44%,rgba(0,210,255,.10) 45%,transparent 48%),
    linear-gradient(68deg,transparent 0 66%,rgba(255,196,0,.09) 67%,transparent 70%),
    radial-gradient(ellipse at 65% 75%,rgba(0,220,255,.22),transparent 34%);
  mix-blend-mode:screen;
}
body.home .front-page-hero:after{
  height:4px !important;
  background:linear-gradient(90deg,transparent 0%,#00d9ff 16%,#2f8dff 38%,#ffd21a 52%,#ffad00 64%,#00d9ff 84%,transparent 100%) !important;
  box-shadow:0 0 10px #00d9ff,0 0 24px rgba(0,180,255,.65),0 0 18px rgba(255,195,0,.55) !important;
}
body.home .front-page-hero .eyebrow{color:#56eaff !important;text-shadow:0 0 12px rgba(0,220,255,.85) !important}
body.home .front-page-hero h1 span{color:#ffd22e !important;text-shadow:0 0 10px rgba(255,196,0,.55),0 0 22px rgba(255,155,0,.24) !important}
body.home .front-page-hero .btn{box-shadow:0 0 14px rgba(255,196,0,.55),0 0 34px rgba(255,154,0,.22) !important}
body.home .front-page-hero .btn.alt{box-shadow:0 0 12px rgba(0,213,255,.48),inset 0 0 12px rgba(0,213,255,.10) !important}
body.home .goldline{
  background:linear-gradient(90deg,#00e5ff,#36aaff) !important;
  box-shadow:0 0 8px #00d9ff,0 0 20px rgba(0,213,255,.75) !important;
}
body.home .section h2{
  text-shadow:0 0 12px rgba(0,0,0,.65),0 0 16px rgba(0,160,255,.10) !important;
}
body.home .section h2 .dv-heading-highlight{color:#ffd129 !important}
body.home .dv54-editable-grid .dv54-item,
body.home .fact,
body.home .dv-important-links .card{
  position:relative;
  border:2px solid #16dfff !important;
  background:
    radial-gradient(circle at 15% 20%,rgba(0,220,255,.13),transparent 34%),
    radial-gradient(circle at 90% 85%,rgba(255,196,0,.08),transparent 28%),
    linear-gradient(145deg,rgba(4,27,50,.97),rgba(1,10,23,.98)) !important;
  box-shadow:
    inset 0 0 0 1px rgba(120,238,255,.10),
    0 0 7px rgba(0,218,255,.75),
    0 0 22px rgba(0,164,255,.30) !important;
}
body.home .dv54-editable-grid .dv54-item:after,
body.home .fact:after,
body.home .dv-important-links .card:after{
  content:"";position:absolute;inset:3px;border-radius:inherit;pointer-events:none;
  border:1px solid rgba(255,255,255,.035);
}
body.home .dv54-editable-grid .dv54-item:before{
  color:#51ecff !important;
  text-shadow:0 0 8px #00d9ff,0 0 20px rgba(0,210,255,.85) !important;
}
body.home .fact b,
body.home .dv-important-links .card-body h3{
  color:#ffd12b !important;
  text-shadow:0 0 8px rgba(255,205,38,.55),0 0 20px rgba(255,165,0,.22) !important;
}
body.home .dv-important-links .card .btn{
  border:2px solid #ffe26a !important;
  box-shadow:0 0 9px rgba(255,196,0,.75),0 0 22px rgba(255,160,0,.30) !important;
}
body.home .dv-important-links .card:nth-child(2) .btn{
  background:linear-gradient(135deg,#ffc400,#ff9d00) !important;
  color:#07111c !important;border-color:#ffe26a !important;
  box-shadow:0 0 9px rgba(255,196,0,.75),0 0 22px rgba(255,160,0,.30) !important;
}
body.home .dv-link-grid a{
  background:linear-gradient(145deg,#06213a,#020b18) !important;
  border:1px solid #16dfff !important;
  box-shadow:0 0 10px rgba(0,213,255,.45) !important;
}
@media(max-width:700px){
  body.home .front-page-hero{min-height:650px !important}
  body.home main:before{top:760px}
  body.home main:after{top:1500px}
  body.home .dv54-editable-grid .dv54-item,
  body.home .fact,
  body.home .dv-important-links .card{box-shadow:0 0 6px rgba(0,218,255,.70),0 0 16px rgba(0,164,255,.25) !important}
}


/* Theme 5.19.21 – GOLD / NEON-CYAN auf allen Seiten und Unterseiten
   Einheitlicher Look: tiefe Verläufe, Neon-Rahmen, Gold-Akzente. */
:root{
  --dv-neon:#18ddff;
  --dv-neon2:#087dff;
  --dv-gold:#ffd129;
  --dv-deep:#020916;
}
body{
  background:
    radial-gradient(ellipse at 12% 8%,rgba(0,220,255,.14),transparent 28%),
    radial-gradient(ellipse at 88% 34%,rgba(0,110,255,.16),transparent 30%),
    radial-gradient(ellipse at 48% 86%,rgba(255,193,0,.08),transparent 26%),
    linear-gradient(180deg,#010711 0%,#031426 42%,#020a17 100%) !important;
  color:#f5faff;
}
.site-header{
  background:linear-gradient(90deg,#020813,#031c38 48%,#020a17) !important;
  border-bottom:2px solid var(--dv-neon) !important;
  box-shadow:0 0 12px rgba(0,220,255,.55),0 5px 24px rgba(0,0,0,.45) !important;
}
.menu>li>a{color:#fff !important;text-shadow:0 0 7px rgba(255,255,255,.16)}
.menu>li>a:hover,.menu>li.current-menu-item>a,.menu>li.current-menu-ancestor>a{background:linear-gradient(180deg,rgba(0,213,255,.16),rgba(0,85,150,.22)) !important;color:#ffd129 !important}
.menu li ul{background:linear-gradient(180deg,#061b31,#031224) !important;border-top:3px solid var(--dv-gold) !important;box-shadow:0 0 22px rgba(0,160,255,.25),0 18px 40px rgba(0,0,0,.55) !important}
.menu li ul a{color:#fff !important}
.menu li ul a:hover{background:linear-gradient(90deg,#075c8d,#06355c) !important;color:#fff !important;text-shadow:0 0 7px rgba(0,220,255,.5)}
.request{background:linear-gradient(135deg,#ffc400,#ff9d00) !important;color:#07111c !important;border:2px solid #ffe26a !important;box-shadow:0 0 12px rgba(255,196,0,.55),0 0 25px rgba(255,160,0,.22) !important}
.mobile-toggle{color:#fff !important;text-shadow:0 0 12px rgba(0,220,255,.65)}

main:not(.front-page-main),
.site-main,
.standard-page-section{
  background:
    radial-gradient(ellipse at 15% 20%,rgba(0,213,255,.09),transparent 28%),
    radial-gradient(ellipse at 85% 75%,rgba(255,196,0,.06),transparent 24%),
    linear-gradient(180deg,#020914 0%,#031426 48%,#020914 100%) !important;
  color:#f5faff !important;
}
.section,
.section.dark,
.section.gray{
  background:
    radial-gradient(circle at 12% 18%,rgba(0,220,255,.06),transparent 28%),
    radial-gradient(circle at 88% 78%,rgba(255,196,0,.045),transparent 24%),
    linear-gradient(180deg,#020a16,#04182a) !important;
  color:#f5faff !important;
}
.section h1,.section h2,.section h3,.section h4,
.page-hero h1,.standard-page-content h1,.standard-page-content h2,.standard-page-content h3,.standard-page-content h4{
  color:#fff !important;
  text-shadow:0 0 12px rgba(0,0,0,.72),0 0 12px rgba(0,160,255,.10) !important;
}
.section h2 .dv-heading-highlight,.section h3 .dv-heading-highlight{color:var(--dv-gold) !important}
.section p,.section li,.standard-page-content p,.standard-page-content li,.standard-page-content label{color:#f0f7ff !important}
.goldline{background:linear-gradient(90deg,#18ddff,#087dff) !important;box-shadow:0 0 9px #18ddff,0 0 20px rgba(0,180,255,.65) !important}

.card,.fact,.dv54-editable-grid .dv54-item,.dv-important-links .card,.dv-link-grid a{
  background:
    radial-gradient(circle at 15% 15%,rgba(0,220,255,.10),transparent 35%),
    radial-gradient(circle at 88% 85%,rgba(255,196,0,.06),transparent 30%),
    linear-gradient(145deg,rgba(4,28,50,.97),rgba(1,10,23,.99)) !important;
  color:#f5faff !important;
  border:2px solid #18ddff !important;
  box-shadow:inset 0 0 0 1px rgba(120,238,255,.08),0 0 8px rgba(0,220,255,.55),0 0 20px rgba(0,150,255,.20) !important;
}
.card-body h3,.fact b{color:var(--dv-gold) !important;text-shadow:0 0 8px rgba(255,205,38,.52),0 0 18px rgba(255,165,0,.20) !important}
.card-body p,.fact span{color:#f4f9ff !important}
.card .btn,.dv-important-links .card .btn,.booking-submit{
  background:linear-gradient(135deg,#ffc400,#ff9d00) !important;
  color:#07111c !important;border:2px solid #ffe26a !important;
  box-shadow:0 0 10px rgba(255,196,0,.70),0 0 22px rgba(255,160,0,.28) !important;
}
.card .btn:hover,.dv-important-links .card .btn:hover,.booking-submit:hover{box-shadow:0 0 15px rgba(255,196,0,.9),0 0 30px rgba(255,160,0,.35) !important}

.page-hero{
  background:
    linear-gradient(90deg,rgba(1,8,18,.96),rgba(2,25,50,.78),rgba(1,8,18,.88)),
    radial-gradient(circle at 70% 45%,rgba(0,220,255,.25),transparent 35%),
    url('assets/hero.jpg') center/cover no-repeat !important;
  border-bottom:2px solid var(--dv-neon) !important;
  box-shadow:inset 0 -70px 100px rgba(0,0,0,.45),0 0 26px rgba(0,190,255,.18) !important;
}
.page-hero .eyebrow,.eyebrow{color:#55eaff !important;text-shadow:0 0 10px rgba(0,220,255,.65)}
.standard-page-content a:not(.btn){color:#55eaff !important;text-shadow:0 0 6px rgba(0,220,255,.25)}
.standard-page-content blockquote{border-left:3px solid var(--dv-gold);background:rgba(0,220,255,.05);box-shadow:0 0 15px rgba(0,180,255,.08)}

/* Formulare: lesbar, aber in das Neon-Design integriert. */
.form-grid input,.form-grid select,.form-grid textarea{
  background:#f7fbff !important;color:#142535 !important;border:2px solid #18ddff !important;
  box-shadow:0 0 8px rgba(0,220,255,.22) !important;
}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#ffd129 !important;box-shadow:0 0 0 3px rgba(255,209,41,.18),0 0 14px rgba(0,220,255,.24) !important}

/* Theme 5.19.21 – einheitliche langsame Textanimation auf allen Seiten. */
.dv-text-reveal{opacity:0 !important;transform:translateY(12px) !important;transition:opacity 1.55s ease,transform 1.55s ease !important;transition-delay:var(--dv-text-delay,0s) !important;will-change:opacity,transform}
.dv-text-reveal.dv-text-visible{opacity:1 !important;transform:none !important}
@media(prefers-reduced-motion:reduce){.dv-text-reveal,.dv-text-reveal.dv-text-visible{opacity:1 !important;transform:none !important;transition:none !important}}

/* Gästebuch: exakt derselbe Gold-Button wie Preisliste und Online buchen. */
body.home .dv-important-links .card:nth-child(2) .btn,
body.home .dv-important-links .card:nth-child(1) .btn,
body.home .dv-important-links .card:nth-child(3) .btn{
  background:linear-gradient(135deg,#ffc400,#ff9d00) !important;
  color:#07111c !important;border:2px solid #ffe26a !important;
  box-shadow:0 0 10px rgba(255,196,0,.72),0 0 22px rgba(255,160,0,.30) !important;
}

@media(max-width:700px){
  .section{padding-top:52px;padding-bottom:52px}
  .card-body{padding:20px}
  .page-hero{padding:48px 0}
}


/* 5.19.22 – Faktenbereich korrigiert */
body.home > main > section.section.dark{background:radial-gradient(circle at 15% 20%,rgba(24,221,255,.09),transparent 30%),radial-gradient(circle at 85% 80%,rgba(255,209,41,.07),transparent 28%),linear-gradient(135deg,#020916 0%,#061a2d 58%,#03111f 100%) !important;color:#fff !important;border-top:1px solid rgba(24,221,255,.32) !important;border-bottom:1px solid rgba(24,221,255,.24) !important}
body.home > main > section.section.dark h2{color:#fff !important;font-size:clamp(28px,3.5vw,40px) !important;margin:8px 0 18px !important;text-shadow:0 0 12px rgba(0,0,0,.75),0 0 14px rgba(24,221,255,.16) !important}
body.home > main > section.section.dark .goldline{background:linear-gradient(90deg,#18ddff,#087dff) !important;box-shadow:0 0 9px #18ddff,0 0 20px rgba(0,180,255,.55) !important}
body.home > main > section.section.dark .facts{gap:12px !important;margin-top:24px !important}
body.home > main > section.section.dark .fact{background:linear-gradient(145deg,rgba(5,27,48,.98),rgba(1,10,23,.99)) !important;border:2px solid #18ddff !important;border-radius:14px !important;box-shadow:inset 0 0 0 1px rgba(120,238,255,.10),0 0 7px rgba(0,218,255,.60),0 0 18px rgba(0,164,255,.22) !important;color:#fff !important}
body.home > main > section.section.dark .fact b{color:#ffd129 !important;text-shadow:0 0 9px rgba(255,196,0,.42) !important}
body.home > main > section.section.dark .fact span{color:#f4f9ff !important}
@media(max-width:700px){body.home > main > section.section.dark .facts{grid-template-columns:1fr 1fr !important;gap:10px !important}body.home > main > section.section.dark .fact{padding:16px 10px !important}}

/* 5.19.24: Seitenkontext in der Kopfzeile + Footer bei kurzen Seiten unten */
body{min-height:100vh;display:flex;flex-direction:column}
body>main, body>div#page, body>div.site, main{flex:1}
.site-header{flex-shrink:0}
.page-context{background:linear-gradient(90deg,rgba(5,18,32,.98),rgba(9,43,68,.96),rgba(5,18,32,.98));border-top:1px solid rgba(101,194,255,.38);border-bottom:1px solid rgba(101,194,255,.32);color:#fff;box-shadow:0 3px 14px rgba(0,0,0,.25)}
.page-context .container{min-height:34px;display:flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.2px}
.page-context-label{color:#65c2ff;font-weight:700}
.page-context strong{color:#fff;font-weight:800}
.footer{margin-top:auto}
@media(max-width:900px){
 .page-context .container{min-height:32px;font-size:11px}
}

/* Theme 5.19.25 – aktuelle Seite dezent in der Kopfzeile anzeigen. */
.page-current-title{
  background:linear-gradient(90deg,#03101d 0%,#062944 50%,#03101d 100%);
  border-top:1px solid rgba(24,221,255,.22);
  border-bottom:1px solid rgba(24,221,255,.38);
  box-shadow:0 0 14px rgba(0,220,255,.12),0 4px 18px rgba(0,0,0,.28);
}
.page-current-title .container{min-height:36px;display:flex;align-items:center;justify-content:center}
.page-current-title span{color:#ffd129;font-size:13px;line-height:1;font-weight:800;letter-spacing:.9px;text-transform:uppercase;text-shadow:0 0 9px rgba(255,209,41,.32)}
@media(max-width:900px){.page-current-title .container{min-height:32px}.page-current-title span{font-size:11px;letter-spacing:.7px}}
/* Falls ein alter gecachter Frontpage-Markupstand ausgeliefert wird, bleibt der entfernte Faktenblock unsichtbar. */
body.home .facts{display:none !important}


/* ==========================================================
   Theme 5.19.28 – Neon-Wellen-Hintergrund nach Referenz
   Globaler Hintergrund: tiefes Navy + Cyan/Blau + Gold.
   Der Effekt liegt hinter allen Inhalten und bleibt responsiv.
   ========================================================== */
:root{
  --dv-bg-deep:#010914;
  --dv-bg-blue:#03284a;
  --dv-cyan:#12e7ff;
  --dv-blue:#0788ff;
  --dv-gold2:#ffd129;
}
html,body{background:#010914!important}
body{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 8% 8%,rgba(0,214,255,.18),transparent 25%),
    radial-gradient(circle at 92% 20%,rgba(0,102,255,.16),transparent 30%),
    radial-gradient(circle at 78% 72%,rgba(255,193,0,.09),transparent 24%),
    linear-gradient(180deg,#010914 0%,#021b31 28%,#020c1b 55%,#031a2e 78%,#010914 100%) !important;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:url('assets/neon-waves.svg');
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover;
  opacity:.82;
  mix-blend-mode:screen;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 22%,rgba(0,220,255,.10),transparent 28%),
    radial-gradient(circle at 35% 72%,rgba(0,130,255,.10),transparent 30%),
    radial-gradient(circle at 78% 86%,rgba(255,192,0,.08),transparent 24%);
}
main,.dv-home-links,.footer,.site-header,.page-current-title{position:relative;z-index:2}
/* Transparente/dunkle Flächen lassen den Wellenhintergrund sichtbar. */
.section,
.section.gray,
.section.dark,
.dv-home-links{
  background:transparent!important;
}
.section.dark,
.dv-home-links{
  background:
    linear-gradient(180deg,rgba(1,13,25,.34),rgba(1,10,20,.56))!important;
}
.hero{
  background:
    linear-gradient(90deg,rgba(1,8,18,.92) 0%,rgba(1,21,42,.66) 43%,rgba(0,43,76,.22) 72%,rgba(1,8,18,.55) 100%),
    url('assets/hero.jpg') center/cover!important;
  box-shadow:inset 0 -90px 120px rgba(1,9,18,.72),0 0 45px rgba(0,170,255,.18);
}
.page-hero{
  background:
    linear-gradient(90deg,rgba(1,8,18,.94),rgba(2,31,55,.70),rgba(1,8,18,.88)),
    url('assets/hero.jpg') center/cover no-repeat!important;
}
/* Karten bleiben dunkel, damit die leuchtenden Wellen dahinter nicht die Lesbarkeit stören. */
.card,.fact,.dv54-editable-grid .dv54-item,.dv-important-links .card,.dv-link-grid a{
  backdrop-filter:blur(5px);
  background:
    radial-gradient(circle at 15% 10%,rgba(0,220,255,.10),transparent 35%),
    radial-gradient(circle at 85% 90%,rgba(255,193,0,.07),transparent 32%),
    linear-gradient(145deg,rgba(2,24,43,.90),rgba(1,8,20,.95))!important;
}
/* Leuchtende Linien zwischen den Inhaltsblöcken. */
.section::before,.dv-home-links::before{
  content:"";
  display:block;
  height:2px;
  width:100%;
  margin:0 0 26px;
  background:linear-gradient(90deg,transparent 0%,rgba(18,231,255,.12) 10%,#12e7ff 30%,#0788ff 55%,rgba(255,209,41,.75) 76%,transparent 100%);
  box-shadow:0 0 10px rgba(18,231,255,.45),0 0 22px rgba(0,130,255,.22);
  opacity:.65;
}
.section:first-child::before,.dv-home-links:first-child::before{display:none}
/* Wellen im mobilen Layout etwas ruhiger und weniger hell. */
@media(max-width:700px){
  body::before{background-size:auto 100%;background-position:center top;opacity:.52}
  body::after{opacity:.72}
  .section.dark,.dv-home-links{background:rgba(1,10,20,.40)!important}
  .section::before,.dv-home-links::before{margin-bottom:20px;opacity:.48}
}
@media(prefers-reduced-motion:no-preference){
  body::before{animation:dvWaveDrift 18s ease-in-out infinite alternate}
}
@keyframes dvWaveDrift{from{transform:translate3d(-1%,0,0) scale(1.01)}to{transform:translate3d(1%,0,0) scale(1.04)}}

/* ==========================================================
   Theme 5.19.28 – NEON-WELLEN wirklich sichtbar
   Letzte Hintergrund-Ebenen werden hier bewusst überschrieben,
   damit die Wellen nicht von alten Abschnitts-Hintergründen verdeckt werden.
   ========================================================== */
html,body{background:#010914!important}
body{position:relative;isolation:isolate;background:linear-gradient(180deg,#010914 0%,#021b31 48%,#010914 100%)!important}
body::before{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background-image:url('assets/neon-waves.svg')!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:100% 100%!important;
  opacity:1!important;
  mix-blend-mode:screen!important;
}
body::after{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse at 15% 25%,rgba(0,220,255,.16),transparent 32%),
    radial-gradient(ellipse at 85% 68%,rgba(0,110,255,.14),transparent 34%),
    radial-gradient(ellipse at 70% 42%,rgba(255,195,0,.09),transparent 24%)!important;
}
/* Alle großen Inhaltsflächen transparent machen – Karten bleiben dunkel. */
main,.site-main,main:not(.front-page-main),.standard-page-section,
body.home main>.section,body.home main>.section.dark,body.home main>.section.gray,
.section,.section.dark,.section.gray,.dv-home-links{
  background:transparent!important;
}
main,.site-main,.standard-page-section,.dv-home-links{position:relative;z-index:2}
.site-header,.page-current-title,.footer{position:relative;z-index:3}
/* Der Hero bleibt als einziges großes Foto erhalten. */
.hero,.front-page-hero,.page-hero{position:relative;z-index:2}
/* Abschnitte bekommen nur einen leichten Glas-Schleier, keine Vollfläche. */
body.home main>.section:not(.front-page-hero){
  background:linear-gradient(180deg,rgba(1,12,24,.34),rgba(1,9,19,.48))!important;
}
body.home .dv-important-links{
  background:linear-gradient(180deg,rgba(1,8,18,.30),rgba(1,12,25,.42))!important;
}
/* Wellen auf kleinen Displays besonders deutlich. */
@media(max-width:700px){
  body::before{background-size:100% 100%!important;opacity:1!important}
  body.home main>.section:not(.front-page-hero){background:linear-gradient(180deg,rgba(1,10,21,.30),rgba(1,8,18,.42))!important}
}

/* ==========================================================
   Theme 5.19.29 – Cache-Buster + sichtbare Neon-Wellen
   ========================================================== */
main{position:relative!important;isolation:isolate!important;overflow:hidden!important}
main::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background-image:url('assets/neon-waves.svg')!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  background-size:100% 100%!important;
  opacity:1!important;
  mix-blend-mode:screen!important;
}
main>*{position:relative!important;z-index:1!important}
/* Section backgrounds remain translucent so the wave artwork is visible. */
main>.section,main>.dv-home-links{
  background-color:transparent!important;
}
body.home main>.section:not(.front-page-hero){
  background:linear-gradient(180deg,rgba(1,10,20,.18),rgba(1,8,18,.28))!important;
}
body.home main>.dv-important-links{
  background:linear-gradient(180deg,rgba(1,8,18,.16),rgba(1,10,20,.24))!important;
}
/* Stronger glow at the sides to make the effect obvious on phones. */
@media(max-width:700px){
  main::before{background-size:auto 100%;background-position:center top;opacity:1!important}
}

/* ==========================================================
   Theme 5.19.30 – Referenzdesign: Neon-Wellen / Gold-Cyan
   ========================================================== */
:root{--ref-cyan:#08ddff;--ref-blue:#087dff;--ref-gold:#ffd21f;--ref-deep:#020914}
html,body{background:#020914!important}
body{
  background:
    radial-gradient(ellipse at 50% 12%,rgba(0,113,255,.22),transparent 34%),
    radial-gradient(ellipse at 20% 60%,rgba(0,218,255,.11),transparent 32%),
    radial-gradient(ellipse at 82% 82%,rgba(255,183,0,.10),transparent 28%),
    linear-gradient(180deg,#010711 0%,#03142a 32%,#020a18 62%,#03152b 100%)!important;
}
/* Reference background: large flowing neon ribbons, not a flat gradient. */
body::before{
  content:""!important;position:fixed!important;inset:0!important;z-index:0!important;pointer-events:none!important;
  background-image:url('assets/neon-reference-bg.svg?v=51930')!important;
  background-repeat:repeat-y!important;background-position:center top!important;background-size:100% 1550px!important;
  opacity:1!important;mix-blend-mode:screen!important;
}
body::after{
  content:""!important;position:fixed!important;inset:0!important;z-index:0!important;pointer-events:none!important;
  background:
   radial-gradient(ellipse at 50% 34%,rgba(0,188,255,.10),transparent 27%),
   radial-gradient(ellipse at 15% 74%,rgba(0,120,255,.09),transparent 30%),
   radial-gradient(ellipse at 85% 84%,rgba(255,194,0,.07),transparent 24%)!important;
}
.site-header,.page-current-title,main,.footer{position:relative!important;z-index:2!important}
.site-header{background:linear-gradient(180deg,rgba(1,8,18,.96),rgba(1,13,28,.88))!important;box-shadow:0 3px 22px rgba(0,160,255,.18)!important}
.page-current-title{background:rgba(1,12,25,.72)!important;border-top:1px solid rgba(0,221,255,.55)!important;border-bottom:1px solid rgba(0,221,255,.78)!important}
main{background:transparent!important;overflow:visible!important}
main::before{display:none!important}
body.home main>.section,body.home main>.section.gray,body.home main>.section.dark,.dv-home-links{
  background:linear-gradient(180deg,rgba(1,10,22,.16),rgba(1,8,18,.28))!important;
}
.front-page-hero{border-bottom:0!important;box-shadow:inset 0 -80px 100px rgba(0,4,12,.55),0 0 38px rgba(0,180,255,.16)!important}
.front-page-hero:after{height:3px!important;box-shadow:0 0 12px #08ddff,0 0 28px rgba(0,137,255,.6),0 0 16px rgba(255,210,31,.38)!important}
/* Reference-style six feature cards. */
.dv-reference-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin-top:22px!important}
.dv-reference-stats .dv54-stat{
  min-height:105px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;
  border:2px solid var(--ref-cyan)!important;border-radius:9px!important;
  background:linear-gradient(145deg,rgba(4,26,50,.86),rgba(1,9,20,.92))!important;
  box-shadow:0 0 8px rgba(0,220,255,.55),inset 0 0 22px rgba(0,115,255,.12)!important;
  position:relative!important;overflow:hidden!important;
}
.dv-reference-stats .dv54-stat:before{content:"";font-size:34px;line-height:1;margin-bottom:8px;color:#0be2ff;text-shadow:0 0 12px rgba(0,220,255,.95)}
.dv-reference-stats .dv54-stat:nth-child(1):before{content:"♫"}.dv-reference-stats .dv54-stat:nth-child(2):before{content:"▥"}.dv-reference-stats .dv54-stat:nth-child(3):before{content:"♙"}.dv-reference-stats .dv54-stat:nth-child(4):before{content:"◉"}.dv-reference-stats .dv54-stat:nth-child(5):before{content:"▣"}.dv-reference-stats .dv54-stat:nth-child(6):before{content:"☼"}
.dv-reference-stats .dv54-stat strong{font-size:22px!important;color:var(--ref-gold)!important;text-shadow:0 0 10px rgba(255,194,0,.42)!important}
.dv-reference-stats .dv54-stat small{font-size:15px!important;color:#fff!important;margin-top:4px!important}
.dv-important-links .card{border:2px solid var(--ref-cyan)!important;box-shadow:0 0 9px rgba(0,220,255,.45),inset 0 0 26px rgba(0,100,255,.10)!important}
.dv-important-links .card h3{color:var(--ref-gold)!important;text-shadow:0 0 10px rgba(255,195,0,.35)!important}
.dv-important-links .card .btn{box-shadow:0 0 12px rgba(255,205,35,.55),0 0 28px rgba(255,160,0,.18)!important}
/* Reference-style section headings. */
.section h2,.dv-home-links h2{font-weight:900!important;letter-spacing:-.5px!important;text-shadow:0 2px 12px rgba(0,0,0,.65)!important}
.section h2::first-letter{color:#fff}
.goldline{background:var(--ref-cyan)!important;box-shadow:0 0 10px rgba(0,220,255,.8),0 0 24px rgba(0,145,255,.45)!important}
@media(max-width:800px){
  body::before{background-size:auto 1500px!important;background-position:center top!important}
  .dv-reference-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .dv-reference-stats .dv54-stat{min-height:92px!important}
  .dv-reference-stats .dv54-stat strong{font-size:16px!important}.dv-reference-stats .dv54-stat small{font-size:12px!important}.dv-reference-stats .dv54-stat:before{font-size:28px!important}
}
@media(max-width:460px){.dv-reference-stats{grid-template-columns:1fr 1fr!important}.dv-reference-stats .dv54-stat{min-height:88px!important}}

/* ==========================================================
   Theme 5.19.31 – Mobile Layout Fix
   Desktop reference design bleibt unverändert.
   ========================================================== */
@media (max-width: 900px){
  .container{width:min(100% - 28px,1180px)!important}
  .site-header .nav{min-height:68px!important}
  .site-header .brand{font-size:24px!important;margin-right:0!important}
  .site-header .brand small{font-size:7px!important;letter-spacing:1.25px!important}
  .mobile-toggle{font-size:27px!important;padding:4px 0 4px 12px!important}
  .page-current-title .container{min-height:32px!important}
  .front-page-hero.hero{min-height:500px!important}
  .front-page-hero .hero-inner{padding:34px 0 36px!important}
  .front-page-hero h1{font-size:32px!important;line-height:1.08!important;max-width:100%!important;margin:10px 0 14px!important}
  .front-page-hero p{font-size:15px!important;line-height:1.5!important;max-width:100%!important}
  .front-page-hero .buttons{margin-top:18px!important;gap:9px!important}
  .front-page-hero .btn{padding:10px 15px!important;font-size:12px!important}
  body.home main>.section:not(.front-page-hero){padding-top:46px!important;padding-bottom:46px!important}
  body.home main>.section .dv-home-about-title{font-size:29px!important;line-height:1.12!important}
  body.home .home-copy{font-size:15px!important;line-height:1.6!important}
  body.home .home-copy p{margin-bottom:14px!important}
  body.home .dv-seo-service-text{font-size:14px!important}
  .dv-reference-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:18px!important}
  .dv-reference-stats .dv54-stat{min-height:100px!important;padding:12px 8px!important;border-radius:8px!important}
  .dv-reference-stats .dv54-stat:before{font-size:27px!important;margin-bottom:5px!important}
  .dv-reference-stats .dv54-stat strong{font-size:16px!important;line-height:1.15!important}
  .dv-reference-stats .dv54-stat small{font-size:12px!important;line-height:1.25!important}
  body.home .dv-important-links .grid3{grid-template-columns:1fr!important;gap:14px!important}
  .dv-important-links .card-body{padding:18px!important}
  .dv-important-links .card-body h3{font-size:22px!important}
  .dv-important-links .card-body p{font-size:14px!important;line-height:1.5!important}
  .dv-important-links .card .btn{padding:10px 15px!important;font-size:12px!important}
  .section h2,.dv-home-links h2{font-size:29px!important;line-height:1.12!important}
}
@media (max-width: 560px){
  .container{width:calc(100% - 24px)!important}
  .site-header .brand{font-size:22px!important;letter-spacing:-1.2px!important}
  .site-header .brand small{font-size:6.5px!important;letter-spacing:1px!important}
  .front-page-hero.hero{min-height:455px!important}
  .front-page-hero .hero-inner{padding:28px 0 30px!important}
  .front-page-hero h1{font-size:28px!important;line-height:1.08!important}
  .front-page-hero p{font-size:14px!important}
  .front-page-hero .buttons{flex-direction:row!important;flex-wrap:wrap!important}
  .front-page-hero .btn{padding:9px 12px!important}
  .dv-reference-stats .dv54-stat{min-height:92px!important}
  .dv-reference-stats .dv54-stat strong{font-size:15px!important}
  .dv-reference-stats .dv54-stat small{font-size:11px!important}
  body.home main>.section:not(.front-page-hero){padding-top:40px!important;padding-bottom:40px!important}
}


/* Theme 5.19.32 – much stronger reference neon background */
body{background:#010814!important}
body::before{
  background-image:url('assets/neon-reference-bg.svg?v=51932')!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  background-size:100% 100%!important;
  opacity:1!important;
  mix-blend-mode:screen!important;
  z-index:-2!important;
}
body::after{
  background:
    radial-gradient(ellipse at 50% 18%,rgba(0,120,255,.20),transparent 36%),
    radial-gradient(ellipse at 20% 48%,rgba(0,220,255,.14),transparent 32%),
    radial-gradient(ellipse at 80% 78%,rgba(255,190,0,.10),transparent 28%)!important;
  z-index:-1!important;
}
.section,.section.gray,.section.dark,.dv-home-links{background:rgba(1,10,22,.34)!important}
.dv-reference-stats .dv54-stat,.dv-important-links .card{
  box-shadow:0 0 12px rgba(0,225,255,.72),0 0 30px rgba(0,120,255,.30),inset 0 0 30px rgba(0,120,255,.13)!important;
}
@media(max-width:900px){body::before{background-size:auto 100%!important;opacity:.9!important}.section,.section.gray,.section.dark,.dv-home-links{background:rgba(1,10,22,.38)!important}}


/* Theme 5.19.33 – Desktop alignment / common content axis */
/* The reference layout uses the full content width. The previous .home-copy
   max-width created a visible horizontal offset between the heading, text and
   feature cards. Keep the mobile rules intact, but align homepage content
   to the same container axis on desktop and tablet. */
body.home .home-copy{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
body.home .home-copy > p,
body.home .home-copy > h3,
body.home .home-copy > .dv-seo-service-text,
body.home .home-copy > .dv510-benefit-intro,
body.home .home-copy > .dv54-editable-stats,
body.home .home-copy > .dv-reference-stats{max-width:none!important}
body.home .dv-reference-stats{width:100%!important}
body.home .dv-important-links .grid3{width:100%!important}
body.home .dv-important-links .card{min-width:0!important}
@media(max-width:900px){
  body.home .home-copy{width:100%!important}
}

/* Theme 5.19.34 – Mobile Untermenüs per Antippen öffnen */
@media(max-width:900px){
  .nav.open .menu li.menu-item-has-children > ul{display:none!important;}
  .nav.open .menu li.menu-item-has-children.dv-submenu-open > ul{display:block!important;opacity:1!important;visibility:visible!important;transform:none!important;}
  .nav.open .menu li.menu-item-has-children > a{position:relative;padding-right:28px!important;}
  .nav.open .menu li.menu-item-has-children > a:after{content:'▾';position:absolute;right:4px;color:#ffd129;}
  .nav.open .menu li.menu-item-has-children.dv-submenu-open > a:after{content:'▴';}
}


/* Theme 5.19.35 – Mobile menu visible above page title and content */
@media(max-width:900px){
  .site-header{position:sticky!important;z-index:9999!important;overflow:visible!important}
  .site-header .nav{position:relative!important;z-index:10000!important;overflow:visible!important}
  .site-header .menu-wrap{z-index:10001!important;overflow:visible!important}
  .nav.open .menu-wrap{top:68px!important;z-index:10001!important;max-height:calc(100vh - 68px)!important;overflow-y:auto!important;overflow-x:visible!important}
  .page-current-title{position:relative!important;z-index:1!important}
  .nav.open .menu{position:relative!important;z-index:10002!important}
  .nav.open .menu li{position:relative!important;z-index:10003!important}
  .nav.open .menu li ul{position:static!important;z-index:10004!important;display:none!important;max-height:none!important;overflow:visible!important}
  .nav.open .menu li.dv-submenu-open > ul{display:block!important}
  .nav.open .menu li.menu-item-has-children > a:after,
  .nav.open .menu li.dv-has-submenu > a:after{content:'▾';position:absolute;right:4px;color:#ffd129!important}
  .nav.open .menu li.dv-submenu-open > a:after{content:'▴'!important}
  .nav.open .menu li ul a{display:block!important;visibility:visible!important;opacity:1!important}
}

/* Theme 5.19.36 – Mobile menu must sit above the page-title bar */
@media(max-width:900px){
  .site-header{position:sticky!important;top:0!important;z-index:999999!important;overflow:visible!important}
  .site-header .nav{position:relative!important;z-index:1000000!important;overflow:visible!important}
  .nav.open .menu-wrap{position:fixed!important;left:0!important;right:0!important;top:68px!important;width:100vw!important;box-sizing:border-box!important;display:block!important;z-index:2147483000!important;background:#061a2a!important;border-top:1px solid rgba(18,231,255,.45)!important;border-bottom:1px solid rgba(255,209,41,.35)!important;box-shadow:0 18px 35px rgba(0,0,0,.65),0 0 24px rgba(0,180,255,.18)!important;max-height:calc(100vh - 68px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding:8px 4%!important}
  .nav.open .menu{position:relative!important;z-index:2147483001!important;background:#061a2a!important}
  .nav.open .menu>li{position:relative!important;z-index:2147483002!important}
  .nav.open .menu li ul{position:static!important;z-index:2147483003!important;background:#0d2d46!important;border-left:2px solid #12e7ff!important;margin:0 0 4px 10px!important;padding:0 0 0 10px!important;box-shadow:none!important}
  .nav.open .menu li.dv-submenu-open>ul{display:block!important}
  .nav.open .menu li ul a{color:#fff!important;background:transparent!important;visibility:visible!important;opacity:1!important}
  .page-current-title{position:relative!important;z-index:2!important}
}

/* Theme 5.19.37 – Kontaktformular im Referenz-Neon-Look
   Sendebutton und CAPTCHA sauber in das bestehende Design integrieren. */
.standard-page-content form input[type="submit"],
.standard-page-content form button[type="submit"],
.standard-page-content form .wpcf7-submit,
.standard-page-content form .wpforms-submit{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:12px 28px!important;
  margin:10px 0 8px!important;
  border-radius:8px!important;
  border:2px solid #ffd129!important;
  background:linear-gradient(180deg,#ffd83d 0%,#f3ad00 100%)!important;
  color:#07111b!important;
  -webkit-text-fill-color:#07111b!important;
  font-weight:900!important;
  font-size:14px!important;
  letter-spacing:.35px!important;
  text-transform:uppercase!important;
  box-shadow:0 0 8px rgba(255,209,41,.85),0 0 22px rgba(255,174,0,.34),inset 0 1px 0 rgba(255,255,255,.45)!important;
  text-shadow:none!important;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease!important;
}
.standard-page-content form input[type="submit"]:hover,
.standard-page-content form button[type="submit"]:hover,
.standard-page-content form .wpcf7-submit:hover,
.standard-page-content form .wpforms-submit:hover{
  background:linear-gradient(180deg,#ffe46a 0%,#ffc21a 100%)!important;
  color:#07111b!important;
  transform:translateY(-2px)!important;
  box-shadow:0 0 12px rgba(255,209,41,1),0 0 30px rgba(255,174,0,.48)!important;
}

/* CAPTCHA als eigener, sauber abgesetzter Block */
.standard-page-content .g-recaptcha,
.standard-page-content .h-captcha,
.standard-page-content .wpcf7-recaptcha,
.standard-page-content .captcha,
.standard-page-content [class*="captcha"]{
  clear:both!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  margin:18px auto 14px!important;
  padding:12px 0!important;
  box-sizing:border-box!important;
}
.standard-page-content .g-recaptcha > div,
.standard-page-content .h-captcha > div{
  margin:0 auto!important;
}

/* etwas mehr Abstand zwischen CAPTCHA und Senden */
.standard-page-content .g-recaptcha + p,
.standard-page-content .h-captcha + p,
.standard-page-content .wpcf7-recaptcha + p{
  margin-top:8px!important;
}

@media(max-width:560px){
  .standard-page-content form input[type="submit"],
  .standard-page-content form button[type="submit"],
  .standard-page-content form .wpcf7-submit,
  .standard-page-content form .wpforms-submit{
    width:100%!important;
    min-height:46px!important;
    margin-top:8px!important;
  }
  .standard-page-content .g-recaptcha,
  .standard-page-content .h-captcha,
  .standard-page-content .wpcf7-recaptcha,
  .standard-page-content .captcha,
  .standard-page-content [class*="captcha"]{
    margin:14px auto 10px!important;
    padding:8px 0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
}

/* 5.19.38 – Mobile submenu contrast and layering */
@media (max-width:900px){
  .site-header .nav.open .menu-wrap{
    background:#041321!important;
    color:#fff!important;
    opacity:1!important;
    visibility:visible!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .site-header .nav.open .menu,
  .site-header .nav.open .menu > li,
  .site-header .nav.open .menu li ul{
    background:#061827!important;
    color:#fff!important;
  }
  .site-header .nav.open .menu li ul{
    border-left:3px solid #12e7ff!important;
    border-top:1px solid rgba(18,231,255,.28)!important;
    margin:2px 0 8px 8px!important;
    padding:4px 0 4px 8px!important;
    box-shadow:inset 0 0 18px rgba(0,190,255,.08),0 8px 20px rgba(0,0,0,.45)!important;
  }
  .site-header .nav.open .menu li ul li,
  .site-header .nav.open .menu li ul li a{
    background:#071c2d!important;
    color:#ffffff!important;
    text-shadow:0 0 7px rgba(255,255,255,.18)!important;
  }
  .site-header .nav.open .menu li ul li a{
    display:block!important;
    min-height:44px!important;
    padding:12px 14px!important;
    font-size:15px!important;
    font-weight:800!important;
    line-height:1.25!important;
    opacity:1!important;
    visibility:visible!important;
    border-bottom:1px solid rgba(18,231,255,.10)!important;
  }
  .site-header .nav.open .menu li ul li a:hover,
  .site-header .nav.open .menu li ul li a:focus,
  .site-header .nav.open .menu li.dv-submenu-open > a{
    background:linear-gradient(90deg,rgba(18,231,255,.18),rgba(255,209,41,.08))!important;
    color:#ffd129!important;
  }
  .site-header .nav.open .menu li ul li.current-menu-item > a,
  .site-header .nav.open .menu li ul li.current-menu-ancestor > a{
    color:#ffd129!important;
    background:rgba(18,231,255,.13)!important;
  }
  .site-header .nav.open .menu li ul ul{
    margin-left:6px!important;
    border-left-color:#ffd129!important;
    background:#041321!important;
  }
}


/* Theme 5.19.39 – Robust mobile navigation for narrow and desktop-mode mobile browsers */
@media (max-width:1050px){
  .site-header{position:sticky!important;top:0!important;z-index:2147483640!important;overflow:visible!important}
  .site-header .nav{height:72px!important;min-height:72px!important;position:relative!important;z-index:2147483641!important;overflow:visible!important}
  .site-header .brand{font-size:26px!important;line-height:1!important;margin-right:0!important;max-width:calc(100% - 64px)!important}
  .site-header .brand small{font-size:7px!important;letter-spacing:1.35px!important;margin-top:6px!important}
  .site-header .mobile-toggle{display:block!important;position:relative!important;z-index:2147483647!important;margin-left:auto!important;width:52px!important;height:52px!important;padding:0!important;line-height:52px!important;text-align:center!important;font-size:30px!important;cursor:pointer!important;touch-action:manipulation!important}
  .site-header .menu-wrap{display:none!important}
  .site-header .nav.open .menu-wrap{
    display:block!important;
    position:fixed!important;
    top:72px!important;
    left:0!important;
    right:0!important;
    width:100vw!important;
    max-width:100vw!important;
    box-sizing:border-box!important;
    z-index:2147483646!important;
    padding:8px 14px 18px!important;
    background:#03111f!important;
    border-top:2px solid #12e7ff!important;
    border-bottom:2px solid #ffd129!important;
    box-shadow:0 18px 45px rgba(0,0,0,.82),0 0 30px rgba(0,210,255,.25)!important;
    max-height:calc(100vh - 72px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .site-header .nav.open .menu{
    display:block!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    background:#03111f!important;
  }
  .site-header .nav.open .menu>li{
    display:block!important;
    width:100%!important;
    height:auto!important;
    position:relative!important;
    margin:0!important;
    border-bottom:1px solid rgba(18,231,255,.16)!important;
    background:#03111f!important;
  }
  .site-header .nav.open .menu>li>a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:52px!important;
    height:auto!important;
    box-sizing:border-box!important;
    padding:14px 42px 14px 12px!important;
    color:#fff!important;
    background:#03111f!important;
    font-size:15px!important;
    font-weight:900!important;
    line-height:1.2!important;
    text-decoration:none!important;
    text-shadow:0 0 7px rgba(255,255,255,.18)!important;
    touch-action:manipulation!important;
  }
  .site-header .nav.open .menu>li>a:hover,
  .site-header .nav.open .menu>li>a:focus,
  .site-header .nav.open .menu>li.current-menu-ancestor>a{
    color:#ffd129!important;
    background:linear-gradient(90deg,rgba(18,231,255,.16),rgba(255,209,41,.08))!important;
  }
  .site-header .nav.open .menu li.menu-item-has-children>a:after,
  .site-header .nav.open .menu li.dv-has-submenu>a:after{
    content:'▾'!important;
    position:absolute!important;
    right:14px!important;
    margin:0!important;
    color:#ffd129!important;
    font-size:16px!important;
  }
  .site-header .nav.open .menu li.dv-submenu-open>a:after{content:'▴'!important}
  .site-header .nav.open .menu li ul,
  .site-header .nav.open .menu li ul ul{
    position:static!important;
    display:none!important;
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:4px 0 6px 10px!important;
    background:#071e31!important;
    border:0!important;
    border-left:3px solid #12e7ff!important;
    box-shadow:inset 0 0 18px rgba(0,210,255,.08)!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .site-header .nav.open .menu li.dv-submenu-open>ul{display:block!important}
  .site-header .nav.open .menu li ul li,
  .site-header .nav.open .menu li ul li a{
    display:block!important;
    position:relative!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  .site-header .nav.open .menu li ul li{background:#071e31!important;border-bottom:1px solid rgba(18,231,255,.13)!important}
  .site-header .nav.open .menu li ul li a{
    min-height:50px!important;
    padding:14px 14px!important;
    color:#fff!important;
    background:#071e31!important;
    opacity:1!important;
    visibility:visible!important;
    font-size:16px!important;
    font-weight:850!important;
    line-height:1.25!important;
    text-shadow:0 0 8px rgba(255,255,255,.2)!important;
    touch-action:manipulation!important;
  }
  .site-header .nav.open .menu li ul li a:hover,
  .site-header .nav.open .menu li ul li a:focus,
  .site-header .nav.open .menu li ul li.current-menu-item>a,
  .site-header .nav.open .menu li ul li.current-menu-ancestor>a{
    color:#ffd129!important;
    background:#0b3550!important;
  }
  .site-header .nav.open .menu li ul ul{
    margin-left:0!important;
    border-left-color:#ffd129!important;
    background:#041524!important;
  }
  .site-header .nav.open .request{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:48px!important;
    box-sizing:border-box!important;
    margin:12px 0 0!important;
    padding:12px 16px!important;
  }
}

/* Theme 5.19.40 – Desktop submenu readability and usability */
@media (min-width:1051px){
  .site-header .menu > li{z-index:10!important}
  .site-header .menu > li:hover,
  .site-header .menu > li:focus-within{z-index:2147483000!important}
  .site-header .menu li ul{
    min-width:260px!important;
    width:max-content!important;
    max-width:360px!important;
    padding:8px 0!important;
    background:#031321!important;
    background-image:linear-gradient(180deg,#071e33 0%,#031321 100%)!important;
    border:1px solid #12e7ff!important;
    border-top:3px solid #ffd129!important;
    border-radius:0 0 6px 6px!important;
    box-shadow:0 0 14px rgba(18,231,255,.42),0 0 30px rgba(18,231,255,.18),0 18px 42px rgba(0,0,0,.88)!important;
    opacity:0!important;
    visibility:hidden!important;
    transform:translateY(4px)!important;
    pointer-events:none!important;
    z-index:2147483001!important;
  }
  .site-header .menu li:hover > ul,
  .site-header .menu li:focus-within > ul{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .site-header .menu li ul li{
    display:block!important;
    width:100%!important;
    background:#031321!important;
  }
  .site-header .menu li ul a{
    display:flex!important;
    align-items:center!important;
    min-height:46px!important;
    box-sizing:border-box!important;
    padding:12px 18px!important;
    color:#fff!important;
    background:#031321!important;
    font-size:14px!important;
    font-weight:800!important;
    line-height:1.3!important;
    text-shadow:0 0 8px rgba(255,255,255,.15)!important;
    white-space:nowrap!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .site-header .menu li ul a:hover,
  .site-header .menu li ul a:focus{
    color:#ffd129!important;
    background:linear-gradient(90deg,#0a4163,#06243b)!important;
    text-shadow:0 0 10px rgba(255,209,41,.35)!important;
    outline:none!important;
  }
  .site-header .menu li ul ul{
    left:calc(100% - 1px)!important;
    top:-9px!important;
    border-top:3px solid #12e7ff!important;
    border-left:1px solid #12e7ff!important;
    border-radius:0 6px 6px 6px!important;
  }
}

/* Theme 5.19.41 – Desktop dropdowns fully visible near viewport edges */
@media (min-width:1051px){
  .site-header,.site-header .container,.site-header .nav,.site-header .menu-wrap{overflow:visible!important}
  .site-header .menu > li:last-child > ul{
    left:auto!important;
    right:0!important;
  }
  .site-header .menu > li:last-child > ul > li > ul{
    left:auto!important;
    right:calc(100% - 1px)!important;
    top:-9px!important;
  }
  .site-header .menu li ul{
    max-height:calc(100vh - 110px)!important;
    overflow:visible!important;
  }
  .site-header .menu li ul a{
    min-width:260px!important;
  }
  .site-header .menu > li:last-child > ul li ul a{
    min-width:280px!important;
  }
}

/* Theme 5.19.43 – Desktop submenu final contrast/interaction fix */
@media (min-width:1051px){
  .site-header .menu-wrap .menu li ul,
  .site-header .menu-wrap .menu li ul li,
  .site-header .menu-wrap .menu li ul li a,
  .site-header .menu-wrap .menu li ul li a:visited{
    opacity:1 !important;
    visibility:visible !important;
  }
  .site-header .menu-wrap .menu li ul li a,
  .site-header .menu-wrap .menu li ul li a:link,
  .site-header .menu-wrap .menu li ul li a:visited{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    background:#031321 !important;
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:48px !important;
    box-sizing:border-box !important;
    padding:12px 20px !important;
    font-size:15px !important;
    font-weight:800 !important;
    line-height:1.3 !important;
    text-decoration:none !important;
    text-shadow:0 0 7px rgba(255,255,255,.16) !important;
    pointer-events:auto !important;
  }
  .site-header .menu-wrap .menu li ul li a:hover,
  .site-header .menu-wrap .menu li ul li a:focus,
  .site-header .menu-wrap .menu li ul li a:active{
    color:#ffd129 !important;
    -webkit-text-fill-color:#ffd129 !important;
    background:#0a4163 !important;
  }
  .site-header .menu-wrap .menu li ul{
    background:#031321 !important;
    background-image:linear-gradient(180deg,#071e33 0%,#031321 100%) !important;
    border:1px solid #12e7ff !important;
    border-top:3px solid #ffd129 !important;
    box-shadow:0 0 16px rgba(18,231,255,.45),0 18px 42px rgba(0,0,0,.9) !important;
    z-index:2147483647 !important;
  }
  .site-header .menu-wrap .menu > li:hover > ul,
  .site-header .menu-wrap .menu > li:focus-within > ul,
  .site-header .menu-wrap .menu li ul li:hover > ul,
  .site-header .menu-wrap .menu li ul li:focus-within > ul{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  .site-header .menu-wrap .menu > li:nth-last-child(2) > ul,
  .site-header .menu-wrap .menu > li:last-child > ul{
    right:0 !important;
    left:auto !important;
  }
  .site-header .menu-wrap .menu li ul li ul{
    min-width:280px !important;
    left:calc(100% - 1px) !important;
    right:auto !important;
    top:-3px !important;
  }
  .site-header .menu-wrap .menu li ul li:nth-last-child(-n+2) ul{
    left:auto !important;
    right:calc(100% - 1px) !important;
  }
}

/* Theme 5.19.43 – Desktop submenu visibility corrected
   Only the active/hovered submenu is shown. Nested menus open on their parent item. */
@media (min-width:1051px){
  .site-header .menu-wrap .menu li ul{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(4px)!important;
  }
  .site-header .menu-wrap .menu > li:hover > ul,
  .site-header .menu-wrap .menu > li:focus-within > ul,
  .site-header .menu-wrap .menu li ul li:hover > ul,
  .site-header .menu-wrap .menu li ul li:focus-within > ul{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  .site-header .menu-wrap .menu li ul li a{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    background:#031321!important;
  }
  .site-header .menu-wrap .menu li ul li a:hover,
  .site-header .menu-wrap .menu li ul li a:focus{
    color:#ffd129!important;
    -webkit-text-fill-color:#ffd129!important;
    background:#0a4163!important;
  }
  .site-header .menu-wrap .menu > li:nth-last-child(1) > ul{
    left:auto!important;
    right:0!important;
  }
  .site-header .menu-wrap .menu li ul li ul{
    left:calc(100% - 1px)!important;
    right:auto!important;
    top:-3px!important;
  }
  .site-header .menu-wrap .menu > li:nth-last-child(1) > ul li ul,
  .site-header .menu-wrap .menu > li:nth-last-child(2) > ul li ul{
    left:auto!important;
    right:calc(100% - 1px)!important;
  }
}


/* Theme 5.19.44 – desktop submenu: every item visible and directly clickable */
@media (min-width:1051px){
  .site-header .menu-wrap,
  .site-header .menu,
  .site-header .menu > li,
  .site-header .menu > li > ul{
    overflow:visible!important;
  }
  .site-header .menu > li:hover,
  .site-header .menu > li:focus-within{
    z-index:2147483646!important;
  }
  .site-header .menu > li > ul{
    display:block!important;
    position:absolute!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
    min-width:260px!important;
    background:#031321!important;
    border:1px solid #12e7ff!important;
    border-top:3px solid #ffd129!important;
    box-shadow:0 0 18px rgba(18,231,255,.48),0 18px 42px rgba(0,0,0,.92)!important;
    z-index:2147483647!important;
  }
  .site-header .menu > li:hover > ul,
  .site-header .menu > li:focus-within > ul{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .site-header .menu > li > ul > li{
    display:block!important;
    position:relative!important;
    width:100%!important;
    min-height:50px!important;
    margin:0!important;
    padding:0!important;
    pointer-events:auto!important;
    background:#031321!important;
  }
  .site-header .menu > li > ul > li > a{
    position:relative!important;
    z-index:2147483647!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:50px!important;
    box-sizing:border-box!important;
    padding:13px 20px!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    background:#031321!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    text-decoration:none!important;
  }
  .site-header .menu > li > ul > li > a:hover,
  .site-header .menu > li > ul > li > a:focus,
  .site-header .menu > li > ul > li > a:active{
    color:#ffd129!important;
    -webkit-text-fill-color:#ffd129!important;
    background:#0a4163!important;
  }
  .site-header .menu > li > ul > li > ul{
    position:absolute!important;
    top:-3px!important;
    left:calc(100% - 1px)!important;
    display:none!important;
    min-width:280px!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    z-index:2147483647!important;
  }
  .site-header .menu > li > ul > li:hover > ul,
  .site-header .menu > li > ul > li:focus-within > ul{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  /* Keep the Info dropdown inside the viewport */
  .site-header .menu > li:last-child > ul,
  .site-header .menu > li:nth-last-child(2) > ul{
    left:auto!important;
    right:0!important;
  }
  .site-header .menu > li:last-child > ul > li > ul,
  .site-header .menu > li:nth-last-child(2) > ul > li > ul{
    left:auto!important;
    right:calc(100% - 1px)!important;
  }
}


/* Theme 5.19.45 – desktop submenu hit-area fix
   Make every submenu link an independent, unobstructed hit target. */
@media (min-width:1051px){
  .site-header .menu > li > ul{
    pointer-events:none!important;
    isolation:isolate!important;
  }
  .site-header .menu > li > ul > li{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-height:50px!important;
    pointer-events:auto!important;
    z-index:2147483646!important;
  }
  .site-header .menu > li > ul > li > a,
  .site-header .menu > li > ul > li > a:link,
  .site-header .menu > li > ul > li > a:visited,
  .site-header .menu > li > ul > li > a:hover,
  .site-header .menu > li > ul > li > a:focus,
  .site-header .menu > li > ul > li > a:active{
    position:relative!important;
    display:flex!important;
    width:100%!important;
    min-height:50px!important;
    box-sizing:border-box!important;
    align-items:center!important;
    padding:13px 20px!important;
    margin:0!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    z-index:2147483647!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    background:#031321!important;
    opacity:1!important;
    visibility:visible!important;
    text-decoration:none!important;
  }
  .site-header .menu > li > ul > li > a:hover,
  .site-header .menu > li > ul > li > a:focus{
    color:#ffd129!important;
    -webkit-text-fill-color:#ffd129!important;
    background:#0a4163!important;
  }
  .site-header .menu > li > ul > li > ul{
    pointer-events:none!important;
  }
  .site-header .menu > li > ul > li:hover > ul,
  .site-header .menu > li > ul > li:focus-within > ul{
    pointer-events:auto!important;
  }
  .site-header .menu > li > ul::before,
  .site-header .menu > li > ul::after,
  .site-header .menu > li > ul > li::before,
  .site-header .menu > li > ul > li::after,
  .site-header .menu > li > ul > li > a::before,
  .site-header .menu > li > ul > li > a::after{
    pointer-events:none!important;
  }
}


/* Theme 5.19.46 – clean desktop submenu interaction reset
   Keep the existing visual design, but remove hit-testing conflicts from prior overrides. */
@media (min-width:1051px){
  .site-header .menu-wrap,
  .site-header .menu,
  .site-header .menu > li,
  .site-header .menu > li > ul,
  .site-header .menu > li > ul > li,
  .site-header .menu > li > ul > li > ul{
    overflow:visible!important;
  }

  .site-header .menu > li{position:relative!important;}
  .site-header .menu > li > ul{
    position:absolute!important;
    top:78px!important;
    left:0!important;
    right:auto!important;
    display:block!important;
    width:max-content!important;
    min-width:260px!important;
    max-width:380px!important;
    margin:0!important;
    padding:6px 0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(3px)!important;
    background:#031321!important;
    border:1px solid #12e7ff!important;
    border-top:3px solid #ffd129!important;
    box-shadow:0 0 18px rgba(18,231,255,.48),0 18px 42px rgba(0,0,0,.92)!important;
    z-index:2147483646!important;
  }

  /* Only the top-level item being hovered/focused opens its direct submenu. */
  .site-header .menu > li:hover > ul,
  .site-header .menu > li:focus-within > ul{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }

  .site-header .menu > li > ul > li{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-height:50px!important;
    margin:0!important;
    padding:0!important;
    pointer-events:auto!important;
    background:#031321!important;
  }

  .site-header .menu > li > ul > li > a,
  .site-header .menu > li > ul > li > a:link,
  .site-header .menu > li > ul > li > a:visited{
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:50px!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:13px 20px!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    background:#031321!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    text-decoration:none!important;
  }

  .site-header .menu > li > ul > li > a:hover,
  .site-header .menu > li > ul > li > a:focus,
  .site-header .menu > li > ul > li > a:active{
    color:#ffd129!important;
    -webkit-text-fill-color:#ffd129!important;
    background:#0a4163!important;
  }

  /* Nested submenu: it opens only when the parent row is hovered/focused. */
  .site-header .menu > li > ul > li > ul{
    position:absolute!important;
    top:-3px!important;
    left:calc(100% - 1px)!important;
    right:auto!important;
    display:block!important;
    min-width:280px!important;
    margin:0!important;
    padding:6px 0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
    background:#031321!important;
    border:1px solid #12e7ff!important;
    border-top:3px solid #ffd129!important;
    box-shadow:0 0 18px rgba(18,231,255,.48),0 18px 42px rgba(0,0,0,.92)!important;
    z-index:2147483647!important;
  }
  .site-header .menu > li > ul > li:hover > ul,
  .site-header .menu > li > ul > li:focus-within > ul{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .site-header .menu > li > ul > li > ul > li{
    display:block!important;
    position:relative!important;
    min-height:50px!important;
    pointer-events:auto!important;
  }
  .site-header .menu > li > ul > li > ul > li > a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:50px!important;
    box-sizing:border-box!important;
    padding:13px 20px!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    background:#031321!important;
    pointer-events:auto!important;
    cursor:pointer!important;
  }
  .site-header .menu > li > ul > li > ul > li > a:hover,
  .site-header .menu > li > ul > li > ul > li > a:focus{
    color:#ffd129!important;
    -webkit-text-fill-color:#ffd129!important;
    background:#0a4163!important;
  }

  /* Keep right-edge dropdowns on-screen. */
  .site-header .menu > li:last-child > ul,
  .site-header .menu > li:nth-last-child(2) > ul{
    left:auto!important;
    right:0!important;
  }
  .site-header .menu > li:last-child > ul > li > ul,
  .site-header .menu > li:nth-last-child(2) > ul > li > ul{
    left:auto!important;
    right:calc(100% - 1px)!important;
  }
}


/* Theme 5.19.47 – desktop menu: remove invisible nested hit areas
   Keep every visible submenu row directly clickable. Nested menus are truly
   removed from layout/hit-testing until their parent row is hovered/focused. */
@media (min-width:1051px){
  .site-header .menu > li > ul > li > ul{
    display:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
    transform:none!important;
  }
  .site-header .menu > li > ul > li:hover > ul,
  .site-header .menu > li > ul > li:focus-within > ul{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .site-header .menu > li > ul > li,
  .site-header .menu > li > ul > li > a{
    opacity:1!important;
    visibility:visible!important;
  }
  .site-header .menu > li > ul > li > a{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    background:#031321!important;
    pointer-events:auto!important;
    position:relative!important;
    z-index:10!important;
  }
  .site-header .menu > li > ul > li > a:hover,
  .site-header .menu > li > ul > li > a:focus,
  .site-header .menu > li > ul > li > a:active{
    color:#ffd129!important;
    -webkit-text-fill-color:#ffd129!important;
    background:#0a4163!important;
  }
  /* Never let a hidden third-level menu cover the rows below it. */
  .site-header .menu > li > ul > li > ul:not(:hover):not(:focus-within){
    display:none!important;
  }
}

/* Theme 5.19.47 – click-open top-level desktop dropdowns */
@media (min-width:1051px){
  .site-header .menu > li.dv-desktop-open > ul{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
}


/* Theme 5.19.48 – definitive menu rebuild
   The navigation markup is deterministic and the desktop dropdowns use
   display:none for closed nested menus. This prevents invisible submenu boxes
   from covering neighboring links. */
@media (min-width:1051px){
  .site-header .menu-wrap{position:relative!important;overflow:visible!important;z-index:10000!important}
  .site-header .menu{position:relative!important;overflow:visible!important;z-index:10000!important}
  .site-header .menu>li{position:relative!important;overflow:visible!important;z-index:1!important}
  .site-header .menu>li:hover,.site-header .menu>li:focus-within{z-index:10001!important}

  .site-header .menu li>ul{
    position:absolute!important;
    display:none!important;
    box-sizing:border-box!important;
    width:260px!important;
    min-width:260px!important;
    max-width:360px!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:6px 0!important;
    list-style:none!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
    background:#031321!important;
    border:1px solid #12e7ff!important;
    border-top:3px solid #ffd129!important;
    border-radius:0 0 6px 6px!important;
    box-shadow:0 0 18px rgba(18,231,255,.48),0 18px 42px rgba(0,0,0,.92)!important;
    z-index:10002!important;
  }
  .site-header .menu>li>ul{top:78px!important;left:0!important;right:auto!important}
  .site-header .menu>li:hover>ul,.site-header .menu>li:focus-within>ul{display:block!important}

  .site-header .menu li>ul>li{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:50px!important;
    margin:0!important;
    padding:0!important;
    background:#031321!important;
  }
  .site-header .menu li>ul>li>a{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:50px!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:13px 20px!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    background:#031321!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    text-decoration:none!important;
    font-size:15px!important;
    font-weight:800!important;
    line-height:1.3!important;
  }
  .site-header .menu li>ul>li>a:hover,.site-header .menu li>ul>li>a:focus{
    color:#ffd129!important;
    -webkit-text-fill-color:#ffd129!important;
    background:#0a4163!important;
  }

  /* Partyspiele's third-level menu is completely absent until its row is active. */
  .site-header .menu li>ul>li>ul{
    top:-3px!important;
    left:calc(100% - 1px)!important;
    right:auto!important;
    display:none!important;
    width:300px!important;
    min-width:300px!important;
    max-width:380px!important;
  }
  .site-header .menu li>ul>li:hover>ul,
  .site-header .menu li>ul>li:focus-within>ul{display:block!important}

  /* Info is the rightmost normal menu item before ANFRAGE. */
  .site-header .menu>li:last-child>ul{left:auto!important;right:0!important}
  .site-header .menu>li:last-child>ul>li>ul{left:auto!important;right:calc(100% - 1px)!important}
}

@media (max-width:1050px){
  .site-header .menu li>ul{display:none!important;opacity:1!important;visibility:visible!important;transform:none!important}
  .site-header .nav.open .menu li.dv-submenu-open>ul{display:block!important}
}

/* Theme 5.19.49 – desktop Info dropdown rebuilt as a flat, independent menu.
   No third-level UL is rendered here, so no hidden child menu can ever cover a row. */
@media (min-width:1051px){
  .site-header .dv-info-item{position:relative!important;z-index:2147483000!important}
  .site-header .dv-info-item > .dv-info-dropdown{
    position:absolute!important;
    top:78px!important;
    right:0!important;
    left:auto!important;
    display:none!important;
    width:280px!important;
    min-width:280px!important;
    height:auto!important;
    margin:0!important;
    padding:6px 0!important;
    box-sizing:border-box!important;
    list-style:none!important;
    background:#031321!important;
    border:1px solid #12e7ff!important;
    border-top:3px solid #ffd129!important;
    border-radius:0 0 7px 7px!important;
    box-shadow:0 0 18px rgba(18,231,255,.48),0 18px 42px rgba(0,0,0,.92)!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
    z-index:2147483001!important;
  }
  .site-header .dv-info-item:hover > .dv-info-dropdown,
  .site-header .dv-info-item:focus-within > .dv-info-dropdown,
  .site-header .dv-info-item.dv-desktop-open > .dv-info-dropdown{
    display:block!important;
  }
  .site-header .dv-info-dropdown > li{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:58px!important;
    margin:0!important;
    padding:0!important;
    background:#031321!important;
  }
  .site-header .dv-info-dropdown > li > a{
    position:relative!important;
    z-index:2147483002!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:58px!important;
    height:auto!important;
    box-sizing:border-box!important;
    padding:14px 20px!important;
    margin:0!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    background:#031321!important;
    font-size:16px!important;
    font-weight:900!important;
    line-height:1.2!important;
    text-decoration:none!important;
    pointer-events:auto!important;
    cursor:pointer!important;
  }
  .site-header .dv-info-dropdown > li > a:hover,
  .site-header .dv-info-dropdown > li > a:focus,
  .site-header .dv-info-dropdown > li > a:active{
    color:#ffd129!important;
    -webkit-text-fill-color:#ffd129!important;
    background:#0a4163!important;
  }
}

/* Theme 5.19.50 – FINAL desktop stacking fix
   The dropdown itself was correct. The real problem was that the old global
   stacking rule put main/page content in the same stacking layer as the header.
   The page content therefore painted over the lower part of the dropdown.
*/
@media (min-width:1051px){
  .site-header{
    position:sticky!important;
    top:0!important;
    z-index:2147483640!important;
    overflow:visible!important;
  }
  .site-header .nav,
  .site-header .menu-wrap,
  .site-header .menu,
  .site-header .menu>li,
  .site-header .dv-info-item,
  .site-header .dv-info-dropdown{
    overflow:visible!important;
  }
  .site-header .dv-info-item{z-index:2147483646!important}
  .site-header .dv-info-item>.dv-info-dropdown{z-index:2147483647!important}
  .page-current-title{position:relative!important;z-index:1!important}
  main{position:relative!important;z-index:1!important}
  .footer{position:relative!important;z-index:1!important}
}
