/* WoW – World of Work und Seniorenbetreuung Leipzig: Design für die Elementor-Vorlagen.
   Wird vom Plugin "WoW Design" geladen (auf beiden Websites gleich).
   Schlicht: Marineblau, dünne Linien, keine Farbbalken. */

:root {
  --wow-navy: #1F3D63; --wow-navy-2: #2F5A8A; --wow-ink: #18263A;
  --wow-grau: #5A6779; --wow-hell: #F3F6FA; --wow-linie: #DDE4EC;
  --wow-text: 17px; --wow-h1: 40px; --wow-h2: 28px; --wow-h3: 21px;
  --wow-schrift: "Source Sans 3", "Segoe UI", Arial, sans-serif;
  --wow-titel: "Lexend", "Segoe UI", Arial, sans-serif;
}

/* Grundschrift, Überschriften, Links und Knöpfe.
   Die Selektoren sind absichtlich etwas stärker, damit sie vor den Elementor-Einstellungen
   unter "Theme-Stil" gelten, egal was dort eingestellt ist. */
body[class] { background: #fff; color: var(--wow-ink); font-family: var(--wow-schrift); font-size: var(--wow-text); line-height: 1.6; }
/* Blocksatz mit Silbentrennung für den Fließtext */
body[class] .elementor-widget-text-editor p, body[class] .elementor-widget-text-editor li { text-align: justify; -webkit-hyphens: auto; hyphens: auto; }
body[class] .elementor-widget-text-editor {
  font-family: var(--wow-schrift); font-size: var(--wow-text); line-height: 1.6; color: var(--wow-ink); font-weight: 400; }
body[class] h1, body[class] h2, body[class] h3, body[class] h4, body[class] h5, body[class] h6,
body[class] .elementor-widget-heading .elementor-heading-title {
  font-family: var(--wow-titel); font-weight: 500; color: var(--wow-navy); line-height: 1.25; letter-spacing: 0; text-transform: none; }
body[class] h1, body[class] .elementor-widget-heading h1.elementor-heading-title { font-size: var(--wow-h1); line-height: 1.2; }
body[class] h2, body[class] .elementor-widget-heading h2.elementor-heading-title { font-size: var(--wow-h2); }
body[class] h3, body[class] .elementor-widget-heading h3.elementor-heading-title { font-size: var(--wow-h3); line-height: 1.3; }
body[class] a { color: var(--wow-navy); }
body[class] a:hover { color: var(--wow-navy-2); }
body[class] .elementor-widget-button .elementor-button {
  background-color: var(--wow-navy); color: #fff; font-family: var(--wow-titel); font-weight: 500; font-size: 16px;
  border: 0; border-radius: 6px; padding: 12px 22px; line-height: 1.3; text-transform: none; letter-spacing: 0; }
body[class] .elementor-widget-button .elementor-button:hover, body[class] .elementor-widget-button .elementor-button:focus { background-color: var(--wow-navy-2); color: #fff; }
@media (max-width: 767px) {
  :root { --wow-h1: 30px; --wow-h2: 24px; --wow-h3: 20px; }
}


/* Abschnitte */
.e-con.wow-abschnitt { --padding-top: 56px; --padding-bottom: 56px; --padding-left: 16px; --padding-right: 16px; --gap: 20px; --row-gap: 20px; --column-gap: 20px; }
.e-con.wow-hell { background-color: var(--wow-hell); }
.e-con.wow-schmal > .e-con-inner { max-width: 760px; }
.e-con.wow-mittel > .e-con-inner { max-width: 860px; }
.e-con.wow-hero { --padding-top: 64px; --padding-bottom: 56px; }
.e-con.wow-hero > .e-con-inner, .e-con.wow-ueber > .e-con-inner { align-items: center; --gap: 40px; }
.wow-hero-text { --gap: 16px; }
.wow-hero-logo img { width: 100%; max-width: 230px; }
.wow-hero-bild { align-items: center; }

/* Text */
body[class] .wow-einleitung { font-size: 1.15em; color: var(--wow-grau); }
.wow-einleitung p:last-child, .wow-klein p:last-child, .wow-label p { margin-bottom: 0; }
body[class] .wow-klein { font-size: .85em; color: var(--wow-grau); }
body[class] .wow-label { font-family: "Lexend", sans-serif; font-size: .78em; letter-spacing: .06em; text-transform: uppercase; color: var(--wow-grau); }
body[class] .wow-preiszeile { font-family: "Lexend", sans-serif; font-weight: 500; color: var(--wow-navy); }
.wow-rechtstext h2 { font-size: 1.2em; margin: 1.6em 0 .4em; }
.elementor-widget-text-editor ul, .elementor-widget-text-editor ol { padding-left: 1.2em; }
.elementor-widget-text-editor li { margin-bottom: .35em; }
.wow-unsichtbar { display: none; }

/* Wichtiger Hinweis (z. B. 24 Stunden Vorlauf) und Hinweis unter der Buchungsbox */
body[class] .wow-wichtig { color: #B42318; font-weight: 700; }
body[class] .wow-unter-box p { text-align: center; }

/* Knöpfe */
.wow-knoepfe { --gap: 12px; flex-wrap: wrap; }
.e-con.wow-knoepfe-mitte { justify-content: center; } /* ab 2.2.3: Knöpfe mittig */
body[class] .elementor-widget-button.wow-mitte .elementor-button-wrapper { text-align: center; }
.wow-knopf-zweit .elementor-button { background: transparent !important; color: var(--wow-navy) !important; border: 1.5px solid var(--wow-navy) !important; }
.wow-knopf-zweit .elementor-button:hover { background: var(--wow-hell) !important; }
.wow-knopf-link .elementor-button { background: none !important; color: var(--wow-navy) !important; border: 0 !important; padding: 0 !important; font-weight: 500; }
.wow-knopf-link .elementor-button-text::after { content: " →"; }

/* Kacheln der Vertragsarten */
.e-con.wow-kacheln { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.wow-kachel .elementor-icon-box-wrapper { display: flex !important; flex-direction: row !important; align-items: center; gap: 12px; text-align: left !important;
  background: #fff; border: 1px solid var(--wow-linie); border-radius: 8px; padding: 14px 16px; height: 100%; }
.wow-kachel:hover .elementor-icon-box-wrapper { border-color: var(--wow-navy); }
.wow-kachel .elementor-icon-box-icon { margin: 0 !important; display: flex; }
.wow-kachel .elementor-icon { font-size: 24px; color: var(--wow-navy); fill: var(--wow-navy); }
.wow-kachel .elementor-icon svg { width: 24px; height: 24px; }
body[class] .wow-kachel .elementor-icon-box-title { margin: 0 !important; font-family: "Lexend", sans-serif; font-size: 16px; font-weight: 500; color: var(--wow-ink); }
.wow-kachel .elementor-icon-box-title a { color: inherit; }

/* Zwei Karten */
.e-con.wow-zwei { display: grid !important; grid-template-columns: 1fr 1fr; gap: 16px; }
.e-con.wow-karte { border: 1px solid var(--wow-linie); border-radius: 8px; background: #fff; --padding-top: 20px; --padding-bottom: 20px; --padding-left: 20px; --padding-right: 20px; --gap: 8px; }
/* „Mehr erfahren“ steht in allen Karten einer Reihe auf gleicher Höhe (ab 2.2.3) */
.e-con.wow-karte > .wow-knopf-link, .e-con.wow-karte > .e-con-inner > .wow-knopf-link { margin-top: auto; }

/* Vier Schritte mit Nummern */
.e-con.wow-schritte { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; counter-reset: schritt; }
.wow-schritt { counter-increment: schritt; --gap: 4px; }
/* Texte der Schritte beginnen auf gleicher Höhe, auch wenn eine Überschrift zweizeilig ist (ab 2.2.3) */
.e-con.wow-schritte > .wow-schritt { display: grid !important; grid-template-rows: subgrid; grid-row: span 2; align-content: start; row-gap: var(--gap); }
body[class] .wow-schritt .elementor-heading-title::before { content: counter(schritt); display: flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; margin-bottom: 10px; border: 1.5px solid var(--wow-navy); border-radius: 50%; font-size: 14px; color: var(--wow-navy); }

/* Foto */
.wow-foto img { width: 100%; max-width: 280px; }
.wow-foto-spalte { align-items: center; }

/* Rechner */
.wow-rechner { min-height: 420px; }

/* Handy */
@media (max-width: 767px) {
  .e-con.wow-abschnitt { --padding-top: 40px; --padding-bottom: 40px; }
  .e-con.wow-hero { --padding-top: 32px; }
  .wow-hero-bild:has(.wow-hero-logo) { display: none; }
  .wow-hero-bild .wow-foto img { max-width: 200px; }
  .e-con.wow-kacheln { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* ab 2.2.8: Symbol über dem Namen, beides mittig, damit lange Namen wie „Privathaftpflicht“ in die Kachel passen */
  .wow-kachel .elementor-icon-box-wrapper { padding: 14px 8px; gap: 8px; flex-direction: column !important; justify-content: center; text-align: center !important; }
  .wow-kachel .elementor-icon-box-content { min-width: 0; max-width: 100%; }
  .wow-kachel .elementor-icon-box-icon { justify-content: center; align-self: center; }
  body[class] .wow-kachel .elementor-icon-box-title { overflow-wrap: anywhere; hyphens: auto; }
  body[class] .wow-kachel .elementor-icon-box-title { font-size: 15px; }
  .e-con.wow-zwei { grid-template-columns: 1fr; }
  .e-con.wow-schritte { grid-template-columns: 1fr 1fr; gap: 20px; }
  .wow-knoepfe .elementor-widget-button, .wow-knoepfe .elementor-button { width: 100%; }
  .wow-knoepfe .wow-knopf-link .elementor-button { width: auto; }
}
@media (max-width: 380px) {
  .e-con.wow-schritte { grid-template-columns: 1fr; }
}

/* Kopfzeile des Hello-Themes */
body[class] .site-header { background: #fff; border-bottom: 1px solid var(--wow-linie); padding-top: 10px; padding-bottom: 10px; }
body[class] .site-header .site-title, body[class] .site-header .site-description { display: none; }
body[class] .site-header .custom-logo, body[class] .site-header .site-logo img { width: 56px; max-width: 56px; height: auto; }
body[class] .site-navigation ul.menu li a { text-decoration: none; color: var(--wow-grau); font-family: var(--wow-titel); font-weight: 500; font-size: 16px; }
body[class] .site-navigation ul.menu li a:hover, body[class] .site-navigation ul.menu li.current-menu-item > a { color: var(--wow-navy); }
body[class] .site-navigation-toggle { color: var(--wow-navy); border-color: var(--wow-linie); }
body[class] .site-navigation-dropdown ul.menu li a { color: var(--wow-ink); font-family: var(--wow-titel); background: #fff; }

/* Fußzeile: die des Themes aus, die des Plugins an */
body[class] .site-footer { display: none !important; }
body[class] .wow-fuss { background: #fff; border-top: 1px solid var(--wow-linie); padding: 24px 16px; color: var(--wow-grau); font-size: 15px; line-height: 1.5; }
.wow-fuss-innen { max-width: 1100px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; }
body[class] .wow-fuss p { margin: 0; }
body[class] .wow-fuss strong { color: var(--wow-ink); font-weight: 600; }
body[class] .wow-fuss a { color: var(--wow-grau); text-decoration: none; }
body[class] .wow-fuss a:hover { color: var(--wow-navy); text-decoration: underline; }
.wow-fuss-links { display: flex; flex-wrap: wrap; gap: 6px 16px; }
body[class] .wow-fuss-hinweis { flex-basis: 100%; font-size: 13px; }

/* Terminseite: Hinweis unter der Buchungsbox, mittige Kontaktangaben in zwei sauberen Spalten */
body[class] .wow-hinweis-wichtig p { text-align: center; font-weight: 700; color: #B42318; margin-top: 4px; }
body[class] .wow-mitte .elementor-heading-title, body[class] .wow-mitte { text-align: center; }
/* ab 2.2.5 (Mircos Regel): Am Handy stehen alle Überschriften mittig, auch die kleine Zeile darüber und die Nummern der Schritte */
@media (max-width: 767px) {
  body[class] .elementor-heading-title, body[class] .wow-label, body[class] .wow-label p { text-align: center; }
  body[class] .wow-schritt .elementor-heading-title::before { margin-left: auto; margin-right: auto; }
  /* ab 2.2.7: auch einzelne Knöpfe und Links wie „Mehr erfahren“ oder „Mehr über mich“ mittig */
  body[class] .elementor-widget-button, body[class] .elementor-widget-button .elementor-button-wrapper { text-align: center; }
}
.wow-kontakt-tabelle { margin: 0 auto; border-collapse: collapse; border: 0; width: auto; }
body[class] .wow-kontakt-tabelle th, body[class] .wow-kontakt-tabelle td { border: 0; background: transparent; padding: 5px 0; vertical-align: top; text-align: left; font-size: var(--wow-text); line-height: 1.5; }
body[class] .wow-kontakt-tabelle th { font-weight: 600; padding-right: 18px; white-space: nowrap; color: var(--wow-ink); }
@media (max-width: 480px) {
  body[class] .wow-kontakt-tabelle th, body[class] .wow-kontakt-tabelle td { display: block; padding: 0; }
  body[class] .wow-kontakt-tabelle td { padding-bottom: 10px; }
}

/* Fußzeile mittig: Kontaktzeile und Links untereinander */
.wow-fuss-innen { flex-direction: column; justify-content: center; text-align: center; gap: 8px; }
.wow-fuss-links { justify-content: center; }
body[class] .wow-fuss p { text-align: center; }
.wow-fuss-kontakt > span:not(.wow-fuss-trenner) { white-space: nowrap; }
@media (max-width: 767px) { .wow-fuss-kontakt > span:not(.wow-fuss-trenner) { display: block; } .wow-fuss-trenner { display: none; } }

/* Preiszeile: drei Angaben gleichmäßig verteilt und mittig, nie getrennt */
body[class] .wow-preiszeile p { display: flex; flex-wrap: nowrap; justify-content: space-evenly; gap: 6px 24px; font-size: .95em; text-align: center; -webkit-hyphens: none; hyphens: none; }
body[class] .wow-preiszeile span { white-space: nowrap; }
@media (max-width: 1180px) { body[class] .wow-preiszeile p { flex-direction: column; align-items: center; } }

/* Hinweis vor den Vergleichsrechnern (solange noch keine Zustimmung) */
.wow-rechner-hinweis { border: 2px solid #9AABBF; border-radius: 10px; background: var(--wow-hell); padding: 24px; text-align: center; max-width: 640px; margin: 0 auto; }
.wow-rechner-hinweis[hidden] { display: none; }
.wow-rechner-hinweis strong { display: block; font-family: var(--wow-titel); font-weight: 500; font-size: 1.15em; color: var(--wow-navy); margin-bottom: 8px; }
body[class] .wow-rechner-hinweis p { text-align: center; margin: 0 0 16px; color: var(--wow-grau); }
body[class] .wow-rechner-knopf { font-family: var(--wow-titel); font-weight: 500; font-size: 16px; background: var(--wow-navy); color: #fff; border: 0; border-radius: 6px; padding: 12px 26px; cursor: pointer; }
body[class] .wow-rechner-knopf:hover { background: var(--wow-navy-2); color: #fff; }
.wow-rechner { min-height: 0; }

/* Cookie-Banner (Complianz) im Design der Website: weiß, Marineblau, Akzeptieren und Ablehnen gleichwertig */
body .cmplz-cookiebanner {
  --cmplz_banner_background_color: #ffffff; --cmplz_banner_border_color: #9AABBF; --cmplz_banner_border_width: 2px; --cmplz_banner_border_radius: 10px;
  --cmplz_text_color: #18263A; --cmplz_hyperlink_color: #1F3D63; --cmplz_button_border_radius: 6px; --cmplz_slider_active_color: #1F3D63;
  --cmplz_button_accept_background_color: #1F3D63; --cmplz_button_accept_border_color: #1F3D63; --cmplz_button_accept_text_color: #ffffff;
  --cmplz_button_deny_background_color: #1F3D63; --cmplz_button_deny_border_color: #1F3D63; --cmplz_button_deny_text_color: #ffffff;
  --cmplz_button_settings_background_color: #ffffff; --cmplz_button_settings_border_color: #1F3D63; --cmplz_button_settings_text_color: #1F3D63;
  font-family: var(--wow-schrift) !important; color: #18263A !important; background: #fff !important;
  border: 2px solid #9AABBF !important; border-radius: 10px !important; box-shadow: 0 6px 24px rgba(31, 61, 99, .15) !important;
}
body .cmplz-cookiebanner .cmplz-title, body .cmplz-cookiebanner .cmplz-header { font-family: var(--wow-titel) !important; color: #1F3D63 !important; }
body .cmplz-cookiebanner .cmplz-message, body .cmplz-cookiebanner .cmplz-message p { color: #18263A !important; text-align: left !important; hyphens: manual !important; }
body .cmplz-cookiebanner a { color: #1F3D63 !important; }
body .cmplz-cookiebanner .cmplz-btn { font-family: var(--wow-titel) !important; font-weight: 500 !important; border-radius: 6px !important; text-transform: none !important; }
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept, body .cmplz-cookiebanner .cmplz-btn.cmplz-deny {
  background: #1F3D63 !important; border: 1.5px solid #1F3D63 !important; color: #fff !important;
}
body .cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover, body .cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover { background: #2F5A8A !important; border-color: #2F5A8A !important; }
body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences, body .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences, body .cmplz-cookiebanner .cmplz-btn.cmplz-manage-options {
  background: #fff !important; border: 1.5px solid #1F3D63 !important; color: #1F3D63 !important;
}
body #cmplz-manage-consent .cmplz-manage-consent { background: #fff !important; color: #1F3D63 !important; border: 1.5px solid #9AABBF !important; font-family: var(--wow-titel) !important; }
