/* ==========================================================================
   CareMobil — Ergänzungen für WordPress und Elementor
   Baut auf site.css auf (das unverändert der HTML-Vorlage entspricht).
   Enthält: Elementor-Verzahnung, Admin-Leiste, Seiten ohne Elementor
   (Rechtstexte, Beiträge), Zusatzbauteile der Widgets.
   ========================================================================== */

/* --- Inhaltsbreite ---------------------------------------------------------- */

/* Inhalt und Kopfleiste sind gleich breit: 1416 px (Vorlage: 1320 px Inhalt,
   Leiste 96 px breiter). Gilt für alle Widgets über .container. */
:root {
  --cm-breite-max: 88.5rem;
  --cm-kopf-breite: var(--cm-breite-max);
}

/* --- Elementor: Widgets nahtlos untereinander ----------------------------- */

/* Kein Zwischenraum zwischen unseren Widgets, die Sektionen bringen ihre Abstände mit */
.elementor-widget[class*="elementor-widget-cm-"] {
  --kit-widget-spacing: 0;
  margin-block-end: 0;
}

/* Die Wellen der getönten Sektionen ragen in die Nachbarn hinein. In Elementor
   sind die Widget-Hüllen die Geschwister, deshalb der Ausgleich über :has(). */
.elementor-widget:has(+ .elementor-widget .sektion.hat-bogen) .sektion:not(.hat-bogen) {
  padding-bottom: calc(var(--cm-sektion-y) + var(--cm-welle-hoehe));
}
.elementor-widget:has(.sektion.hat-bogen) + .elementor-widget .sektion:not(.hat-bogen) {
  padding-top: calc(var(--cm-sektion-y) + var(--cm-welle-hoehe));
}
.elementor-widget:has(.sektion.hat-bogen) + .elementor-widget .sektion--ohne,
.elementor-widget:has(.sektion.hat-bogen) + .elementor-widget .sektion--unten { padding-top: var(--cm-welle-hoehe); }

/* Wellen liegen über den Nachbarn */
.elementor-widget:has(> .elementor-widget-container > .hat-bogen),
.elementor-widget:has(> .hat-bogen) { position: relative; z-index: 1; }
/* Die Fußzeile liegt über allem davor: ihre dunkle Welle deckt die helle
   Welle der letzten Sektion ab, wie in der Vorlage (dort durch die DOM-Reihenfolge). */
.fuss,
.elementor-widget:has(> .elementor-widget-container > .fuss),
.elementor-widget:has(> .fuss) { position: relative; z-index: 2; }

/* Die erste getönte Sektion nach dem Hero schiebt sich über das Foto */
@media (min-width: 900px) {
  .hero + .sektion.hat-bogen,
  .elementor-widget:has(.hero) + .elementor-widget .sektion.hat-bogen {
    margin-top: calc(-1 * var(--cm-s-8));
    z-index: 1;
  }
}

/* Elementor setzt „.elementor a { text-decoration: none }“ – Textlinks
   bekommen ihren Unterstrich zurück (Buttons und Navigation bleiben ohne). */
.untertitel a,
.faq-antwort a,
.feld-hilfe a,
.anfrage-erfolg a,
.hinweisbox a,
.ueber-inhalt a,
.entry-content a,
.jobs-schluss a:not(.cm-btn),
.beitrag-teaser a,
.textlink { text-decoration: underline; text-underline-offset: 4px; }
.fuss a:hover { text-decoration: underline; }

/* Elementor setzt „figure { margin: 0 }“ in Widgets mit hoher Spezifität –
   das Teamfoto braucht seine Zentrierung und Luft zum Text zurück. */
.jobs-bild,
.elementor-widget .jobs-bild {
  display: block;
  max-width: 52rem;
  margin: 0 auto var(--cm-s-7) !important;
}

/* Der Hero rutscht nur unter die Leiste, wenn es eine gibt (Theme-Header).
   Auf Elementor-Canvas-Seiten ohne Header beginnt er am Seitenanfang. */
body:not(.cm-kopf) .hero { margin-top: 0; }
body:not(.cm-kopf) .hero-raster { padding-top: var(--cm-s-8); }
@media (min-width: 900px) {
  body:not(.cm-kopf) .hero-text { padding-top: var(--cm-s-8); }
}

/* Elementor-Vorschau: Platzhalter sichtbar lassen, nichts animieren */
.elementor-editor-active [data-aos] { opacity: 1 !important; transform: none !important; }

/* --- Sprungziele ----------------------------------------------------------- */

/* site.css addiert scroll-padding (Dokument) und scroll-margin (Ziel) – das
   ergab rund 300 px Luft. Hier zählt nur noch das Ziel: die Überschrift landet
   kurz unter der beim Scrollen geschrumpften Leiste (88 px + 12 px Rand). */
:root { --cm-sprung-luft: calc(var(--cm-s-5) + 30px); } /* Luft zwischen Leiste und Sprungziel */
html { scroll-padding-top: 0; }
[id] { scroll-margin-top: calc(var(--cm-kopf-hoehe) + var(--cm-s-3) + var(--cm-sprung-luft)); }
/* Sektionen tragen ihren Abstand selbst, der wird herausgerechnet */
.sektion[id] {
  scroll-margin-top: max(0px, calc(var(--cm-kopf-hoehe) + var(--cm-s-3) + var(--cm-sprung-luft) - var(--cm-sektion-y)));
}
.hat-bogen + .sektion[id],
.elementor-widget:has(.sektion.hat-bogen) + .elementor-widget .sektion[id] {
  scroll-margin-top: max(0px, calc(var(--cm-kopf-hoehe) + var(--cm-s-3) + var(--cm-sprung-luft) - var(--cm-sektion-y) - var(--cm-welle-hoehe)));
}
.anfrage-karte { scroll-margin-top: calc(var(--cm-kopf-hoehe) + var(--cm-s-3) + var(--cm-s-4)); }

/* --- Mobil: alles mittig --------------------------------------------------- */

@media (max-width: 639px) {
  .hero-text,
  .sektion-kopf,
  .leistung-karte,
  .kasse-punkte li,
  .kasse-schluss,
  .ablauf-karte,
  .standort-karte,
  .standorte-karte,
  .einrichtungen-typen li,
  .einrichtungen-schluss,
  .ueber-text,
  .ueber-ansprechpartner,
  .jobs-schluss,
  .stelle-karte,
  .stellen-leer,
  .hinweisbox--mitte,
  .inhalt-text,
  .seite-kopf,
  .stelle-bewerben-kopf,
  .anfrage-erfolg,
  .bewerbung-erfolg { text-align: center; }

  /* Absätze und Überschriften mittig, nicht nur der Text darin */
  .hero-text > *,
  .sektion-kopf > *,
  .leistung-karte > *,
  .kasse-punkte li > *,
  .ablauf-karte > *,
  .standort-karte > *,
  .einrichtungen-typen li > *,
  .einrichtungen-schluss > div > *,
  .ueber-text > *,
  .jobs-schluss > *,
  .stelle-karte > *,
  .seite-kopf > *,
  .inhalt-text .entry-content > * { margin-inline: auto; }

  /* Runde Icons, Buttons, Punkte-Leisten und Links mittig */
  .icon-rund,
  .ablauf-karte .icon-rund,
  .leistung-karte .icon-rund,
  .kasse-punkte .icon-rund,
  .einrichtungen-typen .icon-rund { margin-inline: auto; }
  /* Ablauf: die gestrichelte Verbindungslinie unter dem Icon mittig */
  .ablauf-karte:not(:last-child)::after { left: 50%; transform: translateX(-50%); }
  .hero-aktionen,
  .hero-punkte,
  .buttons-zeile,
  .einrichtungen-aktion,
  .kasse-schluss,
  .stelle-meta { justify-content: center; }
  .leistung-link,
  .stelle-link,
  .standort-tel { align-self: center; }
  .leistung-karte,
  .stelle-karte { align-items: center; }
  .ueber-ansprechpartner { display: flex; flex-direction: column; margin-inline: auto; }
  .ueber-ansprechpartner div { justify-items: center; }
  /* Ortsname mit Pin ist ein Flex-Container – Text-Zentrierung greift dort nicht */
  .standort-karte h2,
  .standort-karte h3,
  .standort-karte h4,
  .standort-karte :is(p, div):has(> .cm-icon) { justify-content: center; }
  .stelle-bewerben-kopf { justify-items: center; }
  .stelle-bewerben-anruf { justify-self: center; }
  .anfrage-erfolg .cm-icon { margin-inline: auto; }
  .kopf-menue-liste a { text-align: left; }
}

/* --- Admin-Leiste ---------------------------------------------------------- */

.admin-bar .kopf { top: 32px; }
@media (max-width: 782px) {
  .admin-bar .kopf { top: 46px; }
}
@media (max-width: 600px) {
  .admin-bar .kopf { top: 0; }
}

/* --- Abstände der Bereiche ------------------------------------------------- */

.sektion--kompakt { padding-block: var(--cm-s-6); }
.sektion--oben { padding-bottom: 0; }
.sektion--unten { padding-top: 0; }
.sektion--ohne { padding-block: 0; }

/* --- Zusatzbauteile der Widgets -------------------------------------------- */

/* Textlink mit Pfeil in Leistungskarten (DESIGN.md: Textlink) */
.leistung-link {
  margin-top: auto;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  min-height: var(--cm-touch-min);
  font-size: var(--cm-fs-control);
  font-weight: var(--cm-fw-halb);
  color: var(--cm-blau);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.leistung-link:hover { color: var(--cm-blau-dunkel); }

/* Buttonzeile */
.buttons-zeile { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cm-s-3) var(--cm-s-5); }
.buttons-zeile--mitte { justify-content: center; }
.inhalt-text .buttons-zeile { margin-top: var(--cm-s-5); }
.cm-btn[disabled], .cm-btn.ist-beschaeftigt { opacity: .7; cursor: progress; }

/* Hinweisbox als eigener Abschnitt */
.hinweisbox--mitte { margin-inline: auto; }

/* Textabschnitt */
.inhalt-text { max-width: var(--cm-breite-text); }
.inhalt-text--breit { max-width: 52rem; }
.inhalt-text--voll { max-width: none; }
.inhalt-text--mitte { margin-inline: auto; }
.inhalt-text--voll p { max-width: var(--cm-breite-text); }

/* Standorte: Adresskarte und Kartenpunkt heben sich gegenseitig hervor */
.karte-standort circle,
.karte-standort text,
.karte-gebiet circle {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform var(--cm-transition), fill-opacity var(--cm-transition), stroke-opacity var(--cm-transition), fill var(--cm-transition);
}
.karte [data-standort] { cursor: pointer; }
.karte-standort circle.ist-aktiv { transform: scale(1.5); }
.karte-standort text.ist-aktiv { fill: var(--cm-blau); }
.karte-gebiet circle.ist-aktiv { fill-opacity: .34; stroke-opacity: 1; stroke-width: 2.5; }
.standorte-raster.hat-aktiv .karte-gebiet circle:not(.ist-aktiv) { fill-opacity: .07; stroke-opacity: .35; }
.standorte-raster.hat-aktiv .karte-standort text:not(.ist-aktiv) { fill: var(--cm-tinte-3); }
.standort-karte { transition: box-shadow var(--cm-transition), transform var(--cm-transition); }
.standort-karte.ist-aktiv { box-shadow: var(--cm-schatten-m); transform: translateY(-3px); }

/* Standorte ohne Karte, Über-Abschnitt mit Bild rechts */
.standorte-raster--ohne-karte { grid-template-columns: 1fr; }
.standorte-raster--ohne-karte .standorte-liste { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.karte-bild { display: block; width: 100%; height: auto; border-radius: var(--cm-r-l); }
@media (min-width: 900px) {
  .ueber-raster--bild-rechts .ueber-bild { order: 2; }
  .ueber-raster--bild-rechts { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
}
.ueber-inhalt p { color: var(--cm-tinte-2); }
.ueber-inhalt p:last-child { margin-bottom: 0; }

/* Adressvorschläge: die offene Liste liegt über den Nachbarfeldern */
.adresse.ist-offen { z-index: 25; }

/* Choices.js im Feld-Stil – mit erhöhter Spezifität, falls das Bibliotheks-CSS
   doch einmal nach site.css geladen wird (Elementor druckt Widget-Styles im Fuß). */
.feld .choices .choices__inner,
.feld .choices[data-type*="select-one"] .choices__inner {
  min-height: var(--cm-button-hoch);
  padding: var(--cm-s-2) 52px var(--cm-s-2) var(--cm-feld-pad-x);
  background: var(--cm-papier);
  border: 2px solid var(--cm-rahmen-feld);
  border-radius: var(--cm-r-m);
  font-size: var(--cm-fs-control);
}
.feld .choices:hover .choices__inner { border-color: var(--cm-tinte-2); }
.feld .choices.is-focused .choices__inner,
.feld .choices.is-open .choices__inner,
.feld .choices.is-open.is-flipped .choices__inner {
  border-color: var(--cm-blau);
  border-radius: var(--cm-r-m);
  box-shadow: 0 0 0 3px var(--cm-fokus-schein);
}
.feld .choices[data-type*="select-one"]::after { display: none; }
.feld .choices[data-type*="select-one"] .choices__input { display: none; }
.feld .choices .choices__list--dropdown,
.feld .choices .choices__list[aria-expanded],
.feld .choices.is-flipped .choices__list--dropdown,
.feld .choices.is-flipped .choices__list[aria-expanded] {
  border: 0;
  border-radius: var(--cm-r-m);
  box-shadow: var(--cm-schatten-l);
  margin-top: var(--cm-s-2);
  margin-bottom: var(--cm-s-2);
  z-index: 30;
  overflow: hidden;
}
.feld .choices .choices__list--dropdown .choices__item,
.feld .choices .choices__list[aria-expanded] .choices__item {
  padding: var(--cm-s-3) var(--cm-feld-pad-x);
  font-size: var(--cm-fs-control);
  color: var(--cm-tinte);
}
.feld .choices .choices__list--dropdown .choices__item--selectable.is-highlighted,
.feld .choices .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
  background: var(--cm-blau-zart);
  color: var(--cm-blau-dunkel);
}
.feld .choices .choices__list--single { padding: 0; color: var(--cm-tinte); }
.feld .choices .choices__placeholder { opacity: 1; color: var(--cm-tinte-3); }

/* Bestätigung: das große Häkchen-Icon darf nicht auf den Button abfärben */
.anfrage-erfolg .cm-btn .cm-icon {
  font-size: var(--cm-icon-s);
  margin-bottom: 0;
}
.anfrage-erfolg .cm-btn .cm-icon path:first-child { fill: var(--cm-text-invers); opacity: .45; }
.anfrage-erfolg .cm-btn .cm-icon path:last-child { fill: var(--cm-text-invers); }

/* Fehlermeldung des ganzen Formulars (Sendung, Weg ohne JavaScript) */
.anfrage-fehler {
  display: flex;
  align-items: flex-start;
  gap: var(--cm-s-3);
  background: var(--cm-fehler-hell);
  border-radius: var(--cm-r-m);
  padding: var(--cm-s-4) var(--cm-s-5);
  margin: 0 0 var(--cm-s-5);
  color: var(--cm-fehler);
  font-size: var(--cm-fs-klein);
  max-width: none;
}
.anfrage-fehler--sendung { margin: var(--cm-s-4) 0 0; font-weight: var(--cm-fw-halb); }
.anfrage-fehler .cm-icon { font-size: var(--cm-icon-m); flex: none; margin-top: 2px; }
.anfrage-fehler .cm-icon path:first-child { fill: var(--cm-fehler); opacity: .2; }
.anfrage-fehler .cm-icon path:last-child { fill: var(--cm-fehler); }
.anfrage-fehler strong { display: block; margin-bottom: var(--cm-s-1); }
.anfrage-fehler ul { list-style: disc; padding-left: 1.2em; }

/* Honeypot: für Menschen unsichtbar, für Skripte ein normales Feld */
.honig {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Schließen-Kreuz im Dialog: das Duotone-Quadrat des x-Icons weglassen */
.bewerbung-zu .cm-icon path:first-child { display: none; }
.bewerbung-zu .cm-icon path:last-child { fill: var(--cm-tinte-2); }
.bewerbung-zu:hover .cm-icon path:last-child { fill: var(--cm-blau); }

/* Bewerbungs-Formular: der Sendefehler sitzt unter dem Button */
.bewerbung .anfrage-fehler--sendung { margin-top: var(--cm-s-4); }

/* Ausklappmenü: aktiver Eintrag aus WordPress */
.kopf-nav a[aria-current="page"] { background: var(--cm-blau-hell); color: var(--cm-blau); }

/* --- Seiten ohne Elementor: Rechtstexte, Beiträge, 404, Suche ------------- */

.sektion--seite { padding-block: var(--cm-s-7) var(--cm-sektion-y); }
.inhalt-spalte { max-width: 52rem; margin-inline: auto; }
.seite-kopf { margin-bottom: var(--cm-s-6); }
.seite-titel { font-size: var(--cm-fs-h1, clamp(2.125rem, 1.7rem + 1.8vw, 3rem)); line-height: 1.15; margin-bottom: var(--cm-s-3); }
.eyebrow {
  font-size: var(--cm-fs-mini);
  font-weight: var(--cm-fw-halb);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--cm-blau);
  margin-bottom: var(--cm-s-2);
}
.lead { font-size: var(--cm-fs-lead); color: var(--cm-tinte-2); }
.seite-bild { margin: 0 0 var(--cm-s-6); }
.seite-bild img { display: block; width: 100%; height: auto; border-radius: var(--cm-r-l); box-shadow: var(--cm-schatten-m); }

.entry-content > * { max-width: var(--cm-breite-text); }
.entry-content > .alignwide,
.entry-content > .alignfull,
.entry-content > .wp-block-table,
.entry-content > figure { max-width: none; }
.entry-content h2 { font-size: var(--cm-fs-h2); margin-top: var(--cm-s-7); }
.entry-content h3 { font-size: var(--cm-fs-h3); margin-top: var(--cm-s-6); }
.entry-content h4 { font-size: var(--cm-fs-h4); margin-top: var(--cm-s-5); }
.entry-content h2:first-child, .entry-content h3:first-child { margin-top: 0; }
.entry-content p, .entry-content li { color: var(--cm-tinte-2); }
.entry-content ul, .entry-content ol { padding-left: 1.4em; margin: 0 0 var(--cm-s-4); }
.entry-content li { margin-bottom: var(--cm-s-2); }
.entry-content ul { list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content blockquote {
  margin: var(--cm-s-5) 0;
  padding: var(--cm-s-4) var(--cm-s-5);
  border-left: 4px solid var(--cm-gruen);
  background: var(--cm-papier);
  border-radius: 0 var(--cm-r-m) var(--cm-r-m) 0;
}
.entry-content img { border-radius: var(--cm-r-m); height: auto; }
.entry-content figcaption { font-size: var(--cm-fs-mini); color: var(--cm-tinte-3); margin-top: var(--cm-s-2); }
.entry-content table { width: 100%; border-collapse: collapse; font-size: var(--cm-fs-klein); margin-bottom: var(--cm-s-5); }
.entry-content th, .entry-content td { text-align: left; padding: var(--cm-s-2) var(--cm-s-3); border-bottom: 1px solid var(--cm-linie); vertical-align: top; }
.entry-content th { font-weight: var(--cm-fw-halb); color: var(--cm-tinte); }
.entry-content hr { border: 0; border-top: 1px solid var(--cm-linie); margin: var(--cm-s-6) 0; }
.entry-content address { color: var(--cm-tinte-2); margin-bottom: var(--cm-s-4); }
.entry-content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  min-height: var(--cm-button-hoch);
  padding: 0 var(--cm-btn-pad-x);
  border-radius: var(--cm-r-voll);
  background: var(--cm-blau);
  color: var(--cm-text-invers);
  font-weight: var(--cm-fw-halb);
  text-decoration: none;
}
.entry-content .wp-block-button__link:hover { background: var(--cm-blau-dunkel); }
.seiten-nav { margin-top: var(--cm-s-5); font-size: var(--cm-fs-klein); }

/* --- Stellenangebote ------------------------------------------------------- */

.stellen-raster {
  list-style: none;
  display: grid;
  gap: var(--cm-s-4);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 24rem));
  justify-content: center;
}
.jobs-stellen .stellen-raster { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.jobs-stellen { max-width: 52rem; margin: 0 auto var(--cm-s-6); }
.stelle-karte {
  display: flex;
  flex-direction: column;
  gap: var(--cm-s-2);
  padding: var(--cm-s-5) var(--cm-s-5) var(--cm-s-4);
  transition: box-shadow var(--cm-transition), transform var(--cm-transition);
}
.stelle-karte:hover, .stelle-karte:focus-within { box-shadow: var(--cm-schatten-m); transform: translateY(-3px); }
.stelle-titel { font-size: var(--cm-fs-h4); margin: 0; }
.stelle-titel a { color: var(--cm-tinte); text-decoration: none; }
.stelle-titel a:hover { color: var(--cm-blau); }
.stelle-meta {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--cm-s-1) var(--cm-s-4);
  font-size: var(--cm-fs-klein);
  color: var(--cm-tinte-2);
}
.stelle-meta li { display: inline-flex; align-items: center; gap: var(--cm-s-1); }
.stelle-meta .cm-icon { font-size: var(--cm-icon-s); }
.stelle-meta--gross { font-size: var(--cm-fs-control); margin-top: var(--cm-s-3); }
.stelle-auszug { font-size: var(--cm-fs-klein); color: var(--cm-tinte-2); margin: 0; }
.stelle-link {
  margin-top: auto;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  min-height: var(--cm-touch-min);
  font-size: var(--cm-fs-control);
  font-weight: var(--cm-fw-halb);
  color: var(--cm-blau);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.stelle-link:hover { color: var(--cm-blau-dunkel); }
.stellen-leer { max-width: var(--cm-breite-text); margin-inline: auto; text-align: center; color: var(--cm-tinte-2); }

/* Einzelne Stelle: volle Inhaltsbreite wie die übrigen Abschnitte */
.stelle-inhalt { max-width: none; }
.stelle-inhalt .entry-content > *,
.stelle-inhalt .entry-content p,
.stelle-inhalt .seite-kopf p { max-width: none; }
.stelle-inhalt .seite-bild img { width: 100%; }

/* Einzelne Stelle: Bewerbungskarte mit eingebettetem Formular */
.stelle-bewerben {
  background: var(--cm-papier);
  border-radius: var(--cm-r-l);
  box-shadow: var(--cm-schatten-m);
  padding: var(--cm-karte-pad);
  margin-top: var(--cm-s-7);
  container-type: inline-size;
}
.stelle-bewerben-kopf {
  display: grid;
  grid-template-columns: var(--cm-icon-rund-gross) minmax(0, 1fr) auto;
  gap: var(--cm-s-5);
  align-items: center;
  padding-bottom: var(--cm-s-5);
  margin-bottom: var(--cm-s-5);
  border-bottom: 1px solid var(--cm-linie);
}
@media (max-width: 639px) {
  .stelle-bewerben-kopf { grid-template-columns: 1fr; }
}
.stelle-bewerben h2 { font-size: var(--cm-fs-h3); margin-bottom: var(--cm-s-2); }
.stelle-bewerben-kopf p { color: var(--cm-tinte-2); margin-bottom: 0; }
.stelle-bewerben-anruf { justify-self: end; }
@media (max-width: 639px) {
  .stelle-bewerben-anruf { justify-self: start; }
}
.bewerbung--inline { max-width: 46rem; margin-inline: auto; }
.zustimmung a { text-decoration: underline; text-underline-offset: 3px; }
/* Alle Felder so breit wie die Zeile mit Name und Telefon */
.bewerbung--inline .feld { margin-bottom: var(--cm-s-4); max-width: none; }
.bewerbung--inline .feld-zeile { max-width: none; }
.bewerbung--inline .feld-hilfe,
.bewerbung--inline .schritt-hilfe { max-width: none; }
.bewerbung--inline .zustimmung { font-size: var(--cm-fs-control); color: var(--cm-tinte); }
.bewerbung--inline .bewerbung-aktionen .cm-btn { width: 100%; }
.bewerbung--inline .feld--zustimmung { margin-top: var(--cm-s-5); }
.bewerbung--inline .bewerbung-aktionen { margin-top: var(--cm-s-5); }
.bewerbung--inline .bewerbung-erfolg { text-align: left; padding-block: 0; }
.bewerbung--inline .bewerbung-erfolg .icon-rund { margin: 0 0 var(--cm-s-4); }
.bewerbung--inline .bewerbung-erfolg p { margin-inline: 0; }
.bewerbung-erfolg--seite { scroll-margin-top: calc(var(--cm-kopf-hoehe) + var(--cm-s-5)); }
.stelle-zurueck { margin-top: var(--cm-s-6); text-align: center; max-width: none; }
/* Zentrierter Seitenkopf (Übersicht /stellen/): auch Eyebrow und Lead mittig */
.seite-kopf.sektion-kopf--mitte > * { margin-inline: auto; }
.bewerbung-stelle {
  display: flex;
  align-items: center;
  gap: var(--cm-s-2);
  background: var(--cm-blau-zart);
  border-radius: var(--cm-r-s);
  padding: var(--cm-s-2) var(--cm-s-3);
  font-weight: var(--cm-fw-halb);
  margin-bottom: var(--cm-s-3);
}
.bewerbung-stelle .cm-icon { font-size: var(--cm-icon-s); }

/* Rechtstexte: Stand-Zeile und sichtbare Platzhalter für fehlende Angaben */
.rechtstext-stand { font-size: var(--cm-fs-klein); color: var(--cm-tinte-3); margin: 0; }
.rechtstext-inhalt--voll .entry-content > *,
.rechtstext-inhalt--voll .entry-content p,
.rechtstext-inhalt--voll .seite-kopf p { max-width: none; }
.rechtstext h2:first-child { margin-top: 0; }
.rechtstext address { font-style: normal; }
.platzhalter {
  background: var(--cm-sonne-hell);
  color: var(--cm-sonne-text);
  font-weight: var(--cm-fw-halb);
  padding: 0 .3em;
  border-radius: var(--cm-r-s);
}
.sektion--seite .sektion-kopf { display: none; }

/* Beitragslisten */
.beitrags-liste { display: grid; gap: var(--cm-s-4); margin-bottom: var(--cm-s-6); }
.beitrag-teaser-titel { font-size: var(--cm-fs-h3); margin-bottom: var(--cm-s-2); }
.beitrag-teaser-titel a { color: var(--cm-tinte); text-decoration: none; }
.beitrag-teaser-titel a:hover { color: var(--cm-blau); }
.beitrag-teaser-text { color: var(--cm-tinte-2); font-size: var(--cm-fs-klein); }
.beitrag-teaser-text p { margin-bottom: var(--cm-s-3); }
.textlink { font-weight: var(--cm-fw-halb); }
.beitrag-nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--cm-s-3); margin-top: var(--cm-s-7); padding-top: var(--cm-s-5); border-top: 1px solid var(--cm-linie); }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--cm-s-2); }
.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--cm-touch-min);
  min-height: var(--cm-touch-min);
  padding: 0 var(--cm-s-3);
  border-radius: var(--cm-r-voll);
  background: var(--cm-papier);
  box-shadow: var(--cm-schatten-s);
  text-decoration: none;
}
.pagination .page-numbers.current { background: var(--cm-blau); color: var(--cm-text-invers); }

/* Suchformular */
.suchformular { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--cm-s-3); max-width: var(--cm-breite-text); }
.suchformular .feld { flex: 1 1 16rem; margin: 0; }

/* Ansprechpartner: Telefonnummer ohne Unterstrich, nur beim Überfahren, Farbe bleibt */
.ueber-ansprechpartner a { text-decoration: none; color: var(--cm-blau); }
.ueber-ansprechpartner a:hover,
.ueber-ansprechpartner a:focus-visible { text-decoration: underline; text-underline-offset: 4px; color: var(--cm-blau); }
