.elementor-875 .elementor-element.elementor-element-10b3ba6{--display:flex;}.elementor-875 .elementor-element.elementor-element-b64fc62{width:100%;max-width:100%;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-b64fc62 */:root{
  --cfy-footer-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --cfy-footer-bg:#082a32;
  --cfy-footer-bg-dark:#040b10;
  --cfy-footer-text:#ffffff;
  --cfy-footer-muted:rgba(255,255,255,.66);
  --cfy-footer-line:rgba(255,255,255,.12);
  --cfy-footer-accent:#2dd4bf;
}

.cfy-theme-footer,
.cfy-theme-footer *{
  box-sizing:border-box;
}

.cfy-theme-footer{
  width:100vw !important;
  max-width:100vw !important;
  min-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:74px 0 28px;
  background:var(--cfy-footer-bg);
  color:var(--cfy-footer-text);
  font-family:var(--cfy-footer-font);
  overflow:hidden;
}

html[data-theme="dark"] .cfy-theme-footer{
  background:var(--cfy-footer-bg-dark);
}

.cfy-footer-container{
  width:min(1220px,calc(100% - 36px));
  max-width:1220px;
  margin:0 auto;
}

.cfy-footer-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr 1fr .9fr;
  gap:34px;
  align-items:start;
}

.cfy-footer-brand{
  display:block;
}

.cfy-footer-logo{
  width:86px !important;
  height:auto !important;
  max-height:86px !important;
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 0 14px 0 !important;
  box-shadow:none !important;
  filter:none !important;
  display:block;
}

.cfy-theme-footer p,
.cfy-theme-footer a,
.cfy-theme-footer span{
  color:var(--cfy-footer-muted);
}

.cfy-theme-footer p{
  max-width:330px;
  margin:0;
  line-height:1.7;
  font-size:16px;
  font-weight:650;
}

.cfy-theme-footer h3{
  margin:0 0 14px;
  font-size:15px;
  line-height:1.2;
  color:#fff;
  font-weight:900;
}

.cfy-theme-footer a,
.cfy-theme-footer span{
  display:block;
  margin:9px 0;
  line-height:1.5;
  font-size:16px;
  font-weight:700;
  text-decoration:none !important;
  transition:.18s ease;
}

.cfy-theme-footer a:hover{
  color:#fff;
  transform:translateX(3px);
}

.cfy-footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-top:44px;
  padding-top:24px;
  border-top:1px solid var(--cfy-footer-line);
}

.cfy-footer-bottom span,
.cfy-footer-bottom a{
  margin:0;
  font-size:15px;
  font-weight:750;
}

.cfy-footer-toplink{
  color:var(--cfy-footer-accent) !important;
}

.cfy-footer-toplink:hover{
  color:#fff !important;
}

/* Elementor Full Width Fix */
.elementor-widget-html:has(.cfy-theme-footer),
.elementor-widget-html:has(.cfy-theme-footer) .elementor-widget-container,
.elementor-element:has(.cfy-theme-footer),
.e-con:has(.cfy-theme-footer),
.e-container:has(.cfy-theme-footer),
.elementor-section:has(.cfy-theme-footer),
.elementor-container:has(.cfy-theme-footer),
.elementor-location-footer:has(.cfy-theme-footer){
  width:100vw !important;
  max-width:100vw !important;
  min-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding-left:0 !important;
  padding-right:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  overflow:visible !important;
}

/* Theme/Builder Bild-Rahmen killen */
.cfy-theme-footer img,
.cfy-theme-footer img.cfy-footer-logo{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}

/* Responsive */
@media(max-width:980px){
  .cfy-footer-grid{
    grid-template-columns:1fr 1fr;
    gap:30px;
  }
}

@media(max-width:680px){
  .cfy-theme-footer{
    padding:58px 0 24px;
  }

  .cfy-footer-container{
    width:min(100% - 28px,1220px);
  }

  .cfy-footer-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .cfy-footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  .cfy-theme-footer a:hover{
    transform:none;
  }
}

/* CFY FOOTER GAP FIX - Rand zwischen Seite und Footer entfernen */

/* Footer direkt an vorherigen Abschnitt anschließen */
.cfy-theme-footer{
  margin-top:0 !important;
  border-top:0 !important;
  box-shadow:none !important;
}

/* Elementor/Theme-Abstände um Footer entfernen */
.elementor-location-footer,
.elementor-location-footer > *,
.elementor-location-footer .elementor,
.elementor-location-footer .e-con,
.elementor-location-footer .e-container,
.elementor-location-footer .elementor-section,
.elementor-location-footer .elementor-container,
.elementor-widget-html:has(.cfy-theme-footer),
.elementor-widget-html:has(.cfy-theme-footer) .elementor-widget-container,
.elementor-element:has(.cfy-theme-footer),
.e-con:has(.cfy-theme-footer),
.e-container:has(.cfy-theme-footer),
.elementor-section:has(.cfy-theme-footer),
.elementor-container:has(.cfy-theme-footer){
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* Letzter Seitenabschnitt soll unten keinen Extra-Abstand erzeugen */
.cfy-page{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

.cfy-page main{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

.cfy-page main > section:last-child,
.cfy-review-wrap{
  margin-bottom:0 !important;
  padding-bottom:92px !important;
}

/* Falls Elementor zwischen Content und Footer eine Linie/Abstand setzt */
#content,
.site-content,
.site-main,
.content-area,
.page-wrapper,
.main-content,
.entry-content,
.entry-content-wrapper{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
}

/* Footer-Hintergrund direkt ab Kante */
body{
  background:#040b10 !important;
}/* End custom CSS */