/*
 * ERS Designlinie
 * ===============
 *
 * Letzte Stylesheet-Schicht. Reihenfolge im Theme:
 *
 *   fonts.css          Schriftfamilien (Manual Kapitel 6)
 *   frontend.css       Komponentenaufbau
 *   patient-journey.css
 *   page-refinements.css
 *   brand-system.css   Markenkonformitaet: Farben, Typografie, Logo
 *   design-line.css    diese Datei: Rhythmus, Karten, Bewegung
 *   motion.css         Feinschliff fuer Bewegung und Hover
 *
 * Zweck: Die gewachsenen Komponenten teilen sich ab hier ein gemeinsames
 * System. Vorher lagen acht verschiedene Uebergangsdauern und fuenf Easings
 * nebeneinander; Karten und Sektionsabstaende waren je Seite leicht anders.
 * Diese Datei legt die Werte einmal fest, statt sie erneut je Komponente zu
 * wiederholen.
 *
 * Die Datei aendert bewusst keine Marken- oder Medizininhalte.
 */

:root {
	/* Bewegung. Eine Dauer je Zweck, ein Easing fuer Ein-, eines fuer Ausgang. */
	--ers-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--ers-ease-soft: cubic-bezier(0.16, 1, 0.3, 1);
	--ers-dur-hover: 180ms;
	--ers-dur-ui: 260ms;
	--ers-dur-reveal: 760ms;
	--ers-stagger: 90ms;

	/* Vertikaler Rhythmus. Sektionen atmen gleichmaessig, unabhaengig davon,
	 * aus welchem Pattern sie stammen. */
	/* --ers-space-scale und die Bewegungswerte kommen aus „ERS Website › Darstellung“;
	 * ohne Einstellung gelten genau diese Standardwerte. */
	--ers-section-gap: calc(clamp(3.25rem, 6.5vw, 5.5rem) * var(--ers-space-scale, 1));
	--ers-section-pad: calc(clamp(2rem, 4vw, 3rem) * var(--ers-space-scale, 1));
	--ers-head-gap: calc(clamp(1.5rem, 3vw, 2.25rem) * var(--ers-space-scale, 1));
	--ers-grid-gap: calc(clamp(0.9rem, 1.8vw, 1.35rem) * var(--ers-space-scale, 1));
	--ers-card-pad: clamp(1.15rem, 2.2vw, 1.6rem);
	--ers-reveal-shift: 18px;
	--ers-hero-portrait-mobile-height: 340px;

	/* Form. Ein Kartenradius, ein Sektionsradius, eine Anhebung im Hover. */
	--ers-radius-card: 10px;
	--ers-radius-section: 12px;
	--ers-lift: -1px;
	--ers-ring: 0 0 0 3px rgba(0, 74, 173, 0.28);
}

/* ---------------------------------------------------------------------------
 * 1. Bewegung
 * ------------------------------------------------------------------------- */

/* Interaktive Flaechen teilen sich eine Uebergangsdefinition. Das ersetzt die
 * frueher je Komponente gesetzten Einzelwerte zwischen 150 und 280 ms. */
a,
button,
summary,
input,
select,
textarea,
.ers-card,
.ers-field-card,
.ers-diagnostic-card,
.ers-notice-item,
.ers-career-card,
.ers-career-option-card,
.ers-team-card,
.ers-contact-route,
.ers-quick-nav__grid a,
.ers-anchor-grid a,
.ers-cta,
.ers-core-booking-cta,
.ers-static-button,
.wp-block-button__link {
	transition:
		background-color var(--ers-dur-hover) var(--ers-ease),
		border-color var(--ers-dur-hover) var(--ers-ease),
		color var(--ers-dur-hover) var(--ers-ease),
		box-shadow var(--ers-dur-hover) var(--ers-ease),
		transform var(--ers-dur-hover) var(--ers-ease);
}

/* Sichtbarer Fokus in einer einzigen Ausfuehrung, damit Tastaturbedienung auf
 * allen Seiten gleich aussieht. */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 2px solid var(--ers-blue);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Scroll-Reveal. Die Reihenfolge kommt aus main.js als --ers-reveal-order,
 * deshalb entfallen die frueheren nth-child-Staffelungen. */
.ers-js-ready .ers-reveal {
	opacity: 0;
	transform: translateY(var(--ers-reveal-shift));
	transition:
		opacity var(--ers-dur-reveal) var(--ers-ease-soft),
		transform var(--ers-dur-reveal) var(--ers-ease-soft);
}

.ers-js-ready .ers-reveal.is-visible {
	opacity: 1;
	transform: none;
}

.ers-js-ready .ers-reveal .ers-reveal-child {
	opacity: 0;
	transform: translateY(calc(var(--ers-reveal-shift) * 0.85));
	transition:
		opacity var(--ers-dur-reveal) var(--ers-ease-soft),
		transform var(--ers-dur-reveal) var(--ers-ease-soft);
}

/* Die Verzoegerung haengt am sichtbaren Zustand, nicht am Ausgangszustand:
 * Einblenden laeuft gestaffelt, ein Zuruecksetzen wirkt sofort. */
.ers-js-ready .ers-reveal.is-visible .ers-reveal-child {
	opacity: 1;
	transform: none;
	transition-delay: calc(var(--ers-reveal-order, 0) * var(--ers-stagger));
}

/* Anhebung einheitlich. Maus und Tastatur erhalten dieselbe Rueckmeldung,
 * deshalb steht :focus-visible ueberall neben :hover. Die Kartenanhebung greift
 * nur auf Zeigergeraeten, damit auf Touch kein Zustand haengen bleibt; der
 * Tastaturfokus bleibt davon unberuehrt. */
@media (hover: hover) and (pointer: fine) {
	a.ers-card:hover,
	.ers-field-card:hover,
	a.ers-diagnostic-card:hover,
	.ers-career-card:hover,
	a.ers-career-option-card:hover,
	.ers-quick-nav__grid a:hover,
	.ers-anchor-grid a:hover {
		transform: translateY(var(--ers-lift));
	}
}

.ers-card:focus-visible,
.ers-field-card:focus-visible,
.ers-diagnostic-card:focus-visible,
.ers-career-card:focus-visible,
.ers-career-option-card:focus-visible,
.ers-quick-nav__grid a:focus-visible,
.ers-anchor-grid a:focus-visible {
	transform: translateY(var(--ers-lift));
}

/* Gedrückt: sofortige, kurze Rückmeldung auch auf Touch (kein Hover nötig). */
.ers-cta:active,
.ers-core-booking-cta:active,
.ers-card-link:active,
.ers-career-card:active,
.ers-career-option-card:active,
.ers-anchor-grid a:active,
.wp-block-button__link:active {
	transform: translateY(0);
	transition-duration: 80ms;
}

.ers-cta:hover,
.ers-cta:focus-visible,
.ers-core-booking-cta:hover,
.ers-core-booking-cta:focus-visible,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:focus-visible {
	transform: translateY(var(--ers-lift));
}

/* ---------------------------------------------------------------------------
 * 2. Sektionsrhythmus
 * ------------------------------------------------------------------------- */

.ers-section-head {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	margin-bottom: var(--ers-head-gap);
	max-width: 62ch;
}

.ers-section-head > * {
	margin: 0;
}

.ers-section-head__lead {
	color: var(--ers-muted);
	font-size: 1.02rem;
	line-height: 1.6;
}

/* ---------------------------------------------------------------------------
 * 3. Karten
 * ------------------------------------------------------------------------- */

.ers-card,
.ers-field-card,
.ers-diagnostic-card,
.ers-notice-item,
.ers-career-card,
.ers-career-option-card,
.ers-team-card,
.ers-contact-route {
	border-radius: var(--ers-radius-card);
	padding: var(--ers-card-pad);
}

/* ---------------------------------------------------------------------------
 * 4. Bewegungsreduktion
 * ------------------------------------------------------------------------- *
 * Eine einzige, abschliessende Regel. Sie ersetzt die frueher verstreuten
 * Teilabschaltungen, bei denen einzelne Keyframes weiterliefen.
 */

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

	.ers-js-ready .ers-reveal,
	.ers-js-ready .ers-reveal .ers-reveal-child {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* ---------------------------------------------------------------------------
 * 5. Kontaktseite
 * ------------------------------------------------------------------------- *
 * Die Kontaktseite trug zuvor nur die drei Kontaktwege und blieb dadurch
 * deutlich kuerzer als jede andere Seite. Die beiden folgenden Bloecke ordnen
 * Anliegen den Wegen zu und verweisen fuer die Adresse auf die Praxisseite,
 * statt sie ein zweites Mal zu pflegen.
 */

.ers-contact-guide,
.ers-contact-hours {
	margin-top: var(--ers-section-gap);
	padding: var(--ers-section-pad);
	border: 1px solid var(--ers-line);
	border-radius: var(--ers-radius-section);
	background: var(--ers-surface);
}

.ers-contact-guide > :is(p, h2),
.ers-contact-hours > div > :is(p, h2) {
	margin: 0 0 0.5rem;
	max-width: 62ch;
}

.ers-contact-guide__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--ers-grid-gap);
	margin: var(--ers-head-gap) 0 0;
	padding: 0;
	list-style: none;
}

.ers-contact-guide__list > li {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	padding: var(--ers-card-pad);
	border: 1px solid var(--ers-line);
	border-left: 3px solid var(--ers-blue);
	border-radius: var(--ers-radius-card);
	background: var(--ers-white);
}

.ers-contact-guide__list strong {
	color: var(--ers-text);
	font-weight: 600;
}

.ers-contact-guide__list span {
	color: var(--ers-muted);
	font-size: 0.96rem;
	line-height: 1.55;
}

.ers-contact-hours {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--ers-head-gap);
}

.ers-contact-hours__action {
	margin: 0;
	flex: 0 0 auto;
}

@media (max-width: 760px) {
	.ers-contact-guide__list {
		grid-template-columns: 1fr;
	}
}

/* Startseite: flache, ruhige Flaechen. Linienillustrationen bleiben der
 * einzige bildhafte Akzent und tragen dadurch klarer zur Orientierung bei. */
.ers-hero {
	background: var(--ers-white);
	border-radius: var(--ers-radius-section);
	box-shadow: var(--ers-shadow-soft);
}

.ers-hero::before,
.ers-career-banner::before,
.ers-career-banner::after {
	display: none;
}

.ers-current-notices { background: var(--ers-surface); }
.ers-career-banner { background: var(--ers-surface-strong); }

.ers-hero-visual__image {
	filter: none;
	margin-inline: auto;
	max-width: 31rem;
}

.ers-field-card,
.ers-diagnostic-card,
.ers-notice-item,
.ers-career-card {
	background: var(--ers-white);
	border-radius: var(--ers-radius-card);
	box-shadow: none;
}

.ers-diagnostic-card,
.ers-career-card { min-height: 0; }

.ers-diagnostic-card span,
.ers-career-card span,
.ers-team-teaser__roles small {
	font-size: 0.9375rem;
	line-height: 1.5;
}

@media (max-width: 760px) {
	.ers-notice-item--urgent { order: -1; }
	.ers-diagnostics-grid { gap: var(--ers-grid-gap); }
	.ers-diagnostic-card,
	.ers-career-card { padding: 1.1rem; }
}

/* Authentic, supplementary room photos; no gallery controls or external media. */
.ers-practice-impression {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}
.ers-practice-impression__intro > :first-child { margin-top: 0; }
.ers-practice-impression__intro > p { max-width: 60ch; }
.ers-practice-impression__photos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	align-items: center;
}
.ers-practice-impression figure { min-width: 0; margin: 0; }
.ers-practice-impression img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--ers-radius-section);
}
.ers-practice-impression figcaption {
	font-size: .875rem;
	line-height: 1.5;
	margin-top: .75rem;
	color: #5A6A7A;
}
@media (max-width: 960px) {
	.ers-practice-impression { grid-template-columns: 1fr; }
	.ers-practice-impression__photos { max-width: 640px; }
}
@media (max-width: 480px) {
	.ers-practice-impression__photos { grid-template-columns: 1fr; }
	.ers-practice-impression figure { max-width: 320px; }
}

/* Startseite: kompakter Praxiseinblick mit echten Raumfotos (keine Leistungs-/Personenfotos). */
.ers-practice-glimpse {
	align-items: end;
	display: grid;
	gap: clamp(0.75rem, 2vw, 1.25rem);
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 0.7fr) minmax(0, 1.5fr);
}
.ers-practice-glimpse__intro { align-self: center; }
.ers-practice-glimpse__intro h2 { margin: 0.25rem 0 0.75rem; }
.ers-practice-glimpse__photo { margin: 0; min-width: 0; overflow: hidden; border-radius: var(--ers-radius-section); }
.ers-practice-glimpse__photo img {
	aspect-ratio: 3 / 2;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}
.ers-practice-glimpse__photo--tall img { aspect-ratio: 3 / 4; }
@media (max-width: 760px) {
	.ers-practice-glimpse { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
	.ers-practice-glimpse__intro { grid-column: 1 / -1; }
	.ers-practice-glimpse__photo img,
	.ers-practice-glimpse__photo--tall img { aspect-ratio: 4 / 5; }
}

/* Zwei Hinweise statt drei: gleichmäßig zweispaltig, mobil gestapelt. */
.ers-notice-grid--pair,
.notice-grid--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) {
	.ers-notice-grid--pair,
	.notice-grid--pair { grid-template-columns: 1fr; }
}

/* Karriere: echtes Praxisfoto statt abstrakter Grafik. */
.ers-career-visual--photo,
.career-visual--photo { margin: 0; overflow: hidden; }
.ers-career-visual--photo::before,
.ers-career-visual--photo::after { display: none; }
.ers-career-visual--photo img,
.career-visual--photo img {
	display: block;
	height: 100%;
	min-height: 150px;
	object-fit: cover;
	width: 100%;
}

/* Karriereseite: ein echtes Raumfoto als ruhiges Band, keine Team-/Arztdarstellung. */
.ers-career-photo { margin: clamp(1rem, 3vw, 1.75rem) auto; }
.ers-career-photo img {
	aspect-ratio: 16 / 6;
	border-radius: var(--ers-radius-section);
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}
.ers-career-photo figcaption { color: #5A6A7A; font-size: 0.875rem; line-height: 1.5; margin-top: 0.6rem; }
@media (max-width: 760px) {
	.ers-career-photo img { aspect-ratio: 3 / 2; }
}

/* ---------------------------------------------------------------------------
 * Go-live-Ausbau 10/2026: echtes Arztporträt, Behandlungsschwerpunkte,
 * Arztprofil, Karriere-Galerie, Profil-Links und Rechtstext-Entwürfe.
 * Bilder ergänzen, sie dominieren nicht (Bildregeln Tamara, 24./26.10.2026).
 * ------------------------------------------------------------------------- */

/* Startseite: Hero mit Porträt */
.ers-hero--portrait {
	align-items: center;
	grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
	min-height: 0;
}

.ers-hero__facts {
	color: var(--ers-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.95rem;
	gap: 0.55rem 1.4rem;
	list-style: none;
	margin: 1.6rem 0 0;
	padding: 0;
}

.ers-hero__facts li {
	align-items: center;
	display: inline-flex;
	gap: 0.45rem;
}

.ers-hero__facts a { color: var(--ers-text); }

.ers-ui-icon--fact {
	color: var(--ers-blue);
	flex: 0 0 auto;
	height: 18px;
	width: 18px;
}

.ers-hero-portrait {
	justify-self: end;
	margin: 0;
	max-width: 400px;
	position: relative;
	width: 100%;
}

.ers-hero-portrait img {
	aspect-ratio: 4 / 5;
	border-radius: var(--ers-radius-section);
	box-shadow: var(--ers-shadow);
	display: block;
	height: auto;
	object-fit: cover;
	object-position: 50% 25%;
	width: 100%;
}

.ers-hero-portrait figcaption {
	background: rgba(255, 255, 255, 0.96);
	border-left: 3px solid var(--ers-blue);
	border-radius: var(--ers-radius-card);
	bottom: 1rem;
	box-shadow: var(--ers-shadow-soft);
	display: grid;
	gap: 0.1rem;
	left: 1rem;
	padding: 0.7rem 0.95rem;
	position: absolute;
	right: 1rem;
}

.ers-hero-portrait figcaption strong { color: var(--ers-text); font-size: 1rem; }
.ers-hero-portrait figcaption span { color: var(--ers-muted); font-size: 0.875rem; line-height: 1.4; }

/* Fachgebiete: Schmerzmedizin als Anker (Markenrichtlinie VII) */
.ers-field-card--anchor {
	border-top: 3px solid var(--ers-blue);
}

@media (min-width: 761px) {
	.ers-fields-grid > a.ers-field-card { display: flex; flex-direction: column; }
	.ers-fields-grid .ers-card-link { margin-top: auto; padding-top: 0.65rem; }
}

/* Startseite: Behandlungsschwerpunkte */
.ers-focus-strip {
	align-items: center;
	background: var(--ers-surface-strong);
	border-radius: var(--ers-radius-section);
	box-sizing: border-box;
	display: grid;
	gap: var(--ers-grid-gap) clamp(1.5rem, 4vw, 3rem);
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	margin-block: var(--ers-section-gap);
	padding: var(--ers-section-pad);
}

.ers-focus-strip > * { margin: 0 !important; max-width: none !important; }
.ers-focus-strip__intro h2 { color: var(--ers-blue); margin: 0 0 0.6rem; }
.ers-focus-strip__intro p:last-child { color: var(--ers-muted); margin: 0; }

.ers-focus-strip__list,
.ers-focus-conditions__main {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ers-focus-strip__list li,
.ers-focus-conditions__main li {
	background: var(--ers-white);
	border: 1px solid var(--ers-line);
	border-radius: 999px;
	color: var(--ers-text);
	font-weight: 600;
	line-height: 1.35;
	padding: 0.55rem 1rem;
}

.ers-focus-strip__list li span { color: var(--ers-muted); font-weight: 400; }
.ers-focus-strip__more { grid-column: 2; justify-self: start; }

/* Leistungen: vollständige Schwerpunktliste ohne Bilder */
.ers-focus-conditions { margin-block: clamp(2rem, 4vw, 3rem); }
.ers-focus-conditions__main { margin-block: 1.25rem 1.5rem; }
.ers-focus-conditions__main li { background: var(--ers-surface-strong); border-color: transparent; }
.ers-page-content .ers-focus-conditions__main { display: flex; flex-wrap: wrap; max-width: none; padding-left: 0; }
.ers-page-content .ers-focus-conditions__main li { display: inline-block; margin: 0; padding: 0.55rem 1rem; width: auto; }
.ers-page-content .ers-focus-conditions__main li::before { content: none; display: none; }
.ers-page-content .ers-focus-conditions,
.ers-page-content .ers-focus-conditions__groups { max-width: none; }

.ers-focus-conditions__groups {
	display: grid;
	gap: var(--ers-grid-gap);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ers-focus-conditions__groups > div {
	background: var(--ers-white);
	border: 1px solid var(--ers-line);
	border-radius: var(--ers-radius-card);
	padding: var(--ers-card-pad);
}

.ers-focus-conditions__groups h3 { color: var(--ers-blue); font-size: 1.1rem; margin: 0 0 0.6rem; }
.ers-focus-conditions__groups ul { margin: 0; padding-left: 1.1rem; }
.ers-focus-conditions__groups li { line-height: 1.5; margin-block: 0.2rem; }

/* Team: Arztprofil */
.ers-doctor-profile {
	align-items: start;
	background: var(--ers-white);
	border: 1px solid var(--ers-line);
	border-radius: var(--ers-radius-section);
	box-sizing: border-box;
	display: grid;
	gap: clamp(1.25rem, 4vw, 3rem);
	grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.6fr);
	margin-top: 2rem;
	padding: var(--ers-section-pad);
	width: 100%;
}

.ers-doctor-profile__photo { margin: 0; }

.ers-doctor-profile__photo img {
	aspect-ratio: 4 / 5;
	border-radius: var(--ers-radius-card);
	display: block;
	height: auto;
	object-fit: cover;
	object-position: 50% 25%;
	width: 100%;
}

.ers-doctor-profile__body h2 { color: var(--ers-blue); margin: 0; }
.ers-doctor-profile__body .ers-kicker { margin-bottom: 0.5rem; }
.ers-doctor-profile__role { color: var(--ers-muted); font-weight: 600; margin: 0.35rem 0 1rem; }

.ers-doctor-profile__facts {
	display: grid;
	gap: var(--ers-grid-gap) 2rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 1.25rem;
}

.ers-doctor-profile__facts h3 { font-size: 1rem; margin: 0 0 0.5rem; }
.ers-doctor-profile__facts ul { margin: 0; padding-left: 1.1rem; }
.ers-doctor-profile__facts li { line-height: 1.5; margin-block: 0.3rem; }
.ers-doctor-profile__facts cite { font-style: italic; }

.ers-doctor-profile__links { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin: 1.5rem 0 0; }
.ers-doctor-profile__links a { font-weight: 600; }

.ers-team-functions > .ers-team-functions__intro { margin-left: 0 !important; }

.ers-team-functions > .ers-doctor-profile,
.ers-team-functions > .ers-team-functions__subtitle {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

.ers-team-functions__subtitle {
	color: var(--ers-blue);
	margin: clamp(2rem, 5vw, 3rem) 0 0;
}

.ers-team-functions__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 1.25rem; }
.ers-team-function-card { min-height: 0; }

.ers-team-function-card h3 {
	color: var(--ers-blue);
	font-size: clamp(1.1rem, 1.6vw, 1.3rem);
	line-height: 1.25;
	margin: 1rem 0 0.6rem;
}

/* Karriere: Galerie mit drei echten Raumfotos */
.ers-career-gallery {
	display: grid;
	gap: var(--ers-grid-gap);
	grid-template-columns: 1fr 1fr;
	margin: clamp(1.25rem, 3vw, 2rem) auto;
}

.ers-career-gallery figure { margin: 0; }
.ers-career-gallery__main { grid-column: 1 / -1; }

.ers-career-gallery img {
	aspect-ratio: 4 / 3;
	border-radius: var(--ers-radius-card);
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.ers-career-gallery__main img { aspect-ratio: 21 / 9; object-position: 50% 62%; }
.ers-career-gallery figure:not(.ers-career-gallery__main) img { aspect-ratio: 16 / 10; }
.ers-career-gallery figcaption { color: var(--ers-muted); font-size: 0.875rem; line-height: 1.4; margin-top: 0.5rem; }

.ers-career-contact__ways {
	display: grid;
	gap: 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ers-career-contact__ways li {
	align-items: flex-start;
	background: var(--ers-white);
	border: 1px solid var(--ers-line);
	border-radius: var(--ers-radius-card);
	display: flex;
	gap: 0.85rem;
	padding: 0.9rem 1rem;
}

.ers-career-contact__ways span { display: grid; gap: 0.15rem; }
.ers-career-contact__ways .ers-ui-icon { color: var(--ers-blue); flex: 0 0 auto; height: 22px; margin-top: 0.15rem; width: 22px; }
.ers-career-contact__note { color: var(--ers-muted); font-size: 0.9rem; grid-column: 1 / -1; margin: 0; }

/* Footer: schlichte Profil-Links, keine Widgets */
.ers-footer-profiles { display: flex; flex-wrap: wrap; font-size: 0.9rem; gap: 0.35rem 0.9rem; margin: 0.75rem 0 0; }
.ers-footer-profiles span { color: rgba(255, 255, 255, 0.82); }
.ers-site-footer .ers-footer-profiles a { color: #FFFFFF; text-decoration: underline; text-underline-offset: 0.2em; }

/* Rechtstexte: fehlende Praxisangaben bis zur Freigabe sichtbar markieren */
.ers-legal-missing {
	background: #FFF3C4;
	border-radius: 4px;
	color: var(--ers-text);
	font-weight: 600;
	padding: 0.05em 0.35em;
}

.ers-legal-page h2 { margin-top: 2rem; }

@media (max-width: 960px) {
	.ers-hero--portrait { grid-template-columns: minmax(0, 1fr) minmax(220px, 0.7fr); }
	.ers-team-functions__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ers-focus-conditions__groups { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
	main :is(p, li, dd, blockquote):not(.ers-kicker):not(.ers-eyebrow) { hyphens: auto; text-align: justify; }
	.ers-hero--portrait { grid-template-columns: minmax(0, 1fr); }
	.ers-hero .ers-button-row,
	.ers-hero .ers-button-row > *,
	.ers-hero .ers-button-row .wp-block-button__link { box-sizing: border-box; width: 100%; }
	.ers-hero .ers-button-row a { justify-content: center; text-align: center; }
	.ers-hero-portrait { justify-self: start; max-width: none; }
	.ers-hero-portrait img { aspect-ratio: 1 / 1; max-height: var(--ers-hero-portrait-mobile-height); object-position: 50% 20%; }
	.ers-hero__facts { flex-direction: column; }

	.ers-focus-strip { grid-template-columns: minmax(0, 1fr); }
	.ers-focus-strip__more { grid-column: 1; }
	.ers-focus-conditions__groups { grid-template-columns: minmax(0, 1fr); }

	.ers-doctor-profile { grid-template-columns: minmax(0, 1fr); }
	.ers-doctor-profile__photo img { aspect-ratio: 1 / 1; max-height: 360px; }
	.ers-doctor-profile__facts { grid-template-columns: minmax(0, 1fr); }
	.ers-team-functions__grid { grid-template-columns: minmax(0, 1fr); }

	.ers-career-gallery__main img { aspect-ratio: 3 / 2; }
	.ers-career-gallery figure:not(.ers-career-gallery__main) img { aspect-ratio: 1 / 1; }
	.ers-field-card__art { display: none; }
}

/* Häufige Fragen: aufklappbare Antworten, ohne Bilder (Tamara, 24.10.2026) */
.ers-faq { display: grid; gap: clamp(1.75rem, 4vw, 2.5rem); margin-block: 1.5rem; }
.ers-faq__group h2 { color: var(--ers-blue); margin: 0 0 0.75rem; scroll-margin-top: 118px; }
.ers-faq__item { background: var(--ers-white); border: 1px solid var(--ers-line); border-radius: var(--ers-radius-card); margin-block: 0.5rem; }
.ers-faq__item summary { cursor: pointer; font-weight: 600; list-style: none; min-height: 48px; padding: 0.85rem 3rem 0.85rem 1rem; position: relative; }
.ers-faq__item summary::-webkit-details-marker { display: none; }
.ers-faq__item summary::after { color: var(--ers-blue); content: "+"; font-size: 1.4rem; line-height: 1; position: absolute; right: 1rem; top: 0.85rem; }
.ers-faq__item[open] summary::after { content: "−"; }
.ers-faq__item summary:focus-visible { border-radius: var(--ers-radius-card); box-shadow: var(--ers-ring); outline: none; }
.ers-faq__answer { padding: 0 1rem 1rem; }
.ers-faq__answer p { margin: 0; }
.ers-site-footer .ers-footer-faq { color: #FFFFFF; font-weight: 600; text-decoration: underline; text-underline-offset: 0.2em; }
.ers-page-content .ers-faq__item { margin: 0.5rem 0; padding: 0; }
.ers-page-content .ers-faq__item summary { box-sizing: border-box; display: block; margin: 0; }
.ers-page-content .ers-faq__item > :not(summary) { margin-top: 0; }

/* Startseite: Auswahl häufiger Fragen */
.ers-faq-teaser {
	align-items: start;
	box-sizing: border-box;
	display: grid;
	gap: var(--ers-grid-gap) clamp(1.5rem, 4vw, 3rem);
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	margin-block: var(--ers-section-gap);
}

.ers-faq-teaser > * { margin: 0 !important; max-width: none !important; }
.ers-faq-teaser__intro h2 { color: var(--ers-blue); margin: 0 0 0.6rem; }
.ers-faq-teaser__intro p { color: var(--ers-muted); margin: 0 0 1rem; }
.ers-faq--compact { gap: 0; margin: 0; }
.ers-faq-teaser .ers-faq__item { margin: 0 0 0.5rem; }
.ers-faq-teaser .ers-faq__item summary { box-sizing: border-box; display: block; }

/* Terminbuchung per QR-Code: am Bildschirm für den Wechsel aufs Smartphone */
.ers-booking__qr { align-items: center; display: flex; gap: 0.85rem; margin: 1.25rem 0 0; }
.ers-booking__qr img { background: #FFFFFF; border: 1px solid var(--ers-line); border-radius: 8px; flex: 0 0 auto; height: 132px; image-rendering: pixelated; padding: 6px; width: 132px; }
.ers-booking__qr figcaption { color: var(--ers-muted); font-size: 0.875rem; line-height: 1.45; }

.ers-booking-qr {
	align-items: center;
	background: var(--ers-surface-strong);
	border-radius: var(--ers-radius-section);
	box-sizing: border-box;
	display: grid;
	gap: clamp(1.25rem, 4vw, 2.5rem);
	grid-template-columns: auto minmax(0, 1fr);
	margin-block: var(--ers-section-gap);
	padding: var(--ers-section-pad);
}

.ers-booking-qr > * { margin: 0 !important; max-width: none !important; }
.ers-booking-qr__code { background: #FFFFFF; border-radius: 10px; height: 180px; image-rendering: pixelated; padding: 10px; width: 180px; }
.ers-booking-qr__text h2 { color: var(--ers-blue); margin: 0 0 0.6rem; }
.ers-booking-qr__text p:not(.ers-kicker) { margin: 0 0 1.1rem; max-width: 60ch; }

.ers-print-qr { display: none; }

@media (max-width: 760px) {
	.ers-faq-teaser { grid-template-columns: minmax(0, 1fr); }
	/* Auf dem Smartphone ist der Button der direkte Weg. */
	.ers-booking__qr,
	.ers-booking-qr { display: none; }
}

@media print {
	.ers-print-qr { align-items: center; border: 1px solid #000; display: flex !important; gap: 12px; margin-top: 16px; padding: 10px; }
	.ers-print-qr img { height: 30mm; width: 30mm; }
	.ers-booking__qr, .ers-booking-qr { display: none !important; }
}

/* ---------------------------------------------------------------------------
 * Einheitliches Layout 10/2026: ein Abschnittsabstand, eine breite Spur,
 * Bausteine auf voller Inhaltsbreite, keine leeren Bildflächen.
 * ------------------------------------------------------------------------- */
:root { --ers-section-gap: calc(clamp(2.25rem, 3.8vw, 3.5rem) * var(--ers-space-scale, 1)); }

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	white-space: nowrap;
	width: 1px;
}

/* Ein Abstand zwischen allen Abschnitten, unabhängig vom Pattern. */
.ers-main > *,
.ers-page > *,
.ers-career-page > * { margin-bottom: 0 !important; margin-top: 0 !important; }
.ers-main > * + *,
.ers-page > * + *,
.ers-career-page > * + * { margin-top: var(--ers-section-gap) !important; }
.ers-career-page { row-gap: 0 !important; }

/* Eine breite Spur für alle breiten Abschnitte (theme.json wideSize). */
.ers-page .ers-location-panel.alignwide,
.ers-page--practice .ers-location-panel {
	box-sizing: border-box;
	margin-inline: auto !important;
	max-width: var(--wp--style--global--wide-size, 1220px) !important;
	width: 100%;
}

/* Inhaltsbausteine nutzen die volle Inhaltsbreite statt Zwischengrößen. */
.ers-page-content > .ers-focus-conditions,
.ers-page-content > .wp-block-group.ers-topic-grid,
.ers-page-content > .ers-topic-grid,
.ers-page-content > .ers-anchor-grid,
.ers-page-content > .wp-block-group.ers-anchor-grid,
.ers-page-content > .ers-faq,
.ers-page-content > .ers-faq__nav,
.ers-page-content > .ers-contact-guide,
.ers-page-content > .wp-block-group.ers-contact-guide {
	max-width: none !important;
	width: 100%;
}

/* Kontakt: ungerade letzte Karte füllt die Zeile. */
.ers-contact-guide__list > li:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* Aktuelle Hinweise als schmale Leiste unter dem Hero. */
.ers-current-notices--strip { padding: clamp(0.9rem, 2vw, 1.25rem) !important; }
.ers-current-notices--strip .ers-notice-grid { margin: 0 !important; }
.ers-current-notices--strip .ers-notice-item { padding: 1rem 1.1rem; }

/* Fachgebiet-Karten: kein erzwungenes Mindestmaß, flache Grafik. */
.ers-field-card { min-height: 0 !important; }
.ers-field-card__art { height: 96px !important; max-height: 96px; object-fit: contain; }

/* Standort kompakt: Fakten nebeneinander, keine Kartengrafik. */
.ers-location-panel--compact { display: block !important; }
.ers-location-panel--compact .ers-location-card { padding: var(--ers-section-pad); }
.ers-location-panel--compact .ers-location-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ers-location-panel--compact .ers-location-card__route { margin: 1rem 0 0.25rem; }

/* Karriere: echtes Foto im Kopfbereich. */
.ers-career-hero__photo { align-self: stretch; margin: 0; }
.ers-career-hero__photo img { aspect-ratio: 4 / 3; border-radius: var(--ers-radius-card); display: block; height: 100%; max-height: 420px; object-fit: cover; width: 100%; }

@media (max-width: 960px) {
	.ers-location-panel--compact .ers-location-facts { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px) {
	.ers-field-card__art { display: none !important; }
	.ers-field-card { padding-top: 1.25rem !important; }
	.ers-contact-guide__list > li:last-child:nth-child(odd) { grid-column: auto; }
	.ers-career-hero__photo img { max-height: 260px; }
}

/* Linke Kante: Überschriften beginnen bündig mit ihren Inhalten. */
.ers-page-head > * { margin-left: 0 !important; }
.ers-main .ers-section > .ers-section__head { margin-left: 0 !important; }
.ers-field-card .ers-icon { margin-bottom: 0.75rem !important; }

@media (max-width: 760px) {
	/* Rechtslinks untereinander; Tippflächen bleiben 44 px hoch. */
	.ers-site-footer .ers-footer-nav { column-gap: 1rem; grid-template-columns: minmax(0, 1fr) !important; }
	.ers-site-footer .ers-footer-nav .ers-site-footer__label { grid-column: 1 / -1 !important; }
	/* Eine linke Kante für alle Footer-Spalten. */
	.ers-site-footer__inner > * { box-sizing: border-box; justify-self: stretch !important; margin-inline: 0 !important; max-width: none !important; padding-inline: 0 !important; text-align: left !important; width: 100% !important; }
	.ers-site-footer__brand { align-items: flex-start !important; }
}

/* ===========================================================================
 * Design-Feinschliff 10/2026: Flächen statt Kästen
 * Abschnitte stehen frei auf Weiß oder auf einem hellblauen Band über die volle
 * Fensterbreite. Karten innerhalb der Abschnitte bleiben als einzige Rahmen.
 * ========================================================================= */
:root { --ers-band: var(--ers-surface-strong, #F0F4F8); --ers-band-pad: clamp(2rem, 4.5vw, 3.25rem); }

/* 1a. Abschnittsrahmen auflösen */
.ers-hero,
.ers-current-notices,
.ers-section,
.ers-focus-strip,
.ers-diagnostics-strip,
.ers-booking,
.ers-faq-teaser,
.ers-practice-glimpse,
.ers-career-banner,
.ers-booking-qr,
.ers-location-panel,
.ers-practice-impression,
.ers-patient-journey,
.ers-team-functions,
.ers-career-hero,
.ers-career-gallery,
.ers-career-options,
.ers-career-contact,
.ers-page-shell {
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.ers-hero::before, .ers-hero::after, .ers-page-shell::before, .ers-page-shell::after { display: none !important; }

/* 1b. Eine linke Kante: Abschnitte haben keinen eigenen seitlichen Innenabstand */
.ers-main > *,
.ers-page > .alignwide,
.ers-page > .ers-page-shell,
.ers-career-page > * {
	box-sizing: border-box;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.ers-main > *:not(.ers-band-section),
.ers-page > .alignwide:not(.ers-band-section),
.ers-career-page > *:not(.ers-band-section) { padding-bottom: 0 !important; padding-top: 0 !important; }

/* 1c. Hellblaue Bänder über die volle Breite (ohne Layoutänderung) */
.ers-current-notices,
.ers-focus-strip,
.ers-booking,
.ers-career-banner,
.ers-location-panel,
.ers-patient-journey,
.ers-career-options,
.ers-page-head {
	background: var(--ers-band) !important;
	box-shadow: 0 0 0 100vmax var(--ers-band) !important;
	clip-path: inset(0 -100vmax);
}

.ers-main > .ers-current-notices { padding-block: clamp(1rem, 2.2vw, 1.4rem) !important; }
.ers-main > .ers-focus-strip,
.ers-main > .ers-booking,
.ers-main > .ers-career-banner,
.ers-page > .ers-location-panel,
.ers-page > .ers-patient-journey,
.ers-career-page > .ers-career-options { padding-block: var(--ers-band-pad) !important; }

/* Unterseiten: Seitenkopf als ruhiges Band, Inhalt frei darunter */
.ers-page-shell { padding: 0 !important; }
.ers-page-head {
	border: 0 !important;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem) !important;
	padding-block: clamp(1.75rem, 4vw, 2.75rem) !important;
}
.ers-page-head h1, .ers-page-head .ers-page-title { border: 0 !important; margin: 0 !important; padding: 0 !important; }
.ers-page-head::after, .ers-page-head::before { display: none !important; }
.ers-page-content > :first-child { margin-top: 0 !important; }

/* Innere Karten bleiben die einzigen Rahmen; auf Bändern weiß */
.ers-booking__action,
.ers-location-card,
.ers-career-banner .ers-career-visual { background: var(--ers-white) !important; border: 1px solid var(--ers-line) !important; border-radius: var(--ers-radius-card) !important; }
.ers-location-panel--compact .ers-location-card { background: transparent !important; border: 0 !important; padding: 0 !important; }
.ers-hero { padding-block: clamp(0.5rem, 2vw, 1.5rem) !important; }

/* 6. Vertrauenszeile im Hero */
.ers-hero__credentials {
	border-top: 1px solid var(--ers-line);
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 2rem;
	grid-column: 1 / -1;
	list-style: none;
	margin: clamp(0.5rem, 1.5vw, 1rem) 0 0 !important;
	padding: 1.1rem 0 0;
}
.ers-hero__credentials li { align-items: center; color: var(--ers-text); display: inline-flex; font-weight: 600; gap: 0.5rem; }
.ers-hero__credentials small { font-size: 0.875rem; }
.ers-ui-icon--credential { color: var(--ers-blue); height: 20px; width: 20px; }

/* 7. Untersuchungen kompakt */
.ers-diagnostics-strip--compact {
	align-items: start;
	display: grid !important;
	gap: var(--ers-grid-gap) clamp(1.5rem, 4vw, 3rem);
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
}
.ers-diagnostics-strip--compact > * { margin: 0 !important; max-width: none !important; }
.ers-diagnostics-strip--compact .ers-diagnostics-strip__intro h2 { color: var(--ers-blue); margin: 0 0 0.6rem; }
.ers-diagnostics-strip--compact .ers-diagnostics-strip__intro p { color: var(--ers-muted); margin: 0 0 1rem; }
.ers-diagnostics-strip__lists { display: grid; gap: 1.25rem; }
.ers-diagnostics-strip--compact .ers-diagnostics-group h3 { color: var(--ers-muted); font-size: 0.8rem; letter-spacing: 0.04em; margin: 0 0 0.5rem; text-transform: uppercase; }
.ers-term-list { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }
.ers-term-list li { background: var(--ers-white); border: 1px solid var(--ers-line); border-radius: 999px; color: var(--ers-muted); font-size: 0.95rem; line-height: 1.35; padding: 0.5rem 0.95rem; }
.ers-term-list strong { color: var(--ers-text); font-weight: 600; margin-right: 0.25rem; }

/* 5. Kopfzeile schrumpft beim Scrollen ohne Seitensprung (Desktop) */
.ers-brand__mark { display: none; }
@media (min-width: 961px) {
	.ers-site-header { transition: none; }
	.ers-site-header.is-scrolled {
		background: transparent !important;
		border-bottom-color: transparent !important;
		box-shadow: none !important;
		pointer-events: none;
	}
	.ers-site-header.is-scrolled > * { pointer-events: auto; }
	.ers-site-header.is-scrolled .ers-site-header__inner {
		background: rgba(255, 255, 255, 0.97);
		box-shadow: 0 0 0 100vmax rgba(255, 255, 255, 0.97), 0 10px 24px rgba(20, 45, 82, 0.08);
		clip-path: inset(0 -100vmax -40px);
		min-height: 0 !important;
		padding-bottom: 0.55rem !important;
		padding-top: 0.55rem !important;
	}
	.ers-site-header.is-scrolled .ers-brand { height: 48px !important; width: 48px !important; }
	.ers-site-header.is-scrolled .ers-brand__picture { display: none !important; }
	.ers-site-header.is-scrolled .ers-brand__mark { display: block; height: 48px; width: 48px; }
}

/* 8. Footer über die volle Breite */
.ers-site-footer { margin-top: var(--ers-section-gap) !important; padding: 0 !important; }
.ers-site-footer__inner {
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box;
	max-width: none !important;
	padding-inline: max(clamp(1rem, 4vw, 2rem), calc((100% - var(--wp--style--global--wide-size, 1220px)) / 2)) !important;
	width: 100% !important;
}

@media (max-width: 760px) {
	.ers-diagnostics-strip--compact { grid-template-columns: minmax(0, 1fr); }
	.ers-hero__credentials { flex-direction: column; gap: 0.5rem; }
	.ers-site-footer__inner > * { padding-inline: 0 !important; }
}

/* Feinschliff: linke Kante, Stichpunkte, Übergang zum Footer */
.ers-practice-glimpse__intro { padding-left: 0 !important; }
.ers-career-banner .ers-feature-list { display: flex !important; flex-wrap: wrap; gap: 0.5rem 1.5rem; }
.ers-career-banner .ers-feature-list span { hyphens: manual; white-space: nowrap; }
.ers-main,
.ers-page { padding-bottom: var(--ers-section-gap) !important; }
.ers-site-footer { margin-top: 0 !important; }
/* Endet die Seite mit einem Band, schließt der Footer direkt an. */
.ers-main:has(> :last-child:is(.ers-career-banner, .ers-patient-journey, .ers-booking, .ers-focus-strip)),
.ers-page:has(> :last-child:is(.ers-career-banner, .ers-patient-journey, .ers-career-options, .ers-location-panel)) { padding-bottom: 0 !important; }

/* Bänder dürfen über den Seitencontainer hinausreichen. */
.ers-page,
.ers-page-shell,
.ers-page-content { overflow: visible !important; }
.ers-page .ers-page-shell { clip-path: none !important; }

/* Kontakt-Zuordnung: Karten ohne zusätzlichen Rahmen darum. */
.ers-page-content > .ers-contact-guide,
.ers-page-content > .wp-block-group.ers-contact-guide {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}
.ers-contact-guide__list { margin-top: 1rem !important; }

/* Seitenkopf-Band schließt direkt an die Kopfzeile an. */
.ers-page:has(> .ers-page-shell:first-child) { padding-top: 0 !important; }
.ers-page > .ers-page-shell:first-child { margin-top: 0 !important; }

/* Kopfzeile auf dem Desktop wirklich mitlaufen lassen. Der Rahmen behält seine
 * Höhe (kein Seitensprung); beim Scrollen bleibt nur die schmale Leiste sichtbar,
 * der Rest ist durchsichtig und lässt Klicks durch. */
@media (min-width: 961px) {
	header.wp-block-template-part:has(> .ers-site-header) {
		height: 161px;
		pointer-events: none;
		position: sticky;
		top: var(--wp-admin--admin-bar--height, 0px);
		z-index: 60;
	}
	header.wp-block-template-part > .ers-site-header { pointer-events: auto; position: relative; top: auto; }
	header.wp-block-template-part > .ers-site-header.is-scrolled { pointer-events: none; }
	header.wp-block-template-part > .ers-site-header.is-scrolled .ers-site-header__inner { pointer-events: auto; }
}

/* "clip" verhindert waagerechtes Scrollen wie "hidden", macht body aber nicht
 * zum Scroll-Container; nur so bleibt die Kopfzeile sticky. */
html,
body { overflow-x: clip !important; }
@media (min-width: 961px) {
	.ers-site-header.is-scrolled .ers-site-header__inner {
		background: #FFFFFF !important;
		box-shadow: 0 0 0 100vmax #FFFFFF, 0 8px 20px rgba(20, 45, 82, 0.08) !important;
	}
}
.ers-practice-glimpse .ers-practice-glimpse__intro { margin-left: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }

/* Praxisfotos in gleichem Format: Empfang (hochkant) und Wartezimmer (quer)
 * erhalten denselben 4:3-Ausschnitt, damit beide Bilder gleich groß stehen. */
.ers-practice-impression__photos { align-items: start !important; }
.ers-practice-impression img { aspect-ratio: 4 / 3; height: auto !important; object-fit: cover; width: 100%; }
.ers-practice-impression img[src*="empfang"] { object-position: 50% 62%; }
.ers-practice-impression img[src*="wartezimmer"] { object-position: 50% 55%; }
.ers-practice-impression figcaption { margin-top: 0.5rem !important; }

.ers-practice-glimpse { align-items: center; grid-template-columns: minmax(0, 0.9fr) repeat(2, minmax(0, 1fr)) !important; }
.ers-practice-glimpse__photo,
.ers-practice-glimpse__photo--tall { align-self: center; margin: 0 !important; }
.ers-practice-glimpse__photo img { aspect-ratio: 4 / 3; border-radius: var(--ers-radius-card); display: block; height: auto !important; object-fit: cover; width: 100%; }
.ers-practice-glimpse__photo img[src*="flur"] { object-position: 50% 55%; }

@media (max-width: 480px) {
	.ers-practice-impression__photos { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ers-practice-impression figure { max-width: none !important; }
}
@media (max-width: 760px) {
	.ers-practice-glimpse { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ers-practice-glimpse__intro { grid-column: 1 / -1; }
}
.ers-practice-glimpse__intro h2 { color: var(--ers-blue) !important; }

/* Standort mit eigener Lagekarte (statisches OpenStreetMap-Bild, keine Einbettung) */
.ers-location-panel--compact { align-items: start; display: grid !important; gap: var(--ers-grid-gap) clamp(1.5rem, 4vw, 3rem); grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
.ers-location-panel--compact .ers-location-facts { grid-template-columns: minmax(0, 1fr) !important; }
.ers-location-map { margin: 0; }
.ers-location-map img { aspect-ratio: 7 / 4; border: 1px solid var(--ers-line); border-radius: var(--ers-radius-card); display: block; height: auto; object-fit: cover; width: 100%; }
.ers-location-map figcaption { color: var(--ers-muted); font-size: 0.8rem; margin-top: 0.4rem; }
@media (max-width: 960px) {
	.ers-location-panel--compact { grid-template-columns: minmax(0, 1fr); }
}
.ers-location-card h2 { color: var(--ers-blue) !important; }

/* Routenplanung direkt unter der Lagekarte */
.ers-location-map .ers-location-card__route { margin: 1rem 0 0.4rem; }
.ers-location-map .ers-location-privacy { color: var(--ers-muted); margin: 0; }

/* Inhaltsseiten: Zwischenüberschriften wie überall (blau, ohne Balken und Linie) */
.ers-page-content h2.wp-block-heading,
.ers-page-content > h2,
.ers-legal-page h2 {
	border: 0 !important;
	color: var(--ers-blue);
	margin-top: clamp(2rem, 4vw, 2.75rem) !important;
	padding: 0 !important;
}
.ers-legal-page .ers-legal-status h2 { margin-top: 0 !important; }

/* Algesiologie: Vorbereitung ohne Kasten im Kasten */
.ers-algesiology-preparation,
.ers-algesiology-preparation .ers-prep-list { background: transparent !important; border: 0 !important; box-shadow: none !important; padding-left: 0 !important; padding-right: 0 !important; }
.ers-algesiology-preparation h2 { color: var(--ers-blue); }

/* 404 im Flächenstil, eine linke Kante */
.ers-not-found { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.ers-not-found > *, .ers-not-found h1, .ers-not-found p { margin-left: 0 !important; }

/* ---------------------------------------------------------------------------
 * Kopfzeile mit Bildmarke (ERS_Logo_Digital_Profile, 26.10.2026)
 * Eine feste, schlanke Höhe; läuft auf dem Desktop mit, ohne Umschalten.
 * ------------------------------------------------------------------------- */
.ers-brand,
.ers-site-header.is-scrolled .ers-brand {
	align-items: center;
	display: inline-flex;
	height: 76px !important;
	max-height: none !important;
	width: auto !important;
}
.ers-brand__logo,
.ers-site-header.is-scrolled .ers-brand__logo {
	display: block !important;
	height: 76px !important;
	left: auto !important;
	max-height: none !important;
	max-width: none !important;
	object-fit: contain;
	position: static !important;
	top: auto !important;
	transform: none !important;
	width: auto !important;
}
.ers-site-header__inner,
.ers-site-header.is-scrolled .ers-site-header__inner {
	min-height: 0 !important;
	padding-bottom: 0.75rem !important;
	padding-top: 0.75rem !important;
}
.ers-brand__mark { display: none !important; }

@media (min-width: 961px) {
	header.wp-block-template-part:has(> .ers-site-header) { height: auto !important; pointer-events: auto !important; }
	header.wp-block-template-part > .ers-site-header,
	header.wp-block-template-part > .ers-site-header.is-scrolled {
		background: rgba(255, 255, 255, 0.97) !important;
		border-bottom: 1px solid var(--ers-line) !important;
		pointer-events: auto !important;
	}
	.ers-site-header.is-scrolled { box-shadow: 0 8px 20px rgba(20, 45, 82, 0.08) !important; }
	.ers-site-header.is-scrolled .ers-site-header__inner { background: transparent !important; box-shadow: none !important; clip-path: none !important; }
}

@media (max-width: 960px) {
	.ers-brand,
	.ers-brand__logo,
	.ers-site-header.is-scrolled .ers-brand,
	.ers-site-header.is-scrolled .ers-brand__logo { height: 56px !important; }
	.ers-site-header__inner { padding-bottom: 0.5rem !important; padding-top: 0.5rem !important; }
}
@media (max-width: 960px) { .ers-site-header__inner > .ers-brand { justify-self: start !important; margin-left: 0 !important; } }

/* Footer: weißes ERS-Zeichen ohne Schriftzug direkt auf dem Footer-Blau; Name steht als Text daneben */
.ers-footer-logo,
.ers-site-footer .ers-footer-logo {
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	height: auto !important;
	max-width: 120px !important;
	padding: 0 !important;
	width: 120px !important;
}
.ers-footer-brand-name { display: grid; gap: 0.15rem; }
.ers-footer-brand-name span { font-size: 0.875rem; opacity: 0.85; }
@media (max-width: 760px) {
	.ers-footer-logo, .ers-site-footer .ers-footer-logo { max-width: 104px !important; width: 104px !important; }
}

/* Symbolset 26.10.2026: Lucide/Tabler/ERS lokal (assets/img/icons). Diagnostik, Therapie und
   Behandlung stehen in eckigen Kästen, Fachgebiete und Kontaktwege in runden Flächen. */
.ers-icon-box,
.ers-topic-icon {
	align-items: center;
	background: #E8F1FF;
	border: 1px solid rgba(0, 74, 173, 0.14);
	border-radius: 10px;
	box-sizing: border-box;
	color: var(--ers-blue);
	display: inline-flex;
	flex: 0 0 auto;
	height: 42px;
	justify-content: center;
	width: 42px;
}
.ers-icon-box .ers-ui-icon { height: 26px; stroke-width: 1.7; width: 26px; }
.ers-topic-icon::before {
	background: currentColor;
	content: "";
	height: 26px;
	-webkit-mask: var(--ers-topic-icon) center / contain no-repeat;
	mask: var(--ers-topic-icon) center / contain no-repeat;
	width: 26px;
}
.ers-topic-icon--round { border-radius: 999px; height: 48px; width: 48px; }
.ers-topic-icon--round::before { height: 26px; width: 26px; }
.ers-topic-icons { display: flex; gap: 0.4rem; margin: 0 0 0.75rem; }
.ers-topic-icon--schmerz { --ers-topic-icon: url(../img/icons/single/schmerz.svg); }
.ers-topic-icon--neurologie { --ers-topic-icon: url(../img/icons/single/neurologie.svg); }
.ers-topic-icon--psychiatrie { --ers-topic-icon: url(../img/icons/single/psychiatrie.svg); }
.ers-topic-icon--eeg { --ers-topic-icon: url(../img/icons/single/eeg.svg); }
.ers-topic-icon--vep { --ers-topic-icon: url(../img/icons/single/vep.svg); }
.ers-topic-icon--sep { --ers-topic-icon: url(../img/icons/single/sep.svg); }
.ers-topic-icon--aep { --ers-topic-icon: url(../img/icons/single/aep.svg); }
.ers-topic-icon--eng { --ers-topic-icon: url(../img/icons/single/eng.svg); }
.ers-topic-icon--sono { --ers-topic-icon: url(../img/icons/single/sono.svg); }
.ers-topic-icon--infusion { --ers-topic-icon: url(../img/icons/single/infusion.svg); }
.ers-topic-icon--injektion { --ers-topic-icon: url(../img/icons/single/injektion.svg); }
.ers-topic-icon--verlauf { --ers-topic-icon: url(../img/icons/single/verlauf.svg); }
.ers-topic-icon--medikation { --ers-topic-icon: url(../img/icons/single/medikation.svg); }
.ers-topic-icon--unterlagen { --ers-topic-icon: url(../img/icons/single/unterlagen.svg); }
.ers-topic-icon--termin { --ers-topic-icon: url(../img/icons/single/termin.svg); }
.ers-topic-icon--telefon { --ers-topic-icon: url(../img/icons/single/telefon.svg); }
.ers-topic-icon--mail { --ers-topic-icon: url(../img/icons/single/mail.svg); }
.ers-topic-icon--akut { --ers-topic-icon: url(../img/icons/single/akut.svg); }
.ers-contact-route--urgent .ers-topic-icon { background: #FDF1EE; border-color: rgba(160, 60, 40, 0.18); color: #9A3B26; }

/* Startseite: Diagnostik- und Behandlungsbegriffe mit Kasten */
.ers-term-list--icons li { align-items: center; border-radius: 12px; display: inline-flex; gap: 0.6rem; padding: 0.35rem 0.9rem 0.35rem 0.35rem; }
.ers-term-list--icons .ers-icon-box { border-radius: 8px; height: 34px; width: 34px; }
.ers-term-list--icons .ers-icon-box .ers-ui-icon { height: 22px; width: 22px; }
.ers-term-list--icons .ers-icon-box + .ers-icon-box { margin-left: -0.3rem; }

/* Leistungen: Behandlungsliste mit Kasten links */
.ers-service-treatment-list--icons li { column-gap: 0.85rem; grid-template-columns: auto 1fr; }
.ers-service-treatment-list--icons li > .ers-topic-icons { grid-row: span 2; margin: 0.1rem 0 0; }
.ers-service-treatment-list--icons li > .ers-topic-icons .ers-topic-icon { color: var(--ers-blue); }

/* Kleine Symbole in Hinweisen, Kickern, Footer und Routenlink */
.ers-ui-icon--notice { height: 18px; margin-right: 0.35rem; vertical-align: -0.2em; width: 18px; }
.ers-kicker--icon { align-items: center; display: inline-flex; gap: 0.45rem; }
.ers-ui-icon--kicker { height: 20px; width: 20px; }
.ers-ui-icon--footer { height: 16px; margin-right: 0.4rem; opacity: 0.9; vertical-align: -0.15em; width: 16px; }
.ers-ui-icon--route { height: 18px; margin-right: 0.45rem; vertical-align: -0.2em; width: 18px; }
.ers-ui-icon--field { stroke-width: 1.6; }

/* Weiter-Pfeil (Tabler arrow-right), Terminsymbol im Buchungsbutton, externe Links */
.ers-card-link::after {
	background: currentColor;
	content: "";
	display: inline-block;
	height: 1.05em;
	-webkit-mask: url(../img/icons/single/weiter.svg) center / contain no-repeat;
	mask: url(../img/icons/single/weiter.svg) center / contain no-repeat;
	width: 1.05em;
}
a.ers-core-booking-cta::before {
	background: currentColor;
	content: "";
	display: inline-block;
	flex: 0 0 auto;
	height: 1.15em;
	margin-right: 0.5em;
	-webkit-mask: url(../img/icons/single/termin.svg) center / contain no-repeat;
	mask: url(../img/icons/single/termin.svg) center / contain no-repeat;
	vertical-align: -0.2em;
	width: 1.15em;
}
.ers-main a[target="_blank"]:not([class])::after,
.ers-site-footer a[target="_blank"]:not([class])::after {
	background: currentColor;
	content: "";
	display: inline-block;
	height: 0.8em;
	margin-left: 0.25em;
	-webkit-mask: url(../img/icons/single/extern.svg) center / contain no-repeat;
	mask: url(../img/icons/single/extern.svg) center / contain no-repeat;
	opacity: 0.75;
	vertical-align: -0.05em;
	width: 0.8em;
}

/* Leistungen: Fachgebietssymbole frei ohne Fläche (Wunsch 26.10.2026) */
.ers-topic-icon--plain { background: none; border: 0; border-radius: 0; height: 40px; justify-content: flex-start; width: 40px; }
.ers-topic-icon--plain::before { height: 40px; width: 40px; }
.ers-topic-icon--schmerz-figur { --ers-topic-icon: url(../img/icons/single/schmerz-figur.svg); }

/* Startseite oben: Sprechzeiten, Adresse und Telefon als kompakter Infokasten */
.ers-hero__facts {
	background: #F7FAFE;
	border: 1px solid var(--ers-line);
	border-radius: 12px;
	box-sizing: border-box;
	display: grid;
	gap: 0.55rem 1.5rem;
	grid-template-columns: auto auto;
	justify-content: start;
	max-width: 100%;
	padding: 0.8rem 1.1rem;
	width: fit-content;
}
.ers-hero__facts li:first-child { border-bottom: 1px solid var(--ers-line); grid-column: 1 / -1; padding-bottom: 0.55rem; }
.ers-hero__facts li { color: var(--ers-text); }
@media (max-width: 420px) {
	.ers-hero__facts { grid-template-columns: minmax(0, 1fr); width: 100%; }
}

/* Qualifikationen als gleichmäßiges Raster statt freiem Umbruch */
@media (min-width: 761px) {
	.ers-hero__credentials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ers-hero__credentials li { align-items: flex-start; }
	.ers-hero__credentials .ers-ui-icon--credential { margin-top: 0.15em; }
}

/* Fachgebiete (Wunsch 26.10.2026): keine Symbole, Motiv präsenter im Kartenkopf statt verblasst im Hintergrund */
.ers-field-card .ers-field-card__art {
	display: block !important;
	-webkit-mask-image: none;
	mask-image: none;
	margin: 0 0 1.1rem;
	opacity: 0.9;
	position: relative;
	right: auto;
	top: auto;
	width: 100%;
	filter: drop-shadow(0 0 0.35px #004AAD) !important;
}
@media (max-width: 760px) {
	.ers-field-card .ers-field-card__art { height: 80px !important; margin-bottom: 0.75rem; }
}

/* Startseite: Terminblock schlank – links Text, rechts QR-Code mit Button (Wunsch 26.10.2026) */
.ers-booking > .ers-booking__layout { align-items: center; }
.ers-booking__action {
	align-items: center;
	column-gap: 1.25rem;
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr);
	padding: 1rem 1.25rem !important;
	row-gap: 0.75rem;
}
.ers-booking__action .ers-booking__qr { display: contents; }
.ers-booking__action .ers-booking__qr img { grid-row: 1 / span 2; height: 120px; width: 120px; }
.ers-booking__action .ers-booking__qr figcaption { align-self: end; grid-column: 2; }
.ers-booking__action .ers-core-booking-cta { align-self: start; grid-column: 2; justify-content: center; white-space: nowrap; }
@media (max-width: 1100px) {
	.ers-booking__action { column-gap: 1rem; }
	.ers-booking__action .ers-booking__qr img { height: 104px; width: 104px; }
	.ers-booking__action .ers-core-booking-cta { padding-inline: 1rem; }
}
@media (max-width: 760px) {
	.ers-booking__action { background: transparent !important; border: 0 !important; display: block !important; padding: 0 !important; }
	.ers-booking__action .ers-booking__qr { display: none !important; }
	.ers-booking__action .ers-core-booking-cta { white-space: normal; }
}

/* Fachgebiete: alle drei Karten einheitlich, ohne blaue Oberkante */
.ers-field-card--anchor { border-top: 1px solid var(--ers-line) !important; }

/* ===========================================================================
 * Stellenangebote (11/2026): Karriereseite, Detailseite, Startseite, Navigation.
 * Nutzt die vorhandenen Tokens; Fotos nur aus der freigegebenen Praxisbildwelt.
 * ========================================================================= */
.ers-job-count {
	align-items: center;
	background: var(--ers-blue);
	border-radius: 999px;
	color: var(--ers-white);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--ers-text);
	font-size: 0.95rem;
	font-weight: 700;
	height: 1.85rem;
	justify-content: center;
	line-height: 1;
	margin-left: 0.4rem;
	min-width: 1.85rem;
	padding: 0 0.55rem;
	vertical-align: 0.2em;
}
.ers-job-badge {
	background: rgba(232, 201, 109, 0.38);
	border-radius: 999px;
	color: #4A3700;
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin: 0 0 0.45rem;
	padding: 0.2rem 0.65rem;
	text-transform: uppercase;
}

/* Faktenchips */
.ers-job-chips { display: flex; flex-wrap: wrap; gap: 0.45rem 0.5rem; list-style: none; margin: 0; padding: 0; }
.ers-job-chips li {
	align-items: center;
	background: var(--ers-surface-strong, #F0F4F8);
	border-radius: 999px;
	color: var(--ers-text);
	display: inline-flex;
	font-size: 0.92rem;
	font-weight: 600;
	gap: 0.4rem;
	line-height: 1.3;
	padding: 0.35rem 0.8rem;
}
.ers-job-chips--hero li { background: var(--ers-white); border: 1px solid var(--ers-line); font-size: 1rem; padding: 0.45rem 0.95rem; }
.ers-ui-icon--chip { color: var(--ers-blue); flex: 0 0 auto; height: 17px; width: 17px; }
.ers-ui-icon--cta { flex: 0 0 auto; height: 18px; transition: transform var(--ers-dur-hover) var(--ers-ease); width: 18px; }
.ers-ui-icon--button { flex: 0 0 auto; height: 20px; width: 20px; }

/* Karriereseite: Stellenkarten */
.ers-job-openings__head { margin-bottom: var(--ers-head-gap); max-width: 46rem; }
.ers-job-openings__head .ers-kicker {
	font-size: clamp(1.25rem, 1.05rem + 1vw, 1.5rem);
	gap: 0.6rem;
	letter-spacing: 0.01em;
	line-height: 1.25;
	margin: 0 0 0.65rem;
}
.ers-job-openings__head .ers-ui-icon--kicker { flex-shrink: 0; height: 1.2em; width: 1.2em; }
.ers-job-openings__head h2 { margin: 0.4rem 0 0.6rem; }
.ers-job-openings__head .ers-section__lead { margin: 0; }
.ers-job-openings__empty { color: var(--ers-muted); font-size: 1.05rem; margin: 0; max-width: 46rem; }
.ers-job-cards {
	display: grid;
	gap: var(--ers-grid-gap);
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}
.ers-job-card {
	align-content: start;
	background: var(--ers-white);
	border: 1px solid var(--ers-line);
	border-radius: var(--ers-radius-card);
	border-top: 4px solid var(--ers-blue);
	box-shadow: var(--ers-shadow-soft);
	display: grid;
	gap: 0.4rem 1rem;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: 1fr auto;
	padding: clamp(1.25rem, 2.4vw, 1.75rem);
	position: relative;
}
.ers-job-card__icon {
	background: var(--ers-blue-soft, #E8F1FF);
	border-radius: 12px;
	color: var(--ers-blue);
	display: grid;
	height: 52px;
	place-items: center;
	width: 52px;
}
.ers-job-card__icon .ers-ui-icon { height: 28px; width: 28px; }
.ers-job-card__title { font-size: clamp(1.15rem, 1.6vw, 1.35rem); line-height: 1.25; margin: 0 0 0.45rem; }
.ers-job-card__title a { color: var(--ers-blue); text-decoration: none; }
/* Die ganze Karte ist klickbar; der Titel bleibt das einzige Linkziel. */
.ers-job-card__title a::after { border-radius: inherit; content: ""; inset: 0; position: absolute; }
.ers-job-card__title a:focus-visible { outline: none; }
.ers-job-card:focus-within { box-shadow: var(--ers-ring), var(--ers-shadow-soft); }
.ers-job-card__summary { color: var(--ers-text); margin: 0 0 0.85rem; }
.ers-job-card__cta {
	align-items: center;
	color: var(--ers-blue);
	display: flex;
	font-weight: 700;
	gap: 0.4rem;
	grid-column: 2;
	margin-top: 0.6rem;
}
@media (hover: hover) and (pointer: fine) {
	.ers-job-card:hover { border-color: rgba(0, 74, 173, 0.42); box-shadow: var(--ers-shadow); transform: translateY(var(--ers-lift)); }
	.ers-job-card:hover .ers-ui-icon--cta,
	.ers-job-teaser a:hover .ers-ui-icon--cta { transform: translateX(3px); }
}

/* Detailseite */
.ers-job-page { display: grid; gap: var(--ers-section-gap); }
.ers-job-hero {
	align-items: center;
	background: var(--ers-band, #F0F4F8);
	box-shadow: 0 0 0 100vmax var(--ers-band, #F0F4F8);
	clip-path: inset(0 -100vmax);
	display: grid;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.7fr);
	padding-block: clamp(1.75rem, 4.5vw, 3.5rem);
}
.ers-job-back { margin: 0 0 1.25rem; }
.ers-job-back a { font-weight: 600; text-decoration: none; }
.ers-job-hero h1 { font-size: clamp(2rem, 4.2vw, 3.1rem); line-height: 1.1; margin: 0.5rem 0 1.25rem; }
.ers-job-lead { color: var(--ers-text); font-size: clamp(1.08rem, 1.5vw, 1.2rem); line-height: 1.6; margin: 1.25rem 0 1.6rem; max-width: 40rem; }
.ers-job-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.ers-job-hero__photo { margin: 0; }
.ers-job-hero__photo img {
	aspect-ratio: 4 / 5;
	border-radius: var(--ers-radius-section);
	box-shadow: var(--ers-shadow);
	display: block;
	height: auto;
	max-height: 470px;
	object-fit: cover;
	width: 100%;
}
.ers-job-layout {
	align-items: start;
	display: grid;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
}
.ers-job-main { display: grid; gap: clamp(1.75rem, 3.5vw, 2.5rem); max-width: var(--ers-reading-width); scroll-margin-top: var(--ers-anchor-offset); }
.ers-job-section h2 { align-items: center; display: flex; font-size: clamp(1.35rem, 2vw, 1.6rem); gap: 0.75rem; margin: 0 0 1rem; }
.ers-job-section__icon {
	background: var(--ers-blue-soft, #E8F1FF);
	border-radius: 12px;
	color: var(--ers-blue);
	display: grid;
	flex: 0 0 auto;
	height: 44px;
	place-items: center;
	width: 44px;
}
.ers-ui-icon--job-section { height: 24px; width: 24px; }
.ers-job-list { display: grid; font-size: 1.05rem; gap: 0.7rem; list-style: none; margin: 0; padding: 0; }
.ers-job-list li { line-height: 1.55; padding-left: 2rem; position: relative; }
.ers-job-list li::before {
	background: var(--ers-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 72% no-repeat;
	border-radius: 50%;
	content: "";
	height: 1.2rem;
	left: 0;
	position: absolute;
	top: 0.2em;
	width: 1.2rem;
}
.ers-job-section--benefits { background: var(--ers-band, #F0F4F8); border-radius: var(--ers-radius-section); padding: var(--ers-section-pad); }
.ers-job-section--benefits .ers-job-section__icon { background: var(--ers-white); }
.ers-job-aside { position: sticky; top: calc(var(--ers-anchor-offset, 118px) + 0.5rem); }
.ers-job-aside__card {
	background: var(--ers-white);
	border: 1px solid var(--ers-line);
	border-radius: var(--ers-radius-section);
	border-top: 4px solid var(--ers-blue);
	box-shadow: var(--ers-shadow-soft);
	padding: clamp(1.25rem, 2.4vw, 1.6rem);
}
.ers-job-aside__card h2 { font-size: 1.25rem; margin: 0 0 1rem; }
.ers-job-facts-list { display: grid; gap: 0.75rem; margin: 0 0 1.35rem; }
.ers-job-facts-list div { border-bottom: 1px solid var(--ers-line); display: grid; gap: 0.15rem; padding-bottom: 0.75rem; }
.ers-job-facts-list dt { color: var(--ers-muted); font-size: 0.82rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.ers-job-facts-list dd { font-weight: 700; margin: 0; }
.ers-job-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.ers-job-actions .ers-cta,
.ers-job-actions .ers-static-button { align-items: center; display: inline-flex; gap: 0.55rem; justify-content: center; min-height: 52px; }
.ers-job-actions--stack { flex-direction: column; }
.ers-job-actions--stack a { box-sizing: border-box; width: 100%; }

/* Arbeiten im ERS */
.ers-job-workplace h2 { margin: 0 0 var(--ers-head-gap); }
.ers-job-workplace__list { display: grid; gap: var(--ers-grid-gap); grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.ers-job-workplace__list li {
	background: var(--ers-white);
	border: 1px solid var(--ers-line);
	border-radius: var(--ers-radius-card);
	display: grid;
	gap: 0.35rem;
	padding: var(--ers-card-pad);
}
.ers-ui-icon--workplace { color: var(--ers-blue); height: 30px; margin-bottom: 0.4rem; width: 30px; }
.ers-job-workplace__list strong { color: var(--ers-text); font-size: 1.05rem; }
.ers-job-workplace__list span { color: var(--ers-muted); }

/* Bewerbungsband: einladend, ruhig in Markenblau */
.ers-job-apply {
	align-items: center;
	background: linear-gradient(135deg, #003C8C 0%, var(--ers-blue) 55%, #2370CF 100%);
	border-radius: var(--ers-radius-section);
	color: var(--ers-white);
	display: grid;
	gap: clamp(1.25rem, 3vw, 2.5rem);
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	padding: clamp(1.75rem, 4.5vw, 3.25rem);
	scroll-margin-top: var(--ers-anchor-offset);
}
.ers-job-apply h2 { color: var(--ers-white); font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0 0 0.75rem; }
.ers-job-apply p { color: rgba(255, 255, 255, 0.92); margin: 0 0 0.75rem; }
.ers-job-apply__contact { font-weight: 700; }
.ers-job-apply .ers-cta { background: var(--ers-white) !important; border-color: var(--ers-white) !important; color: var(--ers-blue) !important; }
.ers-job-apply .ers-static-button { background: transparent !important; border-color: rgba(255, 255, 255, 0.75) !important; color: var(--ers-white) !important; }
.ers-job-apply .ers-cta:hover,
.ers-job-apply .ers-cta:focus-visible { background: var(--ers-blue-soft, #E8F1FF) !important; }
.ers-job-apply .ers-static-button:hover,
.ers-job-apply .ers-static-button:focus-visible { background: rgba(255, 255, 255, 0.12) !important; }
.ers-job-apply a:focus-visible { outline-color: var(--ers-white); }
.ers-job-apply__note { font-size: 0.92rem; margin-top: 1rem !important; }
.ers-job-apply__note a { color: var(--ers-white); }
.ers-job-expired { background: var(--ers-white); border-left: 4px solid var(--ers-blue); border-radius: var(--ers-radius-card); padding: var(--ers-card-pad); }
.ers-job-expired p { margin-top: 0; }
.ers-job-more h2 { margin: 0 0 var(--ers-head-gap); }

@media (max-width: 1100px) {
	.ers-job-workplace__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
	.ers-job-hero,
	.ers-job-layout,
	.ers-job-apply { grid-template-columns: minmax(0, 1fr); }
	.ers-job-hero__photo img { aspect-ratio: 16 / 10; max-height: 320px; object-position: 50% 40%; }
	.ers-job-aside { position: static; }
}
@media (max-width: 600px) {
	.ers-job-workplace__list { grid-template-columns: minmax(0, 1fr); }
	.ers-job-card { grid-template-columns: minmax(0, 1fr); }
	.ers-job-card__cta { grid-column: 1; }
	.ers-job-hero__actions a,
	.ers-job-actions a { box-sizing: border-box; width: 100%; }
}

/* Startseite: offene Stellen im Karriere-Band */
.ers-job-teaser__label { align-items: center; color: var(--ers-blue); display: flex; font-weight: 700; gap: 0.5rem; margin: 1.35rem 0 0.6rem; }
.ers-job-teaser__label .ers-job-count { margin-left: 0; vertical-align: 0; }
.ers-job-teaser { display: grid; gap: 0.55rem; list-style: none; margin: 0; padding: 0; }
.ers-job-teaser a {
	align-items: center;
	background: var(--ers-white);
	border: 1px solid var(--ers-line);
	border-left: 4px solid var(--ers-blue);
	border-radius: var(--ers-radius-card);
	color: var(--ers-blue);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 0.85rem 1rem;
	text-decoration: none;
}
.ers-job-teaser__text { display: grid; gap: 0.15rem; }
.ers-job-teaser a strong { color: var(--ers-blue); font-size: 1.05rem; }
.ers-job-teaser__text span { color: var(--ers-muted); font-size: 0.92rem; }
@media (hover: hover) and (pointer: fine) {
	.ers-job-teaser a:hover { border-color: rgba(0, 74, 173, 0.42); box-shadow: var(--ers-shadow-soft); }
}

/* Navigation: Zähler offener Stellen */
.ers-nav-count {
	align-items: center;
	background: var(--ers-blue);
	border-radius: 999px;
	color: var(--ers-white);
	display: inline-flex;
	font-size: 0.72rem;
	font-weight: 700;
	height: 1.2rem;
	justify-content: center;
	margin-left: 0.35rem;
	min-width: 1.2rem;
	padding: 0 0.3rem;
	vertical-align: 0.15em;
}

/* Praxis-Hinweis (z. B. Urlaub) über die volle Breite des Hinweisstreifens */
.ers-notice-item--practice { border-left: 4px solid var(--ers-blue) !important; grid-column: 1 / -1; }
.ers-notice-item--practice p { margin: 0.25rem 0 0; }

/* ===========================================================================
 * Darstellungsstufen aus „ERS Website › Darstellung“. Ohne Einstellung wirken
 * diese Klassen nicht; die Werte selbst kommen als CSS-Variablen.
 * ========================================================================= */
body.ers-corners-custom :is(.ers-field-card, .ers-card, .ers-diagnostic-card, .ers-notice-item, .ers-career-option-card, .ers-team-card, .ers-booking__action, .ers-location-card, .ers-job-card) { border-radius: var(--ers-radius-card) !important; }
body.ers-corners-custom :is(.ers-practice-glimpse__photo, .ers-career-visual--photo, .ers-career-hero__photo img, .ers-career-gallery img) { border-radius: var(--ers-radius-section) !important; }

/* Titelbereich: Spaltenverhältnis des Heros (Desktop) und Porträthöhe (mobil, per Variable). */
@media (min-width: 961px) {
	body.ers-hero-compact .ers-hero--portrait { grid-template-columns: minmax(0, 1.45fr) minmax(240px, 0.55fr); }
	body.ers-hero-large .ers-hero--portrait { grid-template-columns: minmax(0, 1fr) minmax(300px, 1fr); }
}

body.ers-motion-off .ers-reveal,
body.ers-motion-off .ers-reveal .ers-reveal-child {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.ers-job-card,
	.ers-job-teaser a,
	.ers-ui-icon--cta { transition: none; }
	.ers-job-card:hover,
	.ers-job-card:hover .ers-ui-icon--cta,
	.ers-job-teaser a:hover .ers-ui-icon--cta { transform: none; }
}

/* Footer: Logo, Praxis, Profile, Kontakt, Sprechzeiten und Rechtliches. */
.ers-site-footer__inner {
	align-items: start;
	column-gap: clamp(1rem, 1.6vw, 1.75rem);
	grid-template-columns: 120px minmax(190px, 1.65fr) minmax(80px, 0.65fr) minmax(155px, 1.1fr) minmax(130px, 1fr) minmax(140px, 1fr);
	padding-block: 2.5rem;
	row-gap: 2rem;
}
.ers-site-footer__inner > * { justify-self: stretch !important; margin: 0; margin-inline: 0 !important; max-width: none !important; min-width: 0; width: 100% !important; }
.ers-site-footer__inner :is(p, address, a) { font-size: 1rem; line-height: 1.55; }
.ers-site-footer__inner .ers-site-footer__label { font-size: 1rem; letter-spacing: 0; line-height: 1.4; margin: 0 0 0.6rem; }
.ers-site-footer__brand .ers-footer-brand-name span { font-size: 0.9375rem; opacity: 1; }
.ers-site-footer__contact,
.ers-site-footer__hours { align-content: start; display: grid; gap: 0.4rem; }
.ers-site-footer .ers-footer-nav,
.ers-site-footer .ers-footer-profiles { align-content: start; display: grid; gap: 0; grid-template-columns: minmax(0, 1fr); margin: 0; }
.ers-site-footer .ers-footer-nav a,
.ers-site-footer .ers-footer-profiles a,
.ers-site-footer .ers-site-footer__contact a,
.ers-site-footer .ers-footer-faq { align-items: center; display: inline-flex; min-height: 32px; padding-block: 0.15rem; }
.ers-site-footer .ers-footer-nav a { color: var(--ers-white); max-width: 100%; min-width: 0; white-space: normal; width: 100%; }
.ers-site-footer .ers-footer-nav .ers-ui-icon--footer { flex-shrink: 0; }
@media (max-width: 1199px) {
	.ers-site-footer__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.ers-site-footer__inner { column-gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 2rem; padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)); }
	.ers-site-footer .ers-footer-nav a,
	.ers-site-footer .ers-footer-profiles a,
	.ers-site-footer .ers-site-footer__contact a,
	.ers-site-footer .ers-footer-faq { min-height: 44px; }
}
