.elementor-2245 .elementor-element.elementor-element-5c21ad5f{--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-2245 .elementor-element.elementor-element-40af5a6{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2245 .elementor-element.elementor-element-627e18a{--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;}.elementor-2245 .elementor-element.elementor-element-7dbadb1{--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;--margin-top:0px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;}.elementor-widget-posts .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );font-style:var( --e-global-typography-accent-font-style );}.elementor-widget-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-posts .elementor-post__meta-data{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .elementor-post__excerpt p{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-posts .elementor-post__read-more{color:var( --e-global-color-accent );}.elementor-widget-posts a.elementor-post__read-more{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );font-style:var( --e-global-typography-accent-font-style );}.elementor-widget-posts .elementor-post__card .elementor-post__badge{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );font-style:var( --e-global-typography-accent-font-style );}.elementor-widget-posts .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-2245 .elementor-element.elementor-element-dab25d2{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-2245 .elementor-element.elementor-element-dab25d2 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-2245 .elementor-element.elementor-element-dab25d2:after{content:"0.66";}.elementor-2245 .elementor-element.elementor-element-dab25d2 .elementor-post__thumbnail__link{width:100%;}.elementor-2245 .elementor-element.elementor-element-dab25d2 .elementor-post__meta-data span + span:before{content:"•";}.elementor-2245 .elementor-element.elementor-element-dab25d2 .elementor-post__text{margin-top:20px;}.elementor-2245 .elementor-element.elementor-element-dab25d2 .elementor-post__badge{right:0;}.elementor-2245 .elementor-element.elementor-element-dab25d2 .elementor-post__card .elementor-post__badge{margin:20px;}.elementor-2245 .elementor-element.elementor-element-d515948{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2245 .elementor-element.elementor-element-abc54af{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-2245 .elementor-element.elementor-element-dab25d2 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-2245 .elementor-element.elementor-element-dab25d2:after{content:"0.5";}.elementor-2245 .elementor-element.elementor-element-dab25d2 .elementor-post__thumbnail__link{width:100%;}}/* Start custom CSS for html, class: .elementor-element-12b049c3 *//* === OPTIMIERTES CSS FÜR DAS MENÜ START === */

.menu-wrapper {
  position: sticky;
  top: 0;
  z-index: 1001; /* Höchste Priorität */
}

.menu-bar {
  width: 100%;
  background-color: #f2f3f4;
  box-shadow: 0 4px 7px rgba(0, 0, 0, 0.85);
  font-family: Arial, sans-serif;
}

.menu-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 5px 20px;
  box-sizing: border-box;
}

/* WICHTIG: Die `width` und `height` Attribute im HTML beheben das CLS-Problem.
   Dieses CSS sorgt weiterhin für das responsive Verhalten der Bilder. */
.menu-content .logo img {
  opacity: 0;
  animation: fadeIn 1s ease forwards;
  max-height: 65px !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  /* `height: auto` sorgt für die korrekte Skalierung bei `max-height` */
  height: auto !important;
  width: auto !important;
}

@keyframes fadeIn {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}

/* Desktop-Navigation */
.desktop-nav {
  display: flex;
  margin-left: auto;
  gap: 20px;
}

.desktop-nav a {
  text-decoration: none;
  color: #221F1F;
  padding: 10px 15px;
  font-weight: bold;
  border-radius: 7px;
  transition: background-color 0.3s ease, color 0.3s ease;
  font-size: 18px;
}

.desktop-nav a:hover {
  background-color: #f7941d;
  color: #fff;
}

/* Mobile-Steuerelemente */
.mobile-only {
  display: none;
}

.hpr-mobile-cta-button {
  background-color: #E68A00;
  color: #ffffff !important;
  border-radius: 7px;
  font-weight: bold;
  font-size: 16px;
  cursor: pointer;
  padding: 10px 18px;
  text-decoration: none !important;
  transition: background-color 0.3s ease, transform 0.2s ease;
  white-space: nowrap;
}

.hpr-mobile-cta-button:hover {
  background-color: #e6830d;
  transform: translateY(-1px);
}

/* === ÄNDERUNGEN FÜR SVG-ICONS START === */

.burger-menu {
  /* `font-size` wird nicht mehr benötigt */
  /* font-size: 24px; */ 

  /* Definiert die Größe des klickbaren Bereichs */
  width: 28px;
  height: 28px;
  cursor: pointer;
  color: #221F1F; /* SVG erbt diese Farbe dank "fill='currentColor'" */
}

/* NEU: Grundstile für die SVG-Icons im Burger-Menü */
.burger-menu svg {
  width: 100%;
  height: 100%;
}

/* NEU: Standardmäßig ist das Schließen-Icon versteckt */
.burger-menu .icon-close {
  display: none;
}

/* NEU: Wenn das Menü offen ist... */
.burger-menu.is-open .icon-burger {
  display: none; /* ...verstecke das Burger-Icon */
}

.burger-menu.is-open .icon-close {
  display: block; /* ...und zeige das Schließen-Icon */
}

/* === ÄNDERUNGEN FÜR SVG-ICONS ENDE === */

/* Dropdown-Menü (nur mobil) */
.dropdown-nav {
  display: none;
  background-color: #f3f3f3;
  border-top: 1px solid #ccc;
  box-sizing: border-box;
}

.dropdown-nav nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 10px 20px;
}

.dropdown-nav a {
  text-decoration: none;
  color: #221F1F;
  font-weight: bold;
  font-size: 18px;
  border-radius: 7px;
  transition: background-color 0.3s ease, color 0.3s ease;
  display: inline-block;
  padding: 8px 12px;
  margin: 5px 0;
}

.dropdown-nav a:hover {
  background-color: #f7941d;
  color: #fff;
}

.dropdown-nav.open {
  display: block;
}

/* Styling für den aktiven Menü-Link */
.desktop-nav a[aria-current="page"],
.dropdown-nav a[aria-current="page"] {
  background-color: #f7941d;
  color: #ffffff;
  cursor: default;
  pointer-events: none;
}

/* --- Responsive Breakpoints --- */
@media (max-width: 767px) {
  .desktop-nav {
    display: none;
  }

  .mobile-only {
    display: flex;
    align-items: center;
  }

  .menu-content .logo img,
  .menu-content .logo source { /* source ebenfalls ansprechen */
    max-height: 40px !important;
  }

  .menu-content {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
  }

  .menu-content .logo {
    justify-self: start;
  }

  .menu-content .hpr-mobile-cta-button {
    justify-self: center;
  }

  .menu-content .burger-menu {
    justify-self: end;
  }
}

@media (min-width: 768px) {
  .menu-content .logo {
    margin-right: auto !important;
  }
}

/* === OPTIMIERTES CSS FÜR DAS MENÜ ENDE === *//* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-660393a */.elementor-2245 .elementor-element.elementor-element-660393a .hpr-section-title {
  font-size: 2.9em;
  color: #545454;
  margin-bottom: 35px;
  margin-top: 35px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center; /* Optional, falls mittig gewünscht */
  font-family: 'Open Sans', Arial, sans-serif;
}

.elementor-2245 .elementor-element.elementor-element-660393a .hpr-section-title .hpr-highlight {
  color: #f7941d;
}

@media (max-width: 767px) {
  .elementor-2245 .elementor-element.elementor-element-660393a .hpr-section-title {
    font-size: 2.1em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-abc54af *//* =========================
   OBERER TEIL: FOOTER-TOP
   ========================= */
.elementor-2245 .elementor-element.elementor-element-abc54af .footer-top {
  position: relative;
  padding: 40px 20px; /* Etwas mehr Padding oben/unten */
  background: url('https://heckenschnitt.com/wp-content/uploads/2024/09/Heckenschnitt-Berlin_Teltow_Mahlow_Footer_dark.webp') repeat;
  background-size: 600px;
  color: #fff;
  font-family: Arial, sans-serif;
  opacity: 0;
  animation: fadeIn 1s ease both;
}
.elementor-2245 .elementor-element.elementor-element-abc54af .footer-top::before {
  content: "";
  position: absolute;
  top: 0; 
  left: 0;
  width: 100%; 
  height: 100%;
  background: rgba(0, 0, 0, 0.6); /* Overlay leicht verstärkt für bessere Lesbarkeit */
  z-index: 0;
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

/* 3-Spalten-Container (Desktop) */
.elementor-2245 .elementor-element.elementor-element-abc54af .footer-content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  gap: 40px;
  flex-wrap: nowrap;
}
.elementor-2245 .elementor-element.elementor-element-abc54af .footer-column {
  flex: 1; /* Spalten teilen sich den Platz flexibel */
  box-sizing: border-box;
}

/* SPALTE 1: Logo + Text */
.elementor-2245 .elementor-element.elementor-element-abc54af .footer-logo img {
  max-width: 270px;
  display: block;
  margin-bottom: 15px;
}
.elementor-2245 .elementor-element.elementor-element-abc54af .logo-text-container {
  width: 270px;
  text-align: right;
  margin: 0;
  font-size: 15px; /* Etwas kleiner für besseren Zeilenumbruch */
  line-height: 1.5;
}

/* --- HIER WURDE SPALTE 2 (FORMULAR) ENTFERNT --- */

/* SPALTE 2: Schnelllinks (ehemals Spalte 3) */
.elementor-2245 .elementor-element.elementor-element-abc54af .column-2 h4 {
  font-size: 22px;
  margin: 18px 0 15px;
  font-weight: bold;
  color: #fff;
}
.elementor-2245 .elementor-element.elementor-element-abc54af .links-column ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.elementor-2245 .elementor-element.elementor-element-abc54af .links-column ul li {
  margin-bottom: 10px;
}
.elementor-2245 .elementor-element.elementor-element-abc54af .links-column ul li a {
  color: #ffffff;
  text-decoration: none;
  font-family: Arial, sans-serif;
  font-weight: 500;
  transition: color 0.3s ease; /* Sanfter Hover-Effekt */
}
.elementor-2245 .elementor-element.elementor-element-abc54af .links-column ul li a:hover {
  color: #A8C41B; /* Akzentfarbe beim Hover */
  text-decoration: none;
}

/* SPALTE 3: Kontakt (ehemals Spalte 4) */
.elementor-2245 .elementor-element.elementor-element-abc54af .column-3 h4 {
  font-size: 22px;
  margin: 18px 0 15px;
  font-weight: bold;
  color: #fff;
}
.elementor-2245 .elementor-element.elementor-element-abc54af .contact-info {
  font-family: Arial, sans-serif;
  color: #f3f3f3;
  line-height: 1.6;
  text-align: left;
  font-style: normal;
}
.elementor-2245 .elementor-element.elementor-element-abc54af .info-item {
  display: flex;
  align-items: center;
  margin-bottom: 15px; /* Etwas mehr Abstand zwischen den Kontaktpunkten */
}
.elementor-2245 .elementor-element.elementor-element-abc54af .icon {
  color: #A8C41B; /* SVG-Farbe hier definiert */
  margin-right: 15px;
  flex-shrink: 0; /* Verhindert das Schrumpfen des Icons */
}
.elementor-2245 .elementor-element.elementor-element-abc54af .icon svg {
  width: 22px;
  height: 22px;
  fill: currentColor; /* SVG übernimmt die Farbe vom .icon-Span */
}
.elementor-2245 .elementor-element.elementor-element-abc54af .info-item p {
    margin: 0;
}
.elementor-2245 .elementor-element.elementor-element-abc54af .opening-hours p {
  margin: 0;
}

/* FOOTER-BOTTOM */
.elementor-2245 .elementor-element.elementor-element-abc54af .footer-bottom {
  border-top: 1px solid #444; /* Etwas weichere Trennlinie */
  background-color: #1a1a1a;
  text-align: center;
  padding: 15px 0;
  font-family: Arial, sans-serif;
  color: #aaa;
  font-size: 14px;
}
.elementor-2245 .elementor-element.elementor-element-abc54af .footer-bottom p {
  margin: 0;
}

/* LINKS GLOBAL */
a {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.3s ease;
}
a:hover {
  color: #A8C41B; /* Akzentfarbe beim Hover */
  text-decoration: none;
}
.contact-info a:hover {
    text-decoration: underline; /* Unterstreichung nur bei Kontakt-Links */
}


/* =========================
   BREAKPOINTS
   ========================= */

/* ========== TABLET (max-width: 1024px) ========== */
@media (max-width: 1024px) {
  .elementor-2245 .elementor-element.elementor-element-abc54af .footer-content {
    flex-wrap: wrap;
    justify-content: center;
  }
  .elementor-2245 .elementor-element.elementor-element-abc54af .footer-column {
    flex: 1 1 45%; /* 2-spaltig auf Tablets */
    text-align: center;
    margin-bottom: 30px;
    min-width: 290px;
  }
  .elementor-2245 .elementor-element.elementor-element-abc54af .footer-logo img {
    margin: 0 auto 20px auto;
  }
  .elementor-2245 .elementor-element.elementor-element-abc54af .logo-text-container {
    width: auto;
    text-align: center;
  }
  /* Kontakt-Infos und Links zentrieren */
  .elementor-2245 .elementor-element.elementor-element-abc54af .column-3,
  .elementor-2245 .elementor-element.elementor-element-abc54af .contact-info {
    text-align: center;
  }
  .elementor-2245 .elementor-element.elementor-element-abc54af .info-item,
  .elementor-2245 .elementor-element.elementor-element-abc54af .links-column ul {
    justify-content: center;
    align-items: center;
  }
   .elementor-2245 .elementor-element.elementor-element-abc54af .links-column ul {
    display: inline-block;
    text-align: left;
  }
   .elementor-2245 .elementor-element.elementor-element-abc54af .info-item {
    padding-left: 0;
  }
}

/* ========== SMARTPHONE (max-width: 767px) ========== */
@media (max-width: 767px) {
  .elementor-2245 .elementor-element.elementor-element-abc54af .footer-column {
    flex: 1 1 100%; /* 1-spaltig auf Mobilgeräten */
    margin-bottom: 40px;
  }
  /* Letztes Element hat keinen Abstand nach unten */
  .elementor-2245 .elementor-element.elementor-element-abc54af .footer-column:last-child {
      margin-bottom: 0;
  }
  /* Favicon statt Logo */
  .elementor-2245 .elementor-element.elementor-element-abc54af .footer-logo img {
    max-width: 90px;
    margin-bottom: 25px;
  }
}/* End custom CSS */