.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-26 .elementor-element.elementor-element-3c76d40{padding:0px 0px 0px 0px;columns:1;text-align:center;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-26 .elementor-element.elementor-element-cd0344b{--display:flex;}.elementor-26 .elementor-element.elementor-element-ef54b93{--display:flex;}.elementor-26 .elementor-element.elementor-element-8bd3684{--display:flex;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-26 .elementor-element.elementor-element-3c76d40{text-align:center;}}@media(max-width:767px){.elementor-26 .elementor-element.elementor-element-3c76d40{text-align:center;}}/* Start custom CSS for text-editor, class: .elementor-element-3c76d40 */.elementor-26 .elementor-element.elementor-element-3c76d40 p:last-child { margin-bottom: 0; }/* End custom CSS */
/* Start custom CSS *//* Schwebende Kontakt-Icons am rechten Rand, nur Desktop ab 1025 px. Farben wie Header-Button „Ihr Kontakt zu uns“ */
.elementor-location-footer .kb-float-wrap {
  position: fixed; right: 8px; top: 50%; transform: translateY(-50%);
  z-index: 990; width: auto; min-height: 0; padding: 0; margin: 0; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
}
.elementor-location-footer .kb-float-wrap .elementor-widget-html { margin: 0; width: auto; }
.kb-float { display: flex; flex-direction: column; gap: 10px; }
.kb-float .kb-float__btn {
  box-sizing: border-box; width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background-color: var(--e-global-color-accent);        /* Hintergrund Hell */
  border: 1px solid var(--e-global-color-primary);         /* Fläche Dunkel */
  color: var(--e-global-color-primary);                    /* Fläche Dunkel */
  box-shadow: 0px 4px 12px rgba(0,0,0,0.08);
  transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
}
.kb-float .kb-float__btn:hover, .kb-float .kb-float__btn:focus-visible {
  background-color: var(--e-global-color-primary);         /* Fläche Dunkel */
  border-color: var(--e-global-color-accent);              /* Hintergrund Hell */
  color: var(--e-global-color-accent);                     /* Hintergrund Hell */
}
.kb-float .kb-float__btn svg { width: 18px; height: 18px; display: block; }
.kb-float .kb-float__btn--hidden { display: none; }
@media (max-width: 1024px) { .elementor-location-footer .kb-float-wrap { display: none !important; } }

/* Kontaktleiste am unteren Rand, nur Tablet und Mobil bis 1024 px. Farben wie Header-Button „Ihr Kontakt zu uns“ */
.elementor-location-footer .kb-bar-wrap {
  position: fixed; left: 0px; right: 0px; bottom: 0px;
  z-index: 990; width: auto; min-height: 0; margin: 0;
  padding: 0 0 calc(env(safe-area-inset-bottom) / 2) 0;
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: calc(env(safe-area-inset-bottom) / 2); --padding-left: 0px;
  background-color: var(--e-global-color-accent);          /* Hintergrund Hell */
  /* Linie oben 1 px in Fläche Sekundär als innerer Schatten, damit die Leiste genau 48 px hoch bleibt */
  box-shadow: inset 0px 1px 0px var(--e-global-color-5727eaa), 0px -4px 12px rgba(0,0,0,0.06);
}
.elementor-location-footer .kb-bar-wrap .elementor-widget-html { margin: 0; width: 100%; }
.kb-bar { display: flex; width: 100%; height: 48px; }
.kb-bar .kb-bar__btn {
  position: relative; flex: 1 1 0; height: 48px;
  display: flex; align-items: center; justify-content: center;
  color: var(--e-global-color-primary);                     /* Fläche Dunkel */
  background-color: transparent;
  transition: background-color 150ms ease, color 150ms ease;
  -webkit-tap-highlight-color: transparent;
}
.kb-bar .kb-bar__btn:active {
  background-color: var(--e-global-color-primary);          /* Fläche Dunkel */
  color: var(--e-global-color-accent);                      /* Hintergrund Hell */
}
.kb-bar .kb-bar__btn:not(.kb-bar__btn--hidden) ~ .kb-bar__btn:not(.kb-bar__btn--hidden)::before {
  content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 28px; transform: translateY(-50%);
  background-color: var(--e-global-color-5727eaa);          /* Fläche Sekundär */
}
.kb-bar .kb-bar__btn svg { width: 20px; height: 20px; display: block; }
.kb-bar .kb-bar__btn--hidden { display: none; }
@media (min-width: 1025px) { .elementor-location-footer .kb-bar-wrap { display: none !important; } }
/* Platz für die Kontaktleiste am Seitenende */
@media (max-width: 1024px) {
  body { padding-bottom: calc(48px + env(safe-area-inset-bottom) / 2); }
  /* Footer-Streifen: Elemente umbrechen statt seitlich überlaufen */
  .elementor-location-footer [data-id="c5ed152"] { flex-wrap: wrap; row-gap: 20px; }
}

/* Kontaktdaten im Footer-Streifen */
.elementor-location-footer .elementor-element-e9a4164 { flex: 0 0 auto; width: auto; }
.elementor-location-footer [data-id="c5194c7"] { flex: 0 1 auto; width: auto; }
.kb-footer-contact { display: flex; flex-direction: column; gap: 4px; font-style: normal; font-family: "Montserrat", sans-serif; font-size: 15px; line-height: 22px; color: var(--e-global-color-accent); /* Hintergrund Hell */ }
.kb-footer-contact a.kb-footer-contact__link { color: var(--e-global-color-secondary); /* Akzent Gold */ font-weight: 500; text-decoration: none; }
.kb-footer-contact a.kb-footer-contact__link:hover, .kb-footer-contact a.kb-footer-contact__link:focus-visible { color: var(--e-global-color-accent); /* Hintergrund Hell */ }
.kb-footer-contact .kb-footer-contact__note { font-size: 13px; line-height: 18px; }

/* Newsletter-Band, eine Gestaltung für alle Breiten: Text und Formular als zentrierter Block über dem Bild, helle Fläche (Hintergrund Hell, 60 % Deckkraft) dahinter.
   Block max. 720 px (Desktop), 560 px (Tablet und Mobil, auf schmalen Geräten volle Breite mit 24 px Rand). Innenabstand der Fläche 40 / 32 / 24 px.
   Band: Innenabstand oben und unten 96 / 72 / 56 px, seitlich 60 / 40 / 24 px. Bild füllt das Band, Ausschnitt mit dem Segelboot.
   Text zentriert in Fließtext-Schrift, Größe 15 / 24 px (Desktop und Tablet) bzw. 14 / 22 px (Mobil). E-Mail-Feld mindestens 16 px, damit iOS beim Antippen nicht zoomt. Abstand Text zu Formular 32 / 32 / 24 px.
   Feld und Button 52 px hoch und bündig, Abstand 12 px. Desktop und Tablet in einer Zeile (Feld füllt den Rest), Mobil untereinander.
   Platz für einen späteren Einwilligungshinweis: ein weiteres Element nach der Formularzeile erhält automatisch 12 px Abstand, 12 / 18 px Schrift, zentriert. */
.elementor-location-footer [data-id="0b4e51c"] { width: 100%; max-width: 100%; height: auto; min-height: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 96px 60px; box-sizing: border-box; overflow: hidden; background-position: 50% 62%; }
.elementor-location-footer [data-id="529b198"] { width: 100%; max-width: 720px; margin: 0 auto; padding: 40px; box-sizing: border-box; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 32px; background-color: rgba(248, 246, 241, 0.6); }
.elementor-location-footer .elementor-element.elementor-element-3c76d40[data-id="3c76d40"] { max-width: 100%; width: 100%; margin: 0; padding: 0; text-align: center; }
.elementor-location-footer .elementor-element.elementor-element-3c76d40[data-id="3c76d40"], .elementor-location-footer .elementor-element.elementor-element-3c76d40[data-id="3c76d40"] p { font-family: var(--e-global-typography-text-font-family), sans-serif; font-weight: var(--e-global-typography-text-font-weight); font-size: 15px; line-height: 24px; }
.elementor-location-footer .elementor-element.elementor-element-3c76d40[data-id="3c76d40"] p { margin: 0; }
.elementor-location-footer [data-id="f08159a"] { width: 100%; margin: 0; padding: 0; display: flex; flex-direction: row; align-items: stretch; justify-content: flex-start; gap: 12px; }
.elementor-location-footer [data-id="92ac2a4"] { flex: 1 1 auto; width: auto; min-width: 0; height: 52px; margin: 0; box-sizing: border-box; text-align: left; font-size: 16px; }
.elementor-location-footer [data-id="88c2890"] { flex: 0 0 auto; width: auto; height: 52px; margin: 0; padding: 0 24px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; }
.elementor-location-footer [data-id="529b198"] > :not([data-id="3c76d40"]):not([data-id="f08159a"]) { margin: -20px 0 0; font-size: 12px; line-height: 18px; text-align: center; }
@media (max-width: 1024px) {
  .elementor-location-footer [data-id="0b4e51c"] { padding: 72px 40px; }
  .elementor-location-footer [data-id="529b198"] { max-width: 560px; padding: 32px; }
}
@media (max-width: 767px) {
  .elementor-location-footer [data-id="0b4e51c"] { padding: 56px 24px; }
  .elementor-location-footer [data-id="529b198"] { padding: 24px; gap: 24px; }
  .elementor-location-footer [data-id="529b198"] > :not([data-id="3c76d40"]):not([data-id="f08159a"]) { margin-top: -12px; }
  .elementor-location-footer [data-id="f08159a"] { flex-direction: column; }
  .elementor-location-footer .elementor-element.elementor-element-3c76d40[data-id="3c76d40"], .elementor-location-footer .elementor-element.elementor-element-3c76d40[data-id="3c76d40"] p { font-size: 14px; line-height: 22px; }
  .elementor-location-footer [data-id="92ac2a4"], .elementor-location-footer [data-id="88c2890"] { flex: 0 0 auto; width: 100%; }
}


/* Footer-Links (Kontakt, Impressum, Datenschutz): auf schmalen Bildschirmen umbrechen statt abschneiden */
@media (max-width: 1024px) {
  .elementor-location-footer [data-id="c5194c7"] { flex-wrap: wrap; justify-content: center; max-width: 100%; }
}/* End custom CSS */