/*
Theme Name:   Radiate Child — METALL-SV
Theme URI:    https://metall-sv.de/
Description:  Child-Theme zu Radiate 1.4.3 für metall-sv.de. Enthält die freigegebene Gestaltung nach Bericht 05 (Revision 3.6/3.7). Der Nulltest nach Bericht 04d, Abschnitt 4.2, wurde am 09.09.2026 bestanden.
Author:       SEKER Ingenieurbüro
Template:     radiate
Version:      0.5.9
Text Domain:  radiate-child
*/

/* ==================================================================
   INHALT
   1. Gestaltungsgrundlage (Bericht 05)
   2. Kopfbereich
      2.1 obere Leiste
      2.2 Markenzeile
      2.3 Navigation - Grundgeruest
      2.4 Navigation - Untermenues am Schreibtisch
      2.5 Handlungsaufforderung
      2.6 Radiate-Reste stilllegen
   3. Fussbereich
   4. Verhalten in schmalen Breiten
      4.1 bis 1100 px
      4.2 bis 900 px
      4.3 bis 768 px - Klappmenue
      4.4 bis 600 px
      4.5 bis 400 px
   5. Radiate-Eigenheit: fixierter Kopfbereich

   ZUR SPEZIFITAET
   Radiate setzt seine Menueregeln mit bis zu vier Elementen hinter der
   Klasse .main-navigation (z. B. ".main-navigation ul li ul" mit
   left:-99999px). Eine Klassenregel des Child-Themes verliert dagegen,
   auch wenn sie spaeter geladen wird. Alle Regeln, die Radiates
   Menueverhalten wirklich ersetzen muessen, sind deshalb mit der ID
   #site-navigation geschrieben. Reine Optik bleibt bei .msv-nav.
   ================================================================== */

/* ==================================================================
   1. Gestaltungsgrundlage — Bericht 05
   ================================================================== */

:root {
	--msv-brand: #1A4AA8;
	--msv-brand-deep: #12305F;
	--msv-brand-tint: #EAF0FA;
	--msv-ink: #141A22;
	--msv-ink-soft: #414B58;
	--msv-line: #DCE1E8;
	--msv-line-strong: #B9C2CE;
	--msv-surface: #FFFFFF;
	--msv-surface-alt: #F5F7FB;

	--msv-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	--msv-serif: "IBM Plex Serif", Georgia, "Times New Roman", serif;

	--msv-shell: 1180px;
	--msv-gutter: 28px;
}

/* ==================================================================
   2. Kopfbereich
   ================================================================== */

.msv-shell {
	max-width: var(--msv-shell);
	margin-inline: auto;
	padding-inline: var(--msv-gutter);
}

.msv-header {
	background: var(--msv-surface);
	border-bottom: 1px solid var(--msv-line);
	box-shadow: none;
}

/* --- 2.1 Obere Leiste: Einsatzgebiet und Telefon --- */

.msv-topbar {
	background: var(--msv-brand-deep);
	color: #FFFFFF;
	font-family: var(--msv-sans);
	font-size: 13.5px;
	line-height: 1.4;
}

.msv-topbar__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	padding-block: 9px;
}

.msv-topbar p {
	margin: 0;
}

.msv-topbar__region {
	color: rgba(255, 255, 255, 0.86);
}

.msv-topbar__tel {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	color: #FFFFFF;
	text-decoration: none;
	font-weight: 600;
}

.msv-topbar__tel:hover,
.msv-topbar__tel:focus {
	color: #FFFFFF;
	text-decoration: underline;
}

.msv-topbar__tel-label {
	font-weight: 400;
	color: rgba(255, 255, 255, 0.72);
}

/* --- 2.2 Markenzeile --- */

.msv-headbar {
	background: var(--msv-surface);
	border-top: 2px solid var(--msv-brand);
	padding: 0;
	margin: 0;
	max-width: none;
	width: auto;
}

.msv-headbar__inner {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px 32px;
	padding-block: 16px;
}

.msv-brand {
	flex: 0 0 auto;
	float: none;
	margin: 0;
	padding: 0;
	width: auto;
	max-width: none;
}

.msv-brand__link {
	display: flex;
	align-items: center;
	gap: 13px;
	text-decoration: none;
	line-height: 1.2;
}

.msv-brand__link:hover,
.msv-brand__link:focus {
	text-decoration: none;
}

.msv-brand__figure {
	flex: 0 0 auto;
	display: block;
	width: auto;
	height: 48px;
}

.msv-brand__text {
	display: block;
}

.msv-brand__mark {
	display: block;
	font-family: var(--msv-sans);
	font-weight: 700;
	font-size: 27px;
	letter-spacing: 0.055em;
	color: var(--msv-ink);
}

.msv-brand__mark-sv {
	color: var(--msv-brand);
}

.msv-brand__office {
	display: block;
	font-family: var(--msv-sans);
	font-weight: 600;
	font-size: 12.5px;
	letter-spacing: 0.045em;
	text-transform: uppercase;
	color: var(--msv-brand);
	margin-top: 3px;
}

.msv-brand__person {
	display: block;
	font-family: var(--msv-sans);
	font-weight: 400;
	font-size: 12px;
	letter-spacing: 0.02em;
	color: var(--msv-ink-soft);
	margin-top: 2px;
}

/* --- 2.3 Navigation: Grundgeruest --- */

#site-navigation.msv-nav {
	flex: 1 1 auto;
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
	display: flex;
	justify-content: flex-end;
}

.msv-nav .menu-primary-container {
	width: 100%;
}

#site-navigation.msv-nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 2px 4px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: transparent;
}

#site-navigation.msv-nav ul li {
	float: none;
	position: relative;
	border: 0;
	line-height: 1.25;
	font-size: 14.5px;
}

#site-navigation.msv-nav ul li a {
	display: block;
	padding: 9px 11px;
	font-family: var(--msv-sans);
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.25;
	color: var(--msv-ink);
	background: transparent;
	text-decoration: none;
	border-radius: 2px;
}

#site-navigation.msv-nav ul li a:hover,
#site-navigation.msv-nav ul li a:focus,
#site-navigation.msv-nav ul li:hover > a {
	color: var(--msv-brand);
	background: var(--msv-brand-tint);
}

#site-navigation.msv-nav ul li.current-menu-item > a,
#site-navigation.msv-nav ul li.current-menu-ancestor > a,
#site-navigation.msv-nav ul li.current_page_item > a,
#site-navigation.msv-nav ul li.current_page_ancestor > a {
	color: var(--msv-brand);
	background: transparent;
	box-shadow: inset 0 -2px 0 var(--msv-brand);
}

#site-navigation.msv-nav a:focus-visible {
	outline: 2px solid var(--msv-brand);
	outline-offset: 2px;
}

/* --- 2.4 Untermenues am Schreibtisch ---
   Radiate schiebt geschlossene Untermenues mit left:-99999px aus dem
   Bild. Diese Fassung schliesst sie stattdessen mit display:none und
   oeffnet sie bei Mauszeiger UND bei Tastaturfokus (:focus-within).
   Die .focus-Klasse setzt Radiates navigation.js. */

#site-navigation.msv-nav ul ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: auto;
	float: none;
	z-index: 400;
	min-width: 250px;
	padding: 6px;
	background: var(--msv-surface);
	border: 1px solid var(--msv-line);
	box-shadow: 0 8px 24px rgba(18, 48, 95, 0.12);
}

#site-navigation.msv-nav ul li:hover > ul,
#site-navigation.msv-nav ul li.focus > ul,
#site-navigation.msv-nav ul li:focus-within > ul {
	display: block;
	left: 0;
}

#site-navigation.msv-nav ul ul li a {
	padding: 8px 10px;
	font-size: 14px;
	min-width: 0;
}

#site-navigation.msv-nav ul ul ul {
	top: 0;
	left: 100%;
}

#site-navigation.msv-nav ul ul li:hover > ul,
#site-navigation.msv-nav ul ul li.focus > ul,
#site-navigation.msv-nav ul ul li:focus-within > ul {
	left: 100%;
}

/* Aufklapptaste der Untermenues: nur im Klappmenue sichtbar.
   Die Tasten legt radiate/js/custom.js an (.sub-toggle). */

#site-navigation.msv-nav .sub-toggle {
	display: none;
}

/* --- 2.5 Handlungsaufforderung --- */

.msv-headbar__cta {
	flex: 0 0 auto;
}

.msv-btn {
	display: inline-block;
	font-family: var(--msv-sans);
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	padding: 12px 20px;
	border: 1px solid transparent;
	border-radius: 2px;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.msv-btn--primary {
	background: var(--msv-brand);
	border-color: var(--msv-brand);
	color: #FFFFFF;
}

.msv-btn--primary:hover,
.msv-btn--primary:focus {
	background: var(--msv-brand-deep);
	border-color: var(--msv-brand-deep);
	color: #FFFFFF;
	text-decoration: none;
}

.msv-btn--ghost {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.45);
	color: #FFFFFF;
}

.msv-btn--ghost:hover,
.msv-btn--ghost:focus {
	background: rgba(255, 255, 255, 0.10);
	border-color: #FFFFFF;
	color: #FFFFFF;
	text-decoration: none;
}

.msv-btn:focus-visible {
	outline: 2px solid var(--msv-brand);
	outline-offset: 2px;
}

/* --- 2.6 Radiate-Reste im Kopfbereich stilllegen --- */

.msv-header .site-description,
.msv-header .header-search-icon,
.msv-header .search-form,
.msv-header #search-form {
	display: none;
}

/* ==================================================================
   3. Fussbereich
   ================================================================== */

/* Mit ID geschrieben: Radiate setzt Hintergrund, Rahmen und Abstand
   ueber "#colophon". Eine Klassenregel verliert dagegen. */
#colophon.msv-footer {
	background: var(--msv-brand-deep);
	color: rgba(255, 255, 255, 0.86);
	font-family: var(--msv-sans);
	font-size: 14.5px;
	line-height: 1.6;
	margin: 0;
	padding: 0;
	border: 0;
}

.msv-footer a {
	color: #FFFFFF;
	text-decoration: none;
}

.msv-footer a:hover,
.msv-footer a:focus {
	text-decoration: underline;
}

.msv-footer__main {
	padding-block: 46px 34px;
}

.msv-footer__grid {
	display: grid;
	grid-template-columns: 1.25fr 1fr 1fr 0.75fr;
	gap: 34px 40px;
	align-items: start;
}

.msv-footer p,
.msv-footer address {
	margin: 0 0 10px;
	font-style: normal;
}

/* Radiate faerbt jedes <p> mit #444. Auf dunklem Grund waere das
   unleserlich, deshalb die Textfarben hier ausdruecklich setzen. */
.msv-footer__text,
.msv-footer__address,
.msv-footer__line {
	color: rgba(255, 255, 255, 0.86);
}

.msv-footer__figure {
	display: block;
	width: auto;
	height: 52px;
	margin-bottom: 12px;
}

.msv-footer__mark {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.055em;
	color: #FFFFFF;
	margin-bottom: 2px;
}

.msv-footer__mark-sv {
	color: #8FB3F2;
}

.msv-footer__office {
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.045em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.78);
	margin-bottom: 2px;
}

.msv-footer__person {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.72);
}

.msv-footer__head {
	font-family: var(--msv-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #FFFFFF;
	margin: 0 0 14px;
	padding: 0 0 8px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
	line-height: 1.3;
}

.msv-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.msv-footer__list li {
	margin-bottom: 8px;
}

.msv-footer__line .msv-btn {
	margin-top: 6px;
	font-size: 14px;
	padding: 10px 16px;
}

.msv-footer__bar {
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	padding-block: 16px 20px;
	font-size: 12.5px;
	line-height: 1.55;
}

.msv-footer__bar-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 6px 32px;
}

.msv-footer__bar p {
	margin: 0;
	color: rgba(255, 255, 255, 0.75);
}

.msv-footer__legal {
	max-width: 68ch;
}

/* ==================================================================
   4. Verhalten in schmalen Breiten
   ================================================================== */

/* --- 4.0 bis 1400 px: Platz fuer sechs Menuepunkte --- */

@media (max-width: 1400px) {
	.msv-headbar__inner {
		gap: 16px 22px;
	}

	#site-navigation.msv-nav ul li a {
		padding: 9px 9px;
	}
}

/* --- 4.1 bis 1100 px --- */

@media (max-width: 1100px) {
	#site-navigation.msv-nav ul li a {
		padding: 8px 8px;
		font-size: 13.5px;
	}

	.msv-brand__mark {
		font-size: 24px;
	}

	.msv-brand__figure {
		height: 44px;
	}
}

/* --- 4.2 bis 900 px --- */

@media (max-width: 900px) {
	.msv-headbar__inner {
		flex-wrap: wrap;
		gap: 12px 20px;
	}

	#site-navigation.msv-nav {
		order: 3;
		flex: 1 1 100%;
		justify-content: flex-start;
	}

	#site-navigation.msv-nav ul {
		justify-content: flex-start;
	}

	.msv-headbar__cta {
		margin-left: auto;
	}

	.msv-footer__grid {
		grid-template-columns: 1fr 1fr;
	}
}

/* --- 4.3 bis 768 px: Klappmenue ---
   Ab hier gilt Radiates eigene Umschaltung. Radiates navigation.js
   tauscht bei einem Klick auf die h4.menu-toggle die Klasse des
   Containers: .main-navigation <-> .main-small-navigation. Der
   geschlossene Grundzustand wird hier gesetzt, das Oeffnen haengt
   allein an dieser Klasse. Untermenues bleiben geschlossen, bis das
   zugehoerige <li> die Klasse .open traegt; die setzt msv-nav.js.
   Es gibt hier bewusst KEINE Regel, die eine Liste dauerhaft auf
   display:block zwingt. */

@media (max-width: 768px) {

	.msv-headbar__inner {
		flex-wrap: nowrap;
		gap: 12px;
	}

	.msv-brand {
		flex: 1 1 auto;
		min-width: 0;
	}

	#site-navigation.msv-nav {
		order: 2;
		flex: 0 0 auto;
		width: auto;
		justify-content: flex-end;
		margin: 0;
		padding: 0;
		position: static;
	}

	.msv-headbar__cta {
		order: 3;
		margin-left: 0;
	}

	/* Der Menuecontainer darf im schmalen Kopfbereich keine Breite
	   beanspruchen - sonst quetscht er die Schaltflaeche zusammen.
	   Die geoeffnete Liste haengt ohnehin absolut an .msv-headbar__inner. */
	#site-navigation.msv-nav .menu-primary-container {
		flex: 0 0 0;
		width: 0;
		min-width: 0;
	}

	/* Schaltflaeche: eigenes Burger-Zeichen statt Radiates
	   Genericons-Zeichen, damit keine Schriftdatei noetig ist. */
	#site-navigation.msv-nav .menu-toggle {
		display: flex;
		flex: 0 0 44px;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 0;
		float: none;
		font-size: 0;
		line-height: 0;
		color: var(--msv-brand);
		background: transparent;
		border: 1px solid var(--msv-line-strong);
		border-radius: 2px;
		cursor: pointer;
	}

	#site-navigation.msv-nav .menu-toggle:hover {
		color: var(--msv-brand);
		background: var(--msv-brand-tint);
	}

	#site-navigation.msv-nav .menu-toggle:focus-visible {
		outline: 2px solid var(--msv-brand);
		outline-offset: 2px;
	}

	#site-navigation.msv-nav .menu-toggle:before {
		content: "";
		display: block;
		width: 20px;
		height: 2px;
		padding: 0;
		font: inherit;
		background: currentColor;
		box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
	}

	/* Geschlossener Grundzustand. */
	#site-navigation.msv-nav ul {
		display: none;
	}

	/* Geoeffnet: Radiate hat die Containerklasse getauscht. */
	#site-navigation.msv-nav.main-small-navigation .menu-primary-container > ul {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		width: auto;
		min-width: 0;
		max-height: 72vh;
		overflow-y: auto;
		z-index: 500;
		margin: 0;
		padding: 8px;
		background: var(--msv-surface);
		border: 1px solid var(--msv-line);
		box-shadow: 0 14px 30px rgba(18, 48, 95, 0.16);
	}

	#site-navigation.msv-nav.main-small-navigation {
		float: none;
		background: transparent;
	}

	#site-navigation.msv-nav ul li {
		float: none;
		width: 100%;
		background: transparent;
		border-bottom: 1px solid var(--msv-line);
	}

	#site-navigation.msv-nav ul li:last-child {
		border-bottom: 0;
	}

	#site-navigation.msv-nav ul li a {
		padding: 12px 44px 12px 8px;
		font-size: 15px;
		color: var(--msv-ink);
		background: transparent;
	}

	#site-navigation.msv-nav ul li:hover > a {
		background: var(--msv-brand-tint);
	}

	/* Untermenues: zu, solange das <li> kein .open hat. */
	#site-navigation.msv-nav ul ul,
	#site-navigation.msv-nav ul li:hover > ul,
	#site-navigation.msv-nav ul li.focus > ul,
	#site-navigation.msv-nav ul li:focus-within > ul {
		display: none;
	}

	#site-navigation.msv-nav li.menu-item-has-children.open > ul.sub-menu {
		display: block;
		position: static;
		left: auto;
		top: auto;
		width: auto;
		min-width: 0;
		margin: 0 0 6px;
		padding: 0 0 0 14px;
		border: 0;
		box-shadow: none;
		background: transparent;
	}

	#site-navigation.msv-nav ul ul li a {
		font-size: 14px;
		padding: 10px 8px;
		color: var(--msv-ink-soft);
	}

	/* Aufklapptaste je Menuepunkt mit Unterpunkten.
	   Die Tasten selbst kommen aus radiate/js/custom.js und tragen
	   bereits das Zeichen "+" bzw. "–". Hier wird nur Radiates
	   violetter Kasten durch die eigene Gestaltung ersetzt. */
	#site-navigation.msv-nav .sub-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 4px;
		right: 2px;
		width: 36px;
		height: 36px;
		margin: 0;
		padding: 0;
		font-family: var(--msv-sans);
		font-size: 19px;
		font-weight: 600;
		line-height: 1;
		color: var(--msv-brand);
		background: transparent;
		border: 1px solid var(--msv-line);
		border-radius: 2px;
		cursor: pointer;
	}

	#site-navigation.msv-nav .sub-toggle:hover {
		background: var(--msv-brand-tint);
	}

	#site-navigation.msv-nav .sub-toggle:focus-visible {
		outline: 2px solid var(--msv-brand);
		outline-offset: 2px;
	}

	/* Obere Leiste: das Einsatzgebiet entfaellt, die Telefonnummer
	   bleibt (Vorgabe aus dem Review vom 09.09.2026). */
	.msv-topbar__inner {
		justify-content: flex-start;
		gap: 4px 18px;
	}

	.msv-topbar__region {
		display: none;
	}
}

/* --- 4.4 bis 600 px --- */

@media (max-width: 600px) {
	:root {
		--msv-gutter: 18px;
	}

	.msv-topbar {
		font-size: 13px;
	}

	.msv-headbar__inner {
		flex-wrap: wrap;
		padding-block: 13px;
	}

	.msv-brand__figure {
		height: 38px;
	}

	.msv-brand__link {
		gap: 10px;
	}

	.msv-brand__mark {
		font-size: 21px;
	}

	.msv-brand__office {
		font-size: 11px;
	}

	.msv-brand__person {
		font-size: 11px;
	}

	/* Die Handlungsaufforderung bekommt eine eigene Zeile, damit
	   Marke und Menuetaste nicht gedraengt werden. */
	.msv-headbar__cta {
		order: 4;
		flex: 1 1 100%;
	}

	.msv-headbar__cta .msv-btn {
		display: block;
		text-align: center;
		padding: 12px 15px;
		font-size: 14.5px;
	}

	.msv-footer__grid {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	.msv-footer__main {
		padding-block: 34px 26px;
	}
}

/* --- 4.5 bis 400 px --- */

@media (max-width: 400px) {
	.msv-brand__figure {
		height: 34px;
	}

	.msv-brand__mark {
		font-size: 19px;
	}

	.msv-brand__office {
		font-size: 10.5px;
		letter-spacing: 0.03em;
	}

	.msv-topbar {
		font-size: 12.5px;
	}
}

/* ==================================================================
   5. Radiate-Eigenheit: der Kopfbereich ist im Elternthema fixiert
   ==================================================================
   Radiate 1.4.3 setzt .header-wrap auf position:fixed und gleicht das
   ueber einen Innenabstand am #content aus. Die freigegebene Gestaltung
   sieht keinen mitlaufenden Kopfbereich vor, deshalb laeuft er hier im
   normalen Textfluss mit. Ohne diese Regel schwebt die Markenzeile ueber
   dem Inhalt und der Kopfbereich hat nur die Hoehe der oberen Leiste. */

.msv-header .header-wrap.msv-headbar {
	position: static;
	top: auto;
	left: auto;
	right: auto;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	opacity: 1;
	background: var(--msv-surface);
}

.site-content {
	padding-top: 34px;
}

@media (max-width: 768px) {
	.site-content {
		padding-top: 24px;
	}
}

/* ==================================================================
   6. Seitenbausteine
   ==================================================================
   Radiate liefert Seiten zweispaltig aus: #primary mit Inhalt, daneben
   #secondary mit Widgets, und die .hentry als weisser Kasten mit 30 px
   Innenabstand. Die freigegebene Gestaltung arbeitet stattdessen mit
   durchgehenden Baendern. Die Klasse msv-fullwidth am <body> schaltet
   darauf um; gesetzt wird sie in der functions.php je Seite, nicht
   pauschal - die uebrigen 80 Seiten bleiben unveraendert.
   ================================================================== */

.msv-fullwidth #primary {
	width: 100%;
	float: none;
	margin: 0;
	padding: 0;
}

.msv-fullwidth #secondary {
	display: none;
}

.msv-fullwidth .hentry {
	margin: 0;
	padding: 0;
	background: transparent;
}

.msv-fullwidth #content .inner-wrap {
	width: 100%;
	max-width: none;
	padding: 0;
}

/* Radiate haelt mit einem eingebetteten "#masthead { margin-bottom }"
   Platz fuer sein Parallax-Kopfbild frei und gibt dem #content einen
   Innenabstand. Auf den gestalteten Seiten faellt beides weg. */
.msv-fullwidth #masthead {
	margin-bottom: 0;
}

.msv-fullwidth #content.site-content {
	padding-top: 0;
}

/* Das Snippet "Kontaktbox unter Seiten" bleibt fuer alle anderen
   Seiten aktiv; hier uebernimmt der eigene Abschlussaufruf. */
.msv-fullwidth .kontaktbox-unten {
	display: none;
}

.msv-fullwidth .entry-header,
.msv-fullwidth .entry-footer,
.msv-fullwidth #parallax-bg img,
.msv-fullwidth img.header-image {
	display: none;
}

.msv-fullwidth .entry-content {
	margin: 0;
}

/* --- 6.1 Baender --- */

.msv-band {
	background: var(--msv-surface);
	padding-block: 62px;
	font-family: var(--msv-sans);
	color: var(--msv-ink);
}

.msv-band--alt {
	background: var(--msv-surface-alt);
}

.msv-band--tint {
	background: var(--msv-brand-tint);
}

.msv-band--deep {
	background: var(--msv-brand-deep);
	color: rgba(255, 255, 255, 0.9);
}

.msv-band--deep .msv-h2,
.msv-band--deep .msv-eyebrow {
	color: #FFFFFF;
}

.msv-band + .msv-band {
	border-top: 1px solid var(--msv-line);
}

.msv-band--alt + .msv-band--alt,
.msv-band--deep + .msv-band,
.msv-band + .msv-band--deep {
	border-top: 0;
}

/* --- 6.2 Typografie der Baender --- */

.msv-eyebrow {
	display: block;
	font-family: var(--msv-sans);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--msv-brand);
	margin: 0 0 14px;
}

.msv-band .msv-h1 {
	font-family: var(--msv-sans);
	font-size: clamp(28px, 3.4vw, 43px);
	font-weight: 700;
	line-height: 1.16;
	letter-spacing: -0.01em;
	color: var(--msv-ink);
	margin: 0 0 18px;
	padding: 0;
	background: none;
}

.msv-band .msv-h2 {
	font-family: var(--msv-sans);
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: 700;
	line-height: 1.24;
	color: var(--msv-ink);
	margin: 0 0 14px;
	padding: 0;
	background: none;
}

.msv-band .msv-h3 {
	font-family: var(--msv-sans);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--msv-ink);
	margin: 0 0 10px;
	padding: 0;
	background: none;
}

.msv-band .msv-lead {
	font-family: var(--msv-sans);
	font-size: 18px;
	line-height: 1.62;
	color: var(--msv-ink-soft);
	margin: 0 0 22px;
	max-width: 62ch;
}

.msv-band p {
	font-family: var(--msv-sans);
	font-size: 16px;
	line-height: 1.7;
	color: var(--msv-ink-soft);
	margin: 0 0 14px;
}

.msv-band--deep p {
	color: rgba(255, 255, 255, 0.86);
}

/* Radiate gibt jeder Liste im Inhalt eckige Aufzaehlungszeichen und
   einen linken Einzug. In den Baendern uebernehmen die Bausteine das
   selbst. */
.msv-band ul,
.msv-band ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

.msv-band li {
	margin: 0;
}

/* Schaltflaechen behalten ihre eigene Farbe - deshalb hier
   ausdruecklich nur Textlinks. */
.msv-band a:not([class*="msv-btn"]) {
	color: var(--msv-brand);
}

.msv-band--deep a:not([class*="msv-btn"]) {
	color: #FFFFFF;
}

.msv-head {
	max-width: 68ch;
	margin-bottom: 34px;
}

/* --- 6.3 Kopfbereich der Seite --- */

.msv-hero {
	background: var(--msv-surface-alt);
	border-bottom: 1px solid var(--msv-line);
	padding-block: 60px 56px;
}

.msv-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 44px;
	align-items: center;
}

.msv-hero__figure {
	margin: 0;
}

/* Hochformatige Praxisfotos wuerden den Kopfbereich sonst
   auseinanderziehen. Die Hoehe wird begrenzt, der Ausschnitt mittig
   beschnitten. */
.msv-hero__figure img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 430px;
	object-fit: cover;
	object-position: center;
	border: 1px solid var(--msv-line);
}

.msv-hero__figure figcaption {
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--msv-ink-soft);
	margin-top: 8px;
}

/* Mit .msv-band davor, weil die Listen-Grundregel oben
   (".msv-band ul") sonst den Abstand zurueckstellt. */
.msv-band .msv-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.msv-badges li {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--msv-brand-deep);
	background: var(--msv-surface);
	border: 1px solid var(--msv-line-strong);
	border-radius: 2px;
	padding: 7px 11px;
	margin: 0;
}

.msv-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}

.msv-btn--outline {
	background: transparent;
	border-color: var(--msv-line-strong);
	color: var(--msv-brand-deep);
}

.msv-btn--outline:hover,
.msv-btn--outline:focus {
	background: var(--msv-surface);
	border-color: var(--msv-brand);
	color: var(--msv-brand);
	text-decoration: none;
}

.msv-btn--light {
	background: #FFFFFF;
	border-color: #FFFFFF;
	color: var(--msv-brand-deep);
}

.msv-btn--light:hover,
.msv-btn--light:focus {
	background: var(--msv-brand-tint);
	border-color: var(--msv-brand-tint);
	color: var(--msv-brand-deep);
	text-decoration: none;
}

/* --- 6.4 Karten --- */

.msv-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Fuenf Karten wirken als 4 + 1 unruhig. Die Variante --3 stellt am
   Schreibtisch drei Spalten und damit 3 + 2 ein. */
@media (min-width: 901px) {
	.msv-cards--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.msv-card {
	background: var(--msv-surface);
	border: 1px solid var(--msv-line);
	border-top: 3px solid var(--msv-brand);
	padding: 24px 22px 22px;
	margin: 0;
	display: flex;
	flex-direction: column;
}

.msv-card p {
	font-size: 15px;
	margin-bottom: 12px;
}

.msv-band .msv-card__list {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
}

.msv-card__list li {
	font-size: 14.5px;
	line-height: 1.5;
	margin: 0 0 7px;
	padding-left: 15px;
	position: relative;
}

.msv-card__list li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 6px;
	height: 6px;
	background: var(--msv-brand);
}

.msv-card__more {
	margin-top: auto;
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
}

.msv-card__more:hover,
.msv-card__more:focus {
	text-decoration: underline;
}

/* --- 6.5 Ablauf --- */

.msv-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: msvstep;
}

.msv-steps li {
	position: relative;
	margin: 0;
	padding: 20px 18px 18px;
	background: var(--msv-surface);
	border: 1px solid var(--msv-line);
	counter-increment: msvstep;
}

.msv-steps li:before {
	content: "0" counter(msvstep);
	display: block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--msv-brand);
	margin-bottom: 8px;
}

.msv-steps strong {
	display: block;
	font-size: 16px;
	font-weight: 600;
	color: var(--msv-ink);
	margin-bottom: 6px;
}

.msv-steps span {
	display: block;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--msv-ink-soft);
}

/* --- 6.6 Leistungsblock mit Inhalt / Fehler / Vorgehen --- */

.msv-svc {
	background: var(--msv-surface);
	border: 1px solid var(--msv-line);
	padding: 26px 24px;
	margin: 0 0 20px;
}

.msv-svc:last-child {
	margin-bottom: 0;
}

.msv-svc__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 20px;
	margin-bottom: 6px;
}

.msv-svc .msv-h3 {
	font-size: 20px;
	margin: 0;
}

.msv-svc .msv-h3 a {
	color: var(--msv-ink);
	text-decoration: none;
}

.msv-svc .msv-h3 a:hover,
.msv-svc .msv-h3 a:focus {
	color: var(--msv-brand);
	text-decoration: underline;
}

.msv-svc__claim {
	font-size: 15px;
	font-weight: 500;
	color: var(--msv-brand-deep);
	margin: 0 0 14px;
}

.msv-svc__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px 26px;
	margin: 0 0 14px;
}

.msv-svc__col h4 {
	font-family: var(--msv-sans);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--msv-brand);
	margin: 0 0 8px;
	padding: 0;
	background: none;
}

.msv-svc__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.msv-svc__col li {
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--msv-ink-soft);
	margin: 0 0 6px;
	padding-left: 14px;
	position: relative;
}

.msv-svc__col li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 5px;
	height: 5px;
	background: var(--msv-line-strong);
}

/* --- 6.7 Kennzahlen und Qualifikation --- */

.msv-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msv-facts li {
	margin: 0;
	padding: 18px 18px 16px;
	background: var(--msv-surface);
	border-left: 3px solid var(--msv-brand);
}

.msv-facts strong {
	display: block;
	font-size: 15.5px;
	font-weight: 600;
	color: var(--msv-ink);
	margin-bottom: 5px;
}

.msv-facts span {
	display: block;
	font-size: 14px;
	line-height: 1.55;
	color: var(--msv-ink-soft);
}

.msv-note {
	border-left: 3px solid var(--msv-line-strong);
	padding: 2px 0 2px 16px;
	margin: 22px 0 0;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--msv-ink-soft);
}

.msv-band--deep .msv-note {
	border-left-color: rgba(255, 255, 255, 0.35);
	color: rgba(255, 255, 255, 0.78);
}

/* --- 6.8 Regionen --- */

.msv-band .msv-regions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.msv-regions li {
	margin: 0;
}

.msv-regions a {
	display: block;
	font-size: 14.5px;
	font-weight: 500;
	text-decoration: none;
	color: var(--msv-brand-deep);
	background: var(--msv-surface);
	border: 1px solid var(--msv-line-strong);
	border-radius: 2px;
	padding: 9px 13px;
}

.msv-regions a:hover,
.msv-regions a:focus {
	border-color: var(--msv-brand);
	color: var(--msv-brand);
}

/* --- 6.9 Abschlussaufruf --- */

.msv-cta__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 28px 44px;
	align-items: center;
}

.msv-cta__contact {
	font-size: 16px;
	line-height: 1.7;
}

.msv-cta__contact a {
	font-weight: 600;
	text-decoration: none;
}

.msv-cta__contact a:hover,
.msv-cta__contact a:focus {
	text-decoration: underline;
}

/* --- 6.10 Schmale Breiten --- */

@media (max-width: 900px) {
	.msv-band {
		padding-block: 46px;
	}

	.msv-hero {
		padding-block: 42px 40px;
	}

	.msv-hero__grid,
	.msv-cta__grid {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	/* Auf schmalen Geraeten steht die Ueberschrift vor dem Bild. */
	.msv-hero__figure img {
		max-height: 240px;
	}
}

@media (max-width: 600px) {
	.msv-band {
		padding-block: 36px;
	}

	.msv-band .msv-lead {
		font-size: 16.5px;
	}

	.msv-svc {
		padding: 20px 16px;
	}

	.msv-actions .msv-btn {
		flex: 1 1 100%;
		text-align: center;
	}
}

/* --- 6.11 Fussbereich eines Beitrags ---
   Kategorien, Schlagwoerter und Kommentarverweis stehen auf umgebauten
   Beitraegen in einem eigenen Band (siehe content-single.php). */

.msv-postmeta .entry-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin: 0;
	padding: 0;
	font-family: var(--msv-sans);
	font-size: 14px;
	line-height: 1.5;
	color: var(--msv-ink-soft);
	background: none;
	border: 0;
}

.msv-postmeta .entry-meta a {
	color: var(--msv-brand);
	text-decoration: none;
}

.msv-postmeta .entry-meta a:hover,
.msv-postmeta .entry-meta a:focus {
	text-decoration: underline;
}

/* --- 6.12 Rechtstexte und Formularseite ---
   Impressum, Datenschutz und Kontaktformular behalten ihren
   urspruenglichen Inhalt. Sie stehen unveraendert in einem Band der
   neuen Gestaltung; nur die Typografie wird angeglichen, damit der
   Text nicht formatlos wirkt. Bewusst KEINE Aenderung am Inhalt der
   Rechtstexte. */

.msv-legal {
	font-family: var(--msv-sans);
	color: var(--msv-ink-soft);
	font-size: 16px;
	line-height: 1.7;
}

.msv-legal h2 {
	margin: 34px 0 12px;
	font-family: var(--msv-serif);
	font-size: 25px;
	line-height: 1.25;
	color: var(--msv-ink);
	font-weight: 600;
}

.msv-legal h3 {
	margin: 26px 0 8px;
	font-family: var(--msv-sans);
	font-size: 18px;
	line-height: 1.35;
	color: var(--msv-ink);
	font-weight: 600;
}

.msv-legal h4 {
	margin: 20px 0 6px;
	font-family: var(--msv-sans);
	font-size: 16px;
	color: var(--msv-ink);
	font-weight: 600;
}

.msv-legal > *:first-child {
	margin-top: 0;
}

.msv-legal p {
	margin: 0 0 14px;
	color: var(--msv-ink-soft);
}

.msv-legal ul,
.msv-legal ol {
	margin: 0 0 16px;
	padding-left: 22px;
}

.msv-legal li {
	margin-bottom: 6px;
}

.msv-legal a {
	color: var(--msv-brand);
	word-break: break-word;
}

.msv-legal blockquote {
	margin: 0 0 22px;
	padding: 16px 20px;
	background: var(--msv-brand-tint);
	border-left: 3px solid var(--msv-brand);
	font-size: 17px;
	color: var(--msv-ink);
}

.msv-legal blockquote p:last-child {
	margin-bottom: 0;
}

.msv-legal .wpforms-container {
	margin-top: 26px;
}

.msv-legal .wp-block-embed {
	margin: 0;
}

@media (max-width: 600px) {
	.msv-legal h2 { font-size: 22px; }
	.msv-legal h3 { font-size: 17px; }
}

/* --- 6.13 Schriftgrundlage und lange Adressen ---
   Radiate schreibt Roboto und Merriweather auf body, Ueberschriften und
   Formularelemente. Diese beiden Schriften werden nicht mehr geladen,
   seit die Schriften lokal ausgeliefert werden. Damit nirgends eine
   Systemschrift einspringt, wird die Grundschrift hier gesetzt.

   Ausserdem: lange Adressen in den Rechtstexten - etwa der Link auf die
   Sachverstaendigenordnung - sind ein einziges unteilbares Wort und
   sprengen auf schmalen Geraeten sonst die Zeile. */

body,
button,
input,
select,
optgroup,
textarea {
	font-family: var(--msv-sans);
}

#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6,
#colophon h2 {
	font-family: var(--msv-sans);
}

.msv-legal a,
.msv-legal p,
.msv-legal li,
.msv-legal h2,
.msv-legal h3,
.msv-legal h4 {
	overflow-wrap: anywhere;
	word-break: normal;
}

/* Zusammensetzungen wie "Verbraucherstreitbeilegung/Universal-
   schlichtungsstelle" sind ein einziges Wort und passen auf schmalen
   Geraeten in keine Zeile. Silbentrennung faengt das ab, bevor die
   harte Umbruchregel greift. */

.msv-legal {
	hyphens: auto;
}


/* =========================================================
   7. REVIEW 01 — Anpassungen aus dem Pruefpaket 01
   Startseite, Fassaden, Bauwerksinspektion und Regionalseiten.
   ========================================================= */

/* 7.1 Vier gleich breite Karten im Schwerpunktband. */
@media (min-width: 900px) {
	.msv-cards--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1180px) {
	.msv-cards--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* 7.2 Schwerpunktband: hebt Bauwerksinspektion und Fassade heraus. */
.msv-band--focus {
	background: var(--msv-brand-tint);
	border-top: 1px solid var(--msv-line);
	border-bottom: 1px solid var(--msv-line);
}

.msv-band--focus .msv-card {
	background: var(--msv-surface);
	border-top: 3px solid var(--msv-brand);
}

.msv-band--focus .msv-card--lead {
	border-top-color: var(--msv-brand-deep);
}

/* 7.3 Vertrauensblock zur oeffentlichen Bestellung. */
.msv-trust {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	padding: 22px 24px;
	background: var(--msv-surface);
	border: 1px solid var(--msv-line);
	border-left: 4px solid var(--msv-brand);
	margin: 0 0 28px;
}

.msv-trust__signet {
	flex: 0 0 auto;
	width: 104px;
	height: 104px;
	border-radius: 50%;
	border: 1px dashed var(--msv-line-strong);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 10px;
	font-size: 10.5px;
	line-height: 1.35;
	color: var(--msv-ink-soft);
}

.msv-trust__signet img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: contain;
}

.msv-trust__text strong {
	display: block;
	font-family: var(--msv-sans);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--msv-brand-deep);
}

.msv-trust__text span {
	display: block;
	font-size: 16px;
	line-height: 1.45;
	color: var(--msv-ink);
	margin-top: 3px;
}

.msv-trust__text em {
	display: block;
	font-style: normal;
	font-size: 14px;
	line-height: 1.5;
	color: var(--msv-ink-soft);
	margin-top: 7px;
}

@media (max-width: 600px) {
	.msv-trust {
		grid-template-columns: minmax(0, 1fr);
		justify-items: start;
	}
}

/* 7.4 Abschlussband hell. Der Fussbereich bleibt dunkelblau; zwei
   dunkle Baender unmittelbar uebereinander wirkten geschlossen. */
.msv-band--deep {
	background: var(--msv-brand-tint);
	color: var(--msv-ink);
	border-top: 1px solid var(--msv-line);
}

.msv-band--deep .msv-eyebrow {
	color: var(--msv-brand);
}

.msv-band--deep .msv-h2 {
	color: var(--msv-brand-deep);
}

.msv-band--deep p {
	color: var(--msv-ink-soft);
}

.msv-band--deep strong {
	color: var(--msv-ink);
}

.msv-band--deep a:not([class*="msv-btn"]) {
	color: var(--msv-brand);
}

.msv-band--deep .msv-note {
	border-left-color: var(--msv-line-strong);
	color: var(--msv-ink-soft);
}

.msv-band--deep .msv-cta__contact {
	color: var(--msv-ink);
}

.msv-band--deep .msv-btn--light {
	background: var(--msv-brand);
	border-color: var(--msv-brand);
	color: #FFFFFF;
}

.msv-band--deep .msv-btn--light:hover,
.msv-band--deep .msv-btn--light:focus {
	background: var(--msv-brand-deep);
	border-color: var(--msv-brand-deep);
	color: #FFFFFF;
}

.msv-band--deep .msv-btn--ghost {
	background: transparent;
	border-color: var(--msv-line-strong);
	color: var(--msv-brand-deep);
}

.msv-band--deep .msv-btn--ghost:hover,
.msv-band--deep .msv-btn--ghost:focus {
	background: var(--msv-surface);
	border-color: var(--msv-brand);
	color: var(--msv-brand);
}

/* 7.5 Kopfbereich: Unterzeile ruhiger, Name und Qualifikation lesbarer. */
.msv-brand__office {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--msv-ink-soft);
	margin-top: 4px;
}

.msv-brand__person {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: var(--msv-ink);
	margin-top: 2px;
}

@media (max-width: 782px) {
	.msv-brand__office {
		font-size: 10px;
	}

	.msv-brand__person {
		font-size: 12px;
	}
}


/* ==================================================================
   8. BILDRUNDE: eingesetztes Sachverstaendigenzeichen
   ==================================================================
   Der Platzhalter in .msv-trust__signet zeigt einen gestrichelten Kreis.
   Sobald das offizielle Zeichen eingesetzt ist, entfallen dieser Rahmen
   und die runde Beschneidung: die Bogen des Zeichens reichen bis in die
   Ecken seines Bildrahmens und wuerden sonst angeschnitten.
   Darstellungsbreite 86 px, Hoehe proportional (Originaldatei 206 x 204).
   ================================================================== */

.msv-trust__signet--bild {
	width: 86px;
	height: auto;
	border: 0;
	border-radius: 0;
	padding: 0;
}

.msv-trust__signet--bild img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
	object-fit: contain;
}


/* ==================================================================
   9. VERTRAUENSZEILE IM HERO
   ==================================================================
   Die vollstaendige personenbezogene Bestellungsbezeichnung ist zu lang
   fuer eine gewoehnliche Badge-Pille. Sie erhaelt deshalb eine eigene,
   volle Zeile oberhalb der uebrigen Qualifikationen. Kein zusaetzliches
   Banner, keine neue Ueberschrift - der bestehende .msv-badges-Block
   wird lediglich um einen Modifikator erweitert.
   ================================================================== */

.msv-badges li.msv-badges__lead {
	flex: 0 0 100%;
	max-width: 100%;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--msv-brand-deep);
	background: var(--msv-surface-alt);
	border-color: var(--msv-line-strong);
	border-left: 3px solid var(--msv-brand-deep);
	padding: 9px 13px;
	margin: 0 0 2px;
}

@media (max-width: 600px) {

	.msv-badges li.msv-badges__lead {
		font-size: 13px;
		line-height: 1.45;
		padding: 8px 11px;
	}
}


/* ==================================================================
   10. PORTRAIT IM HERO (nur ID 8 / Profilseite)
   ==================================================================
   Das Portrait ist ein Hochformat (1205 x 1805). Unter 900 px steht der
   Hero einspaltig, das Bild ist dann rund 765 px breit. Die allgemeine
   Hoehenbegrenzung von 240 px laesst dort nur noch etwa 21 % der Bildhoehe
   sichtbar - der Kopf belegt aber rund 32 % und wurde oben angeschnitten.

   Deshalb gilt im mittleren Bereich fuer dieses eine Bild dieselbe
   Maximalhoehe wie auf dem Desktop. Unterhalb 560 px bleibt die mobile
   Regel unveraendert, oberhalb 900 px die Desktopdarstellung.

   Die Klasse steht am Bild selbst und nicht an der Seite, damit die Regel
   auch in der Gesamtlesefassung des Endabnahme-Pakets greift.
   Kein Beschnitt wird erzeugt, keine Bilddatei veraendert, die uebrigen
   82 Hero-Bilder bleiben unberuehrt.
   ================================================================== */


/* Die drei Werte des Portraits.

   object-position rechnet in Prozent des UEBERSTANDS, nicht der Bildhoehe.
   Der Ueberstand haengt von der Anzeigeflaeche ab, deshalb braucht jede der
   drei Layoutstufen ihren eigenen Wert:

     1280 px  484 x 431  Ueberstand  732 px   13 %  ->  Ausschnitt ab y =  95
      834 px  765 x 431  Ueberstand  716 px  6,5 %  ->  Ausschnitt ab y =  47
      390 px  356 x 241  Ueberstand  989 px    8 %  ->  Ausschnitt ab y =  79

   Der Kopf beginnt in der Datei bei y = 107 von 1805 px (5,93 %), pixelgenau
   ueber den Alphakanal bestimmt. Alle drei Werte lassen den Haaransatz frei.

   Die Regeln haengen an der Klasse am Bild und nicht an page-id-8, damit sie
   auch in der Gesamtlesefassung des Endabnahme-Pakets greifen. Die mobile
   Hoehenbegrenzung von 240 px und alle globalen Hero-Regeln bleiben
   unveraendert; die uebrigen 82 Hero-Bilder tragen die Klasse nicht. */

.msv-hero__figure img.msv-hero__portrait {
	object-position: 50% 13%;
}

@media (min-width: 560px) and (max-width: 900px) {

	.msv-hero__figure img.msv-hero__portrait {
		max-height: 430px;
		object-position: 50% 6.5%;
	}
}

@media (max-width: 559px) {

	.msv-hero__figure img.msv-hero__portrait {
		object-position: 50% 8%;
	}
}


/* ==================================================================
   11. ALTER RADIATE-PARALLAX-HINTERGRUND
   ==================================================================
   Radiate legt mit #parallax-bg eine fest positionierte Flaeche hinter
   die Seite und setzt darauf sein Custom-Header-Bild
   (themes/radiate/images/header/header-image-one.jpg) per background-image.
   Die bisherige Regel blendete nur ein eventuell enthaltenes <img> aus,
   nicht die Hintergrundgrafik des Containers selbst. Beim seitlichen
   Overscroll auf Mobilgeraeten wurde sie dadurch hinter der Seite sichtbar.

   Kein horizontaler Layout-Overflow: ueber alle geprueften Breiten gilt
   scrollWidth <= innerWidth. Deshalb kein overflow-x: hidden, sondern die
   gezielte Abschaltung der Altlast auf den gestalteten Seiten.

   Elternthema, Mediathek und Customizer-Werte bleiben unveraendert;
   auf Seiten ohne .msv-fullwidth verhaelt sich Radiate wie bisher.
   ================================================================== */

.msv-fullwidth #parallax-bg {
	display: none !important;
	background-image: none !important;
}
