.elementor-178 .elementor-element.elementor-element-8c41879{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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 container, class: .elementor-element-8c41879 *//* ==== Kopf ====
   Uebertragen aus dem Prototyp (_teile/kopf.html, seite.css Kopf).
   Der Kopf klebt oben; kleben muss die Huelle der Vorlage, sonst klebt er
   nur innerhalb seiner eigenen Hoehe.

   Das Menue auf dem Telefon ist hier eine details-Klappe statt Knopf und
   Skript: der Premium-Addons-Konnektor laesst keine Skripte ein. Knopf,
   Lage und Einblenden sind wie im Prototyp; Escape schliesst nicht. */

.elementor-location-header { position: sticky; top: 0; z-index: 40; }
body.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .elementor-location-header { top: 46px; } }

/* Seitenweite Regeln, die nur hier einen festen Platz haben: */
/* 1. Hello setzt den Seitentitel als eigenes h1 vor den Inhalt. Jede Seite
      hat ihr h1 im Seitenkopf, der Titel wuerde doppeln. */
body.page .site-main > .page-header { display: none; }
/* 2. Hellos Sprunglink fuehrt zu main#content. Gestaltet wie im Prototyp. */
.skip-link.screen-reader-text:focus {
  clip: auto; clip-path: none; width: auto; height: auto; margin: 0; overflow: visible;
  position: absolute; left: 0; top: 0; z-index: 100000;
  padding: 0.9rem 1.4rem; background: #196714; color: #F8F7F4;
  border-radius: 0 0 10px 0; font-family: 'Be Vietnam Pro', system-ui, sans-serif;
  font-size: 0.9375rem; font-weight: 500; line-height: 1.65; text-decoration: none;
  outline: 2px solid #196714; outline-offset: 3px;
}
/* 3. Aktuelle Seite in der Navigation. Ohne Skript kein aria-current;
      die Markierung haengt an der Seiten-ID von WordPress. */
body.page-id-189 .kopf-nav a[data-seite="leistungen"],
body.page-id-242 .kopf-nav a[data-seite="sport"],
body.page-id-286 .kopf-nav a[data-seite="privatpatienten"],
body.page-id-337 .kopf-nav a[data-seite="kurse"],
body.page-id-363 .kopf-nav a[data-seite="team"],
body.page-id-392 .kopf-nav a[data-seite="kontakt"] { border-bottom-color: #196714; font-weight: 600; }
/* 4. Kicker und Rollenzeile sind im Prototyp Absaetze und erben deren
      Hoechstbreite von 62 Zeichen. Als Ueberschrift-Widget laeuft ihr
      Kasten sonst ueber die ganze Spalte - unsichtbar, aber nicht
      dasselbe. Gemessen am 20.09.2026 bei 768 px. */
.kicker .elementor-heading-title,
.rolle .elementor-heading-title { max-width: 62ch; }

.elementor-178 .elementor-element.elementor-element-8c41879 {
  --kurve: cubic-bezier(0.23, 1, 0.32, 1); --zeit-schnell: 140ms; --zeit-normal: 240ms;
  --rand: clamp(1.25rem, 5%, 5rem);
}
@media (prefers-reduced-motion: reduce) { .elementor-178 .elementor-element.elementor-element-8c41879 { --zeit-schnell: 100ms; --zeit-normal: 120ms; } }

.elementor-178 .elementor-element.elementor-element-8c41879 .kopf {
  position: relative;
  background: color-mix(in srgb, #F8F7F4 90%, transparent);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border-bottom: 1px solid #E7E4DC;
  color: #12110F; font-family: 'Be Vietnam Pro', system-ui, sans-serif;
  font-size: 1.0625rem; line-height: 1.65;
}
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf *, .elementor-178 .elementor-element.elementor-element-8c41879 .kopf *::before, .elementor-178 .elementor-element.elementor-element-8c41879 .kopf *::after { box-sizing: border-box; }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf a { color: inherit; }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf ul { margin: 0; padding: 0; }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf li { list-style: none; }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf img { display: block; max-width: 100%; }
.elementor-178 .elementor-element.elementor-element-8c41879 .bahn {
  width: 100%; max-width: 1600px; margin-inline: auto; padding-inline: var(--rand);
}
.elementor-178 .elementor-element.elementor-element-8c41879 a, .elementor-178 .elementor-element.elementor-element-8c41879 summary { touch-action: manipulation; -webkit-tap-highlight-color: rgba(25, 103, 20, .18); }
.elementor-178 .elementor-element.elementor-element-8c41879 :focus-visible { outline: 2px solid #196714; outline-offset: 3px; }
.elementor-178 .elementor-element.elementor-element-8c41879 :focus:not(:focus-visible) { outline: none; }

.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-inner { display: flex; align-items: center; gap: 1.5rem; min-height: 78px; padding-block: 0.7rem; }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-logo { display: flex; align-items: center; gap: 0.72rem; text-decoration: none; margin-right: auto; }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-logo img { height: 38px; width: auto; flex: none; transform: translateY(1px); }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-logo span { display: grid; gap: 3px; line-height: 1.05; }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-logo b {
  font-family: 'Epilogue', system-ui, sans-serif; font-weight: 400;
  font-size: 1.3125rem; letter-spacing: -0.015em;
}
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-logo i {
  font-style: normal; font-size: 0.6875rem; font-weight: 500;
  letter-spacing: 0.17em; text-transform: uppercase; color: #3A362F;
}

.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-nav ul { display: flex; gap: 1.5rem; }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-nav a {
  display: inline-block; padding-block: 0.55rem; font-size: 0.9375rem; text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: border-color var(--zeit-schnell) var(--kurve);
}
@media (hover: hover) and (pointer: fine) { .elementor-178 .elementor-element.elementor-element-8c41879 .kopf-nav a:hover { border-bottom-color: #196714; } }

.elementor-178 .elementor-element.elementor-element-8c41879 .knopf {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.6em;
  border-radius: 999px; font-family: 'Be Vietnam Pro', system-ui, sans-serif;
  font-size: 0.9375rem; font-weight: 500; letter-spacing: 0.02em;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  background: #196714; color: #F8F7F4; border: 1px solid #196714;
  transition: background-color var(--zeit-normal) var(--kurve), color var(--zeit-normal) var(--kurve), transform var(--zeit-schnell) var(--kurve);
}
@media (hover: hover) and (pointer: fine) { .elementor-178 .elementor-element.elementor-element-8c41879 .knopf:hover { background: #155610; border-color: #155610; } }
.elementor-178 .elementor-element.elementor-element-8c41879 .knopf:active { transform: translateY(1px); }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf a.knopf { color: #F8F7F4; }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-knopf { min-height: 48px; padding: 0.65rem 1.5rem; }

/* Menue auf dem Telefon: Klappe unter der Kopfzeile, Knopf rechts in der
   Zeile. Der Knopf steht absolut, weil er das erste Kind der Klappe sein
   muss, die Klappe aber unter der Zeile im Fluss liegt (wie im Prototyp). */
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-menue { display: none; }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-schalter {
  position: absolute; top: 15px; right: var(--rand);
  display: inline-flex; align-items: center; gap: 0.6rem;
  min-height: 48px; padding: 0.55rem 1.1rem;
  background: transparent; border: 1px solid #D6D2C8; border-radius: 999px;
  color: #12110F; font-size: 0.9375rem; font-weight: 500; line-height: 1.65;
  cursor: pointer; list-style: none; user-select: none;
}
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-schalter::-webkit-details-marker { display: none; }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-schalter .balken { position: relative; width: 18px; height: 2px; background: currentColor; border-radius: 999px; }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-schalter .balken::before, .elementor-178 .elementor-element.elementor-element-8c41879 .kopf-schalter .balken::after {
  content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: currentColor; border-radius: 999px;
}
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-schalter .balken::before { top: -6px; }
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-schalter .balken::after { top: 6px; }

/* Das Menue kommt aus der Kopfzeile und geht dorthin zurueck. */
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-menue::details-content {
  opacity: 0; transform: translateY(-8px);
  transition: opacity var(--zeit-normal) var(--kurve), transform var(--zeit-normal) var(--kurve), content-visibility var(--zeit-normal) allow-discrete;
}
.elementor-178 .elementor-element.elementor-element-8c41879 .kopf-menue[open]::details-content { opacity: 1; transform: translateY(0); }
.elementor-178 .elementor-element.elementor-element-8c41879 .mobilnav { border-top: 1px solid #E7E4DC; background: #F8F7F4; }
.elementor-178 .elementor-element.elementor-element-8c41879 .mobilnav ul { padding-block: 0.5rem; }
.elementor-178 .elementor-element.elementor-element-8c41879 .mobilnav a {
  display: block; padding: 0.95rem 0; border-bottom: 1px solid #E7E4DC;
  font-size: 1.0625rem; text-decoration: none;
}
.elementor-178 .elementor-element.elementor-element-8c41879 .mobilnav li:last-child a { border-bottom: 0; }

@media (max-width: 1060px) {
  .elementor-178 .elementor-element.elementor-element-8c41879 .kopf-nav, .elementor-178 .elementor-element.elementor-element-8c41879 .kopf-knopf { display: none; }
  .elementor-178 .elementor-element.elementor-element-8c41879 .kopf-menue { display: block; }
}/* End custom CSS */