/* =========================================================
   personenaufzuege.com – Grundstile
   Reihenfolge: Basis, Kopf, Menue, Brotkrumen, Inhalt, Fuss.
   Farben und Schrift kommen aus theme.json.
   ========================================================= */

:root {
	--pa-navy: var(--wp--preset--color--navy, #11213e);
	--pa-navy-hell: var(--wp--preset--color--navy-hell, #1c3560);
	--pa-orange: var(--wp--preset--color--orange, #eb8512);
	--pa-orange-dunkel: var(--wp--preset--color--orange-dunkel, #c96a05);
	--pa-orange-hauch: var(--wp--preset--color--orange-hauch, #fff3e6);
	--pa-himmel: var(--wp--preset--color--himmel, #eaf1fc);
	--pa-tinte: var(--wp--preset--color--tinte, #131c2b);
	--pa-text: var(--wp--preset--color--text, #3b4657);
	--pa-gedaempft: var(--wp--preset--color--gedaempft, #687385);
	--pa-linie: var(--wp--preset--color--linie, #e1e6ed);
	--pa-flaeche: var(--wp--preset--color--flaeche, #f5f7fa);
	--pa-weiss: var(--wp--preset--color--weiss, #fff);
	--pa-gruen: var(--wp--preset--color--gruen, #1e7a4c);
	--pa-schrift: var(--wp--preset--font-family--rethink, "Rethink Sans", system-ui, -apple-system, "Segoe UI", sans-serif);
	--pa-breite: 1180px;
	--pa-breite-kopf: 1260px;
	--pa-rand: 32px;
	--pa-kopf-hoehe: 78px;
	--pa-schatten: 0 22px 44px -18px rgba(17, 33, 62, 0.3);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	background: var(--pa-weiss);
	color: var(--pa-text);
	font-family: var(--pa-schrift);
	font-size: 1.0625rem;
	line-height: 1.65;
	/* Rethink Sans macht aus (0) sonst ein eingekreistes Zeichen, z. B. in Telefonnummern */
	font-variant-ligatures: no-common-ligatures;
	-webkit-text-size-adjust: 100%;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--pa-navy-hell);
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--pa-orange);
	outline-offset: 2px;
	border-radius: 4px;
}

.pa-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.pa-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000;
	background: var(--pa-navy);
	color: #fff;
	padding: 12px 18px;
	border-radius: 0 0 10px 0;
	font-weight: 600;
	text-decoration: none;
}

.pa-skip:focus {
	left: 0;
}

.pa-icon {
	width: 18px;
	height: 18px;
	display: block;
	flex: 0 0 auto;
}

/* ---------- Schaltflaechen ---------- */

.pa-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border: 2px solid transparent;
	border-radius: 10px;
	padding: 11px 18px;
	font: 700 1rem/1.25 var(--pa-schrift);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.pa-btn--primaer {
	background: var(--pa-orange);
	color: var(--pa-navy);
}

.pa-btn--primaer:hover,
.pa-btn--primaer:focus-visible {
	background: #f29535;
	color: var(--pa-navy);
}

.pa-btn--sekundaer {
	background: var(--pa-weiss);
	color: var(--pa-navy);
	border-color: var(--pa-navy);
}

.pa-btn--block {
	display: flex;
	width: 100%;
}

/* ---------- Kopfbereich ---------- */

.pa-kopf {
	background: var(--pa-weiss);
	border-bottom: 1px solid var(--pa-linie);
}

.pa-kopf-in {
	display: flex;
	align-items: center;
	gap: 16px;
	max-width: var(--pa-breite-kopf);
	min-height: var(--pa-kopf-hoehe);
	margin: 0 auto;
	padding: 0 var(--pa-rand);
}

.pa-logo {
	flex: 0 0 auto;
	line-height: 0;
}

.pa-logo img {
	height: 17px;
	width: auto;
	max-width: none;
	display: block;
}

.pa-kopf-rechts {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
}

.pa-tel {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 10px;
	background: var(--pa-flaeche);
	color: var(--pa-navy);
	transition: background-color 0.15s ease;
}

.pa-tel:hover {
	background: var(--pa-himmel);
}

.pa-burger {
	display: none;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: var(--pa-navy);
	color: #fff;
	cursor: pointer;
}

.pa-burger-icon {
	display: grid;
	place-items: center;
}

.pa-burger .pa-icon {
	width: 22px;
	height: 22px;
	grid-area: 1 / 1;
}

.pa-burger .pa-icon--schliessen,
.pa-kopf--offen .pa-burger .pa-icon--menue {
	display: none;
}

.pa-kopf--offen .pa-burger .pa-icon--schliessen {
	display: block;
}

/* ---------- Hauptmenue ab 1100px ---------- */

.pa-nav {
	display: flex;
	align-items: center;
	min-width: 0;
	margin-left: 6px;
}

.pa-menu,
.pa-untermenue {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pa-menu {
	display: flex;
	align-items: center;
	gap: 2px;
}

.pa-menu > li {
	position: relative;
}

.pa-menu > li > a {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 9px 10px;
	border-radius: 8px;
	color: var(--pa-tinte);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	white-space: nowrap;
}

.pa-menu > li > a:hover {
	background: var(--pa-flaeche);
	color: var(--pa-navy);
}

.pa-menu > li.current-menu-ancestor > a,
.pa-menu > li.current-menu-parent > a,
.pa-menu > li > a[aria-current="page"] {
	background: var(--pa-himmel);
	color: var(--pa-navy);
	font-weight: 600;
}

.pa-menu > li.menu-item-has-children > a::after {
	content: "";
	width: 10px;
	height: 10px;
	background: currentColor;
	opacity: 0.7;
	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>') center / contain no-repeat;
	mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>') center / contain no-repeat;
}

.pa-untermenue {
	position: absolute;
	top: calc(100% + 12px);
	left: 0;
	min-width: 270px;
	padding: 8px;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 12px;
	box-shadow: var(--pa-schatten);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.12s ease;
	z-index: 20;
}

.pa-menu > li:hover > .pa-untermenue,
.pa-menu > li:focus-within > .pa-untermenue {
	opacity: 1;
	visibility: visible;
}

.pa-untermenue a {
	display: block;
	padding: 9px 12px;
	border-radius: 8px;
	color: var(--pa-tinte);
	font-size: 0.9375rem;
	text-decoration: none;
}

.pa-untermenue a:hover {
	background: var(--pa-flaeche);
	color: var(--pa-navy);
}

.pa-untermenue a[aria-current="page"] {
	background: var(--pa-himmel);
	color: var(--pa-navy);
	font-weight: 600;
}

.pa-unter-schalter,
.pa-nav-fuss {
	display: none;
}

/* ---------- Schmaler Desktop ---------- */

@media (min-width: 1100px) and (max-width: 1319px) {
	.pa-logo img {
		height: 14px;
	}

	.pa-menu > li > a {
		padding: 9px 7px;
		font-size: 0.90625rem;
	}

	.pa-menu > li.menu-item-has-children > a::after {
		display: none;
	}

	.pa-kopf-rechts .pa-tel {
		display: none;
	}
}

/* ---------- Mobil und Tablet ---------- */

@media (max-width: 1099px) {
	:root {
		--pa-kopf-hoehe: 64px;
		--pa-rand: 18px;
	}

	.pa-kopf {
		position: sticky;
		top: 0;
		z-index: 100;
	}

	body.admin-bar .pa-kopf {
		top: 46px;
	}

	.pa-kopf-in {
		position: relative;
		gap: 12px;
	}

	.pa-logo img {
		height: 15px;
	}

	.pa-kopf-rechts {
		display: none;
	}

	.pa-burger {
		display: block;
		margin-left: auto;
	}

	.pa-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		margin: 1px 0 0;
		background: var(--pa-weiss);
		border-top: 1px solid var(--pa-linie);
		box-shadow: 0 28px 40px -16px rgba(17, 33, 62, 0.28);
		max-height: calc(100dvh - var(--pa-kopf-hoehe) - 20px);
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.pa-kopf--offen .pa-nav {
		display: block;
	}

	.pa-menu {
		display: block;
	}

	.pa-menu > li {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		border-bottom: 1px solid #eef1f5;
	}

	.pa-menu > li > a {
		flex: 1 1 auto;
		padding: 15px 16px;
		border-radius: 0;
		border-left: 4px solid transparent;
		font-size: 1.0625rem;
		font-weight: 600;
		white-space: normal;
	}

	.pa-menu > li > a::after {
		display: none;
	}

	.pa-menu > li.current-menu-ancestor > a,
	.pa-menu > li > a[aria-current="page"] {
		background: transparent;
		border-left-color: var(--pa-orange);
		color: var(--pa-orange-dunkel);
	}

	.pa-unter-schalter {
		display: grid;
		place-items: center;
		width: 36px;
		height: 36px;
		margin-right: 16px;
		padding: 0;
		border: 0;
		border-radius: 8px;
		background: #eef1f5;
		color: var(--pa-navy);
		cursor: pointer;
	}

	.pa-unter-schalter svg {
		width: 14px;
		height: 14px;
		transition: transform 0.2s ease;
	}

	.pa-unter-schalter[aria-expanded="true"] svg {
		transform: rotate(180deg);
	}

	.pa-untermenue {
		position: static;
		display: none;
		flex: 1 0 100%;
		min-width: 0;
		padding: 0 0 10px;
		background: var(--pa-flaeche);
		border: 0;
		border-radius: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
	}

	.pa-offen > .pa-untermenue {
		display: block;
	}

	.pa-untermenue a {
		padding: 11px 20px 11px 36px;
		border-radius: 0;
		font-size: 0.9375rem;
		color: var(--pa-text);
	}

	.pa-nav-fuss {
		display: grid;
		gap: 10px;
		padding: 18px 16px 22px;
	}

	.pa-nav-tel {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		padding: 10px;
		color: var(--pa-navy);
		font-weight: 600;
		text-decoration: none;
	}

	body.pa-menue-offen {
		overflow: hidden;
	}
}

/* ---------- Brotkrumen ---------- */

.pa-bc-in {
	max-width: var(--pa-breite-kopf);
	margin: 0 auto;
	padding: 14px var(--pa-rand) 0;
	color: var(--pa-gedaempft);
	font-size: 0.90625rem;
	line-height: 1.45;
}

.pa-bc a {
	color: var(--pa-gedaempft);
	text-decoration: none;
}

.pa-bc a:hover {
	color: var(--pa-navy);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pa-bc .breadcrumb_last {
	color: var(--pa-tinte);
	font-weight: 500;
}

/* ---------- Inhalt ---------- */

.pa-inhalt {
	display: block;
}

.pa-seite {
	max-width: var(--pa-breite);
	margin: 0 auto;
	padding: 40px var(--pa-rand) 72px;
}

.pa-seite-kopf {
	max-width: 42rem;
}

.pa-seite h1 {
	margin: 10px 0 16px;
}

.pa-text {
	max-width: 42rem;
}

.pa-text > * + * {
	margin-top: 1.1em;
}

.pa-text h2 {
	margin-top: 1.8em;
}

.pa-text ul,
.pa-text ol {
	padding-left: 1.25em;
}

.pa-text li + li {
	margin-top: 0.4em;
}

.pa-text table {
	width: 100%;
	border-collapse: collapse;
}

.pa-text :is(th, td) {
	border-bottom: 1px solid var(--pa-linie);
	padding: 12px 14px;
	text-align: left;
	vertical-align: top;
}

.pa-tabelle-umbruch {
	overflow-x: auto;
}

.pa-liste-eintraege {
	display: grid;
	gap: 18px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pa-eintrag {
	border: 1px solid var(--pa-linie);
	border-radius: 14px;
	padding: 22px;
}

.pa-eintrag h2 {
	margin: 0 0 8px;
	font-size: 1.25rem;
}

.pa-meta {
	color: var(--pa-gedaempft);
	font-size: 0.875rem;
}

/* ---------- Fussbereich ---------- */

.pa-fuss {
	background: var(--pa-navy);
	color: #c9d4e6;
	font-size: 0.9375rem;
}

.pa-fuss-in {
	max-width: var(--pa-breite-kopf);
	margin: 0 auto;
	padding: 64px var(--pa-rand) 30px;
}

.pa-fuss-spalten {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr));
	gap: 32px;
}

.pa-fuss-marke {
	display: grid;
	gap: 16px;
	align-content: start;
}

.pa-fuss-logo {
	line-height: 0;
}

.pa-fuss-logo img {
	height: 18px;
	width: auto;
	filter: brightness(0) invert(1);
}

.pa-fuss-text {
	margin: 0;
	max-width: 24em;
	line-height: 1.6;
}

.pa-fuss-titel {
	margin: 0 0 10px;
	color: #fff;
	font-weight: 700;
	line-height: 1.3;
}

.pa-fuss-liste,
.pa-fuss-kontakt,
.pa-fuss-rechtliste {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pa-fuss a {
	color: #c9d4e6;
	text-decoration: none;
}

.pa-fuss :is(.pa-fuss-liste, .pa-fuss-kontakt) a {
	display: inline-block;
	padding: 4px 0;
}

.pa-fuss a:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pa-fuss-kontakt a {
	color: #fff;
	font-weight: 600;
}

.pa-fuss-unten {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 24px;
	margin-top: 44px;
	padding-top: 20px;
	border-top: 1px solid #2a3b5c;
	color: #8fa1be;
	font-size: 0.84375rem;
}

.pa-fuss-copy {
	margin: 0;
}

.pa-fuss-rechtliste {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 20px;
}

.pa-fuss-rechtliste a {
	color: #8fa1be;
}

@media (max-width: 1024px) {
	.pa-fuss-spalten {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 24px;
	}

	.pa-fuss-marke {
		grid-column: 1 / -1;
	}

	.pa-fuss-in {
		padding-top: 48px;
	}
}

@media (max-width: 600px) {
	.pa-fuss-unten {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}

/* ---------- Inhaltsbloecke ---------- */

.pa-text :is(h2, h3, h4) {
	color: var(--pa-navy);
	line-height: 1.2;
	letter-spacing: -0.015em;
}

.pa-text h2 {
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
}

.pa-text h3 {
	font-size: 1.3125rem;
}

.pa-text :is(figure, .wp-block-image) {
	margin: 0;
}

.pa-text .wp-block-image img {
	border-radius: 12px;
}

.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.wp-block-button__link,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--pa-orange);
	color: var(--pa-navy);
	border: 0;
	border-radius: 10px;
	padding: 13px 20px;
	font: 700 1rem/1.25 var(--pa-schrift);
	text-decoration: none;
	cursor: pointer;
}

.wp-block-button__link:hover,
.wp-element-button:hover {
	background: #f29535;
	color: var(--pa-navy);
}

.wp-block-table {
	overflow-x: auto;
}

.wp-block-details {
	border: 1px solid var(--pa-linie);
	border-radius: 12px;
	padding: 14px 18px;
}

.wp-block-details summary {
	font-weight: 600;
	color: var(--pa-navy);
	cursor: pointer;
}

/* ---------- Themenseite: Verzeichnis, Text, mitlaufende Anfrage ---------- */

.pa-thema-in {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr) 360px;
	gap: 40px;
	align-items: start;
	max-width: var(--pa-breite-kopf);
	margin: 0 auto;
	padding: 12px var(--pa-rand) 80px;
}

.pa-thema-in:not(:has(.pa-toc)) {
	grid-template-columns: minmax(0, 1fr) 360px;
}

.pa-thema-in.pa-ohne-form {
	grid-template-columns: 240px minmax(0, 1fr);
}

.pa-toc {
	position: sticky;
	top: 20px;
	padding-top: 30px;
	font-size: 0.9375rem;
}

.pa-toc-titel {
	margin: 0 0 6px;
	color: var(--pa-gedaempft);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.pa-toc ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pa-toc a {
	display: block;
	padding: 6px 0 6px 14px;
	border-left: 2px solid var(--pa-linie);
	color: var(--pa-text);
	text-decoration: none;
}

.pa-toc a:hover {
	border-left-color: var(--pa-orange);
	color: var(--pa-navy);
}

.pa-artikel h1 {
	margin: 14px 0 16px;
	color: var(--pa-navy);
	font-size: clamp(2rem, 1.4rem + 2vw, 2.875rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.pa-artikel .pa-text {
	max-width: none;
}

.pa-stand {
	margin: 28px 0 0;
	padding-top: 16px;
	border-top: 1px solid var(--pa-linie);
	color: var(--pa-gedaempft);
	font-size: 0.875rem;
}

.pa-seitenform {
	position: sticky;
	top: 20px;
	padding-top: 30px;
}

.pa-mobilleiste {
	display: none;
}

@media (max-width: 1099px) {
	.pa-thema-in,
	.pa-thema-in:not(:has(.pa-toc)),
	.pa-thema-in.pa-ohne-form {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		padding-bottom: 96px;
	}

	.pa-toc {
		position: static;
		padding: 16px 18px;
		background: var(--pa-flaeche);
		border-radius: 14px;
	}

	.pa-seitenform {
		position: static;
		padding-top: 0;
	}

	.pa-mobilleiste {
		position: fixed;
		inset: auto 0 0 0;
		z-index: 90;
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 10px 16px;
		background: var(--pa-weiss);
		border-top: 1px solid var(--pa-linie);
		box-shadow: 0 -6px 20px rgba(17, 33, 62, 0.08);
	}

	.pa-mobilleiste .pa-btn {
		flex: 1;
	}

	.pa-mobilleiste-tel {
		display: grid;
		place-items: center;
		flex: 0 0 48px;
		width: 48px;
		height: 48px;
		border-radius: 10px;
		background: var(--pa-flaeche);
		color: var(--pa-navy);
	}
}

/* ---------- Abschnitte auf Start- und Hub-Seiten ---------- */

.pa-abschnitt {
	padding: 84px 0;
}

.pa-abschnitt--grau {
	background: var(--pa-flaeche);
}

.pa-abschnitt-in {
	max-width: var(--pa-breite-kopf);
	margin: 0 auto;
	padding: 0 var(--pa-rand);
}

.pa-abschnitt-kopf {
	display: grid;
	gap: 12px;
	max-width: 44rem;
	margin-bottom: 40px;
}

.pa-abschnitt-kopf h2 {
	margin: 0;
	color: var(--pa-navy);
	font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.pa-eyebrow {
	color: var(--pa-orange-dunkel);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.pa-abschnitt-fuss {
	margin: 28px 0 0;
}

.pa-mehr {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--pa-navy);
	font-size: 0.9375rem;
	font-weight: 700;
	text-decoration: none;
}

.pa-mehr:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Hero */

.pa-hero {
	background: linear-gradient(180deg, var(--pa-flaeche), var(--pa-weiss));
	border-bottom: 1px solid var(--pa-linie);
}

.pa-hero-in {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: 56px;
	/* Oben ausgerichtet: Die Anfragekarte waechst je nach Frage, der Text daneben bleibt stehen. */
	align-items: start;
	max-width: var(--pa-breite-kopf);
	margin: 0 auto;
	padding: 64px var(--pa-rand);
}

.pa-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 6px 14px 6px 8px;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 999px;
	color: var(--pa-navy);
	font-size: 0.875rem;
	font-weight: 600;
}

.pa-etage {
	padding: 2px 8px;
	background: var(--pa-navy);
	border-radius: 999px;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.pa-hero h1 {
	margin: 20px 0 0;
	color: var(--pa-navy);
	font-size: clamp(2.125rem, 1.4rem + 2.6vw, 3.375rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.pa-hero h1 em {
	color: var(--pa-orange-dunkel);
	font-style: normal;
}

.pa-lead {
	max-width: 34em;
	margin: 18px 0 0;
	color: var(--pa-text);
	font-size: 1.1875rem;
}

.pa-haken {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.pa-haken li {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--pa-tinte);
	font-size: 0.96875rem;
	font-weight: 500;
}

.pa-haken .pa-icon {
	width: 18px;
	height: 18px;
	color: var(--pa-gruen);
}

/* Hub-Kacheln */

.pa-hub-raster {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 18px;
}

.pa-hub-raster--zwei {
	grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
}

.pa-hub-karte {
	display: grid;
	gap: 12px;
	align-content: start;
	padding: 26px;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 16px;
}

.pa-hub-karte h3 {
	margin: 0;
	color: var(--pa-navy);
	font-size: 1.375rem;
	line-height: 1.2;
}

.pa-hub-karte h3 a {
	color: inherit;
	text-decoration: none;
}

.pa-hub-karte h3 a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pa-hub-karte p {
	margin: 0;
	color: var(--pa-text);
	font-size: 1rem;
}

.pa-hub-symbol {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: var(--pa-himmel);
	color: var(--pa-navy);
}

.pa-hub-symbol svg {
	width: 28px;
	height: 28px;
}

.pa-hub-links {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.pa-hub-links a {
	padding: 5px 12px;
	background: var(--pa-flaeche);
	border-radius: 999px;
	color: var(--pa-navy);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
}

.pa-hub-links a:hover {
	background: var(--pa-himmel);
}

.pa-abschnitt--grau .pa-hub-links a {
	background: var(--pa-weiss);
}

/* Zwei Spalten mit Vorteilen */

.pa-zwei-spalten {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 48px;
	align-items: center;
}

.pa-zwei-spalten h2 {
	margin: 10px 0 0;
	color: var(--pa-navy);
	font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.015em;
}

.pa-zwei-spalten .pa-btn {
	margin: 4px 8px 0 0;
}

.pa-vorteile {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-vorteile li {
	display: grid;
	gap: 4px;
	padding: 18px 20px;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 14px;
}

.pa-vorteile strong {
	color: var(--pa-navy);
}

.pa-vorteile span {
	color: var(--pa-text);
	font-size: 0.96875rem;
}

/* Ablauf */

.pa-schritte {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 18px;
}

.pa-schritt {
	display: grid;
	gap: 10px;
	align-content: start;
	padding: 24px;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-top: 3px solid var(--pa-navy);
	border-radius: 0 0 14px 14px;
}

.pa-schritt-nr {
	color: var(--pa-orange-dunkel);
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.06em;
}

.pa-schritt h3 {
	margin: 0;
	color: var(--pa-navy);
	font-size: 1.3125rem;
}

.pa-schritt p {
	margin: 0;
	color: var(--pa-text);
}

/* Ratgeber- und Themenkarten */

.pa-artikel-raster {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 18px;
}

.pa-artikel-karte {
	display: grid;
	gap: 10px;
	align-content: start;
	padding: 22px;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 14px;
	text-decoration: none;
}

.pa-artikel-karte:hover {
	border-color: #b8c4d3;
}

.pa-artikel-karte h3 {
	margin: 0;
	color: var(--pa-navy);
	font-size: 1.125rem;
	line-height: 1.3;
}

/* Abschluss-Band */

.pa-cta {
	padding: 64px 0;
	background: var(--pa-navy);
}

.pa-cta-in {
	display: grid;
	gap: 14px;
	justify-items: start;
	max-width: var(--pa-breite-kopf);
	margin: 0 auto;
	padding: 0 var(--pa-rand);
}

.pa-cta h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.375rem);
	font-weight: 800;
	line-height: 1.15;
}

.pa-cta p {
	max-width: 44em;
	margin: 0;
	color: #c9d4e6;
}

/* Hub-Seite */

.pa-hubkopf {
	background: var(--pa-flaeche);
	border-bottom: 1px solid var(--pa-linie);
}

.pa-hubkopf-in {
	display: grid;
	gap: 14px;
	justify-items: start;
	max-width: var(--pa-breite-kopf);
	margin: 0 auto;
	padding: 34px var(--pa-rand) 44px;
}

.pa-hubkopf h1 {
	max-width: 18em;
	margin: 0;
	color: var(--pa-navy);
	font-size: clamp(2rem, 1.4rem + 2vw, 3rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.pa-hubkopf .pa-lead {
	margin: 0;
	max-width: 44em;
}

.pa-schnellwahl {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 8px;
}

.pa-schnellwahl a {
	display: inline-flex;
	align-items: center;
	padding: 10px 16px;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 12px;
	color: var(--pa-navy);
	font-size: 0.96875rem;
	font-weight: 600;
	text-decoration: none;
}

.pa-schnellwahl a:hover {
	border-color: #b8c4d3;
}

.pa-hub-inhalt-in {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 40px;
	align-items: start;
	max-width: var(--pa-breite-kopf);
	margin: 0 auto;
	padding: 40px var(--pa-rand) 60px;
}

.pa-hub-inhalt-in.pa-ohne-form {
	grid-template-columns: minmax(0, 1fr);
}

.pa-hub-inhalt .pa-text {
	max-width: 42rem;
}

@media (max-width: 1099px) {
	.pa-hero-in {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		padding: 32px var(--pa-rand) 40px;
	}

	.pa-abschnitt {
		padding: 56px 0;
	}

	.pa-abschnitt-kopf {
		margin-bottom: 28px;
	}

	.pa-hub-inhalt-in,
	.pa-hub-inhalt-in.pa-ohne-form {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		padding-bottom: 96px;
	}

	.pa-cta {
		padding: 48px 0;
	}
}

/* ---------- Korrekturen nach Pruefung vor dem Go-live ---------- */

/* Menuepunkte, die im alten Theme nur mobil sichtbar waren. Das neue Theme hat
   eigene Schaltflaechen fuer Anfrage und Telefon. */
.pa-menu > li.pa-menu-cta,
.pa-menu > li.pa-menu-tel {
	display: none !important;
}

@media (min-width: 1100px) {
	/* Kopfbereich als eigene Ebene, damit Untermenues ueber dem Inhalt liegen.
	   Mobil bleibt der Kopf sticky, deshalb nur hier. */
	.pa-kopf {
		position: relative;
		z-index: 60;
	}

	/* Menue darf nicht schrumpfen, sonst schiebt es sich unter die Schaltflaechen. */
	.pa-nav {
		flex: 0 0 auto;
	}

	.pa-kopf-rechts .pa-btn {
		white-space: nowrap;
	}
}

@media (min-width: 1320px) and (max-width: 1499px) {
	.pa-logo img {
		height: 15px;
	}

	.pa-menu > li > a {
		padding: 9px 8px;
	}
}

@media (min-width: 1100px) {

	/* Keine Luecke zwischen Menuepunkt und Untermenue, sonst schliesst es beim Ueberfahren. */
	.pa-untermenue {
		top: 100%;
		margin-top: 8px;
	}

	.pa-untermenue::before {
		content: "";
		position: absolute;
		top: -9px;
		left: 0;
		right: 0;
		height: 9px;
	}
}

/* Startseite: neue Zwischentitel sind bewusst keine Ueberschriften,
   damit die Gliederung der Originalseite unveraendert bleibt. */
.pa-abschnitt-titel {
	margin: 0;
	color: var(--pa-navy);
	font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.pa-hub-titel {
	margin: 0;
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.2;
}

.pa-hub-titel a {
	color: var(--pa-navy);
	text-decoration: none;
}

.pa-hub-titel a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pa-cta-titel {
	margin: 0;
	color: #fff;
	font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.375rem);
	font-weight: 800;
	line-height: 1.15;
}

.pa-artikel-titel {
	color: var(--pa-navy);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
}

.pa-text--breit {
	max-width: 52rem;
}

.pa-startinhalt .pa-text h2 {
	margin-top: 2em;
	font-size: clamp(1.625rem, 1.2rem + 1.2vw, 2.125rem);
}

.pa-startinhalt .pa-text > h2:first-child {
	margin-top: 0;
}

.pa-startinhalt-ratgeber {
	margin-top: 24px;
}

.pa-hero-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 20px 0 0;
}

.pa-hero-links a {
	color: var(--pa-navy);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--pa-orange);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

/* ---------- Anfragestrecke nach Designentwurf ---------- */

.pa-anfrage {
	display: grid;
	gap: 18px;
	padding: 26px;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 18px;
	box-shadow: 0 30px 60px -32px rgba(17, 33, 62, 0.35);
	color: var(--pa-tinte);
}

.pa-anfrage-kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 12px;
}

.pa-anfrage-titel {
	margin: 0;
	color: var(--pa-navy);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.015em;
	text-wrap: balance;
}

.pa-seitenform .pa-anfrage {
	padding: 22px;
}

.pa-seitenform .pa-anfrage-titel {
	font-size: 1.3125rem;
}

/* Stockwerksanzeige: erledigte Etagen navy, aktuelle orange */
.pa-etagen {
	display: flex;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-etagen li {
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border: 2px solid var(--pa-linie);
	border-radius: 50%;
	color: var(--pa-gedaempft);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.pa-etagen li.an {
	background: var(--pa-orange);
	border-color: var(--pa-orange);
	color: var(--pa-navy);
}

.pa-etagen li.fertig {
	background: var(--pa-navy);
	border-color: var(--pa-navy);
	color: #fff;
}

.pa-schacht-text,
.pa-vollbild-zu {
	display: none;
}

.pa-strecke {
	display: grid;
	margin: 0;
}

.pa-schritt {
	display: grid;
	gap: 18px;
	margin: 0;
	padding: 0;
	border: 0;
}

.pa-schritt[hidden],
.pa-js .pa-schritt[data-spaeter] {
	display: none;
}

.pa-schritt--rein {
	animation: pa-einblenden 0.2s ease-out both;
}

@keyframes pa-einblenden {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.pa-schritt--rein {
		animation: none;
	}
}

.pa-felder {
	display: grid;
	gap: 18px;
}

.pa-feld {
	display: grid;
	gap: 10px;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.pa-feld[hidden],
.pa-js .pa-anfrage:not(.pa-anfrage--bereit) .pa-feld[data-bedingung] {
	display: none;
}

.pa-anfrage .pa-frage {
	margin: 0;
	padding: 0;
	color: var(--pa-navy);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
}

.pa-anfrage .pa-frage--titel {
	font-size: 1.0625rem;
	font-weight: 700;
	outline: none;
}

.pa-anfrage .pa-frage--klein {
	font-size: 0.9375rem;
}

.pa-fokus {
	display: block;
	height: 0;
	outline: none;
}

.pa-anfrage .pa-hinweis {
	margin: -4px 0 0;
	color: var(--pa-gedaempft);
	font-size: 0.875rem;
	line-height: 1.45;
}

/* Kacheln des ersten Schritts */
.pa-wahlkacheln {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.pa-wahlkachel {
	position: relative;
	display: grid;
	gap: 10px;
	align-content: start;
	min-height: 112px;
	padding: 16px;
	background: var(--pa-weiss);
	border: 2px solid var(--pa-linie);
	border-radius: 14px;
	color: var(--pa-navy);
	text-align: left;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.pa-wahlkachel:hover {
	border-color: #b8c4d3;
}

.pa-wahlkachel .pa-anfrage-icon {
	width: 30px;
	height: 30px;
	color: var(--pa-navy);
}

.pa-wahlkachel b {
	color: var(--pa-navy);
	font-size: 1.03125rem;
	font-weight: 700;
	line-height: 1.25;
}

.pa-wahlkachel small {
	color: var(--pa-gedaempft);
	font-size: 0.84375rem;
	line-height: 1.35;
}

/* Auswahlzeilen */
.pa-optionen {
	display: grid;
	gap: 10px;
}

.pa-option {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 14px;
	background: var(--pa-weiss);
	border: 2px solid var(--pa-linie);
	border-radius: 12px;
	color: var(--pa-navy);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.pa-option:hover {
	border-color: #b8c4d3;
}

.pa-option i,
.pa-zustimmung i {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	border: 2px solid #b8c4d3;
	border-radius: 50%;
	background: var(--pa-weiss);
	transition: border-width 0.12s ease, border-color 0.12s ease;
}

.pa-option--checkbox i,
.pa-zustimmung i {
	position: relative;
	border-radius: 5px;
}

/* Eingaben liegen unsichtbar ueber Kachel und Zeile und bleiben per Tastatur erreichbar. */
.pa-wahlkachel input,
.pa-option input,
.pa-zustimmung input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.pa-wahlkachel:has(input:checked),
.pa-option:has(input:checked) {
	background: var(--pa-orange-hauch);
	border-color: var(--pa-orange);
}

.pa-option--radio:has(input:checked) i {
	border: 6px solid var(--pa-orange);
}

.pa-option--checkbox:has(input:checked) i,
.pa-zustimmung:has(input:checked) i {
	background: var(--pa-orange);
	border-color: var(--pa-orange);
}

.pa-option--checkbox:has(input:checked) i::after,
.pa-zustimmung:has(input:checked) i::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 1px;
	width: 5px;
	height: 10px;
	border: solid var(--pa-navy);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.pa-wahlkachel:has(input:focus-visible),
.pa-option:has(input:focus-visible),
.pa-zustimmung:has(input:focus-visible) i {
	outline: 2px solid var(--pa-orange);
	outline-offset: 2px;
}

.pa-zustimmung {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--pa-text);
	font-size: 0.875rem;
	line-height: 1.45;
	cursor: pointer;
}

.pa-zustimmung i {
	margin-top: 1px;
}

.pa-zustimmung a {
	position: relative;
	z-index: 1;
	color: var(--pa-navy);
	font-weight: 600;
}

/* Eingabefelder */
.pa-reihe {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 10px;
}

.pa-eingabe {
	display: grid;
	gap: 6px;
}

.pa-eingabe-label {
	color: var(--pa-navy);
	font-size: 0.9375rem;
	font-weight: 600;
}

.pa-eingabe :is(input, select, textarea) {
	width: 100%;
	min-height: 50px;
	padding: 12px 14px;
	border: 2px solid var(--pa-linie);
	border-radius: 12px;
	background: var(--pa-weiss);
	color: var(--pa-tinte);
	font: 400 1rem/1.4 var(--pa-schrift);
	transition: border-color 0.15s ease;
}

.pa-eingabe select {
	appearance: none;
	padding-right: 40px;
	background: var(--pa-weiss) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" fill="none" stroke="%2311213e" stroke-width="1.8"><path d="M3 4.5 6 7.5l3-3"/></svg>') right 14px center / 12px no-repeat;
}

.pa-eingabe :is(input, select, textarea):focus {
	border-color: var(--pa-navy);
	outline: none;
}

.pa-eingabe ::placeholder {
	color: var(--pa-gedaempft);
}

/* Postleitzahl wie im Entwurf: kraeftiger Rahmen, erkannter Ort in Gruen */
.pa-feld--plz {
	position: relative;
}

.pa-eingabe--plz input {
	border-color: var(--pa-navy);
	padding-right: 48%;
	font-size: 1.125rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
}

.pa-plz-ort {
	position: absolute;
	right: 16px;
	bottom: 15px;
	max-width: 45%;
	overflow: hidden;
	color: var(--pa-gruen);
	font-size: 0.875rem;
	font-weight: 600;
	white-space: nowrap;
	text-overflow: ellipsis;
	pointer-events: none;
}

.pa-feld--ok .pa-plz-ort::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 12px;
	margin: 0 8px 0 2px;
	border: solid currentColor;
	border-width: 0 2.4px 2.4px 0;
	transform: translateY(-2px) rotate(45deg);
}

.pa-feld--plz:has(.pa-hinweis) .pa-plz-ort {
	bottom: auto;
	top: 44px;
}

/* Fehler */
.pa-feld--fehler .pa-wahlkachel,
.pa-feld--fehler .pa-option,
.pa-feld--fehler .pa-eingabe :is(input, select, textarea) {
	border-color: #c0392b;
}

.pa-fehler,
.pa-meldung {
	margin: 0;
	color: #b3261e;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.4;
}

.pa-meldung {
	padding: 12px 14px;
	background: #fdf0ef;
	border-radius: 10px;
}

.pa-schritt-fuss {
	display: grid;
}

.pa-schritt--auto .pa-weiter {
	display: none;
}

.pa-senden:disabled {
	opacity: 0.7;
	cursor: progress;
}

.pa-anfrage-fuss {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 12px;
	color: var(--pa-gedaempft);
	font-size: 0.84375rem;
}

.pa-anfrage-fuss span {
	display: flex;
	align-items: center;
	gap: 6px;
}

.pa-anfrage-fuss .pa-anfrage-icon {
	flex: 0 0 15px;
	width: 15px;
	height: 15px;
}

.pa-zurueck {
	display: flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	margin: -12px 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--pa-gedaempft);
	font: 600 0.90625rem/1 var(--pa-schrift);
	cursor: pointer;
}

.pa-zurueck:hover {
	color: var(--pa-navy);
}

.pa-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Ohne JavaScript: alle Fragen untereinander, ein Absenden am Ende */
html:not(.pa-js) .pa-weiter,
html:not(.pa-js) .pa-zurueck,
html:not(.pa-js) .pa-etagen {
	display: none;
}

html:not(.pa-js) .pa-schritt + .pa-schritt {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--pa-linie);
}

/* Bestaetigung */
.pa-danke {
	display: grid;
	gap: 10px;
	outline: none;
}

.pa-danke-haken {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #e6f3ec;
	color: var(--pa-gruen);
}

.pa-danke-haken svg {
	width: 26px;
	height: 26px;
}

.pa-danke-titel {
	margin: 4px 0 0;
	color: var(--pa-navy);
	font-size: 1.375rem;
	font-weight: 800;
	line-height: 1.2;
}

.pa-danke p:not(.pa-danke-titel) {
	margin: 0;
	color: var(--pa-text);
	font-size: 0.96875rem;
	line-height: 1.55;
}

/* Handy: kompakte Karte, ab Frage 2 im Vollbild mit Schachtanzeige */
@media (max-width: 767px) {
	.pa-anfrage {
		gap: 16px;
		padding: 18px;
		border-radius: 16px;
	}

	.pa-anfrage-titel {
		font-size: 1.25rem;
	}

	.pa-wahlkachel {
		min-height: 96px;
		padding: 13px;
	}

	.pa-wahlkachel .pa-anfrage-icon {
		width: 26px;
		height: 26px;
	}

	.pa-wahlkachel b {
		font-size: 0.9375rem;
	}

	.pa-wahlkachel small {
		display: none;
	}

	.pa-anfrage--vollbild {
		position: fixed;
		inset: 0;
		z-index: 300;
		align-content: start;
		gap: 18px;
		padding: 16px 18px calc(24px + env(safe-area-inset-bottom));
		overflow-y: auto;
		overscroll-behavior: contain;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.pa-anfrage--vollbild .pa-anfrage-kopf {
		position: relative;
		flex-wrap: nowrap;
		padding: 14px 16px;
		margin-top: 52px;
		background: var(--pa-navy);
		border-radius: 14px;
		color: #fff;
	}

	.pa-anfrage--vollbild .pa-anfrage-titel {
		display: none;
	}

	.pa-anfrage--vollbild .pa-schacht-text {
		display: grid;
		margin: 0;
		line-height: 1.25;
	}

	.pa-schacht-text small {
		color: #9fb0ca;
		font-size: 0.78125rem;
		font-weight: 600;
		letter-spacing: 0.05em;
		text-transform: uppercase;
	}

	.pa-schacht-text b {
		font-size: 1.0625rem;
	}

	.pa-anfrage--vollbild .pa-etagen {
		gap: 5px;
	}

	.pa-anfrage--vollbild .pa-etagen li {
		width: 28px;
		height: 28px;
		border-color: #3a4e73;
		color: #9fb0ca;
	}

	.pa-anfrage--vollbild .pa-etagen li.fertig {
		background: #fff;
		border-color: #fff;
		color: var(--pa-navy);
	}

	.pa-anfrage--vollbild .pa-etagen li.an {
		background: var(--pa-orange);
		border-color: var(--pa-orange);
		color: var(--pa-navy);
	}

	.pa-anfrage--vollbild .pa-vollbild-zu {
		position: absolute;
		top: -52px;
		right: 0;
		display: grid;
		place-items: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		border-radius: 10px;
		background: var(--pa-flaeche);
		color: var(--pa-navy);
		cursor: pointer;
	}

	.pa-vollbild-zu .pa-anfrage-icon {
		width: 22px;
		height: 22px;
	}

	.pa-anfrage--vollbild .pa-frage.pa-frage--titel {
		font-size: 1.5rem;
		font-weight: 700;
		line-height: 1.2;
	}

	.pa-anfrage--vollbild .pa-anfrage-fuss {
		justify-content: center;
	}

	.pa-anfrage--vollbild .pa-anfrage-fuss span {
		display: none;
	}

	html.pa-anfrage-offen,
	html.pa-anfrage-offen body {
		overflow: hidden;
	}

	html.pa-anfrage-offen .pa-mobilleiste {
		display: none;
	}
}

.pa-anfrage .pa-frage--titel + .pa-hinweis {
	margin-top: -12px;
}

/* Ort nur zeigen, wenn die Postleitzahl nicht erkannt wurde */
.pa-feld--ort-erkannt {
	display: none;
}

.pa-seitenform .pa-anfrage-fuss {
	flex-direction: column;
	align-items: flex-start;
}

.pa-seitenform .pa-anfrage-fuss:has(.pa-zurueck) {
	flex-direction: row;
	align-items: center;
}

/* =========================================================
   Inhaltsbausteine
   Im Editor als Block "Individuelles HTML" oder als Gruppe mit
   zusaetzlicher CSS-Klasse nutzbar. Farben und Schrift kommen
   aus den Tokens oben, damit alles zur Seite passt.
   ========================================================= */

/* Tabellen: volle Breite, Kopf in Navy, auf dem Handy seitlich scrollbar */
.pa-text .wp-block-table,
.pa-text .tab-wrap {
	overflow-x: auto;
	margin-inline: 0;
}

.pa-text table {
	min-width: 520px;
	font-size: 0.9375rem;
	line-height: 1.5;
	border: 1px solid var(--pa-linie);
	border-radius: 12px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.pa-text thead th,
.pa-text table tr:first-child th {
	background: var(--pa-navy);
	color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
	border-bottom: 0;
}

.pa-text tbody tr:nth-child(even) td {
	background: #fafbfd;
}

.pa-text tbody tr:last-child td {
	border-bottom: 0;
}

.pa-text td:first-child {
	color: var(--pa-navy);
	font-weight: 600;
}

.pa-text table caption,
.pa-text .wp-block-table figcaption {
	caption-side: bottom;
	padding-top: 8px;
	color: var(--pa-gedaempft);
	font-size: 0.8125rem;
	text-align: left;
}

/* Bilder im Text: ruhig eingerahmt, nicht riesig */
.pa-text .wp-block-image img {
	border-radius: 14px;
}

.pa-text .wp-block-image.size-large img,
.pa-text .wp-block-image.size-full img {
	width: 100%;
	height: auto;
}

.pa-text figcaption {
	margin-top: 8px;
	color: var(--pa-gedaempft);
	font-size: 0.8125rem;
	text-align: left;
}

/* Aeltere Module aus der Live-Seite: Schrift der Seite statt Roboto/Arial */
.pa-text :is(.pa-c2, .pa-pb, .pa-rechner, .pa-mx, .pa-gr, .pa-trust, .pa-lead, .pa-steps3, .pa-fach, .pa-lp, .pa-la, .pa-tl, .pa-ent, .aus, .zeile),
.pa-text :is(.pa-c2, .pa-pb, .pa-rechner, .pa-mx, .pa-gr, .pa-trust, .pa-lead, .pa-steps3, .pa-fach, .pa-lp, .pa-la, .pa-tl, .pa-ent, .aus, .zeile) :is(p, li, b, strong, span, small, a, button, h2, h3, h4, td, th, caption, label, input, select) {
	font-family: var(--pa-schrift) !important;
}

/* Kontaktleiste "Anbieter vergleichen" */
.pa-text .pa-c2 {
	border-radius: 14px;
	padding: 20px 22px;
	background: var(--pa-orange-hauch);
	border: 1px solid #f6d9b5;
	border-left: 4px solid var(--pa-orange);
	box-shadow: none;
}

.pa-text .pa-c2 b {
	font-size: 1.125rem;
	font-weight: 700;
}

.pa-text .pa-c2 li {
	color: var(--pa-text);
}

.pa-text .pa-c2 a.b {
	padding: 13px 22px;
	border-radius: 10px;
	color: var(--pa-navy) !important;
	font-weight: 700;
}

.pa-text .pa-c2 a.b:hover {
	background: #f29535;
	color: var(--pa-navy) !important;
}

/* Lastenaufzug: Tabelle, Merkkasten, Traglast-Grafik, Entscheidungsschema */
.pa-la .merk {
	margin: 18px 0;
	padding: 14px 16px;
	background: var(--pa-himmel);
	border-radius: 12px;
	font-size: 0.9375rem;
	line-height: 1.6;
}

.pa-la .merk b {
	color: var(--pa-navy);
}

.pa-la table td:last-child {
	color: var(--pa-navy);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.pa-tl,
.pa-ent {
	margin: 28px 0;
	overflow: hidden;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 16px;
	box-shadow: 0 24px 48px -32px rgba(17, 33, 62, 0.35);
}

.pa-tl-k,
.pa-ent-k {
	padding: 18px 22px;
	background: var(--pa-navy);
}

.pa-text .pa-tl-k h3,
.pa-text .pa-ent-k h3 {
	margin: 0;
	color: #fff;
	font-size: 1.1875rem;
	line-height: 1.3;
}

.pa-tl-k p,
.pa-ent-k p {
	margin: 5px 0 0;
	color: #c9d4e6;
	font-size: 0.84375rem;
	line-height: 1.5;
}

.pa-tl-b {
	padding: 10px 22px 4px;
}

.pa-tl-z,
.pa-tl-ax {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr) 130px;
	gap: 16px;
	align-items: center;
}

.pa-tl-z {
	padding: 13px 0;
}

.pa-tl-z + .pa-tl-z {
	border-top: 1px solid #edf1f6;
}

.pa-tl-t {
	color: var(--pa-navy);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.3;
}

.pa-tl-t small {
	display: block;
	margin-top: 3px;
	color: var(--pa-gedaempft);
	font-size: 0.78125rem;
	font-weight: 400;
	line-height: 1.45;
}

.pa-tl-s {
	position: relative;
	height: 12px;
	background: var(--pa-flaeche);
	border-radius: 6px;
}

.pa-tl-s i {
	position: absolute;
	top: 0;
	bottom: 0;
	background: var(--pa-orange);
	border-radius: 6px;
}

.pa-tl-w {
	color: var(--pa-navy);
	font-size: 0.90625rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
	white-space: nowrap;
}

.pa-tl-ax {
	padding-bottom: 14px;
}

.pa-tl-sk {
	display: flex;
	justify-content: space-between;
	padding-top: 6px;
	border-top: 1px solid var(--pa-linie);
	color: var(--pa-gedaempft);
	font-size: 0.71875rem;
	font-variant-numeric: tabular-nums;
}

.pa-tl-h,
.pa-ent-h {
	padding: 13px 22px 16px;
	background: var(--pa-flaeche);
	border-top: 1px solid var(--pa-linie);
	color: var(--pa-gedaempft);
	font-size: 0.8125rem;
	line-height: 1.6;
}

.pa-tl-h b,
.pa-ent-h b {
	color: var(--pa-navy);
}

.pa-ent-f {
	padding: 18px 22px 0;
	text-align: center;
}

.pa-ent-q {
	display: inline-block;
	padding: 9px 20px;
	background: var(--pa-himmel);
	border-radius: 24px;
	color: var(--pa-navy);
	font-size: 0.9375rem;
	font-weight: 700;
}

.pa-ent-l {
	display: flex;
	justify-content: center;
	gap: 120px;
	margin: 10px 0 2px;
	color: var(--pa-gedaempft);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.pa-ent-b {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	padding: 14px 22px 20px;
}

.pa-ent-c {
	display: flex;
	flex-direction: column;
	padding: 16px;
	background: #fbfcfd;
	border: 1px solid var(--pa-linie);
	border-radius: 12px;
}

.pa-ent-c--hell {
	background: var(--pa-orange-hauch);
	border-color: var(--pa-orange);
}

.pa-ent-tag {
	align-self: flex-start;
	margin-bottom: 9px;
	padding: 4px 9px;
	border-radius: 6px;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.pa-ent-tag--m {
	background: var(--pa-himmel);
	color: var(--pa-navy);
}

.pa-ent-tag--a {
	background: var(--pa-navy);
	color: #fff;
}

.pa-text .pa-ent h4 {
	margin: 0 0 7px;
	color: var(--pa-navy);
	font-size: 1rem;
	line-height: 1.25;
}

.pa-ent .pa-ent-d {
	margin: 0 0 9px;
	font-size: 0.875rem;
	line-height: 1.55;
}

.pa-ent ul {
	margin: 0 0 12px;
	padding-left: 18px;
	color: var(--pa-gedaempft);
	font-size: 0.84375rem;
	line-height: 1.5;
}

.pa-ent-p {
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px solid var(--pa-linie);
	color: var(--pa-navy);
	font-size: 0.9375rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

@media (max-width: 860px) {
	.pa-tl-z,
	.pa-tl-ax {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}

	.pa-tl-w {
		text-align: left;
	}

	.pa-ent-b {
		grid-template-columns: minmax(0, 1fr);
	}

	.pa-ent-l {
		gap: 40px;
	}
}

/* Faktenleiste: drei bis vier Kennzahlen auf einen Blick */
.pa-fakten {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	margin: 26px 0;
	overflow: hidden;
	border: 1px solid var(--pa-linie);
	border-radius: 14px;
}

.pa-fakten > div {
	display: grid;
	gap: 2px;
	align-content: start;
	padding: 16px 18px;
	border-left: 1px solid var(--pa-linie);
	margin: 0 0 0 -1px;
}

.pa-fakten small {
	color: var(--pa-gedaempft);
	font-size: 0.8125rem;
	font-weight: 600;
}

.pa-fakten b {
	color: var(--pa-navy);
	font-size: 1.1875rem;
	line-height: 1.25;
	font-variant-numeric: tabular-nums;
}

.pa-fakten span {
	color: var(--pa-gedaempft);
	font-size: 0.8125rem;
	line-height: 1.4;
}

/* Hinweisbox: "Das bedeutet das fuer Ihr Projekt" */
.pa-text .pa-infobox {
	display: grid;
	gap: 6px;
	padding: 20px 22px;
	background: var(--pa-himmel);
	border-radius: 14px;
}

.pa-text .pa-infobox > * {
	margin: 0;
}

.pa-infobox > :first-child {
	color: var(--pa-navy);
	font-weight: 700;
}

.pa-text .pa-infobox--orange {
	background: var(--pa-orange-hauch);
}

/* Karten: Preisbeispiele, Bauarten, Hersteller */
.pa-text .pa-karten {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 14px;
	margin-top: 1.4em;
	padding: 0;
	list-style: none;
}

.pa-text .pa-karten > * {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 18px;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 14px;
}

.pa-text .pa-karten h3,
.pa-text .pa-karten h4 {
	margin: 0;
	color: var(--pa-navy);
	font-size: 1rem;
	line-height: 1.3;
}

.pa-text .pa-karten p {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.pa-text .pa-karten .pa-preis {
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px solid var(--pa-linie);
	color: var(--pa-navy);
	font-size: 1.0625rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.pa-text .pa-karten a {
	font-weight: 600;
}

.pa-karten-titel {
	margin-top: 1.6em;
	color: var(--pa-orange-dunkel);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Balkengrafik fuer Preisspannen */
.pa-balken {
	margin: 28px 0;
	overflow: hidden;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 16px;
	box-shadow: 0 24px 48px -32px rgba(17, 33, 62, 0.35);
}

.pa-balken-kopf {
	padding: 18px 22px;
	background: var(--pa-navy);
	color: #c9d4e6;
	font-size: 0.84375rem;
	line-height: 1.5;
}

.pa-balken-kopf b {
	display: block;
	color: #fff;
	font-size: 1.1875rem;
	line-height: 1.3;
}

.pa-balken ul {
	margin: 0;
	padding: 8px 22px 4px;
	list-style: none;
}

.pa-text .pa-balken li {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr) 130px;
	gap: 16px;
	align-items: center;
	margin: 0;
	padding: 12px 0;
}

.pa-balken li + li {
	border-top: 1px solid #edf1f6;
}

.pa-balken-name {
	color: var(--pa-navy);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.3;
}

.pa-balken-name small {
	display: block;
	color: var(--pa-gedaempft);
	font-size: 0.78125rem;
	font-weight: 400;
}

.pa-balken-spur {
	position: relative;
	height: 12px;
	background: var(--pa-flaeche);
	border-radius: 6px;
}

.pa-balken-spur i {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--von);
	width: calc(var(--bis) - var(--von));
	min-width: 12px;
	background: var(--pa-orange);
	border-radius: 6px;
}

.pa-balken-wert {
	color: var(--pa-navy);
	font-size: 0.90625rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
	white-space: nowrap;
}

.pa-balken-skala {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr) 130px;
	gap: 16px;
	margin: 0;
	padding: 0 22px 14px;
}

.pa-balken-skala span {
	grid-column: 2;
	display: flex;
	justify-content: space-between;
	padding-top: 6px;
	border-top: 1px solid var(--pa-linie);
	color: var(--pa-gedaempft);
	font-size: 0.71875rem;
	font-variant-numeric: tabular-nums;
}

.pa-balken-fuss {
	margin: 0;
	padding: 13px 22px 16px;
	background: var(--pa-flaeche);
	border-top: 1px solid var(--pa-linie);
	color: var(--pa-gedaempft);
	font-size: 0.8125rem;
	line-height: 1.6;
}

@media (max-width: 700px) {
	.pa-text .pa-balken li {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 6px 12px;
	}

	.pa-balken-spur {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.pa-balken-skala {
		display: none;
	}
}

/* Ablaufschritte */
.pa-text .pa-schritte {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 14px;
	margin-top: 1.4em;
	padding: 0;
	list-style: none;
	counter-reset: pa-schritt;
}

.pa-text .pa-schritte > li {
	counter-increment: pa-schritt;
	display: grid;
	gap: 6px;
	align-content: start;
	margin: 0;
	padding: 18px 18px 20px;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-top: 3px solid var(--pa-navy);
	border-radius: 0 0 14px 14px;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.pa-schritte > li::before {
	content: "Schritt " counter(pa-schritt);
	color: var(--pa-orange-dunkel);
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.pa-schritte b {
	color: var(--pa-navy);
	font-size: 1.0625rem;
}

/* Vergleich zweier Bauarten */
.pa-text .pa-vergleich {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px;
	margin-top: 1.4em;
}

.pa-text .pa-vergleich > * {
	margin: 0;
	padding: 20px 22px;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 14px;
}

.pa-text .pa-vergleich h3 {
	margin: 0 0 10px;
	color: var(--pa-navy);
	font-size: 1.125rem;
}

.pa-text .pa-vergleich ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-text .pa-vergleich li {
	position: relative;
	padding-left: 24px;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.pa-vergleich li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 6px;
	width: 7px;
	height: 12px;
	border: solid var(--pa-gruen);
	border-width: 0 2.4px 2.4px 0;
	transform: rotate(45deg);
}

.pa-vergleich li.pa-minus::before {
	top: 10px;
	width: 11px;
	height: 0;
	border-width: 2.4px 0 0;
	border-color: #b3261e;
	transform: none;
}

/* Hersteller-Logos */
.pa-text .pa-logos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 12px;
	margin-top: 1.2em;
}

.pa-text .pa-logos figure {
	display: grid;
	place-items: center;
	margin: 0;
	padding: 14px;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 12px;
}

.pa-text .pa-logos img {
	max-height: 64px;
	width: auto;
	border-radius: 0;
}

/* Anfragestrecke: kurze Antworten als Auswahlknoepfe */
.pa-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.pa-chip {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 9px 14px;
	background: var(--pa-weiss);
	border: 2px solid var(--pa-linie);
	border-radius: 10px;
	color: var(--pa-navy);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.25;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.pa-chip:hover {
	border-color: #b8c4d3;
}

.pa-chip input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.pa-chip:has(input:checked) {
	background: var(--pa-orange-hauch);
	border-color: var(--pa-orange);
}

.pa-chip:has(input:focus-visible) {
	outline: 2px solid var(--pa-orange);
	outline-offset: 2px;
}

.pa-feld--fehler .pa-chip {
	border-color: #c0392b;
}

/* Tabellen im Text laufen nie in die Formularspalte */
.pa-tabelle-umbruch {
	max-width: 100%;
	overflow-x: auto;
}

@media (min-width: 701px) {
	.pa-text table {
		min-width: 0;
	}
}

/* Handy: Tabellen mit bis zu drei Spalten passen in die Breite, erst ab vier Spalten wird gewischt */
@media (max-width: 700px) {
	.pa-text table:not(:has(tr > :nth-child(4))) {
		min-width: 0;
		width: 100%;
	}

	.pa-text table:not(:has(tr > :nth-child(4))) :is(th, td) {
		padding: 10px 10px;
		hyphens: auto;
	}

	.pa-text table:not(:has(tr > :nth-child(4))) td:first-child {
		hyphens: manual;
	}
}

.pa-tl-sk span:nth-child(even) {
	visibility: hidden;
}

/* Haeufige Fragen als ruhige Liste */
.pa-text .pa-faq {
	display: grid;
	gap: 0;
	margin-top: 1.2em;
	border-top: 1px solid var(--pa-linie);
}

.pa-text .pa-faq > h3 {
	margin: 0;
	padding-top: 18px;
	color: var(--pa-navy);
	font-size: 1.0625rem;
}

.pa-text .pa-faq > p {
	margin: 6px 0 0;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--pa-linie);
}

.pa-balken-skala em {
	font-style: normal;
}

.pa-text .pa-karten > .wp-block-group > * + * {
	margin-top: 0;
}

/* Themenseite: mehr Platz fuer den Text (nur Desktop, mobil bleibt eine Spalte) */
.pa-thema-in {
	max-width: 1340px;
}

@media (min-width: 1100px) {
	.pa-thema-in {
		grid-template-columns: 210px minmax(0, 1fr) 340px;
		gap: 36px;
	}

	.pa-thema-in:not(:has(.pa-toc)) {
		grid-template-columns: minmax(0, 1fr) 340px;
	}

	.pa-thema-in.pa-ohne-form {
		grid-template-columns: 210px minmax(0, 1fr);
	}
}

/* Schmaler Desktop: Inhaltsverzeichnis als Kasten ueber dem Text, Anfrage rechts daneben */
@media (min-width: 1100px) and (max-width: 1279px) {
	.pa-thema-in:has(.pa-toc):not(.pa-ohne-form) {
		grid-template-columns: minmax(0, 1fr) 330px;
	}

	.pa-thema-in:has(.pa-toc):not(.pa-ohne-form) .pa-toc {
		position: static;
		grid-column: 1;
		padding: 16px 18px;
		background: var(--pa-flaeche);
		border-radius: 14px;
	}

	.pa-thema-in:has(.pa-toc):not(.pa-ohne-form) .pa-artikel {
		grid-column: 1;
	}

	.pa-thema-in:has(.pa-toc):not(.pa-ohne-form) .pa-seitenform {
		grid-column: 2;
		grid-row: 1 / span 2;
	}
}

/* Karten mit Symbolbild und Schaltflaeche (Startseite) */
.pa-text .pa-karten .wp-block-image {
	margin: 0;
}

.pa-text .pa-karten .wp-block-image img {
	width: 52px;
	height: 52px;
	max-height: none;
	object-fit: contain;
	border-radius: 0;
}

.pa-text .pa-karten .wp-block-buttons {
	margin-top: auto;
	padding-top: 8px;
}

.pa-text .pa-karten .wp-block-button__link {
	padding: 10px 16px;
	font-size: 0.9375rem;
}

.pa-karten--schritte > * > p:first-child strong {
	color: var(--pa-orange-dunkel);
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.pa-text .pa-kacheln {
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
}

.pa-text .pa-kacheln a.mehr {
	color: var(--pa-navy) !important;
	font-weight: 700 !important;
}

.pa-text .pa-infobox ul {
	margin: 4px 0 0;
}

/* Textspalten ohne Seitenleiste mittig statt links mit leerer rechter Haelfte */
.pa-startinhalt .pa-text--breit,
.pa-startinhalt .pa-startinhalt-ratgeber,
.pa-hub-inhalt-in.pa-ohne-form .pa-text {
	margin-inline: auto;
}

.pa-startinhalt .pa-startinhalt-ratgeber {
	max-width: 52rem;
}

.pa-hub-inhalt-in.pa-ohne-form .pa-text {
	max-width: 52rem;
}

.pa-text .pa-kacheln {
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
	gap: 14px !important;
}

/* Traglast-Skala: Werte nicht umbrechen */
.pa-tl-sk span {
	white-space: nowrap;
}

@media (max-width: 1279px) {
	.pa-tl-sk span:nth-child(even) {
		display: none;
	}
}

.pa-karten-symbol {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: var(--pa-himmel);
	color: var(--pa-navy);
}

.pa-karten-symbol svg {
	width: 30px;
	height: 30px;
}

/* Illustrationen im Text: ruhiger Rahmen */
.pa-text .wp-block-image img[src*="/2026/09/"] {
	border: 1px solid var(--pa-linie);
	border-radius: 16px;
}

.pa-text :is(.pa-infobox, .pa-karten, .pa-fakten, .pa-balken, .pa-vergleich) + .wp-block-image {
	margin-top: 32px;
}

.pa-passt .pa-abschnitt-titel {
	margin-bottom: 22px;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
}

.pa-passt-text {
	display: block;
	margin-top: 6px;
	color: var(--pa-text);
	font-size: 0.9375rem;
	line-height: 1.5;
}

/* Ablaufschritte: Fliesstext mit automatisch gesetzten Links nicht als Rasterzellen zerlegen */
.pa-text .pa-schritte > li {
	display: block;
}

.pa-schritte > li::before,
.pa-schritte b {
	display: block;
}

.pa-schritte > li::before {
	margin-bottom: 6px;
}

.pa-schritte b {
	margin-bottom: 4px;
}

/* Karten und Schritte: keine einzelne Karte allein in der letzten Reihe */
@media (min-width: 700px) {
	.pa-text :is(.pa-karten, .pa-schritte):has(> :nth-child(4):last-child) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pa-text :is(.pa-karten, .pa-schritte):is(:has(> :nth-child(3):last-child), :has(> :nth-child(5):last-child), :has(> :nth-child(6):last-child), :has(> :nth-child(9):last-child)) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 699px) {
	.pa-text :is(.pa-karten, .pa-schritte) {
		grid-template-columns: minmax(0, 1fr);
	}
}

.pa-text .pa-adresse {
	margin: 0;
	color: var(--pa-gedaempft);
	font-size: 0.875rem;
	line-height: 1.5;
}

/* Lange Woerter in schmalen Karten umbrechen */
.pa-text :is(.pa-karten, .pa-schritte, .pa-vergleich, .pa-fakten, .pa-faq) {
	hyphens: auto;
	overflow-wrap: anywhere;
}

.pa-text {
	hyphens: manual;
	overflow-wrap: break-word;
}

/* Balkengrafik: breitere Wertspalte mit Umbruch, Skala ohne Ueberlappung */
.pa-text .pa-balken li,
.pa-balken-skala {
	grid-template-columns: 170px minmax(0, 1fr) 150px;
	gap: 14px;
}

.pa-balken-wert {
	white-space: normal;
	line-height: 1.3;
}

.pa-balken-skala span:has(em:nth-child(5)) em:nth-child(even) {
	visibility: hidden;
}

@media (max-width: 700px) {
	.pa-text .pa-balken li {
		grid-template-columns: minmax(0, 1fr) auto;
	}
}

/* Faktenleiste mit vier Werten in schmaler Spalte: 2 x 2 */
@media (min-width: 700px) {
	.pa-text .pa-fakten:has(> div:nth-child(4):last-child) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1500px) {
	.pa-text .pa-fakten:has(> div:nth-child(4):last-child) {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.pa-text .pa-fakten > div {
	border-top: 1px solid var(--pa-linie);
	margin-top: -1px;
}

/* Dachzeile gehoert zur folgenden Ueberschrift */
.pa-text .pa-eyebrow {
	display: block;
	margin-top: 2.2em;
}

.pa-text .pa-eyebrow + h2,
.pa-text .pa-eyebrow + h3 {
	margin-top: 0.3em;
}

/* Videos: responsiv im 16:9-Format */
.pa-text .wp-block-embed__wrapper {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 14px;
	background: var(--pa-flaeche);
}

.pa-text .wp-block-embed__wrapper iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Landingpage mit eigenem Aufbau: Formular auf dem Handy zuerst */
@media (max-width: 1099px) {
	.pa-thema-in:has(.pa-lp) .pa-seitenform {
		order: -1;
	}
}

.pa-balken-skala em {
	white-space: nowrap;
}

/* Silbentrennung nur fuer wirklich lange Woerter, sonst ruhiger Flattersatz */
.pa-text :is(.pa-karten, .pa-schritte, .pa-vergleich, .pa-fakten, .pa-faq) {
	hyphenate-limit-chars: 14 6 6;
	overflow-wrap: break-word;
}

.pa-text .pa-fakten b {
	font-size: 1.0625rem;
	white-space: nowrap;
}

/* Karten mit Kennzahl (z. B. Kostentraeger) */
.pa-text .pa-karten--kennzahl .pa-karten-unter {
	margin-top: -4px;
	color: var(--pa-gedaempft);
	font-size: 0.8125rem;
}

.pa-text .pa-karten--kennzahl .pa-karten-wert {
	margin: 6px 0 2px;
	color: var(--pa-navy);
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.2;
}

.pa-text .pa-karten--kennzahl > :first-child .pa-karten-wert {
	color: var(--pa-orange-dunkel);
}

/* Startseite: Abstaende der Block-Layouts neutralisieren, die Abschnitte setzen eigene */
.pa-startseite :where(.is-layout-flow) > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* =========================================================
   Startseite: komponierte Abschnitte
   Reihenfolge und Hintergruende: weiss, navy, grau, weiss, grau, weiss, grau, weiss
   ========================================================= */

.pa-startseite {
	--pa-start-rand: clamp(64px, 7vw, 104px);
}

.pa-startseite .pa-start {
	padding: var(--pa-start-rand) var(--pa-rand);
}

.pa-start-in {
	max-width: 1180px;
	margin: 0 auto;
}

.pa-startseite :where(.pa-start) :where(p, h2, h3, ul, figure) {
	margin: 0;
}

.pa-startseite .pa-start .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
}

.pa-start-eyebrow {
	color: var(--pa-orange-dunkel);
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pa-startseite .pa-start h2,
.pa-start-titel {
	max-width: 26ch;
	margin-top: 10px;
	color: var(--pa-navy);
	font-size: clamp(2rem, 1.35rem + 2vw, 2.875rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.pa-start-lead {
	max-width: 60ch;
	margin-top: 16px !important;
	color: var(--pa-text);
	font-size: 1.1875rem;
	line-height: 1.6;
}

.pa-start-link a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--pa-navy);
	font-weight: 700;
	text-decoration: none;
}

.pa-start-link a::after {
	content: "→";
	color: var(--pa-orange);
	transition: transform 0.15s ease;
}

.pa-start-link a:hover::after {
	transform: translateX(3px);
}

.pa-start-link--mitte {
	margin-top: 40px !important;
	text-align: center;
}

/* Karten mit Illustration */
.pa-start-karten {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 48px;
}

.pa-start-karten--vier {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.pa-start-karte {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 18px;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.pa-start-karte:hover {
	transform: translateY(-3px);
	box-shadow: 0 28px 48px -30px rgba(17, 33, 62, 0.35);
}

.pa-start-karte .wp-block-image {
	border-bottom: 1px solid var(--pa-linie);
	background: var(--pa-himmel);
}

.pa-start-karte h3 {
	margin: 22px 24px 0;
	color: var(--pa-navy);
	font-size: 1.3125rem;
	line-height: 1.25;
}

.pa-start-karte > p:not(.pa-start-link) {
	margin: 8px 24px 0;
	color: var(--pa-text);
	font-size: 0.96875rem;
	line-height: 1.55;
}

.pa-start-karte .pa-start-link {
	margin: auto 24px 0;
	padding: 18px 0 22px;
}

.pa-start-karten--vier .pa-start-karte h3 {
	margin: 18px 20px 0;
	font-size: 1.125rem;
}

.pa-start-karten--vier .pa-start-karte > p:not(.pa-start-link) {
	margin: 8px 20px 0;
	font-size: 0.90625rem;
}

.pa-start-karten--vier .pa-start-karte .pa-start-link {
	margin: auto 20px 0;
	font-size: 0.90625rem;
}

/* Ablauf auf Navy */
.pa-start--ablauf {
	background: var(--pa-navy);
	color: #c9d4e6;
}

.pa-start--ablauf h2 {
	color: #fff;
}

.pa-start--ablauf .pa-start-eyebrow {
	color: #f2a65a;
}

.pa-start--ablauf .pa-start-lead {
	color: #c9d4e6;
}

.pa-start-schritte {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	margin-top: 56px;
	counter-reset: pa-start;
}

.pa-start-schritte::before {
	content: "";
	position: absolute;
	top: 28px;
	left: 28px;
	right: calc(33.33% - 28px);
	height: 1px;
	background: linear-gradient(90deg, rgba(242, 166, 90, 0.8), rgba(255, 255, 255, 0.2));
}

.pa-start-schritt {
	position: relative;
	display: grid;
	gap: 10px;
	align-content: start;
}

.pa-start-schritt > p:first-child {
	order: 2;
	margin-top: 18px !important;
	color: #f2a65a;
	font-size: 0.8125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pa-start-schritt .pa-karten-symbol {
	order: 1;
	width: 56px;
	height: 56px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	background: var(--pa-navy);
	color: #fff;
}

.pa-start-schritt h3 {
	order: 3;
	color: #fff;
	font-size: 1.375rem;
	line-height: 1.25;
}

.pa-start-schritt > p:last-child {
	order: 4;
	max-width: 32ch;
	color: #c9d4e6;
	font-size: 1rem;
	line-height: 1.6;
}

/* Themenraster */
.pa-start--themen {
	background: var(--pa-flaeche);
}

.pa-hub-raster--start {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 48px;
}

/* Vergleich: Text links, Illustration rechts */
.pa-start-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: clamp(40px, 6vw, 88px);
	align-items: center;
}

.pa-start-split-text > p:not(.pa-start-eyebrow):not(.pa-start-klein) {
	margin-top: 18px;
	font-size: 1.125rem;
	line-height: 1.65;
}

.pa-start-klein {
	margin-top: 28px !important;
	color: var(--pa-navy);
	font-weight: 700;
}

.pa-start-haken {
	display: grid;
	gap: 12px;
	margin-top: 14px !important;
	padding: 0;
	list-style: none;
}

.pa-start-haken li {
	position: relative;
	padding-left: 34px;
	color: var(--pa-tinte);
	font-size: 1.0625rem;
	font-weight: 600;
}

.pa-start-haken li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #e6f3ec;
}

.pa-start-haken li::after {
	content: "";
	position: absolute;
	left: 8px;
	top: 6px;
	width: 5px;
	height: 10px;
	border: solid var(--pa-gruen);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.pa-start-split-bild img,
.pa-start-zeile-bild img {
	border: 1px solid var(--pa-linie);
	border-radius: 20px;
	box-shadow: 0 40px 70px -48px rgba(17, 33, 62, 0.45);
}

/* Zielgruppen im Wechsel */
.pa-start--zielgruppen {
	background: var(--pa-flaeche);
}

.pa-start-zeile {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: center;
	margin-top: 56px;
}

.pa-start-zeile + .pa-start-zeile {
	margin-top: 64px;
}

.pa-start-zeile:nth-of-type(even) {
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
}

.pa-start-zeile:nth-of-type(even) .pa-start-zeile-bild {
	order: 2;
}

.pa-start-zeile-text h3 {
	color: var(--pa-navy);
	font-size: clamp(1.5rem, 1.2rem + 0.9vw, 2rem);
	line-height: 1.15;
	letter-spacing: -0.015em;
}

.pa-start-zeile-text > p:not(.pa-start-link) {
	max-width: 44ch;
	margin-top: 12px;
	font-size: 1.125rem;
	line-height: 1.6;
}

.pa-start-zeile-text .pa-start-link {
	margin-top: 20px;
}

/* Wissen: zweispaltig, ruhige Lesespalten */
.pa-start--wissen {
	background: var(--pa-flaeche);
}

.pa-start-spalten {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(32px, 6vw, 88px);
	margin-top: 10px;
}

.pa-start-spalte h2 {
	margin-bottom: 20px;
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
}

.pa-start-spalte p + p {
	margin-top: 14px;
}

.pa-start-spalte p {
	color: var(--pa-text);
	font-size: 1rem;
	line-height: 1.7;
}

/* Blog */
.pa-start-blog {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 44px;
}

.pa-start-beitrag {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 28px;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-top: 3px solid var(--pa-navy);
	border-radius: 0 0 16px 16px;
	color: var(--pa-text);
	text-decoration: none;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.pa-start-beitrag:hover {
	transform: translateY(-3px);
	box-shadow: 0 28px 48px -30px rgba(17, 33, 62, 0.35);
}

.pa-start-beitrag-art {
	color: var(--pa-orange-dunkel);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.pa-start-beitrag .pa-artikel-titel {
	font-size: 1.25rem;
}

.pa-start-beitrag-text {
	font-size: 0.96875rem;
	line-height: 1.55;
}

.pa-start-beitrag .pa-mehr {
	margin-top: auto;
	padding-top: 8px;
}

/* Tablet und Handy */
@media (max-width: 1099px) {
	.pa-start-karten--vier {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pa-hub-raster--start {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.pa-start-karten,
	.pa-start-schritte,
	.pa-start-blog,
	.pa-start-split,
	.pa-start-zeile,
	.pa-start-spalten,
	.pa-hub-raster--start {
		grid-template-columns: minmax(0, 1fr);
	}

	.pa-start-schritte::before {
		display: none;
	}

	.pa-start-zeile:nth-of-type(even) .pa-start-zeile-bild {
		order: 0;
	}

	.pa-start-zeile + .pa-start-zeile {
		margin-top: 48px;
	}

	.pa-start-split-bild {
		order: -1;
	}
}

@media (max-width: 560px) {
	.pa-start-karten--vier {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Startseite: Farbfehler im Ablauf-Band (Ueberschrift) */
.pa-startseite .pa-start--ablauf h2 {
	color: #fff;
}

.pa-start-spalte h2 {
	max-width: none;
	font-size: clamp(1.5rem, 1.2rem + 0.8vw, 1.875rem) !important;
}

/* Abschluss als abgesetzte Karte, damit er sich vom Fuss abhebt */
.pa-cta--karte {
	padding: 0 var(--pa-rand) clamp(64px, 7vw, 104px);
	background: var(--pa-weiss);
}

.pa-cta--karte .pa-cta-in {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) auto;
	gap: 32px 56px;
	align-items: center;
	justify-items: stretch;
	max-width: 1180px;
	padding: clamp(32px, 4vw, 56px);
	background: var(--pa-navy);
	border-radius: 24px;
	background-image: radial-gradient(circle at 100% 0%, rgba(235, 133, 18, 0.22), transparent 45%);
}

.pa-cta--karte .pa-cta-text {
	display: grid;
	gap: 12px;
}

.pa-cta-aktionen {
	display: grid;
	gap: 16px;
	justify-items: start;
}

.pa-cta-aktionen .pa-btn {
	padding: 15px 24px;
	font-size: 1.0625rem;
}

.pa-cta-tel {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.pa-cta-tel .pa-icon {
	width: 40px;
	height: 40px;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
}

.pa-cta-tel span {
	display: grid;
	line-height: 1.3;
}

.pa-cta-tel small {
	color: #9fb0ca;
	font-size: 0.8125rem;
	font-weight: 500;
}

@media (max-width: 860px) {
	.pa-cta--karte .pa-cta-in {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* =========================================================
   Anfrage-Landingpage
   ========================================================= */

.pa-lp-kopf {
	background: linear-gradient(180deg, var(--pa-flaeche), var(--pa-weiss));
	border-bottom: 1px solid var(--pa-linie);
}

.pa-lp-kopf-in {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	grid-template-areas:
		"text formular"
		"vertrauen formular";
	gap: 28px 64px;
	align-items: start;
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(32px, 5vw, 64px) var(--pa-rand) clamp(48px, 6vw, 80px);
}

.pa-lp-text {
	grid-area: text;
}

.pa-lp-text h1 {
	margin: 18px 0 0;
	color: var(--pa-navy);
	font-size: clamp(2.125rem, 1.4rem + 2.4vw, 3.25rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
	text-wrap: balance;
}

.pa-lp-text .pa-lead {
	max-width: 36em;
}

.pa-lp-formular {
	grid-area: formular;
	position: sticky;
	top: 24px;
	scroll-margin-top: 24px;
}

.pa-lp-formular .pa-anfrage {
	padding: 30px;
	border-radius: 22px;
	box-shadow: 0 40px 80px -40px rgba(17, 33, 62, 0.45);
}

.pa-lp-formular .pa-anfrage-titel {
	font-size: 1.5rem;
}

.pa-lp-vertrauen {
	grid-area: vertrauen;
	display: grid;
	gap: 22px;
}

.pa-lp-punkte {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pa-lp-punkte li {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.pa-lp-punkte .pa-icon {
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	padding: 6px;
	border-radius: 50%;
	background: #e6f3ec;
	color: var(--pa-gruen);
}

.pa-lp-punkte span {
	display: grid;
	color: var(--pa-text);
	font-size: 0.9375rem;
	line-height: 1.45;
}

.pa-lp-punkte b {
	color: var(--pa-navy);
	font-size: 1.0625rem;
}

.pa-lp-hinweis {
	margin: 0;
	padding: 14px 16px;
	background: var(--pa-himmel);
	border-radius: 12px;
	color: var(--pa-navy);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.pa-lp-tel {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--pa-navy);
	font-weight: 700;
	text-decoration: none;
}

.pa-lp-tel .pa-icon {
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	padding: 11px;
	border: 1px solid var(--pa-linie);
	border-radius: 50%;
	background: var(--pa-weiss);
}

.pa-lp-tel span {
	display: grid;
	line-height: 1.35;
}

.pa-lp-tel small {
	color: var(--pa-gedaempft);
	font-size: 0.8125rem;
	font-weight: 500;
}

/* Abschnitte der Landingpage */
.pa-startseite .pa-start--vorteile,
.pa-startseite .pa-start--arten {
	background: var(--pa-weiss);
}

.pa-startseite .pa-start--fragen {
	background: var(--pa-flaeche);
}

.pa-start-link--hell {
	margin-top: 48px !important;
}

.pa-start-link--hell a {
	color: #fff;
}

.pa-start-karten--symbol {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pa-start-karten--symbol .pa-start-karte,
.pa-start-karten--kompakt .pa-start-karte {
	padding: 26px 24px 8px;
}

.pa-start-karten--symbol .pa-start-karte h3,
.pa-start-karten--kompakt .pa-start-karte h3 {
	margin: 18px 0 0;
	font-size: 1.1875rem;
}

.pa-start-karten--symbol .pa-start-karte > p:not(.pa-start-link),
.pa-start-karten--kompakt .pa-start-karte > p:not(.pa-start-link) {
	margin: 8px 0 18px;
}

.pa-start-karten--kompakt .pa-start-karte h3 {
	margin-top: 0;
}

.pa-start-karten--kompakt .pa-start-karte h3 a {
	color: var(--pa-navy);
	text-decoration: none;
}

.pa-start-karten--kompakt .pa-start-karte .pa-start-link {
	margin: auto 0 0;
	padding: 0 0 20px;
}

.pa-start-split--fragen {
	align-items: start;
}

.pa-start-split--fragen .pa-faq {
	margin: 0;
	background: var(--pa-weiss);
	border: 1px solid var(--pa-linie);
	border-radius: 18px;
	padding: 6px 28px;
}

.pa-start-split--fragen .pa-faq > h3 {
	margin: 0;
	padding-top: 20px;
	color: var(--pa-navy);
	font-size: 1.0625rem;
	line-height: 1.35;
}

.pa-start-split--fragen .pa-faq > p {
	margin: 6px 0 0;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--pa-linie);
	color: var(--pa-text);
	font-size: 0.96875rem;
	line-height: 1.6;
}

.pa-start-split--fragen .pa-faq > p:last-of-type {
	border-bottom: 0;
}

.pa-start-split--fragen .pa-start-split-text .pa-start-link {
	margin-top: 24px;
}

@media (max-width: 1099px) {
	.pa-lp-kopf-in {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"text"
			"formular"
			"vertrauen";
	}

	.pa-lp-formular {
		position: static;
	}

	.pa-start-karten--symbol {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.pa-start-karten--symbol {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.pa-lp-formular .pa-anfrage {
		padding: 18px;
	}
}

/* ---------- 404, Suche, Archive ---------- */

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.pa-hinweiskopf {
	background: linear-gradient(180deg, var(--pa-flaeche), var(--pa-weiss));
	border-bottom: 1px solid var(--pa-linie);
}

.pa-hinweiskopf-in {
	max-width: var(--pa-breite);
	margin: 0 auto;
	padding: clamp(40px, 6vw, 80px) var(--pa-rand) clamp(40px, 5vw, 64px);
}

.pa-hinweiskopf h1 {
	max-width: 22ch;
	margin: 10px 0 0;
	text-wrap: balance;
}

.pa-hinweiskopf-lead {
	max-width: 40rem;
	margin: 16px 0 0;
	color: var(--pa-text);
	font-size: 1.125rem;
	line-height: 1.6;
}

.pa-suche {
	display: flex;
	gap: 10px;
	max-width: 40rem;
	margin-top: 28px;
}

.pa-suche-feld {
	position: relative;
	flex: 1;
	display: flex;
	align-items: center;
}

.pa-suche-feld .pa-icon {
	position: absolute;
	left: 16px;
	width: 20px;
	height: 20px;
	color: var(--pa-gedaempft);
	pointer-events: none;
}

.pa-suche input[type="search"] {
	width: 100%;
	min-height: 52px;
	padding: 12px 16px 12px 46px;
	border: 1px solid #cdd5e0;
	border-radius: 10px;
	background: var(--pa-weiss);
	color: var(--pa-tinte);
	font: 400 1rem/1.4 var(--pa-schrift);
	box-shadow: 0 1px 2px rgba(17, 33, 62, 0.06);
	-webkit-appearance: none;
	appearance: none;
}

.pa-suche input[type="search"]:focus {
	border-color: var(--pa-navy);
	outline: 3px solid rgba(235, 133, 18, 0.35);
	outline-offset: 0;
}

.pa-suche .pa-btn {
	min-height: 52px;
	padding-inline: 26px;
}

.pa-hinweiskopf-schnell {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 20px 0 0;
	font-size: 0.9375rem;
}

.pa-hinweiskopf-schnell span {
	margin-right: 4px;
	color: var(--pa-gedaempft);
}

.pa-hinweiskopf-schnell a {
	padding: 6px 12px;
	border: 1px solid var(--pa-linie);
	border-radius: 999px;
	background: var(--pa-weiss);
	color: var(--pa-navy);
	font-weight: 600;
	text-decoration: none;
}

.pa-hinweiskopf-schnell a:hover {
	border-color: var(--pa-navy);
}

.pa-ergebnisse {
	max-width: var(--pa-breite);
	margin: 0 auto;
	padding: 48px var(--pa-rand) 72px;
}

.pa-ergebnisse-raster {
	margin-top: 0;
}

.pa-ergebnisse .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 36px;
}

.pa-ergebnisse .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--pa-linie);
	border-radius: 10px;
	color: var(--pa-navy);
	font-weight: 700;
	text-decoration: none;
}

.pa-ergebnisse .page-numbers.current {
	background: var(--pa-navy);
	border-color: var(--pa-navy);
	color: #fff;
}

@media (max-width: 1099px) {
	.pa-ergebnisse-raster {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.pa-ergebnisse-raster {
		grid-template-columns: minmax(0, 1fr);
	}

	.pa-suche {
		flex-direction: column;
	}
}

/* ---------- Mobile Leiste, Cookie-Einstellungen, Sprungziel Formular ---------- */

.pa-fuss-cookie {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.pa-fuss-cookie:hover,
.pa-fuss-cookie:focus-visible {
	color: #fff;
}

@media (max-width: 1099px) {
	/* Der schwebende Complianz-Reiter lag über dem Anfrage-Button der Handy-Leiste.
	   Auf Seiten mit Leiste öffnet der Link „Cookie-Einstellungen“ im Fußbereich die Einwilligung. */
	body:has(.pa-mobilleiste) #cmplz-manage-consent {
		display: none;
	}

	/* Sprung zum Formular: unter dem mitlaufenden Kopf bleibt die Überschrift sichtbar */
	#anfrage,
	[data-pa-anfrage] {
		scroll-margin-top: calc(var(--pa-kopf-hoehe) + 16px);
	}
}

/* Cookie-Hinweis (Complianz): Zustimmen und Ablehnen gleichwertig, mobil kompakt */
.cmplz-cookiebanner {
	--cmplz_button_accept_background_color: var(--pa-navy);
	--cmplz_button_accept_border_color: var(--pa-navy);
	--cmplz_button_accept_text_color: #fff;
	--cmplz_button_deny_background_color: var(--pa-navy);
	--cmplz_button_deny_border_color: var(--pa-navy);
	--cmplz_button_deny_text_color: #fff;
	--cmplz_button_settings_background_color: #fff;
	--cmplz_button_settings_border_color: var(--pa-linie);
	--cmplz_button_settings_text_color: var(--pa-navy);
	--cmplz_hyperlink_color: var(--pa-orange-dunkel);
	--cmplz_text_color: var(--pa-text);
	font-family: var(--pa-schrift);
}
@media (max-width: 600px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner {
		padding: 12px 14px 10px;
		row-gap: 8px;
		max-height: 60vh;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message {
		font-size: 12.5px;
		line-height: 1.45;
		margin: 0;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
		min-height: 42px;
		height: auto;
		margin: 0;
		padding: 8px 10px;
		font-size: 14.5px;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-view-preferences,
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-save-preferences {
		grid-column: 1 / -1;
		min-height: 36px;
		font-size: 13.5px;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links {
		margin: 0;
	}
}

/* Blockierte YouTube-Einbettung: Platzhalter nicht breiter als die Textspalte */
.wp-block-embed .cmplz-blocked-content-container {
	max-width: 100% !important;
	height: auto !important;
}
.wp-block-embed .cmplz-blocked-content-container iframe {
	max-width: 100% !important;
	height: 100% !important;
}

/* Kostenrechner (Treppenlift-Kosten) */
.pa-rechner {
	margin: 28px 0;
	border: 1px solid var(--pa-linie);
	border-radius: 16px;
	background: var(--pa-weiss);
	box-shadow: var(--pa-schatten);
	overflow: hidden;
}
.pa-rechner form {
	display: grid;
	gap: 16px;
	padding: 22px 24px;
}
.pa-rechner fieldset {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}
.pa-rechner legend {
	margin-bottom: 8px;
	padding: 0;
	color: var(--pa-navy);
	font-size: 0.875rem;
	font-weight: 700;
}
.pa-rechner-ergebnis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: var(--pa-linie);
	border-top: 1px solid var(--pa-linie);
}
.pa-rechner-ergebnis > div {
	padding: 16px 20px;
	background: var(--pa-flaeche);
}
.pa-rechner-ergebnis small {
	display: block;
	color: var(--pa-gedaempft);
	font-size: 0.8125rem;
}
.pa-rechner-ergebnis b {
	display: block;
	margin-top: 2px;
	color: var(--pa-navy);
	font-size: 1.125rem;
	font-variant-numeric: tabular-nums;
	line-height: 1.3;
}
.pa-rechner-ergebnis > div:last-child {
	background: var(--pa-navy);
}
.pa-rechner-ergebnis > div:last-child small {
	color: #b9c5d8;
}
.pa-rechner-ergebnis > div:last-child b {
	color: #fff;
}
.pa-rechner-fuss {
	margin: 0;
	padding: 14px 24px 18px;
	color: var(--pa-text);
	font-size: 0.875rem;
	line-height: 1.55;
}
.pa-rechner-fuss a {
	font-weight: 700;
}
@media (max-width: 640px) {
	.pa-rechner form {
		padding: 18px 16px;
	}
	.pa-rechner-ergebnis {
		grid-template-columns: 1fr;
	}
	.pa-rechner-ergebnis > div {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 12px;
		padding: 12px 16px;
	}
	.pa-rechner-ergebnis b {
		margin: 0;
		font-size: 1rem;
		text-align: right;
	}
	.pa-rechner-fuss {
		padding: 12px 16px 16px;
	}
}
