/* ---- 00-basis.css ---- */
/* =====================================================================
   Dr. Schwetlick · Baukasten (wird aus css/*.css zu assets/ds-baukasten.css gebaut)
   Design: Figma „Dr. Schwetlick“ (jw8kUurNxOr5TKuyGBi7YE), Desktop 1920 px, Inhalt 1290 px.
   Mobil-/Tablet-Verhalten ist im Design nicht entworfen und hier ergänzt.
   ===================================================================== */

:root {
	--ds-olive: #8D9A88;
	--ds-olive-dunkel: #5F6B5B;
	--ds-sand: #CDA57A;
	--ds-beige: #EBE6E0;
	--ds-hell: #F7F5F3;
	--ds-gruen: #566253;
	--ds-gruen-hell: #DDE6D7;
	--ds-fuss: #293426;
	--ds-fuss-unten: #232D21;
	--ds-text: #353030;
	--ds-text-2: #3F413C;
	--ds-ink: #141F12;
	--ds-grau: #8C8E89;
	--ds-rahmen: rgba(140, 142, 137, 0.3);
	--ds-rahmen-2: rgba(140, 142, 137, 0.4);
	--ds-rot: #D93833;
	--ds-font: "Helvetica Neue", Helvetica, Arial, "Liberation Sans", sans-serif;
	--ds-breite: 1290px;
	--ds-rand: 25px;
	--ds-abschnitt: 80px;
	--ds-radius: 16px;
}

/* ---------- Grundlagen ---------- */
.ds-site { background: #fff; color: var(--ds-text); font-family: var(--ds-font); font-size: 16px; line-height: 1.4; -webkit-font-smoothing: antialiased; }
.ds-site a { color: inherit; }
.ds-site img { max-width: 100%; height: auto; }
.ds-site .skip-link { position: absolute; left: -9999px; }
.ds-site .skip-link:focus { left: 12px; top: 12px; z-index: 1000; background: #fff; color: var(--ds-ink); padding: 10px 14px; border-radius: 8px; }
.ds-site :focus-visible { outline: 2px solid var(--ds-olive-dunkel); outline-offset: 3px; }
.ds-site .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.ds-main { display: block; outline: none; }

/* ---------- Elementor-Grundwerte neutralisieren (Abstände kommen aus den Bausteinen) ---------- */
.ds-site .e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --margin-top: 0px; --margin-bottom: 0px; --gap: 0px 0px; --row-gap: 0px; --column-gap: 0px; --widgets-spacing: 0px 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px; --container-max-width: none; --content-width: 100%; --width: 100%; --flex-wrap: nowrap; min-height: 0; }
.ds-site .e-con > .e-con-inner { --padding-top: 0px; --padding-bottom: 0px; gap: 0; }
.ds-site .elementor-widget, .ds-site .elementor-element { margin: 0; }
.ds-site .elementor-widget-container { margin: 0; padding: 0; }
/* Elementor 4 nullt den unteren Abstand mit `.e-con .elementor-widget.elementor-widget` (0,3,0);
   Abstände deshalb über gap der Container setzen. */
.ds-site .elementor-heading-title { padding: 0; margin: 0; font-family: inherit; font-weight: inherit; color: inherit; line-height: inherit; font-size: inherit; letter-spacing: inherit; text-transform: inherit; }
.ds-site .elementor-widget-text-editor { color: inherit; font-family: inherit; font-size: inherit; line-height: inherit; }
.ds-site .elementor-widget-text-editor p { margin: 0 0 10px; }
.ds-site .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.ds-site .elementor-widget-image img { width: 100%; display: block; }
.ds-site .elementor-widget-image figure { margin: 0; }
.ds-site .page-content > .elementor, .ds-site main#content { max-width: none; padding: 0; margin: 0; }
.ds-site .site-main { max-width: none; padding: 0; }

/* ---------- Typografie ---------- */
.ds-site .ds-kicker { font-size: 24px; line-height: normal; text-transform: uppercase; font-weight: 400; }
.ds-site .ds-h1 { font-size: clamp(36px, 3.3vw + 8px, 66px); line-height: 1.12; text-transform: uppercase; font-weight: 400; hyphens: manual; overflow-wrap: break-word; }
.ds-site .ds-h2 { font-size: 35px; line-height: 1.4; text-transform: uppercase; font-weight: 500; color: var(--ds-text); }
.ds-site .ds-h2--zentriert { text-align: center; }
.ds-site .ds-h3 { font-size: 20px; line-height: 1.4; font-weight: 500; color: var(--ds-text); }
.ds-site .ds-lead { font-size: 20px; line-height: 1.4; }
.ds-site .ds-text { font-size: 16px; line-height: 1.4; color: var(--ds-text); }
.ds-site .ds-text strong { font-weight: 500; }
.ds-site .ds-text a { color: var(--ds-olive-dunkel); text-underline-offset: 3px; }

/* ---------- Abschnitte ---------- */
.ds-site .ds-abschnitt.e-con { padding: var(--ds-abschnitt) var(--ds-rand); align-items: center; }
.ds-site .ds-wrap.e-con { width: 100%; max-width: var(--ds-breite); margin-inline: auto; }
.ds-site .ds-stapel.e-con { gap: 40px; }
.ds-site .ds-stapel--60.e-con { gap: 60px; }
.ds-site .ds-stapel--20.e-con { gap: 20px; }
.ds-site .ds-bg-weiss.e-con { background: #fff; }
.ds-site .ds-bg-hell.e-con { background: var(--ds-hell); }
.ds-site .ds-bg-beige.e-con { background: var(--ds-beige); }
.ds-site .ds-bg-gruen.e-con { background: var(--ds-gruen); color: #fff; }
.ds-site .ds-bg-gruen .ds-h2 { color: var(--ds-gruen-hell); }
.ds-site .ds-bg-gruen .ds-text, .ds-site .ds-bg-gruen .ds-lead { color: #fff; }
/* Eingerückte Fläche (Design: x 50, 1820 breit) */
.ds-site .ds-eingerueckt.e-con { margin-inline: 50px; width: auto; border-radius: var(--ds-radius); }
.ds-site .ds-eingerueckt--eckig.e-con { border-radius: 0; }
.ds-site .ds-ohne-oben.e-con { padding-top: 0; }

/* ---------- Pill-Button (K1) ----------
   Elementor-Button-Widget mit Klasse ds-knopf + Farbe (ds-knopf--olive|sand|dunkel) + Icon (ds-knopf--pfeil|tel|download).
   Die weiße Icon-Kapsel rechts entsteht per ::after. */
.ds-site .ds-knopf .elementor-button,
.ds-site a.ds-knopf { display: inline-flex; align-items: center; gap: 10px; min-height: 56px; padding: 8px 10px 8px 20px; border-radius: 30px; border: 1px solid transparent; font-family: var(--ds-font); font-size: 18px; font-weight: 400; line-height: normal; color: #fff; text-decoration: none; white-space: nowrap; transition: filter .15s ease, transform .15s ease; box-sizing: border-box; }
.ds-site .ds-knopf .elementor-button::after,
.ds-site a.ds-knopf::after { content: ""; flex: 0 0 auto; width: 60px; height: 40px; border-radius: 40px; background: #fff url("icons/arrow-diag-right.svg") center / 20px 20px no-repeat; }
.ds-site .ds-knopf .elementor-button:hover, .ds-site a.ds-knopf:hover { filter: brightness(0.94); color: #fff; }
.ds-site .ds-knopf .elementor-button:active, .ds-site a.ds-knopf:active { transform: translateY(1px); }
.ds-site .ds-knopf .elementor-button-content-wrapper { gap: 10px; }
.ds-site .ds-knopf--olive .elementor-button, .ds-site a.ds-knopf--olive { background: var(--ds-olive); }
.ds-site .ds-knopf--sand .elementor-button, .ds-site a.ds-knopf--sand { background: var(--ds-sand); }
.ds-site .ds-knopf--dunkel .elementor-button, .ds-site a.ds-knopf--dunkel { background: var(--ds-text); border-color: var(--ds-text); }
.ds-site .ds-knopf--tel .elementor-button::after, .ds-site a.ds-knopf--tel::after { background-image: url("icons/phone-button.svg"); }
.ds-site .ds-knopf--download .elementor-button::after, .ds-site a.ds-knopf--download::after { background-image: url("icons/download.svg"); }
.ds-site .ds-knoepfe.e-con { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 20px 25px; }
.ds-site .ds-knoepfe > .elementor-widget { width: auto; }

/* Textlink mit Pfeil-Kapsel (K6) */
.ds-site .ds-pfeillink, .ds-site .ds-text a.ds-pfeillink { display: inline-flex; align-items: center; gap: 10px; padding: 8px 0; font-size: 16px; color: var(--ds-text-2); text-decoration: none; }
.ds-site .ds-pfeillink::after { content: ""; width: 36px; height: 24px; border-radius: 40px; background: var(--ds-text-2) url("icons/arrow-diag-right-small-white.svg") center / 16px 16px no-repeat; transition: transform .15s ease; }
.ds-site .ds-pfeillink:hover::after { transform: translateX(3px); }

/* Icon-Kapsel (K4), Icon über Modifier-Klasse ds-ikon--<name> (Datei assets/icons/<name>.svg) */
.ds-site .ds-kapsel { display: inline-flex; align-items: center; justify-content: center; background: var(--ds-olive); border-radius: 40px; }
.ds-site .ds-kapsel--gross { width: 75px; height: 55px; }
.ds-site .ds-kapsel--mittel { width: 52px; height: 36px; }
.ds-site .ds-kapsel--klein { width: 26px; height: 26px; }
.ds-site .ds-kapsel img { display: block; }
.ds-site .ds-kapsel--gross img { width: 35px; height: 35px; }
.ds-site .ds-kapsel--mittel img { width: 24px; height: 24px; }
.ds-site .ds-kapsel--klein img { width: 16px; height: 16px; }
.ds-site .ds-h2--dunkel { color: var(--ds-text-2); }
.ds-site .ds-h2--weiss { color: #fff; }
.ds-site .ds-zahl__beschriftung.e-con { gap: 4px; }
.ds-site .ds-bg-gruen .ds-h2.ds-h2--weiss { color: #fff; }

/* ---- 10-kopf-fuss.css ---- */
/* ---------- Kopfbereich (spec/kopfbereich.md): liegt über dem Seitenkopf-Foto ---------- */
.ds-kopf { position: absolute; top: 0; left: 0; right: 0; z-index: 50; padding: 13px var(--ds-rand) 0; display: flex; flex-direction: column; align-items: center; gap: 16px; pointer-events: none; }
.ds-kopf > * { pointer-events: auto; }
.admin-bar .ds-kopf { top: 32px; }
.ds-kopf__leiste { display: flex; gap: 30px; align-items: center; justify-content: center; flex-wrap: wrap; }
.ds-site .ds-kopf__kontakt { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 16px; font-weight: 500; line-height: normal; text-decoration: none; white-space: nowrap; text-shadow: 0 1px 2px rgba(0, 0, 0, .25); }
.ds-site .ds-kopf__kontakt:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ds-kopf__punkt { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 26px; box-sizing: border-box; padding: 3px 10px; border-radius: 40px; background: var(--ds-olive); border: 1px solid rgba(255, 255, 255, .4); }
.ds-kopf__punkt svg { width: 20px; height: 20px; }

.ds-kopf__bar { position: relative; width: 100%; max-width: var(--ds-breite); height: 61px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 51px 0 49px; border: 1px solid #FBFBFB; border-radius: 60px; background: rgba(235, 230, 224, .4); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.ds-site .ds-kopf__marke { flex: 0 0 auto; color: var(--ds-ink); font-size: 24px; font-weight: 500; line-height: normal; text-transform: uppercase; text-decoration: none; white-space: nowrap; }
.ds-kopf__nav { flex: 0 1 858px; }
.ds-kopf__nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ds-site .ds-kopf__nav a { display: block; padding: 5px 10px; margin: 0 -10px; border-radius: 40px; color: var(--ds-ink); font-size: 16px; font-weight: 500; line-height: normal; text-decoration: none; white-space: nowrap; transition: background-color .15s ease; }
.ds-site .ds-kopf__nav a:hover { background: rgba(255, 255, 255, .55); }
.ds-site .ds-kopf__nav a[aria-current="page"] { background: #fff; }

/* Beim Scrollen bleibt die Navigation oben stehen (ds-site.js setzt ds-kopf--fest). */
.ds-kopf--fest .ds-kopf__bar { position: fixed; top: 10px; left: 50%; transform: translateX(-50%); width: calc(100% - 2 * var(--ds-rand)); background: rgba(235, 230, 224, .88); box-shadow: 0 6px 24px rgba(20, 31, 18, .12); z-index: 60; animation: ds-kopf-ein .2s ease; }
.admin-bar .ds-kopf--fest .ds-kopf__bar { top: 42px; }
@keyframes ds-kopf-ein { from { opacity: 0; transform: translate(-50%, -8px); } to { opacity: 1; transform: translate(-50%, 0); } }
@media (prefers-reduced-motion: reduce) { .ds-kopf--fest .ds-kopf__bar { animation: none; } }

/* Burger + mobiles Menü */
.ds-burger { display: none; position: relative; width: 44px; height: 44px; margin-right: -12px; padding: 0; border: 0; border-radius: 22px; background: transparent; cursor: pointer; }
/* Theme-Standard (Hello: button:hover/focus #c36) neutralisieren */
.ds-burger:hover, .ds-burger:focus { background: rgba(0, 0, 0, .06); color: inherit; }
.ds-burger span, .ds-burger span::before, .ds-burger span::after { position: absolute; left: 11px; width: 22px; height: 2px; background: var(--ds-ink); border-radius: 2px; content: ""; transition: transform .2s ease, opacity .2s ease; }
.ds-burger span { top: 21px; }
.ds-burger span::before { left: 0; top: -7px; }
.ds-burger span::after { left: 0; top: 7px; }
.ds-burger[aria-expanded="true"] span { background: transparent; }
.ds-burger[aria-expanded="true"] span::before { transform: translateY(7px) rotate(45deg); }
.ds-burger[aria-expanded="true"] span::after { transform: translateY(-7px) rotate(-45deg); }
.ds-mobilnav { position: fixed; inset: 0; z-index: 55; overflow-y: auto; padding: 110px var(--ds-rand) 40px; background: rgba(235, 230, 224, .97); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.ds-mobilnav[hidden] { display: none; }
.ds-mobilnav ul { list-style: none; margin: 0 0 28px; padding: 0; }
.ds-mobilnav li { border-bottom: 1px solid rgba(20, 31, 18, .12); }
.ds-site .ds-mobilnav li a { display: block; padding: 14px 4px; color: var(--ds-ink); font-size: 20px; font-weight: 500; text-decoration: none; }
.ds-site .ds-mobilnav li a[aria-current="page"] { color: var(--ds-olive-dunkel); }
.ds-mobilnav__kontakt { margin: 0 0 24px; font-size: 18px; line-height: 1.8; }
.ds-site .ds-mobilnav__kontakt a { color: var(--ds-ink); }
.ds-menue-offen { overflow: hidden; }
.ds-menue-offen .ds-kopf__bar { position: fixed; top: 10px; left: 50%; transform: translateX(-50%); width: calc(100% - 2 * var(--ds-rand)); z-index: 60; }

@media (max-width: 1200px) {
	.ds-kopf__nav { display: none; }
	.ds-burger { display: block; }
	.ds-kopf__bar { padding: 0 24px 0 28px; }
}
@media (max-width: 767px) {
	.ds-kopf { padding-top: 10px; }
	.ds-kopf__leiste { display: none; }
	.ds-kopf__bar { height: 56px; }
	.ds-kopf__marke { font-size: 20px; }
}

/* ---------- Fußzeile (spec/footer.md) ---------- */
.ds-fuss { background: var(--ds-fuss); color: #fff; }
.ds-site .ds-fuss a { color: #fff; text-decoration: none; }
.ds-site .ds-fuss a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ds-fuss__raster { max-width: calc(var(--ds-breite) + 2 * var(--ds-rand)); margin: 0 auto; padding: 80px var(--ds-rand); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.ds-fuss__spalte { display: flex; flex-direction: column; gap: 20px; }
.ds-fuss__marke { margin: 0; font-size: 35px; font-weight: 500; line-height: 1.4; text-transform: uppercase; }
.ds-fuss__claim { margin: 0; font-size: 20px; line-height: 1.4; }
.ds-fuss__klein, .ds-fuss__titel { margin: 0; font-size: 16px; line-height: 1.4; }
.ds-fuss__zeile { display: flex; align-items: center; gap: 20px; min-height: 40px; font-size: 16px; line-height: 1.3; }
.ds-fuss__ikon { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 40px; border-radius: 40px; background: #fff; }
.ds-fuss__ikon svg { width: 20px; height: 20px; }
.ds-fuss__unten { background: var(--ds-fuss-unten); }
.ds-fuss__unten-innen { max-width: calc(var(--ds-breite) + 2 * var(--ds-rand)); margin: 0 auto; padding: 20px var(--ds-rand); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; font-size: 16px; line-height: 1.4; }
.ds-fuss__recht { display: flex; flex-wrap: wrap; gap: 6px 18px; }
@media (max-width: 1024px) {
	.ds-fuss__raster { grid-template-columns: 1fr 1fr; padding-block: 60px; }
	.ds-fuss__spalte--marke { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.ds-fuss__raster { grid-template-columns: 1fr; gap: 36px; padding-block: 48px 56px; }
	.ds-fuss__marke { font-size: 28px; }
	.ds-fuss__unten-innen { flex-direction: column; align-items: flex-start; padding-bottom: 92px; }
}

/* ---------- Mobile Kontaktleiste (nur Telefon-Breite) ---------- */
.ds-leiste { display: none; }
@media (max-width: 767px) {
	.ds-leiste { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .96); box-shadow: 0 -4px 18px rgba(20, 31, 18, .12); }
	.ds-site .ds-leiste a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border-radius: 30px; color: #fff; font-size: 16px; text-decoration: none; }
	.ds-leiste a svg { width: 20px; height: 20px; }
	.ds-leiste__tel { background: var(--ds-sand); }
	.ds-leiste__termin { background: var(--ds-olive-dunkel); }
	.ds-menue-offen .ds-leiste { display: none; }
}

/* ---- 20-komponenten.css ---- */
/* ---------- Seitenkopf mit Foto (Hero) ---------- */
.ds-site .ds-a-hero.e-con { position: relative; min-height: 950px; padding: 199px var(--ds-rand) 80px; justify-content: flex-start; color: #fff; background-color: #6d746a; background-size: cover; background-position: center center; background-repeat: no-repeat; isolation: isolate; }
.ds-site .ds-a-hero.e-con::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0, 0, 0, .2); }
.ds-site .ds-a-hero--dunkler.e-con::before { background: rgba(0, 0, 0, .25); }
.ds-site .ds-hero__text.e-con { max-width: 670px; gap: 40px; align-items: flex-start; }
.ds-site .ds-hero__titel.e-con { gap: 40px; }
.ds-site .ds-a-hero .ds-h1 { max-width: 670px; }
.ds-site .ds-a-hero .e-con > .elementor-widget.ds-h1--breit { width: min(1100px, calc(100vw - 2 * var(--ds-rand))); max-width: none; flex-shrink: 0; }
.ds-site .ds-a-hero .ds-lead { max-width: 640px; }

/* Notfall-Hinweis im Hero (ganze Fläche ist ein Link) */
.ds-site .ds-notfallhinweis { display: flex; align-items: center; gap: 14px; width: 100%; box-sizing: border-box; padding: 14px 12px 14px 16px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 16px; background: rgba(255, 255, 255, .18); color: #fff; text-decoration: none; transition: background-color .15s ease; }
.ds-site .ds-notfallhinweis:hover { background: rgba(255, 255, 255, .26); color: #fff; }
.ds-site .ds-notfallhinweis__text { flex: 1 1 auto; display: flex; flex-direction: column; gap: 4px; font-weight: 500; line-height: 1.4; }
.ds-site .ds-notfallhinweis__kicker { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.ds-site .ds-notfallhinweis__satz { font-size: 17px; }
.ds-site .ds-notfallhinweis::after { content: ""; flex: 0 0 auto; width: 60px; height: 40px; border-radius: 40px; background: #fff url("icons/arrow-diag-right.svg") center / 20px 20px no-repeat; }
.ds-site .ds-ausruf { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ds-rot); color: #fff; font-size: 26px; font-weight: 700; line-height: 1; }
.ds-site .ds-ausruf--gross { width: 64px; height: 64px; font-size: 36px; }

/* ---------- Vertrauensleiste (K3) ---------- */
.ds-site .ds-a-vertrauen.e-con { background: var(--ds-beige); padding: 24px 50px; }
.ds-site .ds-vertrauen__liste { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; }
.ds-site .ds-vertrauen__liste li { display: inline-flex; align-items: center; gap: 10px; font-size: 18px; line-height: normal; color: var(--ds-text-2); white-space: nowrap; }
.ds-site .ds-vertrauen__liste li::before { content: ""; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 40px; background: var(--ds-olive) url("icons/check-trustbar.svg") center / 16px 16px no-repeat; }

/* ---------- Kopfzeile eines Abschnitts: Überschrift links, Knopf rechts ---------- */
.ds-site .ds-kopfzeile.e-con { flex-direction: row; align-items: center; justify-content: space-between; gap: 24px 61px; flex-wrap: wrap; }
.ds-site .ds-kopfzeile > .ds-h2 { flex: 1 1 420px; }
.ds-site .ds-kopfzeile > .elementor-widget-button { width: auto; }
.ds-site .ds-einleitung.e-con { gap: 20px; }

/* ---------- Text-Bild-Zeile (K2) ---------- */
.ds-site .ds-zeile.e-con { flex-direction: row; justify-content: space-between; align-items: stretch; gap: 40px; }
.ds-site .ds-zeile--bild-rechts.e-con { flex-direction: row-reverse; }
.ds-site .ds-zeile__bild.elementor-widget { flex: 0 0 48.84%; width: 48.84%; min-height: 460px; }
.ds-site .ds-zeile__bild .elementor-widget-container, .ds-site .ds-zeile__bild figure { height: 100%; }
.ds-site .ds-zeile__bild img { height: 100%; min-height: 460px; object-fit: cover; border-radius: var(--ds-radius); }
.ds-site .ds-zeile__bild--r20 img { border-radius: 20px; }
.ds-site .ds-zeile__text.e-con { flex: 0 0 48.06%; width: 48.06%; gap: 40px; justify-content: center; }
.ds-site .ds-karte.e-con { padding: 40px; border-radius: var(--ds-radius); background: #fff; justify-content: flex-start; }
.ds-site .ds-karte--hell.e-con { background: var(--ds-hell); }

/* ---------- Notfall-Infobox ---------- */
.ds-site .ds-a-notfall.e-con { padding: 0 var(--ds-rand) 40px; }
.ds-site .ds-notfallbox.e-con { flex-direction: row; align-items: center; gap: 28px; padding: 36px; border: 1px solid rgba(217, 56, 51, .35); border-radius: var(--ds-radius); background: var(--ds-hell); }
.ds-site .ds-notfallbox__text.e-con { flex: 1 1 auto; width: auto; gap: 10px; }
.ds-site .ds-notfallbox__titel { font-size: 28px; font-weight: 500; line-height: 1.4; text-transform: uppercase; color: var(--ds-text); }
.ds-site .ds-notfallbox > .elementor-widget-button, .ds-site .ds-notfallbox > .elementor-widget-html { width: auto; flex: 0 0 auto; }

/* ---------- Leistungskarten mit Icon (K5) und Zielgruppenkarten (K7) ---------- */
.ds-site .ds-karten3.e-con { flex-direction: row; gap: 40px; align-items: stretch; }
.ds-site .ds-karten3--30.e-con { gap: 30px; }
.ds-site .ds-karten3 > .e-con { flex: 1 1 0; width: auto; }
.ds-site .ds-leistungskarte.e-con { justify-content: space-between; gap: 28px; min-height: 343px; padding: 20px; border: 1px solid var(--ds-rahmen); border-radius: var(--ds-radius); background: #fff; }
.ds-site .ds-leistungskarte__kopf.e-con { gap: 20px; }
.ds-site .ds-zielkarte.e-con { position: relative; gap: 20px; padding: 20px; border: 1px solid var(--ds-rahmen); border-radius: var(--ds-radius); background: #fff; color: var(--ds-text); }
.ds-site .ds-zielkarte__bild img { height: 220px; object-fit: cover; border-radius: 8px; }
.ds-site .ds-zielkarte__bild--zoom img { object-position: 100% 50%; transform: scale(1.21); transform-origin: 100% 50%; }
.ds-site .ds-zielkarte__bild--zoom .elementor-widget-container, .ds-site .ds-zielkarte__bild--zoom { overflow: hidden; border-radius: 8px; }
.ds-site .ds-zielkarte__ikon.elementor-widget { position: absolute; top: 40px; right: 40px; width: auto; z-index: 1; }
.ds-site .ds-zielkarte .ds-h3, .ds-site .ds-leistungskarte .ds-h3, .ds-site .ds-bg-gruen .ds-zielkarte .ds-text { color: var(--ds-text); }

/* ---------- Liste mit Pfeil-Icon (K8) ---------- */
.ds-site .ds-pfeilliste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.ds-site .ds-pfeilliste li { position: relative; padding-left: 30px; font-size: 16px; line-height: 1.4; }
.ds-site .ds-pfeilliste li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; background: url("icons/arrow-circle-right-list.svg") center / contain no-repeat; }

/* ---------- Kompetenz: Bewertung, Kennzahlen, Portrait (K10/K11) ---------- */
.ds-site .ds-kompetenz.e-con { flex-direction: row; align-items: flex-start; justify-content: space-between; gap: 63px; }
.ds-site .ds-kompetenz__links.e-con { flex: 0 0 520px; width: 520px; gap: 40px; align-items: flex-start; }
.ds-site .ds-kompetenz__zahlen.e-con { flex: 0 1 707px; width: auto; flex-direction: row; align-items: center; gap: 30px; }
.ds-site .ds-kompetenz__spalte.e-con { flex: 0 0 267px; width: 267px; gap: 30px; }
.ds-site .ds-zahl.e-con { position: relative; overflow: hidden; justify-content: flex-end; gap: 10px; min-height: 243px; padding: 26px; border: 1px solid var(--ds-rahmen-2); border-radius: var(--ds-radius); background: var(--ds-hell); color: var(--ds-text); }
.ds-site .ds-zahl--portrait.e-con { flex: 1 1 410px; width: auto; min-height: 523px; justify-content: space-between; padding: 0; }
.ds-site .ds-zahl__kopf.e-con { flex-direction: row; align-items: flex-start; gap: 15px; padding: 46px 26px 0 39px; }
.ds-site .ds-zahl__ikon img { width: 48px; height: 48px; display: block; }
.ds-site .ds-zahl__wert { font-size: 36px; line-height: 1; font-weight: 400; }
.ds-site .ds-zahl__wert small { font-size: 20px; line-height: 1.4; margin-left: 5px; }
.ds-site .ds-zahl__label { font-size: 20px; line-height: 1.4; }
.ds-site .ds-zahl__portrait img { display: block; height: 425px; object-fit: cover; object-position: 50% 14%; }
.ds-site .ds-bewertung { width: 100%; box-sizing: border-box; border: 1px solid #E0E0E0; border-radius: 8px; background: #fff; box-shadow: 0 8px 4px rgba(49, 49, 49, .04); }
.ds-site .ds-bewertung__oben { display: flex; flex-direction: column; gap: 16px; padding: 45px 20px 30px; }
.ds-site .ds-bewertung__kopf { display: flex; align-items: center; justify-content: space-between; }
.ds-site .ds-bewertung__text { margin: 0; color: #4F4F4F; font-size: 16px; line-height: 24px; }
.ds-site .ds-bewertung__unten { display: flex; align-items: center; gap: 12px; padding: 20px; border-top: 1px solid #E0E0E0; }
.ds-site .ds-bewertung__avatar { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: #343D4E; color: #fff; font-weight: 600; }
.ds-site .ds-bewertung__name { margin: 0; color: #453232; font-weight: 500; }
.ds-site .ds-bewertung__datum { margin: 0; color: #797979; font-size: 14px; }
.ds-site .ds-bewertung__link { color: var(--ds-olive-dunkel); }

/* ---------- FAQ-Akkordeon (K9) ---------- */
.ds-site .ds-faq { display: flex; flex-direction: column; gap: 20px; }
.ds-site .ds-faq details { border: 1px solid var(--ds-olive); border-radius: var(--ds-radius); padding: 24px 30px; background: transparent; color: var(--ds-text-2); transition: background-color .2s ease; }
.ds-site .ds-faq details[open] { background: var(--ds-olive); color: #fff; }
.ds-site .ds-faq summary { display: flex; align-items: center; gap: 10px; cursor: pointer; list-style: none; font-size: 25px; font-weight: 500; line-height: 1.4; }
.ds-site .ds-faq summary::-webkit-details-marker { display: none; }
.ds-site .ds-faq summary::before { content: ""; flex: 0 0 32px; height: 32px; background: url("icons/question-faq.svg") center / contain no-repeat; }
.ds-site .ds-faq details[open] summary::before { background-image: url("icons/question-faq-offen.svg"); }
.ds-site .ds-faq summary::after { content: ""; flex: 0 0 auto; margin-left: auto; width: 60px; height: 40px; box-sizing: border-box; border: 1px solid var(--ds-olive); border-radius: 40px; background: url("icons/arrow-down-faq.svg") center / 20px 20px no-repeat; }
.ds-site .ds-faq details[open] summary::after { border-color: #fff; background: #fff url("icons/arrow-up-faq-offen.svg") center / 20px 20px no-repeat; }
.ds-site .ds-faq__antwort { margin-top: 20px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .2); font-size: 16px; line-height: 1.4; }
.ds-site .ds-faq__antwort p { margin: 0 0 10px; }
.ds-site .ds-faq__antwort p:last-child { margin: 0; }
.ds-site .ds-faq__antwort a { color: inherit; }

/* ---------- Leistungsspektrum-Kacheln (Unterseiten) ---------- */
.ds-site .ds-spektrum.e-con { flex-direction: row; justify-content: center; align-items: center; gap: 30px; max-width: 1150px; margin-inline: auto; }
.ds-site .ds-spektrum__spalte.e-con { flex: 0 0 325px; width: 325px; gap: 30px; }
.ds-site .ds-spektrum__mitte.e-con { flex: 0 0 440px; width: 440px; }
.ds-site .ds-kachel.e-con { position: relative; overflow: hidden; justify-content: flex-end; gap: 25px; min-height: 243px; padding: 26px; border: 1px solid var(--ds-rahmen-2); border-radius: var(--ds-radius); background: var(--ds-hell); color: var(--ds-text); }
.ds-site .ds-kachel--hoch.e-con { min-height: 523px; justify-content: space-between; padding: 46px 26px 0 39px; }
.ds-site .ds-kachel__kopf.e-con { flex-direction: row; align-items: center; gap: 15px; }
.ds-site .ds-kachel__text { font-size: 20px; line-height: 1.4; }
.ds-site .ds-kachel__ikon img { width: 48px; height: 48px; display: block; border-radius: 6px; }
.ds-site .ds-kachel__ikon--flaeche img { background: var(--ds-olive); padding: 6px; box-sizing: border-box; }
.ds-site .ds-kachel__illu.elementor-widget { margin: 0 -26px 0 -39px; width: auto; align-self: center; }
.ds-site .ds-kachel__illu img { display: block; width: 383px; max-width: 100%; height: 397px; object-fit: cover; object-position: 50% 20%; }

/* ---------- Ablauf-Karten mit Nummer (Unterseiten) ---------- */
.ds-site .ds-ablauf.e-con { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.ds-site .ds-ablaufkarte.e-con { position: relative; overflow: hidden; flex-direction: row; align-items: flex-start; gap: 23px; padding: 22px 27px; min-height: 176px; border: 1px solid var(--ds-rahmen-2); border-radius: var(--ds-radius); background: #fff; }
.ds-site .ds-ablaufkarte__illu.elementor-widget { flex: 0 0 118px; width: 118px; }
.ds-site .ds-ablaufkarte__illu img { display: block; height: 100px; width: auto; max-width: 118px; }
.ds-site .ds-ablaufkarte__text.e-con { flex: 1 1 auto; width: auto; gap: 20px; padding-right: 70px; }
.ds-site .ds-ablaufkarte__titel { font-size: 25px; line-height: 1.2; font-weight: 500; color: var(--ds-text); }
.ds-site .ds-ablaufkarte__nr.elementor-widget { position: absolute; top: -7px; right: 22px; width: auto; }
.ds-site .ds-ablaufkarte__nr .elementor-heading-title { font-size: 70px; line-height: 70px; font-weight: 700; letter-spacing: -0.05em; background: linear-gradient(180deg, var(--ds-gruen) 0%, #fff 81.73%); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ---------- Responsiv (im Design nicht entworfen) ---------- */
@media (max-width: 1360px) {
	.ds-site .ds-kompetenz.e-con { gap: 40px; }
	.ds-site .ds-kompetenz__links.e-con { flex-basis: 420px; width: 420px; }
}
@media (max-width: 1200px) {
	.ds-site .ds-a-vertrauen.e-con { padding-inline: var(--ds-rand); }
	.ds-site .ds-vertrauen__liste { justify-content: center; gap: 12px 28px; }
	.ds-site .ds-kompetenz.e-con { flex-direction: column; align-items: stretch; }
	.ds-site .ds-kompetenz__links.e-con { flex-basis: auto; width: 100%; max-width: 620px; }
	.ds-site .ds-spektrum.e-con { flex-wrap: wrap; }
}
@media (max-width: 1024px) {
	:root { --ds-abschnitt: 60px; }
	.ds-site .ds-h2 { font-size: 30px; }
	.ds-site .ds-a-hero.e-con { min-height: 0; padding-top: 170px; padding-bottom: 64px; }
	.ds-site .ds-zeile.e-con, .ds-site .ds-zeile--bild-rechts.e-con { flex-direction: column; }
	.ds-site .ds-zeile__bild.elementor-widget, .ds-site .ds-zeile__text.e-con { flex-basis: auto; width: 100%; }
	.ds-site .ds-zeile__bild.elementor-widget, .ds-site .ds-zeile__bild img { min-height: 0; }
	.ds-site .ds-zeile__bild img { aspect-ratio: 16 / 10; height: auto; }
	.ds-site .ds-karten3.e-con { flex-wrap: wrap; }
	.ds-site .ds-karten3 > .e-con { flex: 1 1 calc(50% - 20px); }
	.ds-site .ds-ablauf.e-con { grid-template-columns: 1fr; }
	.ds-site .ds-eingerueckt.e-con { margin-inline: 16px; }
	.ds-site .ds-faq summary { font-size: 21px; }
}
@media (max-width: 767px) {
	:root { --ds-rand: 16px; --ds-abschnitt: 48px; }
	.ds-site .ds-h2 { font-size: 25px; }
	.ds-site .ds-lead { font-size: 18px; }
	.ds-site .ds-kicker { font-size: 18px; }
	.ds-site .ds-a-hero.e-con { padding-top: 120px; padding-bottom: 48px; }
	.ds-site .ds-hero__text.e-con, .ds-site .ds-hero__titel.e-con { gap: 24px; }
	.ds-site .ds-knopf .elementor-button, .ds-site a.ds-knopf { font-size: 16px; min-height: 52px; }
	.ds-site .ds-knopf .elementor-button::after, .ds-site a.ds-knopf::after { width: 52px; height: 36px; }
	.ds-site .ds-notfallhinweis { flex-wrap: wrap; }
	.ds-site .ds-notfallhinweis::after { display: none; }
	.ds-site .ds-notfallhinweis__satz { font-size: 16px; }
	.ds-site .ds-vertrauen__liste { display: grid; grid-template-columns: 1fr; justify-items: start; gap: 10px; }
	.ds-site .ds-vertrauen__liste li { font-size: 16px; white-space: normal; }
	.ds-site .ds-karte.e-con { padding: 24px 20px; }
	.ds-site .ds-zeile__text.e-con { gap: 24px; }
	.ds-site .ds-notfallbox.e-con { flex-direction: column; align-items: flex-start; padding: 24px 20px; gap: 18px; }
	.ds-site .ds-notfallbox__titel { font-size: 22px; }
	.ds-site .ds-karten3 > .e-con { flex-basis: 100%; }
	.ds-site .ds-leistungskarte.e-con { min-height: 0; }
	.ds-site .ds-kompetenz__zahlen.e-con { flex-direction: column; align-items: stretch; }
	.ds-site .ds-kompetenz__spalte.e-con { flex-basis: auto; width: 100%; flex-direction: row; gap: 16px; }
	.ds-site .ds-kompetenz__spalte > .ds-zahl.e-con { flex: 1 1 0; min-height: 180px; padding: 18px; }
	.ds-site .ds-zahl__wert { font-size: 30px; }
	.ds-site .ds-zahl__label { font-size: 17px; }
	.ds-site .ds-zahl--portrait.e-con { min-height: 0; }
	.ds-site .ds-faq details { padding: 18px 16px; }
	.ds-site .ds-faq summary { font-size: 18px; }
	.ds-site .ds-faq summary::before { flex-basis: 26px; height: 26px; }
	.ds-site .ds-faq summary::after { width: 44px; height: 32px; }
	.ds-site .ds-spektrum__spalte.e-con, .ds-site .ds-spektrum__mitte.e-con { flex-basis: 100%; width: 100%; }
	.ds-site .ds-kachel.e-con { min-height: 160px; }
	.ds-site .ds-kachel--hoch.e-con { min-height: 0; padding: 26px 26px 0; }
	.ds-site .ds-ablaufkarte.e-con { flex-direction: column; gap: 14px; padding: 20px; }
	.ds-site .ds-ablaufkarte__text.e-con { padding-right: 0; }
	.ds-site .ds-ablaufkarte__nr .elementor-heading-title { font-size: 52px; line-height: 52px; }
	.ds-site .ds-eingerueckt.e-con { margin-inline: 0; border-radius: 0; }
	.ds-site .ds-a-vertrauen.e-con { padding-block: 20px; }
}

/* ---- 30-recht.css ---- */
/* ---------- Schlichter Seitenkopf (Seiten ohne Foto, z. B. Rechtstexte): dunkelgrünes Band unter der Navigation ---------- */
.ds-site .ds-a-kopf-schlicht.e-con { padding: 190px var(--ds-rand) 56px; background: var(--ds-gruen); color: #fff; }
.ds-site .ds-a-kopf-schlicht .ds-h1 { font-size: clamp(32px, 2.4vw + 10px, 50px); }
@media (max-width: 767px) { .ds-site .ds-a-kopf-schlicht.e-con { padding-top: 110px; padding-bottom: 36px; } }

/* ---------- Rechtstexte ---------- */
.ds-site .ds-rechtstext { max-width: 860px; font-size: 16px; line-height: 1.6; color: var(--ds-text); }
.ds-site .ds-rechtstext h2 { margin: 40px 0 12px; font-size: 22px; line-height: 1.35; font-weight: 500; color: var(--ds-text); }
.ds-site .ds-rechtstext h2:first-child { margin-top: 0; }
.ds-site .ds-rechtstext h3 { margin: 24px 0 8px; font-size: 18px; font-weight: 500; }
.ds-site .ds-rechtstext p { margin: 0 0 12px; }
.ds-site .ds-rechtstext ul { margin: 0 0 12px; padding-left: 22px; }
.ds-site .ds-rechtstext li { margin-bottom: 6px; }
.ds-site .ds-rechtstext a { color: var(--ds-olive-dunkel); text-underline-offset: 3px; overflow-wrap: anywhere; }
.ds-site .ds-rechtstext .ds-stand { margin-top: 32px; color: var(--ds-text-2); font-size: 14px; }

/* ---- 40-kontakt.css ---- */
/* ---------- Seite Termine/Kontakt (spec/kontakt.md, Abschnitt 4) ---------- */
.ds-site.ds-seite-kontakt .ds-a-hero.e-con::before { background: rgba(0, 0, 0, .35); }
.ds-site.ds-seite-kontakt .ds-a-notfall.e-con { padding-top: 80px; }
.ds-site .ds-h2--klein { font-size: 25px; }
.ds-site .ds-text--weiss { color: #fff; }

.ds-site .ds-kontaktraster.e-con { display: grid; grid-template-columns: 520px minmax(0, 1fr); gap: 40px 30px; }
.ds-site .ds-kontaktkarte.e-con, .ds-site .ds-kontaktkarte.elementor-widget { min-height: 504px; box-sizing: border-box; gap: 20px; padding: 40px; border: 1px solid var(--ds-rahmen-2); border-radius: var(--ds-radius); background: var(--ds-hell); color: var(--ds-text); }
.ds-site .ds-kontaktkarte--gruen.e-con { background: var(--ds-gruen); border-color: var(--ds-gruen); color: #fff; }
.ds-site .ds-kontaktkarte > .ds-knoepfe { margin-top: auto; }
.ds-site .ds-kontaktkarte--karte.elementor-widget { padding: 0; overflow: hidden; }
.ds-site .ds-kontaktkarte--karte .elementor-widget-container { height: 100%; }

/* Kontaktliste (K6) */
.ds-site .ds-kontaktliste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ds-site .ds-kontaktliste li { display: flex; align-items: flex-start; gap: 10px; padding: 4px 0; }
.ds-site .ds-kontaktliste__ikon { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 3px 10px; box-sizing: border-box; border: 1px solid rgba(255, 255, 255, .4); border-radius: 6px; background: var(--ds-olive); }
.ds-site .ds-kontaktliste__ikon img { width: 20px; height: 20px; }
.ds-site .ds-kontaktliste__text { display: flex; flex-direction: column; gap: 2px; }
.ds-site .ds-kontaktliste__label { font-size: 16px; line-height: 1.4; text-transform: uppercase; }
.ds-site .ds-kontaktliste__wert { font-size: 16px; font-weight: 500; line-height: 1.3; }
.ds-site .ds-kontaktliste__wert a { color: var(--ds-text); text-decoration: none; }
.ds-site .ds-kontaktliste__wert a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Buchungsfläche */
.ds-site .ds-buchungsbox.e-con { flex: 1 1 auto; justify-content: space-between; gap: 24px; padding: 28px; border: 1px solid var(--ds-rahmen); border-radius: var(--ds-radius); background: #fff; }
.ds-site .ds-buchungsbox .ds-knoepfe.e-con { justify-content: center; }

/* Sprechzeiten */
.ds-site .ds-zeiten { margin: 0; }
.ds-site .ds-zeiten > div { display: flex; gap: 10px; padding: 10px 0; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.ds-site .ds-zeiten > div:first-child { padding-top: 0; }
.ds-site .ds-zeiten dt, .ds-site .ds-zeiten dd { flex: 1 1 0; margin: 0; font-size: 16px; }
.ds-site .ds-zeiten dd { font-weight: 500; }

/* Karte mit Zwei-Klick-Lösung (lädt Google Maps erst nach Klick) */
.ds-site .ds-karte-laden { position: relative; height: 100%; min-height: 504px; display: flex; align-items: center; justify-content: center; text-align: center; background: linear-gradient(135deg, #E9EEE6 0%, #DDE6D7 100%); }
.ds-site .ds-karte-laden::before { content: ""; position: absolute; inset: 0; opacity: .35; background: repeating-linear-gradient(0deg, transparent 0 46px, rgba(86, 98, 83, .18) 46px 48px), repeating-linear-gradient(90deg, transparent 0 46px, rgba(86, 98, 83, .18) 46px 48px); }
.ds-site .ds-karte-laden__inhalt { position: relative; max-width: 420px; padding: 32px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.ds-site .ds-karte-laden__inhalt p { margin: 0; }
.ds-site .ds-karte-laden__adresse { font-size: 20px; font-weight: 500; line-height: 1.4; }
.ds-site .ds-karte-laden__adresse::before { content: ""; display: block; width: 44px; height: 44px; margin: 0 auto 12px; border-radius: 50%; background: var(--ds-olive) url("icons/map-pin-kontaktliste.svg") center / 22px 22px no-repeat; }
.ds-site .ds-karte-laden__knopf { min-height: 48px; padding: 10px 24px; border: 0; border-radius: 30px; background: var(--ds-olive-dunkel); color: #fff; font: inherit; font-size: 16px; cursor: pointer; }
.ds-site .ds-karte-laden__knopf:hover { filter: brightness(1.08); }
.ds-site .ds-karte-laden__hinweis { font-size: 13px; line-height: 1.5; color: var(--ds-text-2); }
.ds-site .ds-karte-laden__hinweis a { color: inherit; }
.ds-site .ds-karte-laden iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

@media (max-width: 1024px) {
	.ds-site .ds-kontaktraster.e-con { grid-template-columns: 1fr; }
	.ds-site .ds-kontaktkarte.e-con, .ds-site .ds-kontaktkarte.elementor-widget { min-height: 0; }
	.ds-site .ds-karte-laden { min-height: 380px; }
}
@media (max-width: 767px) {
	.ds-site .ds-kontaktkarte.e-con { padding: 24px 20px; }
	.ds-site .ds-buchungsbox.e-con { padding: 20px; }
}

/* ---- 50-unfallchirurgie.css ---- */
/* ---------- Seite Unfallchirurgie (spec/unfallchirurgie.md, Figma 34:2512) ---------- */

/* Hero: H1 70 px, Absatz 524 px breit */
.ds-site.ds-seite-unfallchirurgie .ds-a-hero .ds-h1 { font-size: clamp(36px, 3.3vw + 8px, 70px); line-height: 1.2; }
.ds-site.ds-seite-unfallchirurgie .ds-a-hero .ds-lead { max-width: 524px; }

/* Intro: Text oben bündig, Leerzeile zwischen den Absätzen wie im Design */
.ds-site.ds-seite-unfallchirurgie .ds-a-intro .ds-zeile__text.e-con { justify-content: flex-start; }
.ds-site.ds-seite-unfallchirurgie .ds-a-intro .ds-text p + p { margin-top: 42px; }

/* CTA auf Dunkelgrün: Überschrift weiß (Korrektur, sonst greift .ds-bg-gruen .ds-h2) */
.ds-site.ds-seite-unfallchirurgie .ds-bg-gruen .ds-h2--weiss { color: #fff; }

/* ---------- Leistungsspektrum-Kacheln (K4): 325 · 440 · 325, Kacheln 250/243 bzw. 523 hoch ---------- */
.ds-site.ds-seite-unfallchirurgie .ds-spektrum.e-con { width: 100%; }
.ds-site.ds-seite-unfallchirurgie .ds-kachel.e-con { justify-content: flex-start; box-sizing: border-box; min-height: 243px; padding: 75px 26px 26px; }
.ds-site.ds-seite-unfallchirurgie .ds-spektrum__spalte > .ds-kachel.e-con:first-child { min-height: 250px; padding-top: 92px; }
.ds-site.ds-seite-unfallchirurgie .ds-kachel--hoch.e-con { min-height: 523px; padding: 46px 26px 0 39px; }
.ds-site.ds-seite-unfallchirurgie .ds-kachel__ikon-w.elementor-widget { flex: 0 0 auto; width: auto; }
.ds-site.ds-seite-unfallchirurgie .ds-kachel__ikon--fest { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 6px; }
.ds-site.ds-seite-unfallchirurgie .ds-kachel__ikon--glyphe { background: var(--ds-olive); }
.ds-site.ds-seite-unfallchirurgie .ds-kachel__ikon--fest img { width: auto; height: auto; border-radius: 0; }
/* 3D-Ärztin: Rahmen 383 × 397 unten mittig, Figur vergrößert (Füße abgeschnitten) */
.ds-site.ds-seite-unfallchirurgie .ds-kachel__figur.elementor-widget { position: absolute; left: 50%; bottom: -1px; width: 383px; height: 397px; transform: translateX(-50%); overflow: hidden; }
.ds-site.ds-seite-unfallchirurgie .ds-kachel__figur .elementor-widget-container { position: relative; height: 100%; }
.ds-site.ds-seite-unfallchirurgie .ds-kachel__figur img { position: absolute; left: -14.1%; top: -12.94%; width: 128.2%; height: 112.82%; max-width: none; }

/* ---------- Ablauf-Karten (K5): Text bis an den rechten Rand, Titel-Zeilenhöhe 24 px ---------- */
.ds-site.ds-seite-unfallchirurgie .ds-ablaufkarte__text.e-con { padding-right: 0; }
.ds-site.ds-seite-unfallchirurgie .ds-ablaufkarte__titel { line-height: 24px; }
.ds-site.ds-seite-unfallchirurgie .ds-ablaufkarte__nr.elementor-widget { right: 32px; }

/* ---------- Responsiv (im Design nicht entworfen) ---------- */
@media (max-width: 1200px) {
	/* Mittelkachel oben über volle Breite, darunter die beiden Kachelspalten */
	.ds-site.ds-seite-unfallchirurgie .ds-spektrum.e-con { max-width: 680px; }
	.ds-site.ds-seite-unfallchirurgie .ds-spektrum__mitte.e-con { order: -1; flex-basis: 100%; width: 100%; }
}
@media (max-width: 767px) {
	.ds-site.ds-seite-unfallchirurgie .ds-a-hero .ds-lead { max-width: none; }
	.ds-site.ds-seite-unfallchirurgie .ds-a-intro .ds-text p + p { margin-top: 22px; }
	.ds-site.ds-seite-unfallchirurgie .ds-spektrum.e-con, .ds-site.ds-seite-unfallchirurgie .ds-spektrum__spalte.e-con { gap: 16px; }
	.ds-site.ds-seite-unfallchirurgie .ds-kachel.e-con,
	.ds-site.ds-seite-unfallchirurgie .ds-spektrum__spalte > .ds-kachel.e-con:first-child { flex-direction: row; align-items: center; gap: 16px; min-height: 0; padding: 18px 20px; }
	.ds-site.ds-seite-unfallchirurgie .ds-kachel__text { font-size: 18px; }
	.ds-site.ds-seite-unfallchirurgie .ds-kachel--hoch.e-con { flex-direction: column; align-items: stretch; padding: 20px 20px 0; }
	.ds-site.ds-seite-unfallchirurgie .ds-kachel__figur.elementor-widget { position: relative; left: auto; bottom: auto; transform: none; align-self: center; width: min(300px, 100%); height: auto; aspect-ratio: 383 / 397; margin: 12px 0 -1px; }
}

/* ---- 51-orthopaedie.css ---- */
/* ---------- Seite Operative Orthopädie (spec/orthopaedie.md, Figma 39:3438) ---------- */

/* Hero: H1 70 px, Absatz 524 px breit */
.ds-site.ds-seite-orthopaedie .ds-a-hero .ds-h1 { font-size: clamp(36px, 3.3vw + 8px, 70px); line-height: 1.2; }
.ds-site.ds-seite-orthopaedie .ds-a-hero .ds-lead { max-width: 524px; }

/* Intro und Arthroskopie: Text oben bündig; Intro mit Leerzeile zwischen den Absätzen wie im Design */
.ds-site.ds-seite-orthopaedie .ds-a-intro .ds-zeile__text.e-con,
.ds-site.ds-seite-orthopaedie .ds-a-arthroskopie .ds-zeile__text.e-con { justify-content: flex-start; }
.ds-site.ds-seite-orthopaedie .ds-a-intro .ds-text p + p { margin-top: 42px; }

/* Dunkelgrüne Abschnitte: Überschriften weiß (Korrektur, sonst greift .ds-bg-gruen .ds-h2) */
.ds-site.ds-seite-orthopaedie .ds-bg-gruen .ds-h2--weiss { color: #fff; }

/* OP-Karten (K6): Ausschnitt Knie wie im Design (Bild vergrößert, unten rechts verankert) */
.ds-site.ds-seite-orthopaedie .ds-opkarte__bild--knie { overflow: hidden; border-radius: 8px; }
.ds-site.ds-seite-orthopaedie .ds-opkarte__bild--knie img { transform: scale(1.3535); transform-origin: 79.3% 100%; }

/* Warum Patienten uns vertrauen: Bildausschnitt wie im Design (links −23 %) */
.ds-site.ds-seite-orthopaedie .ds-a-vertrauen-gruende .ds-zeile__bild img { object-position: 82% 50%; }

/* Fragen: Hervorhebung fett */
.ds-site.ds-seite-orthopaedie .ds-a-fragen .ds-text strong { font-weight: 700; }

@media (min-width: 1025px) {
	/* Arthroskopie: Bild 460 px hoch, oben bündig (Textspalte ist höher) */
	.ds-site.ds-seite-orthopaedie .ds-a-arthroskopie .ds-zeile.e-con { align-items: flex-start; }
}
@media (max-width: 767px) {
	.ds-site.ds-seite-orthopaedie .ds-a-hero .ds-lead { max-width: none; }
	.ds-site.ds-seite-orthopaedie .ds-a-intro .ds-text p + p { margin-top: 22px; }
}

/* ---- 54-konservativ.css ---- */
/* ---------- Seite „Konservative Behandlungen“ (spec/konservativ.md, Figma 39:3970) ---------- */

/* Hero: H1 70 px (Zeilenhöhe normal ≈ 1.2), Absatz 524 px breit. */
.ds-site.ds-seite-konservativ .ds-a-hero .ds-h1 { font-size: clamp(36px, 3.3vw + 8px, 70px); line-height: 1.2; }
.ds-site.ds-seite-konservativ .ds-a-hero .ds-lead { max-width: 524px; }

/* Termin-CTA auf Dunkeloliv: Überschrift weiß wie im Design (sonst greift .ds-bg-gruen .ds-h2 → hellgrün). */
.ds-site.ds-seite-konservativ .ds-bg-gruen .ds-h2--weiss { color: #fff; }

@media (max-width: 767px) {
	.ds-site.ds-seite-konservativ .ds-a-hero .ds-lead { max-width: none; }
}

/* ---- 55-ueber-uns.css ---- */
/* ---------- Seite „Über uns“ (spec/ueber-uns.md, Figma 40:4307) ---------- */

/* Hero: Foto wie im Design horizontal gespiegelt (Kopie des Hintergrunds per ::after), Overlay 30 %, H1 70 px, Absatz 524 px. */
.ds-site.ds-seite-ueber-uns .ds-a-hero.e-con::after { content: ""; position: absolute; inset: 0; z-index: -2; background-image: inherit; background-size: cover; background-position: 50% 26%; background-repeat: no-repeat; transform: scaleX(-1); }
.ds-site.ds-seite-ueber-uns .ds-a-hero.e-con::before { background: rgba(0, 0, 0, .3); }
.ds-site.ds-seite-ueber-uns .ds-a-hero .ds-h1 { font-size: clamp(36px, 3.3vw + 8px, 70px); line-height: 1.2; }
.ds-site.ds-seite-ueber-uns .ds-a-hero .ds-lead { max-width: 524px; }

/* Überschriften auf Dunkeloliv weiß wie im Design (sonst greift .ds-bg-gruen .ds-h2 → hellgrün). */
.ds-site.ds-seite-ueber-uns .ds-bg-gruen .ds-h2--weiss { color: #fff; }

/* ---------- Behandlungsphilosophie: Breitbild, große Karte 520 px + 2 × 2 kleine Karten (K4) ---------- */
.ds-site.ds-seite-ueber-uns .ds-a-philosophie .ds-wrap.e-con { gap: 30px; }
.ds-site.ds-seite-ueber-uns .ds-breitbild img { height: 434px; object-fit: cover; border-radius: 20px; }
.ds-site.ds-seite-ueber-uns .ds-philosophie.e-con { flex-direction: row; align-items: stretch; gap: 30px; }
.ds-site.ds-seite-ueber-uns .ds-pkarte.e-con { gap: 20px; min-height: 236px; padding: 25px 26px; overflow: hidden; border: 1px solid var(--ds-rahmen-2); border-radius: var(--ds-radius); background: var(--ds-hell); color: var(--ds-text); }
.ds-site.ds-seite-ueber-uns .ds-pkarte--gross.e-con { flex: 0 0 520px; width: 520px; padding: 40px; }
.ds-site.ds-seite-ueber-uns .ds-philosophie__raster.e-con { display: grid; flex: 1 1 auto; width: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 30px; }
.ds-site.ds-seite-ueber-uns .ds-pkarte__kopf.e-con { flex-direction: row; align-items: flex-start; gap: 20px; }
.ds-site.ds-seite-ueber-uns .ds-pkarte__ikon.elementor-widget { flex: 0 0 48px; width: 48px; }
.ds-site.ds-seite-ueber-uns .ds-pkarte__ikon img { display: block; width: 48px; height: 48px; }
.ds-site.ds-seite-ueber-uns .ds-pkarte__titel.elementor-widget { flex: 0 1 180px; width: auto; font-size: 20px; line-height: 1.4; font-weight: 500; }

/* ---------- Praxiseinblicke: Kopfzeile 2 Spalten, Galerie über die volle Breite mit Pfeilen ---------- */
.ds-site.ds-seite-ueber-uns .ds-a-einblicke.e-con { gap: 60px; }
.ds-site.ds-seite-ueber-uns .ds-einblicke__kopf.e-con { flex-direction: row; align-items: flex-start; gap: 61px; }
.ds-site.ds-seite-ueber-uns .ds-einblicke__kopf > .elementor-widget { flex: 1 1 0; width: auto; }
.ds-site.ds-seite-ueber-uns .ds-galerie.e-con { flex-direction: row; align-items: center; gap: 30px; width: 100%; max-width: 1870px; }
.ds-site.ds-seite-ueber-uns .ds-galerie__pfeil-w.elementor-widget { flex: 0 0 64px; width: 64px; }
.ds-site.ds-seite-ueber-uns .ds-galerie__pfeil { display: block; width: 64px; height: 64px; padding: 0; border: 0; border-radius: 50%; background: transparent url("icons/slider-pfeil-rechts.svg") center / 64px 64px no-repeat; cursor: pointer; transition: opacity .15s ease; }
.ds-site.ds-seite-ueber-uns .ds-galerie__pfeil:hover, .ds-site.ds-seite-ueber-uns .ds-galerie__pfeil:focus { background-color: transparent; }
.ds-site.ds-seite-ueber-uns .ds-galerie__pfeil--zurueck { transform: rotate(180deg); }
.ds-site.ds-seite-ueber-uns .ds-galerie__pfeil:disabled { opacity: .35; cursor: default; }
.ds-site.ds-seite-ueber-uns .ds-galerie--statisch .ds-galerie__pfeil:disabled { opacity: 1; }
.ds-site.ds-seite-ueber-uns .ds-galerie__spur.e-con { flex: 1 1 auto; width: auto; min-width: 0; flex-direction: row; gap: 30px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.ds-site.ds-seite-ueber-uns .ds-galerie__spur::-webkit-scrollbar { display: none; }
.ds-site.ds-seite-ueber-uns .ds-galerie__bild.elementor-widget { flex: 1 0 260px; scroll-snap-align: start; }
.ds-site.ds-seite-ueber-uns .ds-galerie__bild img { aspect-ratio: 398 / 416; height: auto; object-fit: cover; box-sizing: border-box; border: 1px solid var(--ds-rahmen); border-radius: var(--ds-radius); }

/* ---------- Responsiv (im Design nicht entworfen) ---------- */
@media (max-width: 1200px) {
	.ds-site.ds-seite-ueber-uns .ds-philosophie.e-con { flex-direction: column; }
	.ds-site.ds-seite-ueber-uns .ds-pkarte--gross.e-con { flex-basis: auto; width: 100%; min-height: 0; }
	.ds-site.ds-seite-ueber-uns .ds-philosophie__raster.e-con { width: 100%; }
}
@media (max-width: 1024px) {
	.ds-site.ds-seite-ueber-uns .ds-breitbild img { height: auto; aspect-ratio: 16 / 9; }
}
@media (max-width: 767px) {
	.ds-site.ds-seite-ueber-uns .ds-a-hero .ds-lead { max-width: none; }
	.ds-site.ds-seite-ueber-uns .ds-pkarte--gross.e-con { padding: 24px 20px; }
	.ds-site.ds-seite-ueber-uns .ds-philosophie__raster.e-con { grid-template-columns: 1fr; grid-auto-rows: auto; gap: 16px; }
	.ds-site.ds-seite-ueber-uns .ds-pkarte.e-con { min-height: 0; }
	.ds-site.ds-seite-ueber-uns .ds-pkarte__titel.elementor-widget { flex-basis: auto; }
	.ds-site.ds-seite-ueber-uns .ds-a-einblicke.e-con { gap: 32px; }
	.ds-site.ds-seite-ueber-uns .ds-einblicke__kopf.e-con { flex-direction: column; gap: 20px; }
	.ds-site.ds-seite-ueber-uns .ds-einblicke__kopf > .elementor-widget { flex: 0 0 auto; width: 100%; }
	.ds-site.ds-seite-ueber-uns .ds-galerie__pfeil-w.elementor-widget { display: none; }
	.ds-site.ds-seite-ueber-uns .ds-galerie__spur.e-con { gap: 16px; }
	.ds-site.ds-seite-ueber-uns .ds-galerie__bild.elementor-widget { flex: 0 0 82%; }
}

