/* Elbetal v12 hard fix: explicit index-section contrast and clean blocks. */
:root{
  --ef-blue:#071b49;
  --ef-blue-2:#0b3f86;
  --ef-green:#78bd22;
  --ef-cyan:#1298d4;
  --ef-ink:#12233d;
  --ef-soft:#f5f8fc;
}

/* Öffnungszeiten: one calm premium card, no label bars, no acid decoration. */
body .ef-hours-section{
  background:linear-gradient(180deg,#ffffff 0%,#f5f8fc 100%)!important;
  padding-top:clamp(40px,6vw,82px)!important;
  padding-bottom:clamp(34px,5vw,72px)!important;
}
body .ef-hours-section .ef-hours-card,
body .ef-hours-section .ef-hours-clean-card{
  max-width:760px!important;
  margin:0 auto!important;
  padding:clamp(26px,4vw,44px)!important;
  border-radius:28px!important;
  background:#ffffff!important;
  border:1px solid rgba(7,27,73,.12)!important;
  box-shadow:0 28px 80px rgba(7,27,73,.13)!important;
  overflow:hidden!important;
}
body .ef-hours-section .ef-hours-card:before,
body .ef-hours-section .ef-hours-card:after,
body .ef-hours-section h3:before,
body .ef-hours-section h3:after,
body .ef-hours-section h5:before,
body .ef-hours-section h5:after,
body .ef-hours-section .acid:before,
body .ef-hours-section .acid:after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .ef-hours-section h3,
body .ef-hours-section h5,
body .ef-hours-section p,
body .ef-hours-section a{
  color:var(--ef-ink)!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
body .ef-hours-section h3{
  margin:0 0 14px!important;
  padding:0!important;
  font-size:clamp(28px,4vw,46px)!important;
  line-height:1.08!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
  color:var(--ef-blue)!important;
}
body .ef-hours-section p{
  margin:7px 0!important;
  font-size:clamp(17px,2vw,22px)!important;
  line-height:1.45!important;
}
body .ef-hours-section h5{
  margin:16px 0 0!important;
  font-size:clamp(17px,2vw,22px)!important;
  font-weight:800!important;
}
body .ef-hours-section h5 a{color:var(--ef-blue-2)!important;text-decoration:none!important;}

/* Webdesign sales block: forced dark background on every relevant wrapper. */
body .ef-web-wow-section,
body .ef-web-v12-section,
body section.ef-web-wow-section.bg-default,
body section.ef-web-v12-section.bg-default{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:#06183f!important;
  background-image:
    radial-gradient(circle at 16% 18%,rgba(18,152,212,.38),transparent 28%),
    radial-gradient(circle at 84% 72%,rgba(120,189,34,.28),transparent 30%),
    linear-gradient(135deg,#06183f 0%,#082b68 54%,#0b4f9a 100%)!important;
  color:#ffffff!important;
  padding-top:clamp(52px,8vw,110px)!important;
  padding-bottom:clamp(52px,8vw,110px)!important;
}
body .ef-web-wow-section:before,
body .ef-web-v12-section:before{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;bottom:-1px!important;
  height:34%!important;
  background:linear-gradient(90deg,rgba(18,152,212,.46),rgba(120,189,34,.36))!important;
  clip-path:polygon(0 58%,100% 16%,100% 100%,0 100%)!important;
  z-index:-1!important;
}
body .ef-web-wow-section .container,
body .ef-web-v12-section .container{position:relative!important;z-index:2!important;}
body .ef-web-wow-shell,
body .ef-web-v12-shell{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr)!important;
  gap:clamp(28px,5vw,70px)!important;
  align-items:center!important;
  position:relative!important;
  overflow:hidden!important;
  padding:clamp(30px,5vw,66px)!important;
  border-radius:36px!important;
  background:rgba(255,255,255,.09)!important;
  background-image:
    linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04))!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 42px 110px rgba(0,0,0,.34)!important;
  backdrop-filter:blur(16px)!important;
  color:#ffffff!important;
}
body .ef-web-wow-copy,
body .ef-web-v12-copy,
body .ef-web-wow-copy *,
body .ef-web-v12-copy *{
  color:#ffffff!important;
  background-color:transparent!important;
  background-image:none!important;
  text-shadow:0 2px 16px rgba(0,0,0,.22)!important;
}
body .ef-web-wow-copy h3,
body .ef-web-v12-copy h3{
  margin:0 0 18px!important;
  font-size:clamp(34px,5vw,62px)!important;
  line-height:.98!important;
  font-weight:900!important;
  letter-spacing:-.055em!important;
}
body .ef-web-wow-copy p,
body .ef-web-v12-copy p{
  max-width:720px!important;
  margin-bottom:22px!important;
  font-size:clamp(17px,1.45vw,20px)!important;
  line-height:1.72!important;
}
body .ef-web-wow-copy .list-marked,
body .ef-web-v12-copy .list-marked{
  display:grid!important;
  gap:10px!important;
  margin:0 0 28px!important;
  padding:0!important;
}
body .ef-web-wow-copy .list-marked li,
body .ef-web-v12-copy .list-marked li{
  list-style:none!important;
  position:relative!important;
  padding:12px 15px 12px 42px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.12)!important;
}
body .ef-web-wow-copy .list-marked li:before,
body .ef-v12-copy .list-marked li:before{
  content:""!important;
  position:absolute!important;
  left:16px!important;top:50%!important;
  width:10px!important;height:10px!important;
  border-radius:3px!important;
  background:var(--ef-green)!important;
  transform:translateY(-50%) rotate(45deg)!important;
}
body .ef-web-wow-copy .button,
body .ef-v12-copy .button,
body .ef-web-v12-copy .button{
  background:#ffffff!important;
  color:var(--ef-blue)!important;
  border-radius:9px!important;
  border:0!important;
  box-shadow:0 16px 38px rgba(0,0,0,.22)!important;
  text-shadow:none!important;
}
body .ef-web-wow-copy .button:hover,
body .ef-web-v12-copy .button:hover{background:var(--ef-green)!important;color:#fff!important;}
body .ef-web-v12-visual{min-height:330px!important;position:relative!important;}
body .ef-web-v12-device,
body .ef-device-card{
  position:relative!important;
  z-index:3!important;
  transform:rotate(-3deg)!important;
  background:#f7fbff!important;
  border-radius:24px!important;
  padding:16px!important;
  box-shadow:0 34px 80px rgba(0,0,0,.32)!important;
}
body .ef-web-orb{position:absolute!important;border-radius:999px!important;filter:blur(.2px)!important;opacity:.9!important;}
body .ef-web-orb-a{right:6%!important;top:4%!important;width:96px!important;height:96px!important;background:linear-gradient(135deg,var(--ef-cyan),var(--ef-green))!important;animation:efFloatA 7s ease-in-out infinite!important;}
body .ef-web-orb-b{left:3%!important;bottom:7%!important;width:72px!important;height:72px!important;background:linear-gradient(135deg,#ffffff,var(--ef-cyan))!important;opacity:.32!important;animation:efFloatB 8s ease-in-out infinite!important;}
@keyframes efFloatA{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(12px,-18px,0)}}
@keyframes efFloatB{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-12px,18px,0)}}

/* Partner logos: hard blue stage, no white cards behind logos. */
body section.ef-partners-blue,
body section.ef-partners-blue .parallax-content,
body section.parallax-container[data-parallax-img="images/bg-clients.jpg"],
body section.parallax-container[data-parallax-img="images/bg-clients.jpg"] .parallax-content{
  background:#071b49!important;
  background-image:
    radial-gradient(circle at 12% 20%,rgba(18,152,212,.30),transparent 28%),
    radial-gradient(circle at 86% 78%,rgba(120,189,34,.22),transparent 30%),
    linear-gradient(135deg,#071b49 0%,#0b3f86 74%,#075d9f 100%)!important;
}
body section.ef-partners-blue .material-parallax,
body section.ef-partners-blue .material-parallax img,
body section.parallax-container[data-parallax-img="images/bg-clients.jpg"] .material-parallax,
body section.parallax-container[data-parallax-img="images/bg-clients.jpg"] .material-parallax img{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}
body section.ef-partners-blue .clients-modern,
body section.parallax-container[data-parallax-img="images/bg-clients.jpg"] .clients-modern{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:134px!important;
  padding:20px!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.08)!important;
  background-image:none!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.20)!important;
}
body section.ef-partners-blue .clients-modern:hover,
body section.parallax-container[data-parallax-img="images/bg-clients.jpg"] .clients-modern:hover{
  background:rgba(255,255,255,.14)!important;
  transform:translateY(-4px)!important;
}
body section.ef-partners-blue .clients-modern img,
body section.parallax-container[data-parallax-img="images/bg-clients.jpg"] .clients-modern img{
  max-width:86%!important;
  max-height:76px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.34))!important;
}

/* Footer: full blue, readable. */
body .footer-classic,
body .footer-classic-content,
body .footer-classic-panel,
body section.bg-gray-8,
body .bg-gray-8{
  background:#071b49!important;
  background-image:linear-gradient(135deg,#071b49 0%,#0b3f86 76%,#075d9f 100%)!important;
  color:#ffffff!important;
}
body .footer-classic *,
body .footer-classic a,
body .bg-gray-8 *,
body .bg-gray-8 a{color:#ffffff!important;}
body .footer-classic p,
body .footer-classic li,
body .footer-classic .rights{color:rgba(255,255,255,.84)!important;}
body .footer-classic a:hover,
body .bg-gray-8 a:hover{color:#bcea74!important;}

@media (max-width:991px){
  body .ef-web-wow-shell,body .ef-web-v12-shell{grid-template-columns:1fr!important;}
  body .ef-web-v12-visual{min-height:250px!important;}
}
@media (max-width:575px){
  body .ef-hours-section .ef-hours-card{border-radius:22px!important;padding:24px 18px!important;}
  body .ef-web-wow-shell,body .ef-web-v12-shell{border-radius:24px!important;padding:26px 18px!important;}
}
