/*!
 * Ergoteam Eifel – globales Design-Stylesheet (Design-Pass 25.10.2026, h1-media)
 * Geladen von wp-content/mu-plugins/ergoteam-design.php nach Divi.
 * Rollback: wp-content/mu-plugins/ergoteam-design.php löschen (dieses CSS wird dann nicht mehr geladen).
 * Spezifikation: after/design-pass/SPEC.md · Farben aus brand-guidelines.md (Logo-Teal nur Deko, Text-Teal #2B716D).
 * Nur CSS: keine Inhalte, Formulareinstellungen oder Bilder werden verändert.
 */

:root {
  --eg-teal: #62C0BB;        /* Logo-Teal – nur Flächen/Deko, nie Text auf Weiß */
  --eg-teal-text: #2B716D;   /* Links, Buttons, Akzente (5,7:1 auf Weiß) */
  --eg-teal-dark: #1F524F;   /* Hover von Teal-Text (8,8:1) */
  --eg-teal-card: #3C9B9B;   /* Balken/Linien */
  --eg-teal-tint: #EFF9F8;   /* Hinterlegung */
  --eg-ink: #212122;
  --eg-muted: #5C6066;
  --eg-paper: #F7F6F4;
  --eg-line: #E8E7E7;
  --eg-field: #80858C;       /* Feldrahmen, 3,7:1 auf Weiß */
  --eg-radius: 12px;
  --eg-radius-btn: 8px;
  --eg-s1: 8px; --eg-s2: 16px; --eg-s3: 24px; --eg-s4: 32px; --eg-s5: 48px; --eg-s6: 64px;
  --eg-font: 'Open Sans', Helvetica, Arial, sans-serif;
}

/* ---------- 1. Fokus (WCAG 2.4.7) ---------- */
html body :focus-visible {
  outline: 3px solid var(--eg-teal-text) !important;
  outline-offset: 2px !important;
  border-radius: 4px;
  transition: none !important; /* Divi-Menülinks haben transition:all – Fokusring sofort, nicht animiert */
}
html body .et_pb_bg_layout_dark :focus-visible,
html body #main-footer :focus-visible,
html body .et_pb_slider :focus-visible,
html body ._brlbs-caption :focus-visible {
  outline-color: #fff !important;
}
html { scroll-padding-top: 96px; }

/* ---------- 2. Header & Navigation ---------- */
#page-container header.et-l--header .et_pb_section { border-bottom: 1px solid var(--eg-line); }
#page-container .et_pb_row_1_tb_header.et_pb_row { padding-top: 10px !important; padding-bottom: 10px !important; }
/* Logo-Höhe schon im render-blockierenden CSS festlegen (Divi liefert sie erst im nachgeladenen CSS → Layout-Verschiebung) */
#page-container .et_pb_menu_0_tb_header .et_pb_menu__logo img { max-height: 64px; width: auto; }
#page-container .et_pb_menu_0_tb_header.et_pb_menu ul.et-menu > li > a {
  color: var(--eg-ink);
  font-size: 15px;
  text-decoration: none;
}
#page-container .et_pb_menu_0_tb_header.et_pb_menu ul.et-menu > li > a:hover { color: var(--eg-teal-text); opacity: 1; }
/* aktiver Menüpunkt: Teal statt Pink #ff008e (3,6:1) + Unterstrich als Nicht-Farb-Hinweis */
#page-container .et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item > a,
#page-container .et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-ancestor > a,
#page-container .et_pb_menu_0_tb_header.et_pb_menu ul:not(.sub-menu) > li.current-menu-ancestor > a {
  color: var(--eg-teal-text) !important;
}
#page-container .et_pb_menu_0_tb_header .et-menu-nav > ul > li.current-menu-item > a,
#page-container .et_pb_menu_0_tb_header .et-menu-nav > ul > li.current-menu-ancestor > a {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
}
/* Dropdown */
#page-container .et_pb_menu_0_tb_header .nav li ul.sub-menu {
  border-top: 3px solid var(--eg-teal) !important;
  border-radius: 0 0 var(--eg-radius-btn) var(--eg-radius-btn);
  box-shadow: 0 8px 24px rgba(33, 33, 34, .08);
  padding: 8px 0;
}
#page-container .et_pb_menu_0_tb_header .nav li ul.sub-menu li { padding: 0; }
#page-container .et_pb_menu_0_tb_header .nav li ul.sub-menu li a {
  padding: 10px 20px;
  width: 100%;
  font-size: 15px;
  line-height: 1.35;
  color: var(--eg-ink);
}
#page-container .et_pb_menu_0_tb_header .nav li ul.sub-menu li a:hover { background: var(--eg-teal-tint); color: var(--eg-teal-dark); opacity: 1; }
/* Dropdown per Tastatur (WCAG 2.1.1) */
#page-container .et_pb_menu_0_tb_header .nav li:focus-within > ul.sub-menu {
  visibility: visible;
  opacity: 1;
}
/* Mobil */
#page-container .et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before { color: var(--eg-teal-text) !important; }
#page-container .et_pb_menu_0_tb_header .et_mobile_menu {
  border-top: 3px solid var(--eg-teal) !important;
  padding: 8px 20px 16px !important;
  box-shadow: 0 12px 24px rgba(33, 33, 34, .08);
}
#page-container .et_pb_menu_0_tb_header .et_mobile_menu li a {
  font-size: 16px;
  padding: 12px 4px;
  color: var(--eg-ink);
  border-bottom: 1px solid var(--eg-line);
}
#page-container .et_pb_menu_0_tb_header .et_mobile_menu li.current-menu-item > a { color: var(--eg-teal-text) !important; font-weight: 600; }

/* ---------- 3. Hero (Divi-Slider) ---------- */
/* Lücke unter dem Header (mobil 50 px) */
#page-container #et-main-area .et_pb_section_0.et_pb_fullwidth_section { padding-top: 0 !important; padding-bottom: 0 !important; }
/* Bild immer füllend, unabhängig vom Foto (spätere Bildwechsel brauchen kein CSS) */
#page-container .et_pb_slider .et_pb_slide { background-size: cover !important; background-position: center center !important; }
/* dunklere, ruhige Überlagerung: weißer Fließtext >= 4,5:1 auch über hellen Bildstellen */
#page-container .et_pb_slider .et_pb_slide_overlay_container { background-color: rgba(31, 82, 79, .80) !important; } /* Teal-Dunkel #1F524F, weißer Text >= 5,3:1 */
/* Hero-Text sofort sichtbar: Divi-Einblendung (fadeBottom, ~1 s unsichtbar) aus – ruhiger, schneller lesbar */
#page-container .et_pb_slider .et_pb_slide_description { text-shadow: none; animation: none !important; opacity: 1 !important; }
#page-container .et_pb_slider .et_pb_slide_description .et_pb_slide_title {
  font-family: var(--eg-font) !important;
  font-size: clamp(28px, 1.6vw + 18px, 44px) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
  max-width: 22em;
  padding-bottom: 0 !important;
  margin-bottom: 12px;
  text-shadow: none !important;
}
#page-container .et_pb_slider .et_pb_slide_content {
  font-size: 18px !important;
  line-height: 1.55 !important;
  max-width: 40em;
  text-shadow: none !important;
}
#page-container .et_pb_slider .et_pb_button_wrapper { margin-top: 28px; }
#page-container .et_pb_slider .et_pb_slide_content,
#page-container .et_pb_slider .et_pb_slide_content p { text-align: left !important; }

/* ---------- 4. Buttons ---------- */
#page-container .et_pb_button,
#page-container .et_pb_contact_submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 24px !important;
  font-family: var(--eg-font) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-align: center;
  text-decoration: none !important;
  text-shadow: none !important;
  border: 2px solid var(--eg-teal-text) !important;
  border-radius: var(--eg-radius-btn) !important;
  background: #fff !important;           /* Standard = Sekundär (Kontur) */
  color: var(--eg-teal-text) !important;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
#page-container .et_pb_button:hover,
#page-container .et_pb_contact_submit:hover {
  padding: 12px 24px !important;
  background: var(--eg-teal-tint) !important;
  border-color: var(--eg-teal-dark) !important;
  color: var(--eg-teal-dark) !important;
}
#page-container .et_pb_button:before,
#page-container .et_pb_button:after,
#page-container .et_pb_contact_submit:after { display: none !important; }
/* Primär: Formular-Absenden */
#page-container .et_pb_contact_submit {
  background: var(--eg-teal-text) !important;
  color: #fff !important;
}
#page-container .et_pb_contact_submit:hover { background: var(--eg-teal-dark) !important; color: #fff !important; }
/* Primär auf dunklem Hero: weiß gefüllt, Teal-Text */
#page-container .et_pb_slider .et_pb_button {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--eg-teal-text) !important;
}
#page-container .et_pb_slider .et_pb_button:hover { background: var(--eg-teal-tint) !important; border-color: var(--eg-teal-tint) !important; color: var(--eg-teal-dark) !important; }

/* ---------- 5. Typografie im Inhalt ---------- */
#page-container #et-main-area .et_pb_text.et_pb_bg_layout_light,
#page-container #et-main-area .et_pb_promo.et_pb_bg_layout_light .et_pb_promo_description,
#page-container #et-main-area .et_pb_blurb.et_pb_bg_layout_light .et_pb_blurb_description {
  font-size: 17px;
  line-height: 1.65;
  color: var(--eg-ink);
}
#page-container #et-main-area .et_pb_bg_layout_light .et_pb_text_inner p,
#page-container #et-main-area .et_pb_bg_layout_light .et_pb_text_inner li { color: var(--eg-ink); }
#page-container #et-main-area .et_pb_text_inner h2,
#page-container #et-main-area .et_pb_promo_description h2 {
  font-family: var(--eg-font);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--eg-ink);
  margin: 1.5em 0 .5em;
  padding: 0;
}
#page-container #et-main-area .et_pb_text_inner h3 {
  font-family: var(--eg-font);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--eg-ink);
  margin: 1.4em 0 .4em;
  padding: 0;
}
#page-container #et-main-area .et_pb_text_inner h4,
#page-container #et-main-area .et_pb_blurb .et_pb_module_header {
  font-family: var(--eg-font);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  padding-bottom: 6px;
}
#page-container #et-main-area .et_pb_text_inner > :first-child { margin-top: 0; }
/* Zeilenlänge ca. 70 Zeichen */
#page-container #et-main-area .et_pb_text_inner > p,
#page-container #et-main-area .et_pb_text_inner > ul,
#page-container #et-main-area .et_pb_text_inner > ol { max-width: 70ch; }
#page-container #et-main-area .et_pb_text_inner > p[style*="center"] { margin-left: auto; margin-right: auto; }
/* Listen */
#page-container #et-main-area .et_pb_text_inner ul,
#page-container #et-main-area .et_pb_text_inner ol { padding: 0 0 1em 1.25em; }
#page-container #et-main-area .et_pb_text_inner li { margin-bottom: .4em; padding-left: .15em; }
#page-container #et-main-area :is(.et_pb_text_inner, .et_pb_blurb_description) li::marker { color: var(--eg-teal-text); }
#page-container #et-main-area .et_pb_bg_layout_light .et_pb_blurb_description ul { padding: 0 0 1em 1.25em; }
#page-container #et-main-area .et_pb_bg_layout_light .et_pb_blurb_description li { margin-bottom: .4em; }
/* Textlinks */
#page-container #et-main-area .et_pb_bg_layout_light .et_pb_text_inner a:not(.et_pb_button),
#page-container #et-main-area .et_pb_bg_layout_light .et_pb_blurb_description a,
#page-container #et-main-area .et_pb_bg_layout_light .et_pb_promo_description a { color: var(--eg-teal-text); text-decoration-thickness: 1px; }
#page-container #et-main-area .et_pb_bg_layout_light .et_pb_text_inner a:not(.et_pb_button):hover,
#page-container #et-main-area .et_pb_bg_layout_light .et_pb_blurb_description a:hover { color: var(--eg-teal-dark); text-decoration-thickness: 2px; }
/* Links auf dunklem Grund (Impressum/Datenschutz-Fußbereich) */
#page-container #et-main-area .et_pb_bg_layout_dark .et_pb_blurb_description a,
#page-container #et-main-area .et_pb_bg_layout_dark .et_pb_text_inner a:not(.et_pb_button) { color: #B0E0DD; }
#page-container #et-main-area .et_pb_code p a { text-decoration: underline; }
/* Überschriften in Blurb-Texten (Impressum) wie im Rest der Seite */
#page-container #et-main-area .et_pb_bg_layout_light .et_pb_blurb_description :is(h1, h2, h3, h4) { font-weight: 600; color: var(--eg-ink); padding-bottom: 4px; }
/* Datenschutz: fett gesetzte Zwischentitel („1. Zugriffsdaten …") als Überschrift lesbar (nur diese Seite; dort sind alle solchen Absätze Titel) */
body.page-id-28819 #page-container #et-main-area .et_pb_blurb_description p:has(> strong:only-child) { font-size: 19px; margin-top: 1.6em; padding-bottom: .4em; color: var(--eg-ink); }
/* Inline-Akzentfarbe aus dem Altbestand (#5bbeb9 = 2,2:1) auf Text-Teal */
#page-container #et-main-area [style*="5bbeb9"] { color: var(--eg-teal-text) !important; }

/* ---------- 6. Abstände (Abschnitte der neu aufgebauten Seiten) ---------- */
#page-container #et-main-area .et_pb_section.et_flex_section { padding-top: var(--eg-s5); padding-bottom: var(--eg-s5); }
#page-container #et-main-area .et_flex_section > .et_pb_row { padding-top: var(--eg-s2); padding-bottom: var(--eg-s2); }

/* Abschnitte, die nur strukturierte Daten (Code-Modul, unsichtbar) enthalten, erzeugen keine Leerfläche */
#page-container #et-main-area .et_pb_section:not(:has(.et_pb_module:not(.et_pb_code))) { padding-top: 0 !important; padding-bottom: 0 !important; }
#page-container #et-main-area .et_pb_section:not(:has(.et_pb_module:not(.et_pb_code))) > .et_pb_row { padding: 0 !important; }

/* ---------- 7. Karten ---------- */
/* Praxis-Adressen (Startseite) – Balken wie auf der Visitenkarte */
#page-container #et-main-area .eg-praxis {
  background: var(--eg-paper);
  border-left: 4px solid var(--eg-teal-card);
  border-radius: 0 var(--eg-radius) var(--eg-radius) 0;
  padding: var(--eg-s4);
  height: 100%;
}
#page-container #et-main-area .eg-praxis h2 { font-size: 24px; margin-bottom: .6em; }
/* Angebots-Teaser (Startseite) */
#page-container #et-main-area .et_flex_column > .eg-teaser { flex: 1 1 auto; }
#page-container #et-main-area .eg-teaser {
  background: #fff;
  border: 1px solid var(--eg-line);
  border-radius: var(--eg-radius);
  padding: var(--eg-s4);
}
#page-container #et-main-area .eg-teaser h2 { font-size: 24px; }
/* Seitenleiste „Termin & Kontakt" */
/* Info-Karten (Seitenleisten): wie die Adresskarten – Paper + Teal-Balken */
#page-container #et-main-area .eg-sidebar,
#page-container #et-main-area .et_pb_row:has(.et_pb_contact_form_container) > .et_pb_column:not(:has(.et_pb_contact_form_container)) :is(.et_pb_text, .et_pb_blurb) {
  background: var(--eg-paper);
  border-left: 4px solid var(--eg-teal-card);
  border-radius: 0 var(--eg-radius) var(--eg-radius) 0;
  padding: var(--eg-s3);
}
#page-container #et-main-area .eg-sidebar h2,
#page-container #et-main-area .eg-sidebar h3 { font-size: 20px; }
/* Inhaberinnen (Testimonial-Module) */
#page-container #et-main-area .et_pb_testimonial {
  background: #fff !important;
  border: 1px solid var(--eg-line);
  border-radius: var(--eg-radius);
  box-shadow: none !important;
  padding: var(--eg-s4) !important;
  height: 100%;
  display: flow-root; /* Porträt (float) bleibt in der Karte */
}
@media (min-width: 981px) {
  #page-container #et-main-area .et_pb_row:has(> .et_pb_column > .et_pb_testimonial) { display: flex; align-items: stretch; }
}
#page-container #et-main-area .et_pb_testimonial_portrait,
#page-container #et-main-area .et_pb_testimonial_portrait img { width: 96px !important; height: 96px !important; object-fit: cover; border-radius: 50%; }
#page-container #et-main-area .et_pb_testimonial .et_pb_testimonial_content { color: var(--eg-muted) !important; font-size: 17px !important; line-height: 1.6; }
#page-container #et-main-area .et_pb_testimonial_author { color: var(--eg-ink); font-weight: 600; }
#page-container #et-main-area .et_pb_testimonial_meta,
#page-container #et-main-area .et_pb_testimonial_company,
#page-container #et-main-area .et_pb_testimonial_position { color: var(--eg-muted); }
/* Bilder im Inhalt */
#page-container #et-main-area .et_pb_image img { border-radius: var(--eg-radius); object-fit: cover; }
#page-container #et-main-area .et_pb_image .et_pb_image_wrap { box-shadow: none !important; border-radius: var(--eg-radius) !important; }

/* ---------- 8. FAQ ---------- */
#page-container #et-main-area .et_pb_section:has(.eg-faq) { background-color: var(--eg-paper); }
#page-container #et-main-area .eg-faq .et_pb_text_inner h3 {
  border-top: 1px solid #D9D8D6;
  padding-top: 20px;
  margin-top: 24px;
  max-width: 56.7ch; /* = 70ch Fließtext bei 17 px */
}
#page-container #et-main-area .eg-faq .et_pb_text_inner h2 + h3 { margin-top: 16px; }

/* ---------- 9. CTA-Module (Promo) ---------- */
#page-container #et-main-area .et_pb_promo { padding-left: 0; padding-right: 0; }
#page-container #et-main-area .et_pb_promo_description h2 { margin-top: 0; }
#page-container #et-main-area .et_pb_promo .et_pb_button { width: 100%; }
@media (min-width: 981px) {
  /* drei CTA-Buttons nebeneinander gleich hoch (ein- und zweizeilige Beschriftung) */
  #page-container #et-main-area .et_pb_promo .et_pb_button { min-height: 70px; }
}

/* ---------- 10. Formulare (nur Optik) ---------- */
#page-container .et_pb_contact_form input.input,
#page-container .et_pb_contact_form textarea.input,
#page-container .et_pb_contact_form select,
#page-container .et_pb_contact_form .et_pb_contact_captcha {
  background: #fff !important;
  border: 1px solid var(--eg-field) !important;
  border-radius: var(--eg-radius-btn) !important;
  color: var(--eg-ink) !important;
  font-family: var(--eg-font) !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  padding: 13px 16px !important;
}
#page-container .et_pb_contact_form input.input:focus,
#page-container .et_pb_contact_form textarea.input:focus,
#page-container .et_pb_contact_form .et_pb_contact_captcha:focus { border-color: var(--eg-teal-text) !important; }
#page-container .et_pb_contact_form ::placeholder { color: var(--eg-muted) !important; opacity: 1; }
#page-container .et_pb_contact_form .et_pb_contact_field_options_title { color: var(--eg-ink); font-weight: 600; font-size: 16px; margin-bottom: 8px; }
#page-container .et_pb_contact_form .et_pb_contact_field_checkbox label,
#page-container .et_pb_contact_form .et_pb_contact_field_radio label { color: var(--eg-ink); font-size: 16px; }
#page-container .et_pb_contact_form .et_pb_contact_field_checkbox label i,
#page-container .et_pb_contact_form .et_pb_contact_field_radio label i { background: #fff !important; border: 1px solid var(--eg-field); }
#page-container .et_pb_contact_captcha_question { color: var(--eg-ink); font-size: 16px; }
/* Formular als ruhige Karte (Rahmen lag bisher direkt an den Feldern) */
#page-container .et_pb_contact_form_container {
  background: var(--eg-paper);
  border: 1px solid var(--eg-line) !important;
  border-radius: var(--eg-radius);
  padding: var(--eg-s4) !important;
}

/* ---------- 11. Karte / Borlabs-Platzhalter ---------- */
#page-container .et_pb_map_container ._brlbs-content-blocker,
#page-container .et_pb_map_container ._brlbs-embed { display: block; width: 100%; max-width: none; }
#page-container .et_pb_map_container ._brlbs-thumbnail { display: block; width: 100%; height: 360px; object-fit: cover; }
#page-container #et-main-area .et_pb_section:has(> .et_pb_map_container) { padding: 0 !important; }
/* Divi erzeugt je Karten-Pin einen eigenen Platzhalter – nur den ersten zeigen (Freigabe gilt für alle) */
#page-container .et_pb_map_container > .BorlabsCookie ~ .BorlabsCookie > ._brlbs-content-blocker,
#page-container .et_pb_map_container .BorlabsCookie .BorlabsCookie > ._brlbs-content-blocker,
#page-container .et_pb_section > .et_pb_map_container ~ .BorlabsCookie > ._brlbs-content-blocker { display: none; }
#page-container ._brlbs-caption { background: rgba(33, 33, 34, .88) !important; color: #fff; }
#page-container ._brlbs-caption a:not(._brlbs-btn) { color: #B0E0DD !important; }
#page-container ._brlbs-caption ._brlbs-btn {
  background: var(--eg-teal-text) !important;
  color: #fff !important;
  border-radius: var(--eg-radius-btn) !important;
  padding: 10px 20px !important;
  font-weight: 600;
}
#page-container ._brlbs-caption ._brlbs-btn:hover { background: var(--eg-teal-dark) !important; }

/* Cookie-Box: nur Farben auf AA-Kontrast (Bedienung unverändert) */
#BorlabsCookieBox ._brlbs-btn-accept-all { background: var(--eg-teal-text) !important; color: #fff !important; }
#BorlabsCookieBox ._brlbs-btn-accept-all:hover { background: var(--eg-teal-dark) !important; }
#BorlabsCookieBox #CookieBoxTextDescription a { color: var(--eg-teal-text) !important; }
#BorlabsCookieBox ._brlbs-legal a { color: var(--eg-muted) !important; }

/* ---------- 12. Footer & Nach-oben ---------- */
#page-container #main-footer { background-color: var(--eg-ink) !important; }
#page-container #footer-bottom { background-color: transparent !important; padding: 20px 0 !important; }
#page-container #footer-info { color: #C8CBD0 !important; font-size: 14px; line-height: 1.6; padding-bottom: 0; }
#page-container .et_pb_scroll_top.et-pb-icon { background: var(--eg-teal-text); }

/* ---------- 13. Karriere / Stellenanzeigen: Teal-Band mit Ink-Text (7,3:1 statt Weiß 2,2:1) ---------- */
body.page-id-29036 #page-container #et-main-area .et_pb_section_1 .et_pb_bg_layout_dark,
body.page-id-229797 #page-container #et-main-area .et_pb_section_1 .et_pb_bg_layout_dark,
body.page-id-229798 #page-container #et-main-area .et_pb_section_1 .et_pb_bg_layout_dark { color: var(--eg-ink) !important; }
body.page-id-29036 #page-container #et-main-area .et_pb_section_1 .et_pb_bg_layout_dark :is(h1, h2, h3, h4, p, .et-pb-icon, span),
body.page-id-229797 #page-container #et-main-area .et_pb_section_1 .et_pb_bg_layout_dark :is(h1, h2, h3, h4, p, .et-pb-icon, span),
body.page-id-229798 #page-container #et-main-area .et_pb_section_1 .et_pb_bg_layout_dark :is(h1, h2, h3, h4, p, .et-pb-icon, span) { color: var(--eg-ink) !important; text-shadow: none !important; }
body.page-id-29036 #page-container #et-main-area .et_pb_section_1 .et_pb_blurb,
body.page-id-29036 #page-container #et-main-area .et_pb_section_1 .et_pb_blurb * { text-align: center !important; }

/* ---------- 14. Responsiv ---------- */
@media (max-width: 980px) {
  /* Spalten auf Tablet/Handy untereinander (wie Divis eigene Block-Zeilen; vorher 2 × 50 % mit Silbenbruch) */
  #page-container #et-main-area .et_pb_row.et_flex_row { flex-wrap: wrap; row-gap: var(--eg-s3); }
  #page-container #et-main-area .et_pb_row.et_flex_row > .et_pb_column { width: 100% !important; }
}
@media (max-width: 767px) {
  #page-container #et-main-area .et_pb_section.et_flex_section { padding-top: var(--eg-s4); padding-bottom: var(--eg-s4); }
  #page-container #et-main-area .et_pb_text_inner h2,
  #page-container #et-main-area .et_pb_promo_description h2 { font-size: 25px; }
  #page-container #et-main-area .et_pb_text_inner h3 { font-size: 19px; }
  #page-container #et-main-area .eg-praxis h2,
  #page-container #et-main-area .eg-teaser h2 { font-size: 21px; }
  #page-container #et-main-area .eg-praxis,
  #page-container #et-main-area .eg-teaser,
  #page-container #et-main-area .et_pb_testimonial { padding: var(--eg-s3) !important; }
  #page-container #et-main-area h1,
  #page-container #et-main-area h2,
  #page-container #et-main-area h3 { overflow-wrap: break-word; }
  #page-container #et-main-area .et_flex_section > .et_pb_row { padding-top: var(--eg-s1); padding-bottom: var(--eg-s1); }
  #page-container .et_pb_contact_form_container { padding: var(--eg-s3) var(--eg-s2) !important; }
  #page-container .et_pb_slider .et_pb_slide_content { font-size: 16px !important; }
  #page-container .et_pb_map_container ._brlbs-thumbnail { height: 300px; }
}
@media (prefers-reduced-motion: reduce) {
  #page-container .et_pb_button, #page-container .et_pb_contact_submit { transition: none; }
}

/* === 2026-10-25 Formulare: sichtbare Feldbeschriftungen (WCAG 3.3.2) ===
   Divi blendet die <label> aller Felder mit display:none aus; sichtbar war nur der Platzhalter,
   der beim Tippen verschwindet. Nur Text-, E-Mail- und Nachrichtenfelder: Auswahl- und
   Ankreuzgruppen zeigen ihre Frage schon als .et_pb_contact_field_options_title. */
#page-container .et_pb_contact_form .et_pb_contact_field[data-type="input"] > label.et_pb_contact_form_label,
#page-container .et_pb_contact_form .et_pb_contact_field[data-type="email"] > label.et_pb_contact_form_label,
#page-container .et_pb_contact_form .et_pb_contact_field[data-type="text"] > label.et_pb_contact_form_label {
  display: block !important;
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--eg-ink);
}
/* Der Platzhalter wiederholt jetzt nur die Beschriftung: ausblenden, damit nichts doppelt steht. */
#page-container .et_pb_contact_form .et_pb_contact_field[data-type] input::placeholder,
#page-container .et_pb_contact_form .et_pb_contact_field[data-type] textarea::placeholder { color: transparent !important; }

/* === 2026-10-25 Skip-Link (aus mu-plugin ergoteam-a11y.php) + Menü-Tippfläche === */
.eg-skip-link {
  position: absolute; left: 16px; top: -100px; z-index: 100000;
  padding: 12px 18px; border-radius: 8px;
  background: var(--eg-teal-dark); color: #fff !important; font-weight: 600; text-decoration: none;
}
.eg-skip-link:focus { top: 16px; outline: 3px solid var(--eg-ink); outline-offset: 2px; }
/* Hamburger 32 px -> 44 px Tippfläche (WCAG 2.5.5), Symbol bleibt gleich groß. */
#page-container .et_pb_menu .mobile_nav .mobile_menu_bar { padding: 6px; margin: -6px; box-sizing: content-box; }
/* Such-Button im Blog-Widget: Kontrast */
#page-container #searchsubmit { background: var(--eg-teal-dark); color: #fff; border: 0; border-radius: 6px; padding: 0 14px; cursor: pointer; }

/* === 2026-10-25 SEO/UX: „Termin & Kontakt" auf Handy/Tablet vor den langen Text (Telefon war 9–14 Bildschirme tief) === */
@media (max-width: 980px) {
  #page-container .et_pb_column:has(> .eg-sidebar) { order: -1; margin-bottom: 8px; }
  #page-container .eg-sidebar { padding: 20px; border-radius: var(--eg-radius); background: var(--eg-teal-tint); }
  #page-container .eg-sidebar a[href^="tel:"] { display: inline-block; padding: 6px 0; font-weight: 600; }
}
/* Footer: Telefonnummern als Links (aus ergoteam-a11y.php) */
#page-container .eg-tel { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* === 2026-10-25 Anfahrt: OpenStreetMap-Karte (eigenes Bild, kein Google) + Routen-Buttons === */
#page-container .eg-anfahrt-head h2 { margin-bottom: 4px; }
#page-container .eg-anfahrt-card { background: #fff; border: 1px solid var(--eg-line); border-radius: var(--eg-radius); padding: 20px; }
#page-container .eg-sidebar.eg-anfahrt-card { background: var(--eg-paper); }
#page-container .eg-map { margin: 12px 0 14px; }
#page-container .eg-map img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; border: 1px solid var(--eg-line); }
#page-container .eg-map figcaption { margin-top: 4px; font-size: 13px; line-height: 1.4; color: var(--eg-muted); }
#page-container .eg-map figcaption a { color: inherit; }
#page-container .eg-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; }
#page-container .eg-nav-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px;
  border-radius: var(--eg-radius-btn); font-weight: 600; font-size: 16px; line-height: 1.2; text-decoration: none !important;
  border: 2px solid var(--eg-teal-dark); color: var(--eg-teal-dark) !important; background: #fff; transition: background .2s, color .2s;
}
#page-container .eg-nav-btn:hover, #page-container .eg-nav-btn:focus-visible { background: var(--eg-teal-dark); color: #fff !important; }
#page-container .eg-nav-btn:first-child { background: var(--eg-teal-dark); color: #fff !important; }
#page-container .eg-nav-btn:first-child:hover { background: #1F524F; }
#page-container .eg-nav-geo { display: none; }
/* Plattform (Klasse vom Skript in ergoteam-a11y.php): passende App zuerst, Android bekommt die App-Auswahl */
.eg-android #page-container .eg-nav-google { order: -1; }
.eg-android #page-container .eg-nav-geo { display: inline-flex; }
.eg-android #page-container .eg-nav-apple { display: none; }
.eg-android #page-container .eg-nav-btn:first-child { background: #fff; color: var(--eg-teal-dark) !important; }
.eg-android #page-container .eg-nav-google { background: var(--eg-teal-dark); color: #fff !important; }
@media (max-width: 600px) { #page-container .eg-nav-btn { flex: 1 1 100%; } }
@media (prefers-reduced-motion: reduce) { #page-container .eg-nav-btn { transition: none; } }
#page-container .eg-anfahrt .et_pb_row:has(.eg-anfahrt-head) { padding-bottom: 0; }
#page-container .eg-anfahrt .et_pb_row:has(.eg-anfahrt-head) + .et_pb_row { padding-top: 16px; }
