/*
Theme Name: Ergotherapie OnePage (Divi 5 Child)
Theme URI: https://ergotherapie-aichinger.at
Description: Divi 5 Child-Theme fuer die Ergotherapie-OnePage. Enthaelt das komplette Design-System (Farben, Typografie, Wellen, Formen, Icons) passend zum Layout-Import.
Author: Shinobi Frames
Author URI: https://shinobiframes.at
Template: Divi-3
Version: 1.0.0
Text Domain: ergotherapie-onepage
*/

/* Hinweis: "Template:" oben ist auf "Divi-3" gesetzt - so heisst der Ordner des
   Divi-Eltern-Themes auf diesem Server (wp-content/themes/Divi-3). Wird Divi
   spaeter neu hochgeladen und liegt dann in einem anders benannten Ordner, muss
   diese Zeile mitgezogen werden, sonst laesst sich das Child-Theme nicht mehr
   aktivieren. */

/* =========================================================
   0. LOKALE SCHRIFTEN (DSGVO - keine Google-Server-Aufrufe)
   ========================================================= */

@font-face {
  font-family: "EA Sans";
  src: url("fonts/manrope-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "EA Sans";
  src: url("fonts/manrope-semibold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "EA Sans";
  src: url("fonts/manrope-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "EA Script";
  src: url("fonts/caveat-semibold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* =========================================================
   1. DESIGN TOKENS
   Farben lassen sich zusaetzlich im Customizer aendern
   (Design -> Customizer -> "Ergotherapie - Grundeinstellungen")
   ========================================================= */

:root {
  --ea-ink: #33362f;          /* Ueberschriften */
  --ea-body: #5b6057;         /* Fliesstext */
  --ea-muted: #8b8f85;        /* Ueberzeilen, Kleintext */
  --ea-sage: #8a9a78;         /* Primaerfarbe */
  --ea-sage-dark: #748363;    /* Hover */
  --ea-sage-soft: #b9c6a6;    /* Handschrift-Akzent */
  --ea-sage-tint: #e6ebdd;    /* zarte Flaechen */
  --ea-cream: #faf8f4;        /* Grundflaeche */
  --ea-sand: #f4f1e8;         /* Baender */
  --ea-warm: #efe7d8;         /* Zitatband */
  --ea-white: #ffffff;
  --ea-line: #e6e1d6;         /* Rahmen, Trenner */

  --ea-body-size: 17px;
  --ea-h1-size: 56px;
  --ea-h2-size: 40px;
  --ea-line-height: 1.7;
  --ea-content-width: 1180px;
  --ea-radius: 26px;
  --ea-shadow: 0 20px 60px rgba(51, 54, 47, 0.08);
  --ea-shadow-soft: 0 8px 28px rgba(51, 54, 47, 0.06);

  --ea-space-section: clamp(64px, 7vw, 110px);
  --ea-gutter: clamp(24px, 3vw, 44px);

  /* Wellenformen */
  --ea-wave-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,100 H1440 V34 C1180,84 980,4 700,40 C455,71 235,8 0,52 Z'/%3E%3C/svg%3E");
  --ea-wave-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 H1440 V66 C1180,16 980,96 700,60 C455,29 235,92 0,48 Z'/%3E%3C/svg%3E");
  /* Organische Freistellung Heldenbild */
  --ea-hero-shape: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 620' preserveAspectRatio='none'%3E%3Cpath d='M62,0 C96,60 132,120 137,200 C141,275 128,332 96,392 C68,448 26,530 16,620 L700,620 L700,0 Z'/%3E%3C/svg%3E");
}

/* =========================================================
   2. GRUNDLAGEN
   ========================================================= */

html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}

body,
body.et-db,
.et-db #et-boc .et-l .et_pb_module,
.et_pb_module {
  font-family: "EA Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: var(--ea-body-size);
  line-height: var(--ea-line-height);
  color: var(--ea-body);
  -webkit-font-smoothing: antialiased;
}

body { background: var(--ea-cream); }

h1, h2, h3, h4, h5, h6 {
  font-family: "EA Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ea-ink);
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.16;
  padding-bottom: 0;
}

a { color: var(--ea-sage-dark); text-decoration: none; transition: color 0.25s ease; }
a:hover { color: var(--ea-ink); }

:focus-visible {
  outline: 2px solid var(--ea-sage);
  outline-offset: 3px;
  border-radius: 4px;
}

img { max-width: 100%; height: auto; }

/* =========================================================
   3. DIVI-RESET FUER UNSERE SEKTIONEN
   ========================================================= */

.ea-section {
  padding: var(--ea-space-section) 0;
  position: relative;
  overflow: hidden;
}

.ea-section .et_pb_row,
.ea-section .ea-row {
  width: 90%;
  max-width: var(--ea-content-width);
  margin: 0 auto;
  padding: 0;
}

.ea-section .et_pb_module { margin-bottom: 0; }
.ea-section p:last-of-type { padding-bottom: 0; }

/* Abstaende steuern die Module, nicht die Browser-Standardwerte */
.ea-section .et_pb_module h1,
.ea-section .et_pb_module h2,
.ea-section .et_pb_module h3,
.ea-section .et_pb_module h4 { margin: 0; }
.ea-section .et_pb_module p:first-child { margin-top: 0; }
.ea-section .et_pb_module p:last-child { margin-bottom: 0; }

.ea-section .ea-overline { margin-bottom: 14px; }
.ea-section .ea-h3 { margin-bottom: 8px; }
.ea-section .ea-handwritten { margin-bottom: 0; }

/* Eigenes, verlaessliches Spaltenraster:
   Divi-Spaltenbreiten werden bewusst ueberschrieben, gesteuert
   wird ueber die ea-col-* Klassen aus dem Layout-Import. */
.ea-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ea-gutter);
  align-items: flex-start;
}
.ea-row > .et_pb_column {
  width: auto !important;
  margin: 0 !important;
  flex: 1 1 0;
  min-width: 0;
}
.ea-row > .ea-col-1-2 { flex: 1 1 340px; }
.ea-row > .ea-col-2-5 { flex: 2 1 300px; }
.ea-row > .ea-col-3-5 { flex: 3 1 360px; }
.ea-row > .ea-col-1-5 { flex: 1 1 150px; }
.ea-row > .ea-col-1-6 { flex: 1 1 130px; }
.ea-row > .ea-col-full { flex: 1 1 100%; }

.ea-row.ea-align-center { align-items: center; }

/* Held und "Ueber mich" weichen bewusst vom 50/50-Raster ab */
.ea-hero .ea-row > .ea-hero-copy,
.ea-about .ea-row > .ea-about-media { flex: 0 0 43%; }
.ea-hero .ea-row > .ea-hero-media,
.ea-about .ea-row > .ea-about-copy { flex: 0 0 57%; }
.ea-row + .ea-row { margin-top: clamp(32px, 4vw, 56px); }

/* =========================================================
   4. TYPO-BAUSTEINE
   ========================================================= */

.ea-overline,
.ea-overline p {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--ea-muted);
  line-height: 1.4;
  margin: 0;
  padding-bottom: 0;
}

.ea-h1, .ea-h1 h1 {
  font-size: clamp(36px, 4.4vw, var(--ea-h1-size));
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--ea-ink);
}

.ea-h2, .ea-h2 h2 {
  font-size: clamp(28px, 3.2vw, var(--ea-h2-size));
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 1.18;
  color: var(--ea-ink);
}

.ea-h3, .ea-h3 h3 {
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ea-ink);
}

.ea-handwritten,
.ea-handwritten h2,
.ea-handwritten h3,
.ea-handwritten p {
  font-family: "EA Script", "Segoe Script", cursive;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.35;
  color: var(--ea-sage-soft);
  font-size: clamp(24px, 2.4vw, 30px);
}

.ea-copy p { margin-bottom: 18px; }
.ea-copy p:last-child { margin-bottom: 0; }
.ea-copy strong { color: var(--ea-ink); font-weight: 600; }

.ea-lead p {
  font-size: 17px;
  line-height: 1.75;
  max-width: 46ch;
}

.ea-center { text-align: center; }
.ea-center .ea-lead p,
.ea-center p { margin-left: auto; margin-right: auto; }

/* Zarte Trennlinie unter zentrierten Ueberschriften */
.ea-titleblock { text-align: center; }
.ea-titleblock .ea-rule {
  width: 54px;
  height: 1px;
  background: var(--ea-line);
  margin: 22px auto 0;
}

/* =========================================================
   5. BUTTONS
   ========================================================= */

.ea-button .et_pb_button,
.ea-button.et_pb_button,
a.ea-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background-color: var(--ea-sage) !important;
  background-image: var(--ea-icon-send-white) !important;
  background-repeat: no-repeat !important;
  background-position: left 30px center !important;
  background-size: 15px 15px !important;
  color: var(--ea-white) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 15px 30px 15px 52px !important;
  font-family: "EA Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  line-height: 1.2 !important;
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 10px 24px rgba(138, 154, 120, 0.28);
}

.ea-button .et_pb_button:hover,
.ea-button.et_pb_button:hover,
a.ea-btn:hover {
  background: var(--ea-sage-dark) !important;
  color: var(--ea-white) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(116, 131, 99, 0.32);
  padding: 15px 30px !important;
}

/* Divi haengt per Default ein Pfeil-Icon an - wir nutzen ein eigenes */
.ea-button .et_pb_button:after,
.ea-button.et_pb_button:after { display: none !important; }

.ea-button .et_pb_button:before,
.ea-button.et_pb_button:before,
a.ea-btn:before { content: none; display: none; }

.ea-button-outline .et_pb_button,
a.ea-btn-outline {
  background: transparent !important;
  color: var(--ea-sage-dark) !important;
  border: 1px solid var(--ea-sage) !important;
  box-shadow: none;
}
.ea-button-outline .et_pb_button:hover,
a.ea-btn-outline:hover {
  background: var(--ea-sage) !important;
  color: var(--ea-white) !important;
}

.ea-button-center { text-align: center; }

/* =========================================================
   6. KOPFBEREICH (Divi Standard-Header)
   ========================================================= */

#main-header {
  background: rgba(250, 248, 244, 0.92) !important;
  backdrop-filter: saturate(140%) blur(8px);
  box-shadow: none !important;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s ease, background 0.3s ease;
}
.et-fixed-header#main-header {
  background: rgba(250, 248, 244, 0.96) !important;
  border-bottom-color: var(--ea-line);
  box-shadow: 0 6px 24px rgba(51, 54, 47, 0.05) !important;
}

#main-header .container { width: 90%; max-width: var(--ea-content-width); }
#logo { max-height: 56px !important; }

#top-menu li a,
.et-fixed-header #top-menu li a {
  font-family: "EA Sans", sans-serif;
  font-size: 15px !important;
  font-weight: 500;
  color: var(--ea-body) !important;
  letter-spacing: 0.01em;
  padding-bottom: 20px;
  opacity: 1;
}
#top-menu li a:hover { color: var(--ea-ink) !important; opacity: 1; }

/* Unterstrich erscheint beim Ueberfahren und faehrt sanft ein.
   Kein Dauer-Unterstrich: WordPress vergibt bei einer Onepage die
   Klasse "current-menu-item" an jeden Sprungmarken-Link, weil die
   Adresse zur aktuellen Seite passt - dann waere alles unterstrichen. */
#top-menu li:not(.ea-cta):not(.menu-item-has-children) > a {
  position: relative;
}
#top-menu li:not(.ea-cta):not(.menu-item-has-children) > a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 12px;
  height: 1.5px;
  background: var(--ea-sage);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.25s ease;
}
#top-menu li:not(.ea-cta):not(.menu-item-has-children) > a:hover:after {
  transform: scaleX(1);
}

/* Menuepunkt mit CSS-Klasse "ea-cta" wird zur Pille */
#top-menu li.ea-cta { margin-left: 14px; }
#top-menu li.ea-cta > a {
  background: var(--ea-sage);
  color: var(--ea-white) !important;
  border-radius: 999px;
  padding: 11px 22px !important;
  line-height: 1.2;
  transition: background 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
#top-menu li.ea-cta > a:hover { background: var(--ea-sage-dark); color: var(--ea-white) !important; }
#top-menu li.ea-cta > a:before {
  content: "";
  width: 14px;
  height: 1.2em;
  align-self: center;
  vertical-align: top;
  background-color: currentColor;
  -webkit-mask: var(--ea-icon-send) center center / 14px 14px no-repeat;
  mask: var(--ea-icon-send) center center / 14px 14px no-repeat;
}
#top-menu li.ea-cta > a:after { display: none !important; }

.mobile_menu_bar:before { color: var(--ea-sage) !important; }
#mobile_menu { background: var(--ea-cream); border-top: 3px solid var(--ea-sage); }
#mobile_menu li a { color: var(--ea-body); border-bottom: 1px solid var(--ea-line); }

/* Standard-Divi-Footer aus, da die Seite einen eigenen Fussbereich mitbringt.
   Falls doch der Divi-Footer genutzt wird: naechste Regel loeschen. */
#main-footer { display: none; }

#et_search_icon:before { color: var(--ea-body); }

/* =========================================================
   7. HELD (Hero)
   ========================================================= */

.ea-hero {
  background: var(--ea-cream);
  padding: 0;
}

.ea-hero .ea-row {
  width: 100%;
  max-width: none;
  gap: 0;
  align-items: stretch;
}

.ea-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(56px, 8vw, 110px) clamp(24px, 4vw, 64px) clamp(64px, 8vw, 110px)
           max(24px, calc((100vw - var(--ea-content-width)) / 2));
}

.ea-hero-copy .ea-h1 { margin-bottom: 16px; }
.ea-hero-copy .ea-handwritten { margin-bottom: 22px; }
.ea-hero-copy .ea-lead { margin-bottom: 34px; }
.ea-hero-copy .ea-button { align-self: flex-start; }

.ea-hero-media {
  position: relative;
  min-height: clamp(340px, 46vw, 660px);
  align-self: stretch;
}

.ea-hero-media .et_pb_image,
.ea-hero-media .et_pb_image_wrap {
  height: 100%;
  width: 100%;
  display: block;
  margin: 0;
}

.ea-hero-media img {
  width: 100%;
  height: 100%;
  min-height: clamp(340px, 46vw, 660px);
  object-fit: cover;
  object-position: center;
  -webkit-mask-image: var(--ea-hero-shape);
  mask-image: var(--ea-hero-shape);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/* =========================================================
   8. SCHWERPUNKTE (Icon-Reihe)
   ========================================================= */

.ea-pillars { background: var(--ea-sand); }
.ea-pillars .ea-titleblock { margin-bottom: clamp(36px, 4vw, 54px); }

.ea-pillar {
  text-align: center;
  padding: 0 6px;
}
.ea-pillar .ea-icon { margin: 0 auto 18px; }
.ea-pillar h3 { font-size: 18px; margin-bottom: 10px; }
.ea-pillar p {
  font-size: 14px;
  line-height: 1.65;
  color: var(--ea-body);
}

/* =========================================================
   9. UEBER MICH
   ========================================================= */

.ea-about { background: var(--ea-white); padding: 0; }
.ea-about .ea-row {
  width: 100%;
  max-width: none;
  gap: 0;
  align-items: center;
}

.ea-about-media {
  position: relative;
  align-self: stretch;
  min-height: clamp(360px, 38vw, 520px);
  padding: 0;
}

.ea-about-media .et_pb_image,
.ea-about-media .et_pb_image_wrap { display: block; height: 100%; width: 100%; margin: 0; }

.ea-about-media img {
  width: 100%;
  height: 100%;
  min-height: clamp(360px, 38vw, 520px);
  object-fit: cover;
  object-position: center 22%;
  border-radius: 0 44% 44% 0 / 0 52% 48% 0;
}

/* Salbeigruener Kreis mit Handschrift */
.ea-badge {
  position: absolute;
  right: -12%;
  bottom: 13%;
  width: clamp(170px, 17vw, 250px);
  height: clamp(170px, 17vw, 250px);
  border-radius: 50%;
  background: var(--ea-sage);
  color: var(--ea-white);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 22px;
  z-index: 3;
  box-shadow: 0 16px 40px rgba(51, 54, 47, 0.12);
}
.ea-badge p {
  font-family: "EA Script", cursive;
  font-size: clamp(15px, 1.45vw, 20px);
  line-height: 1.45;
  color: var(--ea-white);
  margin: 0;
  padding: 0;
}

.ea-about-copy {
  padding: clamp(56px, 6vw, 96px) max(24px, calc((100vw - var(--ea-content-width)) / 2))
           clamp(56px, 6vw, 96px) clamp(32px, 10vw, 150px);
}
.ea-about-copy .ea-h2 { margin-bottom: 24px; }
.ea-about-copy .ea-copy { max-width: 52ch; }
.ea-about-copy .ea-handwritten { margin-top: 26px; }
.ea-about-copy .ea-signature { margin-top: 12px; }
.ea-about-copy .ea-signature p {
  font-family: "EA Script", cursive;
  font-size: 26px;
  color: var(--ea-sage-soft);
  margin: 6px 0 0;
}

/* ==========================================================
   10. LEISTUNGSBAND (salbeigruen)
   ========================================================== */

.ea-services {
  background:
    radial-gradient(120% 85% at 50% 0%, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0) 62%),
    var(--ea-sage);
  color: var(--ea-white);
  padding: clamp(56px, 6vw, 88px) 0;
}

/* Die botanische Ranke an den Raendern ist abgeschaltet.
   Wieder einblenden: die naechste Regel loeschen.
   Nur schwaecher haben: dort "display: none" entfernen und in
   ".ea-services:before" die Deckkraft von 0.14 verringern. */
.ea-services:before,
.ea-services:after { display: none !important; }

/* zarte botanische Struktur an den Raendern */
.ea-services:before,
.ea-services:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 170px;
  background: var(--ea-leaf-pattern) left center / 170px 100% no-repeat;
  opacity: 0.14;
  pointer-events: none;
}
.ea-services:before { left: 0; }
.ea-services:after { right: 0; transform: scaleX(-1); }

.ea-services .ea-overline,
.ea-services .ea-overline p { color: rgba(255, 255, 255, 0.72); }
.ea-services .ea-h2,
.ea-services .ea-h2 h2 { color: var(--ea-white); }
.ea-services .ea-titleblock { margin-bottom: clamp(34px, 4vw, 52px); }
.ea-services .ea-titleblock .ea-rule { background: rgba(255, 255, 255, 0.35); }

.ea-service {
  text-align: center;
  padding: 0 4px;
}
.ea-service .ea-icon {
  margin: 0 auto 16px;
  background: var(--ea-white);
}
.ea-service p,
.ea-service h3 {
  color: var(--ea-white);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  margin: 0;
}

/* ==========================================================
   11. ZITATBAND
   ========================================================== */

.ea-quote {
  background:
    linear-gradient(180deg, rgba(250, 248, 244, 0.55), rgba(239, 231, 216, 0.72)),
    linear-gradient(120deg, var(--ea-warm), #f6efe2 55%, var(--ea-sand));
  background-size: cover;
  background-position: center;
  text-align: center;
  padding: clamp(72px, 9vw, 130px) 0 clamp(96px, 11vw, 160px);
}

/* Wenn in Divi ein Hintergrundbild gesetzt wird, legt sich dieser
   Schleier darueber, damit der Text lesbar bleibt. */
.ea-quote > .et_pb_background_pattern,
.ea-quote:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(250, 248, 244, 0.5), rgba(244, 241, 232, 0.65));
  pointer-events: none;
}
.ea-quote .et_pb_row { position: relative; z-index: 2; }

.ea-quote .ea-quote-text p,
.ea-quote .ea-quote-text h2 {
  font-family: "EA Script", cursive;
  font-size: clamp(34px, 4.6vw, 58px);
  line-height: 1.25;
  color: var(--ea-ink);
  margin: 0;
}
.ea-quote .ea-quote-line2 { display: block; padding-left: 8%; }
.ea-quote .ea-quote-sub { margin-top: 30px; }
.ea-quote .ea-quote-sub p {
  font-size: 16px;
  color: var(--ea-body);
}

.ea-wave-bottom:after {
  content: "";
  position: absolute;
  left: -1px;
  right: -1px;
  bottom: -1px;
  height: clamp(44px, 6vw, 92px);
  background: var(--ea-wave-color, var(--ea-cream));
  -webkit-mask-image: var(--ea-wave-up);
  mask-image: var(--ea-wave-up);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  z-index: 3;
  pointer-events: none;
}

.ea-wave-top:before {
  content: "";
  position: absolute;
  left: -1px;
  right: -1px;
  top: -1px;
  height: clamp(40px, 5vw, 76px);
  background: var(--ea-wave-color-top, var(--ea-white));
  -webkit-mask-image: var(--ea-wave-down);
  mask-image: var(--ea-wave-down);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  z-index: 3;
  pointer-events: none;
}

/* ==========================================================
   12. KONTAKT
   ========================================================== */

.ea-contact { background: var(--ea-cream); }
.ea-contact .ea-titleblock { margin-bottom: clamp(38px, 4vw, 56px); }

.ea-details p {
  margin: 0 0 26px;
  padding: 0 0 0 56px;
  position: relative;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ea-body);
}
.ea-details p:last-child { margin-bottom: 0; }
.ea-details strong {
  display: block;
  color: var(--ea-ink);
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 4px;
}
.ea-details a { color: var(--ea-body); }
.ea-details a:hover { color: var(--ea-sage-dark); }

/* Icon-Kreise vor den Kontaktzeilen (Reihenfolge = Adresse, Telefon, Mail, Zeiten) */
.ea-details p:after {
  content: "";
  position: absolute;
  left: 2px;
  top: 1px;
  width: 30px;
  height: 30px;
  background: var(--ea-sage);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.ea-details strong { margin-bottom: 6px; }
.ea-details p:nth-of-type(1):after { -webkit-mask-image: var(--ea-icon-pin);   mask-image: var(--ea-icon-pin); }
.ea-details p:nth-of-type(2):after { -webkit-mask-image: var(--ea-icon-phone); mask-image: var(--ea-icon-phone); }
.ea-details p:nth-of-type(3):after { -webkit-mask-image: var(--ea-icon-mail);  mask-image: var(--ea-icon-mail); }
.ea-details p:nth-of-type(4):after { -webkit-mask-image: var(--ea-icon-clock); mask-image: var(--ea-icon-clock); }

/* Formular */
.ea-contact-form .et_pb_contact_field {
  padding: 0 !important;
  margin: 0 0 14px !important;
  width: 100%;
  float: none;
}

/* Zeile 1: Name und E-Mail nebeneinander, danach volle Breite.
   Funktioniert ueber die vergebenen Klassen und zusaetzlich ueber die
   Reihenfolge - falls Divi die Klassen am Feld nicht ausgibt. */
.ea-contact-form .ea-field-half,
.ea-contact-form .et_pb_contact_field:nth-child(1),
.ea-contact-form .et_pb_contact_field:nth-child(2) {
  width: calc(50% - 7px);
  float: left;
}
.ea-contact-form .ea-field-half + .ea-field-half,
.ea-contact-form .et_pb_contact_field:nth-child(2) { margin-left: 14px !important; }

.ea-contact-form .ea-field-full,
.ea-contact-form .et_pb_contact_field:nth-child(n + 3) {
  width: 100%;
  float: none;
  clear: both;
  margin-left: 0 !important;
}

.ea-contact-form .et_pb_contact_form_label { display: none; }

.ea-contact-form input[type="text"],
.ea-contact-form input[type="email"],
.ea-contact-form input[type="tel"],
.ea-contact-form textarea,
.ea-contact-form .et_pb_contact_field .input {
  width: 100%;
  background: var(--ea-white) !important;
  border: 1px solid var(--ea-line) !important;
  border-radius: 12px !important;
  padding: 15px 18px !important;
  font-family: "EA Sans", sans-serif !important;
  font-size: 15px !important;
  color: var(--ea-ink) !important;
  box-shadow: none !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.ea-contact-form textarea { min-height: 160px; resize: vertical; }

.ea-contact-form input::placeholder,
.ea-contact-form textarea::placeholder { color: var(--ea-muted) !important; opacity: 1; }

.ea-contact-form input:focus,
.ea-contact-form textarea:focus {
  border-color: var(--ea-sage) !important;
  box-shadow: 0 0 0 3px rgba(138, 154, 120, 0.16) !important;
  outline: none;
}

.ea-contact-form .et_pb_contact_submit,
.ea-contact-form .et_pb_button {
  background-color: var(--ea-sage) !important;
  background-image: var(--ea-icon-send-white) !important;
  background-repeat: no-repeat !important;
  background-position: left 30px center !important;
  background-size: 15px 15px !important;
  color: var(--ea-white) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 15px 32px 15px 52px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: "EA Sans", sans-serif !important;
  box-shadow: 0 10px 24px rgba(138, 154, 120, 0.28);
  transition: background 0.25s ease, transform 0.25s ease;
}
.ea-contact-form .et_pb_contact_submit:hover {
  background: var(--ea-sage-dark) !important;
  transform: translateY(-2px);
  padding: 15px 32px !important;
}
.ea-contact-form .et_pb_contact_submit:after { display: none !important; }
.ea-contact-form .et_pb_contact_submit:before { content: none; display: none; }
.ea-contact-form .et_contact_bottom_container { float: none; text-align: left; margin-top: 8px; }

.ea-contact .ea-formnote { margin-top: 18px; }
.ea-formnote p {
  font-size: 13px;
  line-height: 1.6;
  color: var(--ea-muted);
}

/* ==========================================================
   13. FUSSBEREICH (als Sektion im Layout)
   ========================================================== */

.ea-footer {
  background: var(--ea-white);
  padding: clamp(34px, 4vw, 52px) 0;
  border-top: 1px solid var(--ea-line);
}
.ea-footer .ea-row { align-items: center; }
.ea-footer p {
  font-size: 14px;
  color: var(--ea-muted);
  margin: 0;
}
.ea-footer a { color: var(--ea-muted); }
.ea-footer a:hover { color: var(--ea-sage-dark); }
.ea-footer-links p { display: flex; gap: 26px; justify-content: center; flex-wrap: wrap; }
.ea-footer-copy p { text-align: right; }

.ea-footer-brand p {
  font-size: 15px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ea-ink);
  position: relative;
  padding-left: 40px;
}
.ea-footer-brand p:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 34px;
  background: var(--ea-sage);
  -webkit-mask: var(--ea-icon-leaf) center / contain no-repeat;
  mask: var(--ea-icon-leaf) center / contain no-repeat;
}
.ea-footer-brand span {
  display: block;
  font-family: "EA Script", cursive;
  font-size: 19px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ea-sage);
}

/* ==========================================================
   14. ICON-BAUSTEIN
   ========================================================== */

.ea-icon {
  display: block;
  width: 40px;
  height: 40px;
  background: var(--ea-sage);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* Icon-Set: als CSS-Maske eingebunden, faerbt sich ueber background-color */
:root {
  --ea-icon-send: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M21.5%202.5%202.5%209.8l7.3%202.9%202.9%207.3z%22/%3E%3Cpath%20d=%22M21.5%202.5%209.8%2012.7%22/%3E%3C/svg%3E");
  --ea-icon-leaf: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%2022V9%22/%3E%3Cpath%20d=%22M12%209C12%209%205.5%208.6%204.2%203.4%209.6%202.6%2012%209%2012%209z%22/%3E%3Cpath%20d=%22M12%2013c0%200%206.5-.4%207.8-5.6C14.4%206.6%2012%2013%2012%2013z%22/%3E%3Cpath%20d=%22M12%2015.5c0%200-5.4-.3-6.5-4.6%204.5-.7%206.5%204.6%206.5%204.6z%22/%3E%3C/svg%3E");
  --ea-icon-kinder: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%224.6%22%20r=%222.1%22/%3E%3Cpath%20d=%22M12%208.2v6.4%22/%3E%3Cpath%20d=%22M7.6%2010.4h8.8%22/%3E%3Cpath%20d=%22M9.3%2020.8%2012%2014.6l2.7%206.2%22/%3E%3C/svg%3E");
  --ea-icon-jugendliche: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%229%22%20cy=%227.4%22%20r=%222.6%22/%3E%3Cpath%20d=%22M3.8%2020.2c0-3%202.3-5.2%205.2-5.2s5.2%202.2%205.2%205.2%22/%3E%3Ccircle%20cx=%2216.6%22%20cy=%228.6%22%20r=%222%22/%3E%3Cpath%20d=%22M15.4%2015.2c2.9-.3%204.8%201.7%204.8%205%22/%3E%3C/svg%3E");
  --ea-icon-erwachsene: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%228%22%20r=%223%22/%3E%3Cpath%20d=%22M5.6%2020.6c0-3.6%202.9-6.2%206.4-6.2s6.4%202.6%206.4%206.2%22/%3E%3Cpath%20d=%22M18.4%204.4c1%200%201.8.8%201.8%201.8%200%201.5-1.8%202.8-1.8%202.8s-1.8-1.3-1.8-2.8c0-1%20.8-1.8%201.8-1.8z%22/%3E%3C/svg%3E");
  --ea-icon-alltag: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3.6%2011.4%2012%204.5l8.4%206.9%22/%3E%3Cpath%20d=%22M5.6%2012.9v6.6a1%201%200%200%200%201%201h10.8a1%201%200%200%200%201-1v-6.6%22/%3E%3Cpath%20d=%22M10%2020.5v-4.7h4v4.7%22/%3E%3C/svg%3E");
  --ea-icon-herz: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%2020.6C12%2020.6%203.8%2015.6%203.8%209.9A4.1%204.1%200%200%201%2012%207.6a4.1%204.1%200%200%201%208.2%202.3c0%205.7-8.2%2010.7-8.2%2010.7z%22/%3E%3C/svg%3E");
  --ea-icon-befund: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%225.2%22%20y=%224.6%22%20width=%2213.6%22%20height=%2216.2%22%20rx=%222%22/%3E%3Cpath%20d=%22M9.2%204.6V3.4h5.6v1.2%22/%3E%3Cpath%20d=%22M9.4%2012.6l1.9%201.9%203.6-3.6%22/%3E%3Cpath%20d=%22M9.4%2017.4h5.2%22/%3E%3C/svg%3E");
  --ea-icon-therapie: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212.4%22%20r=%227%22/%3E%3Ccircle%20cx=%2212%22%20cy=%2212.4%22%20r=%223.2%22/%3E%3Ccircle%20cx=%2212%22%20cy=%2212.4%22%20r=%22.7%22/%3E%3Cpath%20d=%22M17.2%207.2%2020.4%204%22/%3E%3Cpath%20d=%22M18.2%203.2v2.6h2.6%22/%3E%3C/svg%3E");
  --ea-icon-neurologie: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%206.4a3%203%200%200%200-5.4%201.8%202.6%202.6%200%200%200-1.4%202.3c0%20.8.4%201.6%201%202.1a2.7%202.7%200%200%200%201.8%204.5%202.8%202.8%200%200%200%204%20.8z%22/%3E%3Cpath%20d=%22M12%206.4a3%203%200%200%201%205.4%201.8%202.6%202.6%200%200%201%201.4%202.3c0%20.8-.4%201.6-1%202.1a2.7%202.7%200%200%201-1.8%204.5%202.8%202.8%200%200%201-4%20.8z%22/%3E%3Cpath%20d=%22M12%206.4v11.5%22/%3E%3C/svg%3E");
  --ea-icon-elektro: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M2.8%2012.4h3.6l2.2-5.6%203.4%2011.2%202.4-5.6h6.8%22/%3E%3C/svg%3E");
  --ea-icon-eltern: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%228.6%22%20cy=%228%22%20r=%222.4%22/%3E%3Cpath%20d=%22M4%2019.4c0-2.7%202.1-4.6%204.6-4.6s4.6%201.9%204.6%204.6%22/%3E%3Ccircle%20cx=%2216.4%22%20cy=%229.4%22%20r=%222%22/%3E%3Cpath%20d=%22M15.2%2015.4c2.8-.4%204.8%201.4%204.8%204%22/%3E%3C/svg%3E");
  --ea-icon-hausbesuch: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3.6%2011%2012%204.4l8.4%206.6%22/%3E%3Cpath%20d=%22M5.6%2012.4v7a1%201%200%200%200%201%201h10.8a1%201%200%200%200%201-1v-7%22/%3E%3Cpath%20d=%22M12%2018.2s-3-1.9-3-3.9a1.6%201.6%200%200%201%203-.8%201.6%201.6%200%200%201%203%20.8c0%202-3%203.9-3%203.9z%22/%3E%3C/svg%3E");
  --ea-icon-pin: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M12%2021.2s7-5.9%207-11a7%207%200%201%200-14%200c0%205.1%207%2011%207%2011z%22/%3E%3Ccircle%20cx=%2212%22%20cy=%2210%22%20r=%222.6%22/%3E%3C/svg%3E");
  --ea-icon-phone: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%226.6%22%20y=%222.6%22%20width=%2210.8%22%20height=%2218.8%22%20rx=%222.4%22/%3E%3Cpath%20d=%22M10.4%2018.4h3.2%22/%3E%3C/svg%3E");
  --ea-icon-mail: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%222.8%22%20y=%225.2%22%20width=%2218.4%22%20height=%2213.6%22%20rx=%222.2%22/%3E%3Cpath%20d=%22m3.6%207%208.4%206%208.4-6%22/%3E%3C/svg%3E");
  --ea-icon-clock: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%228.4%22/%3E%3Cpath%20d=%22M12%207.2V12l3.2%202%22/%3E%3C/svg%3E");
}

.ea-icon--kinder { -webkit-mask-image: var(--ea-icon-kinder); mask-image: var(--ea-icon-kinder); }
.ea-icon--jugendliche { -webkit-mask-image: var(--ea-icon-jugendliche); mask-image: var(--ea-icon-jugendliche); }
.ea-icon--erwachsene { -webkit-mask-image: var(--ea-icon-erwachsene); mask-image: var(--ea-icon-erwachsene); }
.ea-icon--alltag { -webkit-mask-image: var(--ea-icon-alltag); mask-image: var(--ea-icon-alltag); }
.ea-icon--herz { -webkit-mask-image: var(--ea-icon-herz); mask-image: var(--ea-icon-herz); }
.ea-icon--befund { -webkit-mask-image: var(--ea-icon-befund); mask-image: var(--ea-icon-befund); }
.ea-icon--therapie { -webkit-mask-image: var(--ea-icon-therapie); mask-image: var(--ea-icon-therapie); }
.ea-icon--neurologie { -webkit-mask-image: var(--ea-icon-neurologie); mask-image: var(--ea-icon-neurologie); }
.ea-icon--elektro { -webkit-mask-image: var(--ea-icon-elektro); mask-image: var(--ea-icon-elektro); }
.ea-icon--eltern { -webkit-mask-image: var(--ea-icon-eltern); mask-image: var(--ea-icon-eltern); }
.ea-icon--hausbesuch { -webkit-mask-image: var(--ea-icon-hausbesuch); mask-image: var(--ea-icon-hausbesuch); }
.ea-icon--pin { -webkit-mask-image: var(--ea-icon-pin); mask-image: var(--ea-icon-pin); }
.ea-icon--phone { -webkit-mask-image: var(--ea-icon-phone); mask-image: var(--ea-icon-phone); }
.ea-icon--mail { -webkit-mask-image: var(--ea-icon-mail); mask-image: var(--ea-icon-mail); }
.ea-icon--clock { -webkit-mask-image: var(--ea-icon-clock); mask-image: var(--ea-icon-clock); }

/* ==========================================================
   15. RESPONSIV
   ========================================================== */

@media (max-width: 1100px) {
  .ea-hero-copy { padding-left: max(24px, 5vw); }
  .ea-about-copy { padding-right: max(24px, 5vw); }
}

@media (max-width: 980px) {
  .ea-row > .ea-col-1-5,
  .ea-row > .ea-col-1-6 { flex: 1 1 40%; }
  .ea-quote .ea-quote-line2 { padding-left: 0; }
}

@media (max-width: 780px) {
  :root { --ea-space-section: 56px; }

  .ea-hero { padding-top: 24px; }
  .ea-hero .ea-row { flex-direction: column-reverse; }
  .ea-hero-copy {
    padding: 34px 6vw 56px;
    text-align: left;
    flex: 1 1 100%;
  }
  .ea-hero-media { flex: 1 1 100%; min-height: 300px; width: 100%; }
  .ea-hero-media img {
    min-height: 300px;
    -webkit-mask-image: none;
    mask-image: none;
    border-radius: 0 0 60px 60px;
  }

  .ea-about .ea-row { flex-direction: column; }
  .ea-about-media { flex: 1 1 100%; width: 100%; min-height: 340px; }
  .ea-about-media img {
    min-height: 340px;
    border-radius: 0 0 46% 46% / 0 0 18% 18%;
  }
  .ea-badge {
    right: 6vw;
    bottom: -40px;
    width: 140px;
    height: 140px;
  }
  .ea-about-copy { flex: 1 1 100%; padding: 72px 6vw 56px; }

  .ea-row > .ea-col-1-5,
  .ea-row > .ea-col-1-6 { flex: 1 1 44%; }

  .ea-contact-form .et_pb_contact_field,
  .ea-contact-form .ea-field-half,
  .ea-contact-form .et_pb_contact_field:nth-child(1),
  .ea-contact-form .et_pb_contact_field:nth-child(2) {
    width: 100%;
    float: none;
    margin-left: 0 !important;
  }

  .ea-footer .ea-row { text-align: center; }
  .ea-footer-copy p,
  .ea-footer-brand p { text-align: center; }
  .ea-footer-brand p { padding-left: 0; padding-top: 42px; }
  .ea-footer-brand p:before { left: 50%; top: 0; transform: translateX(-50%); }
  .ea-footer-links p { justify-content: center; }

  .ea-services:before,
  .ea-services:after { width: 130px; opacity: 0.1; }
}

@media (max-width: 540px) {
  .ea-row > .ea-col-1-5,
  .ea-row > .ea-col-1-6 { flex: 1 1 100%; }
  .ea-details p { padding-left: 48px; }
}

/* Herz als Grafik statt als Schriftzeichen.
   Grund: iOS ersetzt das Zeichen U+2665 automatisch durch das
   rote Emoji aus der System-Schrift - am Rechner bleibt es Text,
   am iPhone wird es rot. Als Maske eingebunden nimmt es immer
   die umgebende Textfarbe an. */
:root {
  --ea-icon-heart-solid: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22%23000000%22%3E%3Cpath%20d=%22M12%2021.1C12%2021.1%202.6%2015.3%202.6%208.9A4.7%204.7%200%200%201%2012%207.1a4.7%204.7%200%200%201%209.4%201.8c0%206.4-9.4%2012.2-9.4%2012.2z%22/%3E%3C/svg%3E");
}

html body .ea-heart {
  display: inline-block !important;
  width: 0.92em !important;
  height: 0.92em !important;
  vertical-align: -0.08em !important;
  margin-left: 0.12em !important;
  background-color: currentColor !important;
  background-image: none !important;
  -webkit-mask-image: var(--ea-icon-heart-solid) !important;
  mask-image: var(--ea-icon-heart-solid) !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
}

/* Weisses Sendesymbol fuer Buttons (als Hintergrundbild) */
:root {
  --ea-icon-send-white: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%20-0.7%2024%2024%22%20fill=%22none%22%20stroke=%22%23ffffff%22%20stroke-width=%221.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M21.5%202.5%202.5%209.8l7.3%202.9%202.9%207.3z%22/%3E%3Cpath%20d=%22M21.5%202.5%209.8%2012.7%22/%3E%3C/svg%3E");
}

/* Botanische Struktur im Leistungsband */
:root {
  --ea-leaf-pattern: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20170%20600%22%20preserveAspectRatio=%22xMinYMid%20slice%22%3E%3Cpath%20d=%22M52%20600%20C40%20470%2066%20380%2050%20260%20C38%20170%2062%2090%2054%200%22%20fill=%22none%22%20stroke=%22%23ffffff%22%20stroke-width=%221.6%22%20opacity=%220.85%22/%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.9%22%3E%3Cg%20transform=%22translate(52%2030)%20rotate(18)%20scale(1.0)%22%3E%3Cpath%20d=%22M0%200%20C4%20-14%2015%20-25%2031%20-31%20C27%20-13%2015%20-4%200%200z%22/%3E%3Cpath%20d=%22M0%200%20C10%20-9%2020%20-18%2029%20-29%22%20fill=%22none%22%20stroke=%22%23ffffff%22%20stroke-width=%221.2%22%20opacity=%220.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.9%22%3E%3Cg%20transform=%22translate(52%2092)%20rotate(-18)%20scale(-1.0)%22%3E%3Cpath%20d=%22M0%200%20C4%20-14%2015%20-25%2031%20-31%20C27%20-13%2015%20-4%200%200z%22/%3E%3Cpath%20d=%22M0%200%20C10%20-9%2020%20-18%2029%20-29%22%20fill=%22none%22%20stroke=%22%23ffffff%22%20stroke-width=%221.2%22%20opacity=%220.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.9%22%3E%3Cg%20transform=%22translate(52%20154)%20rotate(18)%20scale(1.0)%22%3E%3Cpath%20d=%22M0%200%20C4%20-14%2015%20-25%2031%20-31%20C27%20-13%2015%20-4%200%200z%22/%3E%3Cpath%20d=%22M0%200%20C10%20-9%2020%20-18%2029%20-29%22%20fill=%22none%22%20stroke=%22%23ffffff%22%20stroke-width=%221.2%22%20opacity=%220.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.9%22%3E%3Cg%20transform=%22translate(52%20216)%20rotate(-18)%20scale(-1.0)%22%3E%3Cpath%20d=%22M0%200%20C4%20-14%2015%20-25%2031%20-31%20C27%20-13%2015%20-4%200%200z%22/%3E%3Cpath%20d=%22M0%200%20C10%20-9%2020%20-18%2029%20-29%22%20fill=%22none%22%20stroke=%22%23ffffff%22%20stroke-width=%221.2%22%20opacity=%220.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.9%22%3E%3Cg%20transform=%22translate(52%20278)%20rotate(18)%20scale(1.0)%22%3E%3Cpath%20d=%22M0%200%20C4%20-14%2015%20-25%2031%20-31%20C27%20-13%2015%20-4%200%200z%22/%3E%3Cpath%20d=%22M0%200%20C10%20-9%2020%20-18%2029%20-29%22%20fill=%22none%22%20stroke=%22%23ffffff%22%20stroke-width=%221.2%22%20opacity=%220.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.9%22%3E%3Cg%20transform=%22translate(52%20340)%20rotate(-18)%20scale(-1.0)%22%3E%3Cpath%20d=%22M0%200%20C4%20-14%2015%20-25%2031%20-31%20C27%20-13%2015%20-4%200%200z%22/%3E%3Cpath%20d=%22M0%200%20C10%20-9%2020%20-18%2029%20-29%22%20fill=%22none%22%20stroke=%22%23ffffff%22%20stroke-width=%221.2%22%20opacity=%220.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.9%22%3E%3Cg%20transform=%22translate(52%20402)%20rotate(18)%20scale(1.0)%22%3E%3Cpath%20d=%22M0%200%20C4%20-14%2015%20-25%2031%20-31%20C27%20-13%2015%20-4%200%200z%22/%3E%3Cpath%20d=%22M0%200%20C10%20-9%2020%20-18%2029%20-29%22%20fill=%22none%22%20stroke=%22%23ffffff%22%20stroke-width=%221.2%22%20opacity=%220.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.9%22%3E%3Cg%20transform=%22translate(52%20464)%20rotate(-18)%20scale(-1.0)%22%3E%3Cpath%20d=%22M0%200%20C4%20-14%2015%20-25%2031%20-31%20C27%20-13%2015%20-4%200%200z%22/%3E%3Cpath%20d=%22M0%200%20C10%20-9%2020%20-18%2029%20-29%22%20fill=%22none%22%20stroke=%22%23ffffff%22%20stroke-width=%221.2%22%20opacity=%220.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.9%22%3E%3Cg%20transform=%22translate(52%20526)%20rotate(18)%20scale(1.0)%22%3E%3Cpath%20d=%22M0%200%20C4%20-14%2015%20-25%2031%20-31%20C27%20-13%2015%20-4%200%200z%22/%3E%3Cpath%20d=%22M0%200%20C10%20-9%2020%20-18%2029%20-29%22%20fill=%22none%22%20stroke=%22%23ffffff%22%20stroke-width=%221.2%22%20opacity=%220.6%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill=%22%23ffffff%22%20opacity=%220.9%22%3E%3Cg%20transform=%22translate(52%20588)%20rotate(-18)%20scale(-1.0)%22%3E%3Cpath%20d=%22M0%200%20C4%20-14%2015%20-25%2031%20-31%20C27%20-13%2015%20-4%200%200z%22/%3E%3Cpath%20d=%22M0%200%20C10%20-9%2020%20-18%2029%20-29%22%20fill=%22none%22%20stroke=%22%23ffffff%22%20stroke-width=%221.2%22%20opacity=%220.6%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

/* ==========================================================
   16. DURCHSETZUNG GEGENUEBER DIVI-STANDARDSTILEN

   Divi 5 erzeugt fuer jedes Modul eigenes CSS - z. B.
   ".et_pb_heading_3 .et_pb_heading_container h3" oder
   ".et_pb_button_0.et_pb_button". Diese Regeln sind
   spezifischer als Klassenregeln und werden nach diesem
   Stylesheet geladen. Betroffen sind vor allem
   Ueberschriftengroessen, Textausrichtung und Buttons.

   Deshalb steht hier alles, was Divi sonst ueberschreibt -
   bewusst am Dateiende und mit !important. Wer etwas aendern
   will, aendert es in den Abschnitten 4 bis 13 UND hier.
   ========================================================== */

/* --- Sektions- und Zeilenabstaende ---------------------- */

body .et_pb_section.ea-section {
  padding-top: var(--ea-space-section);
  padding-bottom: var(--ea-space-section);
}
body .et_pb_section.ea-hero,
body .et_pb_section.ea-about { padding: 0; }
body .et_pb_section.ea-services {
  padding-top: clamp(56px, 6vw, 88px);
  padding-bottom: clamp(56px, 6vw, 88px);
}
body .et_pb_section.ea-quote {
  padding-top: clamp(72px, 9vw, 130px);
  padding-bottom: clamp(96px, 11vw, 160px);
}
body .et_pb_section.ea-footer {
  padding-top: clamp(34px, 4vw, 52px);
  padding-bottom: clamp(34px, 4vw, 52px);
}
body .ea-section .et_pb_row { padding: 0; }
body .ea-hero .et_pb_row,
body .ea-about .et_pb_row { width: 100%; max-width: none; }
body .ea-section .et_pb_module { margin-bottom: 0; }

/* Die Zurücksetzung darüber trifft auch die gewollten Modulabstände -
   deshalb hier die Werte aus den Abschnitten 4 bis 13 erneut, mit
   doppelt genannter Klasse fuer die noetige Spezifitaet. */
body .ea-section .ea-overline.ea-overline { margin-bottom: 14px; }
body .ea-section .ea-h3.ea-h3 { margin-bottom: 8px; }
body .ea-hero-copy .ea-h1.ea-h1 { margin-bottom: 16px; }
body .ea-hero-copy .ea-handwritten.ea-handwritten { margin-bottom: 22px; }
body .ea-hero-copy .ea-lead.ea-lead { margin-bottom: 34px; }
body .ea-about-copy .ea-h2.ea-h2 { margin-bottom: 24px; }
body .ea-about-copy .ea-handwritten.ea-handwritten { margin-top: 26px; margin-bottom: 0; }
body .ea-about-copy .ea-signature.ea-signature { margin-top: 12px; }
body .ea-quote .ea-quote-sub.ea-quote-sub { margin-top: 30px; }
body .ea-contact .ea-formnote.ea-formnote { margin-top: 18px; }
body .ea-pillar .ea-icon,
body .ea-service .ea-icon { margin-left: auto; margin-right: auto; }

/* --- Ueberschriften ------------------------------------- */

body .ea-section .ea-h1,
body .ea-section .ea-h1 h1,
body .ea-section .ea-h1 .et_pb_heading_container h1 {
  font-family: "EA Sans", sans-serif !important;
  font-size: clamp(36px, 4.4vw, var(--ea-h1-size)) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  color: var(--ea-ink) !important;
}
body .ea-section .ea-h2,
body .ea-section .ea-h2 h2,
body .ea-section .ea-h2 .et_pb_heading_container h2 {
  font-family: "EA Sans", sans-serif !important;
  font-size: clamp(28px, 3.2vw, var(--ea-h2-size)) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.025em !important;
  color: var(--ea-ink) !important;
}
body .ea-services .ea-h2,
body .ea-services .ea-h2 h2,
body .ea-services .ea-h2 .et_pb_heading_container h2 { color: var(--ea-white) !important; }

body .ea-section .ea-h3,
body .ea-section .ea-h3 h3,
body .ea-section .ea-h3 .et_pb_heading_container h3 {
  font-family: "EA Sans", sans-serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
  color: var(--ea-ink) !important;
}

/* --- Textausrichtung ------------------------------------ */
/* Divi setzt pro Modul "text-align: left" - hier gegengesteuert */

body .ea-section .ea-titleblock,
body .ea-section .ea-titleblock .et_pb_module,
body .ea-section .ea-titleblock .et_pb_text_inner,
body .ea-section .ea-titleblock h1,
body .ea-section .ea-titleblock h2,
body .ea-section .ea-titleblock p,
body .ea-section .ea-center,
body .ea-section .ea-center .et_pb_module,
body .ea-section .ea-center .et_pb_text_inner,
body .ea-section .ea-center p,
body .ea-pillar,
body .ea-pillar .et_pb_module,
body .ea-pillar .et_pb_text_inner,
body .ea-pillar h3,
body .ea-pillar p,
body .ea-service,
body .ea-service .et_pb_module,
body .ea-service .et_pb_text_inner,
body .ea-service p,
body .ea-footer-links,
body .ea-footer-links .et_pb_text_inner { text-align: center !important; }

body .ea-footer-copy,
body .ea-footer-copy .et_pb_text_inner,
body .ea-footer-copy p { text-align: right !important; }

body .ea-hero-copy,
body .ea-hero-copy .et_pb_module,
body .ea-about-copy,
body .ea-about-copy .et_pb_module,
body .ea-details,
body .ea-details p { text-align: left !important; }

/* --- Schriftgroessen der Textbausteine ------------------ */

body .ea-section .ea-overline,
body .ea-section .ea-overline p {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
}
body .ea-section .ea-handwritten,
body .ea-section .ea-handwritten p,
body .ea-section .ea-signature p,
body .ea-quote .ea-quote-text p {
  font-family: "EA Script", cursive !important;
  font-weight: 600 !important;
}
body .ea-section .ea-lead p { font-size: 17px !important; line-height: 1.75 !important; }
body .ea-pillar p { font-size: 14px !important; line-height: 1.65 !important; }
body .ea-service p { font-size: 15px !important; font-weight: 500 !important; color: var(--ea-white) !important; }
body .ea-details p { font-size: 15px !important; line-height: 1.6 !important; }
body .ea-formnote p { font-size: 13px !important; line-height: 1.6 !important; }
body .ea-footer p { font-size: 14px !important; }

/* --- Randlose Bilder ------------------------------------ */

body .ea-hero-media .et_pb_module,
body .ea-about-media .et_pb_module {
  margin: 0;
  padding: 0;
  line-height: 0;
}
body .ea-hero-media .et_pb_image_wrap,
body .ea-about-media .et_pb_image_wrap,
body .ea-hero-media figure,
body .ea-about-media figure {
  display: block;
  margin: 0;
  width: 100%;
  height: 100%;
  line-height: 0;
}
body .ea-hero-media img,
body .ea-about-media img { display: block; vertical-align: bottom; }

/* --- Buttons -------------------------------------------- */
/* Divi setzt seine Buttonstile mit einem ID-Selektor
   ("body #page-container .et_pb_section .et_pb_button_0") und
   !important durch. Ein ID-Selektor schlaegt jede Menge Klassen -
   deshalb steht hier ebenfalls eine ID vorne, und die eigenen
   Klassen sind mehrfach genannt, um die Spezifitaet weiter
   anzuheben. Basis- und Hover-Zustand sind identisch aufgebaut,
   damit beim Ueberfahren nichts mehr springt. */

html body #page-container .ea-button.ea-button.ea-button a,
html body #page-container .ea-button.ea-button.ea-button .et_pb_button,
html body #page-container .ea-button.ea-button.ea-button button,
html body #page-container a.ea-button.ea-button.ea-button,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"],
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"],
html body #et-main-area .ea-button.ea-button.ea-button a,
html body #et-main-area .ea-button.ea-button.ea-button .et_pb_button,
html body #et-main-area .ea-button.ea-button.ea-button button,
html body #et-main-area a.ea-button.ea-button.ea-button,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"],
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"],
html body #main-content .ea-button.ea-button.ea-button a,
html body #main-content .ea-button.ea-button.ea-button .et_pb_button,
html body #main-content .ea-button.ea-button.ea-button button,
html body #main-content a.ea-button.ea-button.ea-button,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"],
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"],
html body #et-boc .ea-button.ea-button.ea-button a,
html body #et-boc .ea-button.ea-button.ea-button .et_pb_button,
html body #et-boc .ea-button.ea-button.ea-button button,
html body #et-boc a.ea-button.ea-button.ea-button,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"],
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"],
html body .ea-button.ea-button.ea-button a,
html body .ea-button.ea-button.ea-button .et_pb_button,
html body .ea-button.ea-button.ea-button button,
html body a.ea-button.ea-button.ea-button,
html body .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit,
html body .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"],
html body .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 0 !important;
  font-family: "EA Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  white-space: nowrap !important;
  color: var(--ea-white) !important;
  background-color: var(--ea-sage) !important;
  background-image: var(--ea-icon-send-white) !important;
  background-repeat: no-repeat !important;
  background-position: left 30px center !important;
  background-size: 15px 15px !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 15px 30px 15px 52px !important;
  margin: 0 !important;
  box-shadow: 0 10px 24px rgba(138, 154, 120, 0.28) !important;
  transition: background-color 0.25s ease !important;
}

html body #page-container .ea-button.ea-button.ea-button a:hover,
html body #page-container .ea-button.ea-button.ea-button .et_pb_button:hover,
html body #page-container .ea-button.ea-button.ea-button button:hover,
html body #page-container a.ea-button.ea-button.ea-button:hover,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:hover,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:hover,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:hover,
html body #et-main-area .ea-button.ea-button.ea-button a:hover,
html body #et-main-area .ea-button.ea-button.ea-button .et_pb_button:hover,
html body #et-main-area .ea-button.ea-button.ea-button button:hover,
html body #et-main-area a.ea-button.ea-button.ea-button:hover,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:hover,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:hover,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:hover,
html body #main-content .ea-button.ea-button.ea-button a:hover,
html body #main-content .ea-button.ea-button.ea-button .et_pb_button:hover,
html body #main-content .ea-button.ea-button.ea-button button:hover,
html body #main-content a.ea-button.ea-button.ea-button:hover,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:hover,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:hover,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:hover,
html body #et-boc .ea-button.ea-button.ea-button a:hover,
html body #et-boc .ea-button.ea-button.ea-button .et_pb_button:hover,
html body #et-boc .ea-button.ea-button.ea-button button:hover,
html body #et-boc a.ea-button.ea-button.ea-button:hover,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:hover,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:hover,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:hover,
html body .ea-button.ea-button.ea-button a:hover,
html body .ea-button.ea-button.ea-button .et_pb_button:hover,
html body .ea-button.ea-button.ea-button button:hover,
html body a.ea-button.ea-button.ea-button:hover,
html body .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:hover,
html body .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:hover,
html body .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:hover,
html body #page-container .ea-button.ea-button.ea-button a:focus,
html body #page-container .ea-button.ea-button.ea-button .et_pb_button:focus,
html body #page-container .ea-button.ea-button.ea-button button:focus,
html body #page-container a.ea-button.ea-button.ea-button:focus,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:focus,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:focus,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:focus,
html body #et-main-area .ea-button.ea-button.ea-button a:focus,
html body #et-main-area .ea-button.ea-button.ea-button .et_pb_button:focus,
html body #et-main-area .ea-button.ea-button.ea-button button:focus,
html body #et-main-area a.ea-button.ea-button.ea-button:focus,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:focus,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:focus,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:focus,
html body #main-content .ea-button.ea-button.ea-button a:focus,
html body #main-content .ea-button.ea-button.ea-button .et_pb_button:focus,
html body #main-content .ea-button.ea-button.ea-button button:focus,
html body #main-content a.ea-button.ea-button.ea-button:focus,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:focus,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:focus,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:focus,
html body #et-boc .ea-button.ea-button.ea-button a:focus,
html body #et-boc .ea-button.ea-button.ea-button .et_pb_button:focus,
html body #et-boc .ea-button.ea-button.ea-button button:focus,
html body #et-boc a.ea-button.ea-button.ea-button:focus,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:focus,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:focus,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:focus,
html body .ea-button.ea-button.ea-button a:focus,
html body .ea-button.ea-button.ea-button .et_pb_button:focus,
html body .ea-button.ea-button.ea-button button:focus,
html body a.ea-button.ea-button.ea-button:focus,
html body .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:focus,
html body .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:focus,
html body .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:focus,
html body #page-container .ea-button.ea-button.ea-button a:active,
html body #page-container .ea-button.ea-button.ea-button .et_pb_button:active,
html body #page-container .ea-button.ea-button.ea-button button:active,
html body #page-container a.ea-button.ea-button.ea-button:active,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:active,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:active,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:active,
html body #et-main-area .ea-button.ea-button.ea-button a:active,
html body #et-main-area .ea-button.ea-button.ea-button .et_pb_button:active,
html body #et-main-area .ea-button.ea-button.ea-button button:active,
html body #et-main-area a.ea-button.ea-button.ea-button:active,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:active,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:active,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:active,
html body #main-content .ea-button.ea-button.ea-button a:active,
html body #main-content .ea-button.ea-button.ea-button .et_pb_button:active,
html body #main-content .ea-button.ea-button.ea-button button:active,
html body #main-content a.ea-button.ea-button.ea-button:active,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:active,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:active,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:active,
html body #et-boc .ea-button.ea-button.ea-button a:active,
html body #et-boc .ea-button.ea-button.ea-button .et_pb_button:active,
html body #et-boc .ea-button.ea-button.ea-button button:active,
html body #et-boc a.ea-button.ea-button.ea-button:active,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:active,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:active,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:active,
html body .ea-button.ea-button.ea-button a:active,
html body .ea-button.ea-button.ea-button .et_pb_button:active,
html body .ea-button.ea-button.ea-button button:active,
html body a.ea-button.ea-button.ea-button:active,
html body .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:active,
html body .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:active,
html body .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:active {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 0 !important;
  font-family: "EA Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  white-space: nowrap !important;
  color: var(--ea-white) !important;
  background-color: var(--ea-sage) !important;
  background-image: var(--ea-icon-send-white) !important;
  background-repeat: no-repeat !important;
  background-position: left 30px center !important;
  background-size: 15px 15px !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 15px 30px 15px 52px !important;
  margin: 0 !important;
  box-shadow: 0 10px 24px rgba(138, 154, 120, 0.28) !important;
  transition: background-color 0.25s ease !important;
  background-color: var(--ea-sage-dark) !important;
  background-image: var(--ea-icon-send-white) !important;
}

/* Beschriftung in einem inneren Element (Divi kapselt den Text
   teilweise in ein span) ebenfalls auf Groesse zwingen */
html body #page-container .ea-button.ea-button.ea-button a span,
html body #page-container .ea-button.ea-button.ea-button .et_pb_button span,
html body #page-container .ea-button.ea-button.ea-button button span,
html body #page-container a.ea-button.ea-button.ea-button span,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit span,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"] span,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"] span,
html body #et-main-area .ea-button.ea-button.ea-button a span,
html body #et-main-area .ea-button.ea-button.ea-button .et_pb_button span,
html body #et-main-area .ea-button.ea-button.ea-button button span,
html body #et-main-area a.ea-button.ea-button.ea-button span,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit span,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"] span,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"] span,
html body #main-content .ea-button.ea-button.ea-button a span,
html body #main-content .ea-button.ea-button.ea-button .et_pb_button span,
html body #main-content .ea-button.ea-button.ea-button button span,
html body #main-content a.ea-button.ea-button.ea-button span,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit span,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"] span,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"] span,
html body #et-boc .ea-button.ea-button.ea-button a span,
html body #et-boc .ea-button.ea-button.ea-button .et_pb_button span,
html body #et-boc .ea-button.ea-button.ea-button button span,
html body #et-boc a.ea-button.ea-button.ea-button span,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit span,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"] span,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"] span,
html body .ea-button.ea-button.ea-button a span,
html body .ea-button.ea-button.ea-button .et_pb_button span,
html body .ea-button.ea-button.ea-button button span,
html body a.ea-button.ea-button.ea-button span,
html body .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit span,
html body .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"] span,
html body .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"] span,
html body #page-container .ea-button.ea-button.ea-button a *,
html body #page-container .ea-button.ea-button.ea-button .et_pb_button *,
html body #page-container .ea-button.ea-button.ea-button button *,
html body #page-container a.ea-button.ea-button.ea-button *,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit *,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"] *,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"] *,
html body #et-main-area .ea-button.ea-button.ea-button a *,
html body #et-main-area .ea-button.ea-button.ea-button .et_pb_button *,
html body #et-main-area .ea-button.ea-button.ea-button button *,
html body #et-main-area a.ea-button.ea-button.ea-button *,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit *,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"] *,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"] *,
html body #main-content .ea-button.ea-button.ea-button a *,
html body #main-content .ea-button.ea-button.ea-button .et_pb_button *,
html body #main-content .ea-button.ea-button.ea-button button *,
html body #main-content a.ea-button.ea-button.ea-button *,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit *,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"] *,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"] *,
html body #et-boc .ea-button.ea-button.ea-button a *,
html body #et-boc .ea-button.ea-button.ea-button .et_pb_button *,
html body #et-boc .ea-button.ea-button.ea-button button *,
html body #et-boc a.ea-button.ea-button.ea-button *,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit *,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"] *,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"] *,
html body .ea-button.ea-button.ea-button a *,
html body .ea-button.ea-button.ea-button .et_pb_button *,
html body .ea-button.ea-button.ea-button button *,
html body a.ea-button.ea-button.ea-button *,
html body .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit *,
html body .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"] *,
html body .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"] * {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: var(--ea-white) !important;
}

/* Divis angehaengtes Pfeil-Icon aus */
html body #page-container .ea-button.ea-button.ea-button a:after,
html body #page-container .ea-button.ea-button.ea-button .et_pb_button:after,
html body #page-container .ea-button.ea-button.ea-button button:after,
html body #page-container a.ea-button.ea-button.ea-button:after,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:after,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:after,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:after,
html body #et-main-area .ea-button.ea-button.ea-button a:after,
html body #et-main-area .ea-button.ea-button.ea-button .et_pb_button:after,
html body #et-main-area .ea-button.ea-button.ea-button button:after,
html body #et-main-area a.ea-button.ea-button.ea-button:after,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:after,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:after,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:after,
html body #main-content .ea-button.ea-button.ea-button a:after,
html body #main-content .ea-button.ea-button.ea-button .et_pb_button:after,
html body #main-content .ea-button.ea-button.ea-button button:after,
html body #main-content a.ea-button.ea-button.ea-button:after,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:after,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:after,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:after,
html body #et-boc .ea-button.ea-button.ea-button a:after,
html body #et-boc .ea-button.ea-button.ea-button .et_pb_button:after,
html body #et-boc .ea-button.ea-button.ea-button button:after,
html body #et-boc a.ea-button.ea-button.ea-button:after,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:after,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:after,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:after,
html body .ea-button.ea-button.ea-button a:after,
html body .ea-button.ea-button.ea-button .et_pb_button:after,
html body .ea-button.ea-button.ea-button button:after,
html body a.ea-button.ea-button.ea-button:after,
html body .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:after,
html body .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:after,
html body .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:after {
  content: none !important;
  display: none !important;
}

/* Das Symbol kommt jetzt als Hintergrundbild des Buttons -
   ein Pseudo-Element wuerde je nach Divi-Ausgabe mal in der
   Zeile, mal darueber landen. */
html body #page-container .ea-button.ea-button.ea-button a:before,
html body #page-container .ea-button.ea-button.ea-button .et_pb_button:before,
html body #page-container .ea-button.ea-button.ea-button button:before,
html body #page-container a.ea-button.ea-button.ea-button:before,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:before,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:before,
html body #page-container .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:before,
html body #et-main-area .ea-button.ea-button.ea-button a:before,
html body #et-main-area .ea-button.ea-button.ea-button .et_pb_button:before,
html body #et-main-area .ea-button.ea-button.ea-button button:before,
html body #et-main-area a.ea-button.ea-button.ea-button:before,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:before,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:before,
html body #et-main-area .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:before,
html body #main-content .ea-button.ea-button.ea-button a:before,
html body #main-content .ea-button.ea-button.ea-button .et_pb_button:before,
html body #main-content .ea-button.ea-button.ea-button button:before,
html body #main-content a.ea-button.ea-button.ea-button:before,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:before,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:before,
html body #main-content .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:before,
html body #et-boc .ea-button.ea-button.ea-button a:before,
html body #et-boc .ea-button.ea-button.ea-button .et_pb_button:before,
html body #et-boc .ea-button.ea-button.ea-button button:before,
html body #et-boc a.ea-button.ea-button.ea-button:before,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:before,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:before,
html body #et-boc .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:before,
html body .ea-button.ea-button.ea-button a:before,
html body .ea-button.ea-button.ea-button .et_pb_button:before,
html body .ea-button.ea-button.ea-button button:before,
html body a.ea-button.ea-button.ea-button:before,
html body .ea-contact-form.ea-contact-form.ea-contact-form .et_pb_contact_submit:before,
html body .ea-contact-form.ea-contact-form.ea-contact-form button[type="submit"]:before,
html body .ea-contact-form.ea-contact-form.ea-contact-form input[type="submit"]:before {
  content: none !important;
  display: none !important;
}

html body #top-menu li.ea-cta > a {
  font-family: "EA Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: var(--ea-white) !important;
  background-color: var(--ea-sage) !important;
  background-image: var(--ea-icon-send-white) !important;
  background-repeat: no-repeat !important;
  background-position: left 20px center !important;
  background-size: 14px 14px !important;
  border-radius: 999px !important;
  padding: 11px 22px 11px 40px !important;
  white-space: nowrap !important;
}
html body #top-menu li.ea-cta > a:before { content: none !important; display: none !important; }
html body #top-menu li.ea-cta > a:after { content: none !important; display: none !important; }

/* --- Kreis mit Handschrift ("Ueber mich") --------------- */

html body .ea-about-media .ea-badge,
html body .ea-badge { padding: clamp(20px, 2.2vw, 30px) !important; }
html body .ea-badge,
html body .ea-badge .et_pb_text_inner,
html body .ea-badge p {
  font-family: "EA Script", cursive !important;
  font-size: clamp(13px, 1.15vw, 16px) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  color: var(--ea-white) !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  overflow-wrap: break-word;
  hyphens: none;
}

/* --- Fussbereich: Logo statt Schriftzug ----------------- */

html body .ea-footer-brand p { padding-left: 0 !important; }
html body .ea-footer-brand p:before { content: none !important; display: none !important; }
html body .ea-footer-logo {
  display: block;
  height: clamp(40px, 3.6vw, 54px);
  width: auto;
  max-width: 100%;
}

/* --- Kontaktformular ------------------------------------ */
/* Divi 5 ordnet die Felder selbst an - deshalb hier ein
   eigenes Flexraster statt der frueheren Float-Loesung. */

body .ea-contact-form .et_pb_contact form,
body .ea-contact-form form {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 14px;
}
body .ea-contact-form .et_pb_contact_field {
  flex: 1 1 100%;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body .ea-contact-form .ea-field-half { flex: 1 1 calc(50% - 20px); }
body .ea-contact-form .ea-field-full { flex: 1 1 100%; }
body .ea-contact-form .et_contact_bottom_container,
body .ea-contact-form .et_pb_contact_right {
  flex: 1 1 100%;
  float: none !important;
  margin: 4px 0 0 !important;
  text-align: left !important;
  display: flex;
  align-items: center;
  gap: 16px;
}
body .ea-contact-form .et_pb_contact_submit { flex: 0 0 auto; }
body .ea-contact-form input[type="text"],
body .ea-contact-form input[type="email"],
body .ea-contact-form textarea {
  font-family: "EA Sans", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  padding: 15px 18px !important;
  border-radius: 12px !important;
  background-color: var(--ea-white) !important;
  border: 1px solid var(--ea-line) !important;
  color: var(--ea-ink) !important;
}

@media (max-width: 780px) {
  body .ea-contact-form .ea-field-half { flex: 1 1 100%; }
  body .ea-footer-copy,
  body .ea-footer-copy p { text-align: center !important; }
}

/* ==========================================================
   17. ABSTAENDE GEGEN DIVI DURCHSETZEN

   Divi bringt eigene Grundwerte mit - unter anderem
   "padding-bottom" an Ueberschriften und Absaetzen - und setzt
   sie wie bei den Buttons mit einem ID-Selektor durch. Deshalb
   hier dieselbe Bauart: ID vorne, !important hinten.

   Wer einen Abstand aendern will, aendert ihn hier. Die Werte in
   den Abschnitten 4 bis 13 sind die Vorlage, greifen in Divi
   aber nicht gegen die eigenen Grundwerte an.
   ========================================================== */

/* --- Grundreinigung: Divis Polster an Text und Ueberschriften --- */

html body #page-container .ea-section h1,
html body #page-container .ea-section h2,
html body #page-container .ea-section h3,
html body #page-container .ea-section h4,
html body #page-container .ea-section .et_pb_heading_container h1,
html body #page-container .ea-section .et_pb_heading_container h2,
html body #page-container .ea-section .et_pb_heading_container h3,
html body #page-container .ea-section .et_pb_heading_container h4,
html body #et-main-area .ea-section h1,
html body #et-main-area .ea-section h2,
html body #et-main-area .ea-section h3,
html body #et-main-area .ea-section h4,
html body #et-main-area .ea-section .et_pb_heading_container h1,
html body #et-main-area .ea-section .et_pb_heading_container h2,
html body #et-main-area .ea-section .et_pb_heading_container h3,
html body #et-main-area .ea-section .et_pb_heading_container h4,
html body #main-content .ea-section h1,
html body #main-content .ea-section h2,
html body #main-content .ea-section h3,
html body #main-content .ea-section h4,
html body #main-content .ea-section .et_pb_heading_container h1,
html body #main-content .ea-section .et_pb_heading_container h2,
html body #main-content .ea-section .et_pb_heading_container h3,
html body #main-content .ea-section .et_pb_heading_container h4,
html body .ea-section h1,
html body .ea-section h2,
html body .ea-section h3,
html body .ea-section h4,
html body .ea-section .et_pb_heading_container h1,
html body .ea-section .et_pb_heading_container h2,
html body .ea-section .et_pb_heading_container h3,
html body .ea-section .et_pb_heading_container h4 {
  margin: 0 !important;
  padding: 0 !important;
}

html body #page-container .ea-section p,
html body #page-container .ea-section .et_pb_text_inner p,
html body #et-main-area .ea-section p,
html body #et-main-area .ea-section .et_pb_text_inner p,
html body #main-content .ea-section p,
html body #main-content .ea-section .et_pb_text_inner p,
html body .ea-section p,
html body .ea-section .et_pb_text_inner p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* --- Absatzabstaende dort, wo mehrere Absaetze zusammenstehen --- */

html body #page-container .ea-copy p,
html body #page-container .ea-about-copy .ea-copy p,
html body #et-main-area .ea-copy p,
html body #et-main-area .ea-about-copy .ea-copy p,
html body #main-content .ea-copy p,
html body #main-content .ea-about-copy .ea-copy p,
html body .ea-copy p,
html body .ea-about-copy .ea-copy p { margin-bottom: 18px !important; }
html body #page-container .ea-copy p:last-child,
html body #et-main-area .ea-copy p:last-child,
html body #main-content .ea-copy p:last-child,
html body .ea-copy p:last-child { margin-bottom: 0 !important; }
html body #page-container .ea-details p,
html body #et-main-area .ea-details p,
html body #main-content .ea-details p,
html body .ea-details p { margin-bottom: 26px !important; }
html body #page-container .ea-details p:last-child,
html body #et-main-area .ea-details p:last-child,
html body #main-content .ea-details p:last-child,
html body .ea-details p:last-child { margin-bottom: 0 !important; }

/* --- Abstaende zwischen den Modulen --- */

html body #page-container .ea-section .et_pb_module,
html body #et-main-area .ea-section .et_pb_module,
html body #main-content .ea-section .et_pb_module,
html body .ea-section .et_pb_module { margin-bottom: 0 !important; }
html body #page-container .ea-section .ea-overline,
html body #et-main-area .ea-section .ea-overline,
html body #main-content .ea-section .ea-overline,
html body .ea-section .ea-overline { margin-bottom: 14px !important; }
html body #page-container .ea-section .ea-h3,
html body #et-main-area .ea-section .ea-h3,
html body #main-content .ea-section .ea-h3,
html body .ea-section .ea-h3 { margin-bottom: 8px !important; }
html body #page-container .ea-hero-copy .ea-h1,
html body #et-main-area .ea-hero-copy .ea-h1,
html body #main-content .ea-hero-copy .ea-h1,
html body .ea-hero-copy .ea-h1 { margin-bottom: 16px !important; }
html body #page-container .ea-hero-copy .ea-handwritten,
html body #et-main-area .ea-hero-copy .ea-handwritten,
html body #main-content .ea-hero-copy .ea-handwritten,
html body .ea-hero-copy .ea-handwritten { margin-bottom: 22px !important; }
html body #page-container .ea-hero-copy .ea-lead,
html body #et-main-area .ea-hero-copy .ea-lead,
html body #main-content .ea-hero-copy .ea-lead,
html body .ea-hero-copy .ea-lead { margin-bottom: 34px !important; }
html body #page-container .ea-about-copy .ea-h2,
html body #et-main-area .ea-about-copy .ea-h2,
html body #main-content .ea-about-copy .ea-h2,
html body .ea-about-copy .ea-h2 { margin-bottom: 24px !important; }
html body #page-container .ea-about-copy .ea-handwritten,
html body #et-main-area .ea-about-copy .ea-handwritten,
html body #main-content .ea-about-copy .ea-handwritten,
html body .ea-about-copy .ea-handwritten { margin-top: 26px !important; }
html body #page-container .ea-about-copy .ea-signature,
html body #et-main-area .ea-about-copy .ea-signature,
html body #main-content .ea-about-copy .ea-signature,
html body .ea-about-copy .ea-signature { margin-top: 12px !important; }
html body #page-container .ea-quote .ea-quote-sub,
html body #et-main-area .ea-quote .ea-quote-sub,
html body #main-content .ea-quote .ea-quote-sub,
html body .ea-quote .ea-quote-sub { margin-top: 30px !important; }
html body #page-container .ea-contact .ea-formnote,
html body #et-main-area .ea-contact .ea-formnote,
html body #main-content .ea-contact .ea-formnote,
html body .ea-contact .ea-formnote { margin-top: 18px !important; }

/* --- Symbole in den Spalten --- */

html body #page-container .ea-pillar .ea-icon,
html body #et-main-area .ea-pillar .ea-icon,
html body #main-content .ea-pillar .ea-icon,
html body .ea-pillar .ea-icon { margin: 0 auto 18px !important; }
html body #page-container .ea-service .ea-icon,
html body #et-main-area .ea-service .ea-icon,
html body #main-content .ea-service .ea-icon,
html body .ea-service .ea-icon { margin: 0 auto 16px !important; }

/* --- Zeilen: kein Eigenleben, Abstand nur zwischen zwei Zeilen --- */

html body #page-container .ea-section .et_pb_row,
html body #et-main-area .ea-section .et_pb_row,
html body #main-content .ea-section .et_pb_row,
html body .ea-section .et_pb_row {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
html body #page-container .ea-section .et_pb_row + .et_pb_row,
html body #et-main-area .ea-section .et_pb_row + .et_pb_row,
html body #main-content .ea-section .et_pb_row + .et_pb_row,
html body .ea-section .et_pb_row + .et_pb_row {
  margin-top: clamp(30px, 3.4vw, 48px) !important;
}
html body #page-container .ea-section .et_pb_column,
html body #et-main-area .ea-section .et_pb_column,
html body #main-content .ea-section .et_pb_column,
html body .ea-section .et_pb_column { margin-bottom: 0 !important; }

/* --- Gleiche Grundlinie trotz unterschiedlich langer Titel ---
   "Säuglinge & Kleinkinder" braucht zwei Zeilen, die anderen eine.
   Ohne Mindesthoehe starten die Beschreibungen auf verschiedenen
   Hoehen und die Reihe wirkt schief. */

html body #page-container .ea-pillar .ea-h3,
html body #page-container .ea-pillar .ea-h3 h3,
html body #et-main-area .ea-pillar .ea-h3,
html body #et-main-area .ea-pillar .ea-h3 h3,
html body #main-content .ea-pillar .ea-h3,
html body #main-content .ea-pillar .ea-h3 h3,
html body .ea-pillar .ea-h3,
html body .ea-pillar .ea-h3 h3 { min-height: 2.7em !important; }
html body #page-container .ea-service .et_pb_text:last-child,
html body #page-container .ea-service .et_pb_text:last-child p,
html body #et-main-area .ea-service .et_pb_text:last-child,
html body #et-main-area .ea-service .et_pb_text:last-child p,
html body #main-content .ea-service .et_pb_text:last-child,
html body #main-content .ea-service .et_pb_text:last-child p,
html body .ea-service .et_pb_text:last-child,
html body .ea-service .et_pb_text:last-child p {
  min-height: 2.6em !important;
}

@media (max-width: 780px) {
  html body #page-container .ea-pillar .ea-h3,
html body #page-container .ea-pillar .ea-h3 h3,
html body #page-container .ea-service .et_pb_text:last-child,
html body #page-container .ea-service .et_pb_text:last-child p,
html body #et-main-area .ea-pillar .ea-h3,
html body #et-main-area .ea-pillar .ea-h3 h3,
html body #et-main-area .ea-service .et_pb_text:last-child,
html body #et-main-area .ea-service .et_pb_text:last-child p,
html body #main-content .ea-pillar .ea-h3,
html body #main-content .ea-pillar .ea-h3 h3,
html body #main-content .ea-service .et_pb_text:last-child,
html body #main-content .ea-service .et_pb_text:last-child p,
html body .ea-pillar .ea-h3,
html body .ea-pillar .ea-h3 h3,
html body .ea-service .et_pb_text:last-child,
html body .ea-service .et_pb_text:last-child p {
    min-height: 0 !important;
  }
}
