.elementor-kit-4{--e-global-color-primary:#2A4D83;--e-global-color-secondary:#0B2545;--e-global-color-text:#22303F;--e-global-color-accent:#0E7490;--e-global-typography-primary-font-family:"Nunito";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Nunito";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Nunito";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Nunito";--e-global-typography-accent-font-weight:500;font-family:"Nunito", Sans-serif;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:var( --e-global-color-accent );color:#FFFFFF;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4 a{color:var( --e-global-color-accent );}.elementor-kit-4 h1{font-size:25px;}.elementor-kit-4 h2{font-size:25px;}.elementor-kit-4 h3{font-size:25px;}.elementor-kit-4 h4{font-size:25px;}.elementor-kit-4 h5{font-size:25px;}.elementor-kit-4 h6{font-size:25px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* FUNCK-KOPF START */
/* 🔴 Die boxed-Breite (1180 px) plus 2 x 20 px Innenabstand braucht 1220 px.
   Ist das Fenster schmaler, lief der Inhalt heraus – gemessen 54 px bei
   1200 px Fensterbreite, 77 px bei 900 px; sichtbar wurde es am Kopfknopf.
   ⚠️ NICHT mit `max-width: 100%` loesen! Elementor setzt die Boxbreite selbst
   ueber `max-width`, ein glattes 100% ersetzt sie und hebt die Box ganz auf
   (am 04.08. passiert: Inhalt ueber die volle Fensterbreite, 5 statt 3 Karten
   je Reihe). Richtig ist der Deckel auf BEIDES: */
.e-con-boxed > .e-con-inner {
  max-width: min(100%, var(--content-width, 1140px));
}
/* 🔴 Gemessen bei 1200 px: die Wortmarken-Huelle war 580 px breit statt der
   noetigen ~290 und hat den Knopf auf 76 px gequetscht – dessen Text ragte
   dann (wegen white-space: nowrap) aus dem Bild. Elementor gibt
   verschachtelten Containern eine berechnete Breite und ignoriert dabei
   `_element_width: initial` aus den Container-Einstellungen.
   Gilt fuer ALLE Breiten, nicht nur mobil. */
.elementor-location-header > .elementor-element-d1b8eb9.e-con .e-con-inner > .e-con {
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}
.elementor-location-header > .elementor-element-d1b8eb9.e-con .elementor-widget-button {
  flex: 0 0 auto;
}
/* Auf dem Handy passen Logo, Wortmarke, Burger UND Knopf nicht nebeneinander –
   der Knopf lief rechts aus dem Bild. Die Rufnummer steht im Servicebalken
   darueber, „Kontakt“ liegt im Burger-Menue.
   (Elementors Einstellung `hide_mobile` blieb hier wirkungslos.) */
@media (max-width: 767px) {
  .elementor-location-header .elementor-widget-button {
    display: none;
  }
  /* Der Burger rutschte sonst in eine eigene Zeile unter die Wortmarke und
     klebte dort rechts unten. Elementor setzt auf Mobil --flex-wrap-mobile:wrap;
     fuer die Kopfzeile drehen wir das zurueck, damit Wortmarke und Burger auf
     einer Hoehe sitzen.
     ⚠️ Gezielt auf den ZWEITEN Block des Kopfes – der Servicebalken darueber
     ist der erste und darf weiter umbrechen. Eine eigene CSS-Klasse ueber
     `_css_classes` am Container hat Elementor nicht ausgegeben. */
  .elementor-location-header > .elementor-element-d1b8eb9.e-con .e-con-inner {
    flex-wrap: nowrap;
    align-items: center;
  }
  .elementor-location-header > .elementor-element-d1b8eb9.e-con .elementor-widget-nav-menu {
    margin-left: auto;
    flex: 0 0 auto;
    /* Das Widget traegt fuer den Desktop eine feste Breite von 440 px, damit
       die Menuepunkte in einer Zeile bleiben. Auf dem Handy schob genau
       die den Burger auf x=494 hinaus – hier zaehlt nur der Toggle. */
    width: auto;
    max-width: none;
  }
  .elementor-location-header .elementor-menu-toggle {
    margin: 0;
  }
  /* 🔴 Gemessen im 390-px-Rahmen: die Wortmarken-Huelle war 332 von 332 px
     breit und hat den Burger auf x=675 hinausgedrueckt. Elementor gibt
     verschachtelten Containern auf Mobil `width: 100%` und ueberschreibt damit
     `_element_width: initial` aus den Container-Einstellungen.
     Deshalb Breite hier hart auf Inhaltsgroesse setzen – und KEIN min-width: 0,
     das liess die Huelle intern umbrechen (Logo ueber dem Namen). */
  .elementor-location-header > .elementor-element-d1b8eb9.e-con .e-con-inner > .e-con {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    flex-wrap: nowrap;
  }
  .elementor-location-header > .elementor-element-d1b8eb9.e-con .elementor-widget-image {
    flex: 0 0 auto;
  }
  /* Die gesperrte Unterzeile braucht Platz und brach mobil um. Auf dem Handy reicht Bildzeichen + Name; der Ort
     steht ohnehin im Servicebalken und im Fuss. */
  .elementor-location-header > .elementor-element-d1b8eb9.e-con
    .elementor-widget-heading + .elementor-widget-heading {
    display: none;
  }
}
@media (min-width: 768px) {
  .elementor-location-header .elementor-widget-nav-menu {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }
  .elementor-location-header .elementor-nav-menu--main .elementor-nav-menu {
    flex-wrap: nowrap;
  }
  /* Gleiche Ursache: der Knopf wurde sonst zweizeilig . */
  .elementor-location-header .elementor-widget-button .elementor-button {
    white-space: nowrap;
  }
}
/* WPForms liefert seinen Absenden-Knopf in Bootstrap-Blau aus – das passt auf
   keiner unserer Seiten zur Farbwelt. */
.wpforms-container .wpforms-submit,
.wpforms-container button[type="submit"] {
  background-color: #0E7490 !important;
  border-color: #0E7490 !important;
  color: #fff !important;
  font-weight: 500;
  padding: 14px 30px !important;
  border-radius: 4px !important;
}
.wpforms-container .wpforms-submit:hover,
.wpforms-container button[type="submit"]:hover {
  background-color: #0A5C73 !important;
  border-color: #0A5C73 !important;
}
/* Theme und Elementor zeichnen Menuepunkte doppelt aus (Unterstrich + Balken). */
.elementor-location-header .elementor-nav-menu a,
.elementor-location-footer .elementor-nav-menu a {
  text-decoration: none;
}
/* FUNCK-KOPF ENDE */
/* AD-STICKY START */
.elementor-location-header .elementor-element-d1b8eb9{transition:box-shadow .2s}
.elementor-location-header .elementor-element-d1b8eb9.elementor-sticky--effects{box-shadow:0 2px 14px rgba(11,37,69,.14)}
html{scroll-padding-top:110px}
/* AD-STICKY ENDE */

/* AD-LUECKEN START */
.adoffen{background:#FFD84D;color:#3A2E00;font-weight:600;padding:1px 6px;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
/* AD-LUECKEN ENDE */
/* AD-LINKS START */
a,a:hover,a:focus{text-decoration:none !important}
.elementor-widget-text-editor a{color:#0E7490;font-weight:500}
.elementor-widget-text-editor a:hover{color:#0A5C73}
/* AD-LINKS ENDE */
/* AD-FORMULAR START */
.wpforms-container .wpforms-field-label{font-family:'Nunito',system-ui,sans-serif;font-weight:600;color:#2A4D83;font-size:15px;margin-bottom:6px}
.wpforms-container .wpforms-field{padding:8px 0 !important}
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container input[type=tel],.wpforms-container select,.wpforms-container textarea{width:100% !important;max-width:100% !important;border:1px solid #D9E4EE !important;border-radius:8px !important;padding:12px 14px !important;font-family:'Nunito',system-ui,sans-serif !important;font-size:16px !important;color:#22303F !important;background:#F1F6FA !important;height:auto !important;box-shadow:none !important}
.wpforms-container input:focus,.wpforms-container select:focus,.wpforms-container textarea:focus{border-color:#0E7490 !important;background:#fff !important;outline:3px solid rgba(14,116,144,.18) !important}
.wpforms-container textarea{min-height:150px}
.wpforms-container .wpforms-field-description{font-size:13px;color:#5B6478}
.wpforms-container .wpforms-field-gdpr-checkbox label{font-size:14px;line-height:1.5}
.wpforms-container .wpforms-submit{border-radius:6px !important;padding:14px 34px !important;font-size:16px !important}
/* AD-FORMULAR ENDE */
@media (prefers-reduced-motion:reduce){.elementor-invisible{visibility:visible !important}.animated{animation:none !important}}

/* FUNCK-AD-MENUE-ANMELDEN START — Menüpunkt nur im Handy-Menü (27.10.2026) */
.elementor-nav-menu--main .ad-nur-mobil{display:none!important}
.elementor-nav-menu--dropdown .ad-nur-mobil > a{color:#fff!important;background:#0E7490!important;font-weight:700!important}
.elementor-nav-menu--dropdown .ad-nur-mobil > a:hover,.elementor-nav-menu--dropdown .ad-nur-mobil > a:focus{background:#0B2545!important}
@media (min-width:768px){.elementor-nav-menu--dropdown .ad-nur-mobil{display:none!important}}
/* FUNCK-AD-MENUE-ANMELDEN ENDE *//* End custom CSS */