.elementor-21814 .elementor-element.elementor-element-e0a9308{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-e578e8d *//* =========================================================
   MANOREAL FINANCE PREMIUM FOOTER
   MAXIMAL ISOLIERTE VERSION
   Keine :root Variablen. Keine globalen Selektoren.
========================================================= */


/* =========================================================
   ROOT / VARIABLES / ISOLATION
========================================================= */

#mfPremiumFooter.mf-premium-footer {
  --mf-pf-bg: #FDFBF7 !important;
  --mf-pf-primary: #03432e !important;
  --mf-pf-accent: #a3e52d !important;
  --mf-pf-text: #2B2B2A !important;
  --mf-pf-muted: rgba(43, 43, 42, 0.75) !important;
  --mf-pf-border: rgba(3, 67, 46, 0.1) !important;
  --mf-pf-shadow-soft: rgba(3, 67, 46, 0.08) !important;
  --mf-pf-shadow-button: rgba(0, 0, 0, 0.15) !important;

  width: 100% !important;
  position: relative !important;
  isolation: isolate !important;

  background-color: var(--mf-pf-bg) !important;
  color: var(--mf-pf-text) !important;

  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;

  overflow-x: hidden !important;
  overflow-y: visible !important;

  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

#mfPremiumFooter,
#mfPremiumFooter *,
#mfPremiumFooter *::before,
#mfPremiumFooter *::after {
  box-sizing: border-box !important;
}

#mfPremiumFooter a,
#mfPremiumFooter button,
#mfPremiumFooter img,
#mfPremiumFooter svg,
#mfPremiumFooter address,
#mfPremiumFooter h2,
#mfPremiumFooter h4,
#mfPremiumFooter p,
#mfPremiumFooter ul,
#mfPremiumFooter li,
#mfPremiumFooter div,
#mfPremiumFooter section,
#mfPremiumFooter footer {
  font-family: inherit !important;
}

#mfPremiumFooter a {
  text-decoration: none !important;
}

#mfPremiumFooter img,
#mfPremiumFooter svg {
  max-width: 100% !important;
}

#mfPremiumFooter button {
  font-family: inherit !important;
}

/* =========================================================
   ELEMENTOR HOST UNLOCK
   Verhindert internen Scroll im HTML-Widget/Container.
   Die Klasse wird per JS nur an die direkten Footer-Host-Wrapper gesetzt.
========================================================= */

.mf-pf-host-unlocked[data-mf-footer-host="true"] {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;

  -webkit-overflow-scrolling: auto !important;
  overscroll-behavior: auto !important;
  contain: none !important;
}

/* Fallback für moderne Browser, falls JS später lädt */
.elementor-widget-html:has(#mfPremiumFooter),
.elementor-widget-html:has(#mfPremiumFooter) > .elementor-widget-container,
.elementor-widget-container:has(#mfPremiumFooter) {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;

  -webkit-overflow-scrolling: auto !important;
  overscroll-behavior: auto !important;
  contain: none !important;
}

#mfPremiumFooter.mf-premium-footer,
#mfPremiumFooter .mf-pf__hero,
#mfPremiumFooter .mf-pf__card-wrapper,
#mfPremiumFooter .mf-pf__card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: auto !important;
  overscroll-behavior: auto !important;
}


/* =========================================================
   HERO BACKGROUND SECTION
========================================================= */

#mfPremiumFooter .mf-pf__hero {
  position: relative !important;
  width: 100% !important;
  padding: 120px 40px 180px 40px !important;

  background-color: var(--mf-pf-primary) !important;

  display: flex !important;
  justify-content: center !important;

  overflow: hidden !important;
}

#mfPremiumFooter .mf-pf__hero-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;

  background-image: url("https://manoreal-finance.de/wp-content/uploads/kooperatonspartnershasct.avif") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;

  mix-blend-mode: multiply !important;
  opacity: 0.9 !important;

  pointer-events: none !important;
}

#mfPremiumFooter .mf-pf__hero-content {
  position: relative !important;
  z-index: 1 !important;

  width: 100% !important;
  max-width: 1400px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

#mfPremiumFooter .mf-pf__eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;

  margin: 0 0 24px 0 !important;
  padding: 0 !important;

  color: #ffffff !important;
  opacity: 0.9 !important;

  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
}

#mfPremiumFooter .mf-pf__dot {
  width: 8px !important;
  height: 8px !important;

  display: inline-block !important;
  flex: 0 0 auto !important;

  background-color: var(--mf-pf-accent) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 10px rgba(214, 253, 112, 0.6) !important;

  animation: mfPremiumFooterPulseLime 2s infinite !important;
}

@keyframes mfPremiumFooterPulseLime {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(214, 253, 112, 0.7);
  }

  70% {
    transform: scale(1);
    box-shadow: 0 0 0 8px rgba(214, 253, 112, 0);
  }

  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(214, 253, 112, 0);
  }
}

#mfPremiumFooter .mf-pf__title {
  margin: 0 0 40px 0 !important;
  padding: 0 !important;

  color: #ffffff !important;

  font-family: "Poppins", sans-serif !important;
  font-size: 64px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  text-wrap: balance !important;
}

#mfPremiumFooter .mf-pf__title i {
  color: var(--mf-pf-accent) !important;

  font-family: "Playfair Display", serif !important;
  font-style: italic !important;
  font-weight: 600 !important;
}

#mfPremiumFooter .mf-pf__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

#mfPremiumFooter .mf-pf__btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;

  min-height: 54px !important;
  padding: 16px 32px !important;

  background-color: var(--mf-pf-accent) !important;
  color: var(--mf-pf-primary) !important;

  border: none !important;
  border-radius: 100px !important;

  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  cursor: pointer !important;

  transition:
    transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
    background-color 0.2s ease,
    box-shadow 0.3s ease !important;

  will-change: transform !important;
}

#mfPremiumFooter .mf-pf__btn-icon {
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 auto !important;
}

#mfPremiumFooter .mf-pf__btn-primary:hover {
  background-color: #ffffff !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 24px var(--mf-pf-shadow-button) !important;
}


/* =========================================================
   OVERLAPPING FOOTER CARD
========================================================= */

#mfPremiumFooter .mf-pf__card-wrapper {
  position: relative !important;
  z-index: 10 !important;

  width: 100% !important;
  max-width: 1480px !important;

  margin: -100px auto 0 auto !important;
  padding: 0 24px 60px 24px !important;

  background: transparent !important;
}

#mfPremiumFooter .mf-pf__card {
  position: relative !important;

  width: 100% !important;

  background-color: var(--mf-pf-bg) !important;
  border-radius: 32px !important;
  padding: 80px 64px 40px 64px !important;

  box-shadow: 0 30px 60px var(--mf-pf-shadow-soft) !important;
  overflow: visible !important;
}


/* Scroll to Top */

#mfPremiumFooter .mf-pf__scroll-top {
  position: absolute !important;
  top: -24px !important;
  left: 50% !important;

  width: 48px !important;
  height: 48px !important;

  transform: translateX(-50%) !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background-color: var(--mf-pf-bg) !important;
  color: var(--mf-pf-primary) !important;

  border: none !important;
  border-radius: 50% !important;

  box-shadow: 0 -10px 20px rgba(3, 67, 46, 0.05) !important;
  cursor: pointer !important;

  transition:
    transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
    background-color 0.3s ease,
    color 0.3s ease !important;
}

#mfPremiumFooter .mf-pf__scroll-top:hover {
  transform: translateX(-50%) translateY(-6px) !important;
  background-color: var(--mf-pf-primary) !important;
  color: #ffffff !important;
}


/* Top Section */

#mfPremiumFooter .mf-pf__top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 80px !important;

  margin: 0 0 60px 0 !important;
  padding: 0 !important;
}

#mfPremiumFooter .mf-pf__brand {
  width: 100% !important;
  max-width: 380px !important;
}

#mfPremiumFooter .mf-pf__logo {
  display: block !important;
  width: fit-content !important;
  margin: 0 0 24px 0 !important;
}

#mfPremiumFooter .mf-pf__logo img {
  width: 200px !important;
  max-width: 200px !important;
  height: auto !important;
  display: block !important;
}

#mfPremiumFooter .mf-pf__brand-desc {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--mf-pf-muted) !important;

  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

#mfPremiumFooter .mf-pf__brand-desc strong {
  color: var(--mf-pf-primary) !important;
  font-weight: 700 !important;
}

#mfPremiumFooter .mf-pf__brand-desc a {
  color: var(--mf-pf-text) !important;
  font-weight: 600 !important;
  text-decoration: none !important;

  transition: color 0.2s ease !important;
}

#mfPremiumFooter .mf-pf__brand-desc a:hover {
  color: var(--mf-pf-primary) !important;
}


/* Link Grid */

#mfPremiumFooter .mf-pf__links-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 64px !important;

  width: 100% !important;
  max-width: 600px !important;

  flex-grow: 1 !important;
}

#mfPremiumFooter .mf-pf__col {
  min-width: 0 !important;
}

#mfPremiumFooter .mf-pf__col-title {
  margin: 0 0 24px 0 !important;
  padding: 0 !important;

  color: var(--mf-pf-primary) !important;
  opacity: 0.5 !important;

  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

#mfPremiumFooter .mf-pf__list {
  list-style: none !important;

  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

#mfPremiumFooter .mf-pf__list li {
  margin: 0 !important;
  padding: 0 !important;
}

#mfPremiumFooter .mf-pf__link {
  display: inline-block !important;

  color: var(--mf-pf-text) !important;
  text-decoration: none !important;

  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;

  transition:
    color 0.2s ease,
    transform 0.2s ease !important;
}

#mfPremiumFooter .mf-pf__link:hover {
  color: var(--mf-pf-primary) !important;
  transform: translateX(4px) !important;
}


/* Öffnungszeiten */

#mfPremiumFooter .mf-pf__text-item {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;

  color: var(--mf-pf-muted) !important;

  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

#mfPremiumFooter .mf-pf__text-item--spaced {
  margin-top: 8px !important;
}

#mfPremiumFooter .mf-pf__text-item strong {
  display: block !important;

  margin: 0 0 2px 0 !important;

  color: var(--mf-pf-primary) !important;

  font-weight: 600 !important;
}


/* Divider & Bottom Section */

#mfPremiumFooter .mf-pf__divider {
  width: 100% !important;
  height: 1px !important;

  margin: 40px 0 !important;
  padding: 0 !important;

  background-color: var(--mf-pf-border) !important;
  border: none !important;
}

#mfPremiumFooter .mf-pf__bottom {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 40px !important;

  margin: 0 !important;
  padding: 0 !important;
}

#mfPremiumFooter .mf-pf__copy,
#mfPremiumFooter .mf-pf__legal {
  color: var(--mf-pf-muted) !important;

  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

#mfPremiumFooter .mf-pf__legal {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
}

#mfPremiumFooter .mf-pf__legal a {
  color: var(--mf-pf-muted) !important;
  text-decoration: none !important;

  transition: color 0.2s ease !important;
}

#mfPremiumFooter .mf-pf__legal a:hover {
  color: var(--mf-pf-primary) !important;
}

#mfPremiumFooter .mf-pf__socials {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

#mfPremiumFooter .mf-pf__social-icon {
  width: 40px !important;
  height: 40px !important;

  border-radius: 50% !important;
  background-color: rgba(3, 67, 46, 0.05) !important;
  color: var(--mf-pf-primary) !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  text-decoration: none !important;

  transition:
    background-color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
    color 0.3s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#mfPremiumFooter .mf-pf__social-icon:hover {
  background-color: var(--mf-pf-primary) !important;
  color: #ffffff !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 6px 16px rgba(3, 67, 46, 0.15) !important;
}


/* =========================================================
   NATIVE REVEAL — isolated
========================================================= */

@media (prefers-reduced-motion: no-preference) {
  #mfPremiumFooter.mf-pf-reveal-ready .mf-pf__card {
    opacity: 0 !important;
    transform: translateY(60px) !important;
    filter: blur(10px) !important;

    transition:
      opacity 900ms cubic-bezier(0.16, 1, 0.3, 1),
      transform 900ms cubic-bezier(0.16, 1, 0.3, 1),
      filter 900ms cubic-bezier(0.16, 1, 0.3, 1) !important;

    will-change: opacity, transform, filter !important;
  }

  #mfPremiumFooter.mf-pf-reveal-ready .mf-pf__brand,
  #mfPremiumFooter.mf-pf-reveal-ready .mf-pf__col,
  #mfPremiumFooter.mf-pf-reveal-ready .mf-pf__bottom {
    opacity: 0 !important;
    transform: translateY(20px) !important;

    transition:
      opacity 720ms cubic-bezier(0.16, 1, 0.3, 1),
      transform 720ms cubic-bezier(0.16, 1, 0.3, 1) !important;

    will-change: opacity, transform !important;
  }

  #mfPremiumFooter.mf-pf-reveal-ready .mf-pf__col:nth-child(1) {
    transition-delay: 120ms !important;
  }

  #mfPremiumFooter.mf-pf-reveal-ready .mf-pf__col:nth-child(2) {
    transition-delay: 220ms !important;
  }

  #mfPremiumFooter.mf-pf-reveal-ready .mf-pf__bottom {
    transition-delay: 320ms !important;
  }

  #mfPremiumFooter.mf-pf-reveal-ready.mf-pf-is-visible .mf-pf__card {
    opacity: 1 !important;
    transform: translateY(0) !important;
    filter: blur(0) !important;
  }

  #mfPremiumFooter.mf-pf-reveal-ready.mf-pf-is-visible .mf-pf__brand,
  #mfPremiumFooter.mf-pf-reveal-ready.mf-pf-is-visible .mf-pf__col,
  #mfPremiumFooter.mf-pf-reveal-ready.mf-pf-is-visible .mf-pf__bottom {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1024px) {
  #mfPremiumFooter .mf-pf__top {
    flex-direction: column !important;
    gap: 64px !important;
  }

  #mfPremiumFooter .mf-pf__links-grid {
    max-width: 100% !important;
    gap: 40px !important;
  }

  #mfPremiumFooter .mf-pf__bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 24px !important;
  }

  #mfPremiumFooter .mf-pf__legal {
    flex-wrap: wrap !important;
    gap: 16px !important;
  }
}

@media (max-width: 768px) {
  #mfPremiumFooter .mf-pf__hero {
    padding: 80px 20px 140px 20px !important;
  }

  #mfPremiumFooter .mf-pf__eyebrow {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  #mfPremiumFooter .mf-pf__title {
    width: 100% !important;
    font-size: 36px !important;
    line-height: 1.13 !important;
    text-align: center !important;
  }

  #mfPremiumFooter .mf-pf__subline,
  #mfPremiumFooter .mf-pf__subtitle {
    width: 100% !important;
    text-align: center !important;
  }

  #mfPremiumFooter .mf-pf__card-wrapper {
    margin-top: -60px !important;
    padding: 0 16px 40px 16px !important;
  }

  #mfPremiumFooter .mf-pf__card {
    border-radius: 24px !important;
    padding: 64px 32px 40px 32px !important;
  }

  #mfPremiumFooter .mf-pf__actions {
    width: 100% !important;
    justify-content: center !important;
  }

  #mfPremiumFooter .mf-pf__btn-primary {
    width: auto !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 600px) {
  #mfPremiumFooter .mf-pf__links-grid {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }
}

@media (max-width: 420px) {
  #mfPremiumFooter .mf-pf__hero {
    padding: 72px 18px 128px 18px !important;
  }

  #mfPremiumFooter .mf-pf__title {
    font-size: 32px !important;
    text-align: center !important;
  }

  #mfPremiumFooter .mf-pf__card {
    padding: 58px 24px 36px 24px !important;
  }

  #mfPremiumFooter .mf-pf__btn-primary {
    padding-left: 24px !important;
    padding-right: 24px !important;
    text-align: center !important;
  }

  #mfPremiumFooter .mf-pf__logo img {
    width: 180px !important;
    max-width: 180px !important;
  }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  #mfPremiumFooter,
  #mfPremiumFooter *,
  #mfPremiumFooter *::before,
  #mfPremiumFooter *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }

  #mfPremiumFooter .mf-pf__card,
  #mfPremiumFooter .mf-pf__brand,
  #mfPremiumFooter .mf-pf__col,
  #mfPremiumFooter .mf-pf__bottom {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}/* End custom CSS */