/* ==========================================================================
   Brücke Block-Markup ↔ Komponenten (pp-*) des Design Systems
   Setzt design-system/tokens.css und components/bundle.css voraus.
   Layout-Ebene (Drehung, Versatz, Farbblöcke) steht in playful.css.
   ========================================================================== */

/* ---------- Grundlagen ------------------------------------------------- */

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body { color: var(--text); background: var(--creme); }

.screen-reader-text {
	border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden;
	padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus {
	clip-path: none; height: auto; width: auto; margin: 0; z-index: 100000;
	background: var(--weiss); color: var(--dark); padding: 12px 16px; left: 8px; top: 8px;
	border-radius: var(--radius-md); box-shadow: var(--shadow-card);
}

/* Fokus immer sichtbar, 2px dark mit 2px Abstand (README) */
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px;
}

/* Abschnitte stapeln ohne Blocklücke, Abstand kommt aus dem Abschnitt */
.pnl-main { margin-block: 0; }
.pnl-main > .wp-block-post-content > * { margin-block: 0; }
.pnl-main > * + * { margin-block-start: 0; }
.pnl-section { padding-block: var(--space-20); position: relative; }
.pnl-section + .pnl-section { padding-top: var(--space-10); }
.pnl-section--tint { background: var(--gelb-tint); }
.pnl-section--tint + .pnl-section { padding-top: var(--space-20); }

/* ---------- Typografie ------------------------------------------------- */

.pnl-display {
	font-size: var(--wp--preset--font-size--display); line-height: 1.02;
	font-weight: 800; letter-spacing: -0.02em; color: var(--dark); margin: 0;
}
.pnl-h1 {
	font-size: var(--wp--preset--font-size--titel); line-height: 1.1;
	font-weight: 800; letter-spacing: -0.02em; color: var(--dark); margin: 0;
}
.pnl-h-section {
	font-size: var(--wp--preset--font-size--abschnitt); line-height: 1.1;
	font-weight: 800; letter-spacing: -0.02em; color: var(--dark); margin: 0;
}
.pnl-h3-lg { font-size: var(--wp--preset--font-size--zwischen); font-weight: 700; margin-top: var(--space-10); }
.pnl-h4 { font-size: 16px; line-height: 22px; font-weight: 700; letter-spacing: 0; color: var(--dark); margin: 0; }
.pnl-lead-lg { font-size: 20px; line-height: 32px; color: var(--text); }
.pnl-lead-lg strong { color: var(--dark); font-weight: 700; }
.pnl-text { max-width: 68ch; }
.pnl-note { font-size: 14px; line-height: 20px; color: var(--text); }
.pp-lead { max-width: 60ch; }
.pp-eyebrow { margin-bottom: var(--space-2) !important; }
.pnl-head { margin-bottom: var(--space-8); }
.pnl-head > * + * { margin-block-start: var(--space-2); }
.pnl-head .pp-lead { margin-top: var(--space-4); }

/* Akzentwort: Werkzeug „Hervorheben“ in Orange. Für WCAG AA steht der Text in
   dark, Orange wird zur dicken Unterstreichung (Orange als Schrift: nur 2,3:1). */
:is(h1, h2, h3, .pnl-display) mark.has-orange-color {
	color: inherit !important; background: none !important;
	text-decoration: underline; text-decoration-color: var(--orange);
	text-decoration-thickness: 0.16em; text-underline-offset: 0.1em; text-decoration-skip-ink: none;
}

/* Links im Fließtext */
.pnl-main p a:not(.wp-element-button), .pnl-main li a { color: var(--blau-text); text-underline-offset: 3px; }
p.pp-link.pnl-more { display: block; margin-top: var(--space-6); }
.pp-link.pnl-more a { color: inherit; text-decoration: none; font-weight: 600; }
.pp-link.pnl-more a::after { content: " →"; }
.pp-link.pnl-more a:hover { text-decoration: underline; }

/* ---------- Buttons ---------------------------------------------------- */

.wp-block-button .wp-block-button__link {
	min-height: var(--control-h); display: inline-flex; align-items: center; justify-content: center;
	box-sizing: border-box; border: 2px solid transparent; transition: background-color .15s, color .15s, border-color .15s;
	text-decoration: none; white-space: nowrap;
}
.wp-block-button.is-style-pnl-secondary .wp-block-button__link {
	background: transparent; color: var(--blau-text); border-color: var(--blau);
}
.wp-block-button.is-style-pnl-secondary .wp-block-button__link:hover { background: var(--blau-tint); color: var(--blau-text); }
.pnl-hero__buttons .wp-block-button__link { min-height: 56px; padding-inline: 36px; }
.wp-block-buttons { gap: var(--space-3); }

/* ---------- Header ----------------------------------------------------- */

.pnl-header { position: relative; z-index: 20; }
.pnl-header__bar {
	min-height: var(--header-h); box-sizing: border-box; padding: 0 var(--space-15);
	border-bottom: 1px solid var(--border); gap: var(--space-8); max-width: none;
}
.pnl-header__nav { gap: var(--space-8); }
.pnl-nav { font-size: 14px; font-weight: 500; }
.pnl-nav .wp-block-navigation__container { gap: var(--space-8); }
.pnl-nav .wp-block-navigation-item__content {
	color: var(--text); text-decoration: none; padding: 6px 0; border-bottom: 2px solid transparent;
}
.pnl-nav .wp-block-navigation-item__content:hover { color: var(--dark); }
.pnl-nav .current-menu-item > .wp-block-navigation-item__content,
.pnl-nav [aria-current="page"] { color: var(--dark); font-weight: 600; border-bottom-color: var(--dark); }
.pnl-nav .wp-block-navigation__responsive-container-open,
.pnl-nav .wp-block-navigation__responsive-container-close { color: var(--dark); }
.pnl-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.pnl-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--creme); color: var(--dark); padding: var(--space-8) var(--space-5);
}
.pnl-nav .is-menu-open .wp-block-navigation__container { gap: var(--space-5); }
.pnl-nav .is-menu-open .wp-block-navigation-item__content { font-size: 22px; font-weight: 700; }

/* Menü-Button unter 1280px (Core schaltet erst bei 600px um; Logo, 7 Punkte und Button brauchen ~1200px plus Scrollleiste) */
@media (min-width: 600px) and (max-width: 1279px) {
	.pnl-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.pnl-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 1279px) {
	.pnl-header__bar { padding: 0 var(--space-5); gap: var(--space-3); }
	.pnl-header__nav { gap: var(--space-3); flex-direction: row-reverse; }
	.pnl-header__cta .wp-block-button__link { min-height: 40px; padding: 0 var(--space-4); font-size: 14px; }
}
@media (max-width: 400px) {
	.pp-wordmark__name { font-size: 17px; }
	.pnl-header__cta .wp-block-button__link { padding: 0 var(--space-3); font-size: 13px; }
}

/* Logo: Zeichen „Zwei Stimmen“ und Wortmarke */
.pnl-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; flex: none; }
.pnl-brand__mark { flex: none; width: 40px; height: 44px; }
.pnl-brand .pp-wordmark__sub { font-size: 9.5px; letter-spacing: .08em; }
.pnl-footer__brand .pnl-brand { margin-bottom: var(--space-4); }
.pnl-footer__brand .pnl-brand__mark { width: 48px; height: 53px; }
.pnl-footer__brand .pp-wordmark { white-space: normal; margin-bottom: 0; }
@media (min-width: 1280px) and (max-width: 1439px) {
	.pnl-header__bar { padding: 0 var(--space-8); gap: var(--space-5); }
	.pnl-header__nav, .pnl-nav .wp-block-navigation__container { gap: var(--space-5); }
}
/* Kleine Handys: Name zweizeilig, damit Logo, Termin-Button und Menü-Button in eine Zeile passen */
@media (max-width: 479px) {
	.pnl-header .pnl-brand { gap: 8px; }
	.pnl-header .pnl-brand__mark { width: 32px; height: 35px; }
	.pnl-header .pnl-brand .pp-wordmark { white-space: normal; width: min-content; }
	.pnl-header .pnl-brand .pp-wordmark__name { font-size: 16px; line-height: 18px; }
	.pnl-header .pnl-brand .pp-wordmark__sub { display: none; }
}
@media (max-width: 359px) {
	.pnl-header__bar { padding: 0 var(--space-3); }
	.pnl-header .pnl-brand__mark { width: 26px; height: 29px; }
	.pnl-header .pnl-brand .pp-wordmark__name { font-size: 14px; line-height: 16px; }
	.pnl-header__cta .wp-block-button__link { padding: 0 10px; font-size: 12px; }
}

/* ---------- Icons (Font Awesome lokal, per CSS-Maske) ------------------ */

.pnl-icon, [class*="pnl-ico--"]::before { --pnl-icon-size: 20px; }
.pp-icon-tile[class*="pnl-ico--"]::before,
.pp-callout[class*="pnl-ico--"]::before,
.pnl-tile[class*="pnl-ico--"]::before,
.pnl-mcard__top[class*="pnl-ico--"]::before,
.pnl-topics li[class*="pnl-ico--"]::before {
	content: ""; display: block; flex: none; width: var(--pnl-icon-size); height: var(--pnl-icon-size);
	background: currentColor;
	-webkit-mask: var(--pnl-icon) center / contain no-repeat; mask: var(--pnl-icon) center / contain no-repeat;
}
.pp-icon-tile { margin: 0 0 var(--space-2); }
.pp-icon-tile--gelb { color: var(--amber-text); }

/* ---------- Callouts --------------------------------------------------- */

.pp-callout { margin-top: var(--space-8); }
.pp-callout::before { color: var(--blau); }
.pp-callout--gruen::before { color: var(--gruen-text); }
.pp-callout--orange::before { color: var(--orange-text); }
.pp-callout > p, .pp-callout p { margin: 0; }
.pp-callout a { color: inherit; font-weight: 600; }

/* Krisenhinweis */
.pnl-krise { align-items: flex-start; margin-block: 0; font-size: 14px; line-height: 21px; padding: var(--space-4) var(--space-5); }
.pnl-krise::before { color: var(--rot); --pnl-icon-size: 20px; margin-top: 2px; }
.pnl-krise p { margin: 0; }
.pnl-krise__title { font-size: 15px; }
.pnl-krise__list { margin: var(--space-2) 0 0; padding-left: 1.1em; }
.pnl-krise__list li + li { margin-top: 2px; }
.pnl-krise a { color: var(--rot-text); font-weight: 700; white-space: nowrap; }
.pnl-krise__meta { font-weight: 500; }
.pnl-krisesec { padding-top: 0 !important; }

/* ---------- Listen ----------------------------------------------------- */

.pnl-main ul.wp-block-list, .pnl-main ol.wp-block-list { margin-block: var(--space-4) 0; }

/* Häkchen */
.pnl-checks { list-style: none; padding: 0; }
.pnl-checks li { position: relative; display: flex; align-items: center; gap: var(--space-3); min-height: 32px; }
.pnl-checks li::before {
	content: ""; width: 32px; height: 32px; flex: none; border-radius: var(--radius-sm); background: var(--gruen-tint);
}
.pnl-checks li::after {
	content: ""; position: absolute; left: 9px; top: 50%; width: 14px; height: 14px; margin-top: -7px;
	background: var(--gruen-text); -webkit-mask: url("../icons/check.svg") center / contain no-repeat; mask: url("../icons/check.svg") center / contain no-repeat;
}
.pp-checks--plain.pnl-checks li { align-items: flex-start; font-size: 15px; line-height: 22px; color: var(--text); font-weight: 500; min-height: 0; gap: var(--space-2); }
.pp-checks--plain.pnl-checks li::before { width: 16px; height: 22px; background: none; }
.pp-checks--plain.pnl-checks li::after { left: 0; top: 4px; margin-top: 0; }
.pnl-checks li + li { margin-top: 0; }

/* Schritte */
.pnl-steps { gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin-top: 0 !important; }
.pnl-steps li {
	font-size: 15px; line-height: 22px; font-weight: 400; color: var(--text); text-align: left; align-items: flex-start;
	background: var(--weiss); border: 1px solid var(--border); border-radius: var(--radius-xl);
	box-shadow: var(--shadow-card); padding: var(--space-6);
}
.pnl-steps li strong { display: block; color: var(--dark); font-size: 18px; line-height: 24px; margin-bottom: 4px; }
.pnl-steps--vertical { grid-template-columns: 1fr; }
.pnl-steps--vertical li { flex-direction: row; gap: var(--space-4); padding: var(--space-4) var(--space-5); }
.pnl-steps--vertical li::before { flex: none; }

/* Zeitleiste */
.pnl-timeline { margin-top: var(--space-4) !important; }
.pnl-timeline li { font-size: 14px; line-height: 20px; color: var(--text); }
.pnl-timeline li strong { display: block; font-size: 16px; line-height: 22px; color: var(--dark); }

/* Themen */
.pnl-topics { list-style: none; padding: 0; }
.pnl-topics li { background: var(--weiss); border: 1px solid var(--border); border-left: 3px solid var(--blau); border-radius: var(--radius-md);
	display: flex; align-items: center; gap: var(--space-3); min-height: 59px; padding: var(--space-3) var(--space-4);
	font-weight: 600; font-size: 14px; line-height: 18px; color: var(--dark); box-sizing: border-box; }
.pnl-topics li::before { color: var(--blau); --pnl-icon-size: 18px; }
.pnl-topics li:nth-child(4n+2) { border-left-color: var(--gruen); } .pnl-topics li:nth-child(4n+2)::before { color: var(--gruen-text); }
.pnl-topics li:nth-child(4n+3) { border-left-color: var(--orange); } .pnl-topics li:nth-child(4n+3)::before { color: var(--orange-text); }
.pnl-topics li:nth-child(4n+4) { border-left-color: var(--gelb); } .pnl-topics li:nth-child(4n+4)::before { color: var(--amber-text); }

/* Methoden-Pills */
.pnl-pills { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-3); }
.pnl-pills li { display: inline-flex; align-items: center; min-height: 43px; padding: 0 var(--space-5); border-radius: var(--radius-full);
	border: 1px solid var(--blau); background: var(--blau-tint-2); color: var(--blau-text); font-weight: 500; font-size: 14px; }
.pnl-pills li:nth-child(3n+2) { border-color: var(--gruen); background: var(--gruen-tint); color: var(--gruen-text); }
.pnl-pills li:nth-child(3n+3) { border-color: var(--orange); background: var(--orange-tint); color: var(--orange-text); }

/* Denken – Fühlen – Handeln */
.pnl-dfh { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-4); }
.pnl-dfh li { width: 104px; height: 104px; border-radius: var(--radius-full); display: grid; place-items: center;
	font-weight: 700; font-size: 15px; color: var(--dark); background: var(--blau-tint); border: 3px solid var(--blau); }
.pnl-dfh li:nth-child(2) { background: var(--gruen-tint); border-color: var(--gruen); }
.pnl-dfh li:nth-child(3) { background: var(--orange-tint); border-color: var(--orange); }

/* Fachliche Liste zweispaltig */
.pnl-fachliste { margin-top: var(--space-10); }
.pnl-columns-list { columns: 2 320px; column-gap: var(--space-10); padding-left: 1.2em; }
.pnl-columns-list li { break-inside: avoid; margin-bottom: var(--space-2); }

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

.pp-card { color: var(--text); }
.pp-card__body > * { margin-block: 0; }
.pp-card__body > * + * { margin-block-start: var(--space-3); }
.pp-card__body .pp-badge { align-self: flex-start; margin: 0; }
.pp-card__text { flex: 0 1 auto; }
.pp-card .wp-block-image, .pp-card figure { margin: 0; }
.pnl-cards { display: grid; gap: var(--space-5); grid-template-columns: 1fr; align-items: start; }
@media (min-width: 700px) {
	.pnl-cards--2, .pnl-cards--4 { grid-template-columns: repeat(2, 1fr); }
	.pnl-cards--3 { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) { .pnl-cards--4 { grid-template-columns: repeat(4, 1fr); } }
.pnl-minicard { padding: var(--space-6); }
.pnl-minicard > * + * { margin-block-start: var(--space-3); }

/* ---------- Bilder ----------------------------------------------------- */

.pnl-main .wp-block-image { margin: 0; }
.pnl-main .wp-block-image img { border-radius: var(--radius-xl); box-shadow: var(--shadow-card); display: block; width: 100%; height: auto; object-fit: cover; }
.pnl-portrait img { aspect-ratio: 1; border-radius: var(--radius-full) !important; border: 6px solid var(--blau); box-sizing: border-box; }

/* ---------- Zitat ------------------------------------------------------ */

.wp-block-quote.pp-quote { border: 1px solid var(--border-subtle); border-radius: var(--radius-xl); padding: var(--space-6) var(--space-6) var(--space-8);
	margin: 0 0 var(--space-6); background: var(--weiss); box-shadow: var(--shadow-card); max-width: 420px; }
.wp-block-quote.pp-quote::before { content: ""; display: block; width: 22px; height: 22px; margin-bottom: var(--space-3); background: var(--blau);
	-webkit-mask: url("../icons/quote-left.svg") center / contain no-repeat; mask: url("../icons/quote-left.svg") center / contain no-repeat; }
.wp-block-quote.pp-quote p { font-style: italic; font-weight: 500; font-size: 17px; line-height: 26px; color: var(--dark); margin: 0; }

/* ---------- FAQ -------------------------------------------------------- */

.pnl-faq { max-width: 900px; }
.pnl-faq > * + * { margin-block-start: 0; }
.pnl-faq .wp-block-details { margin: 0; }
.pnl-faq summary { font-size: 16px; line-height: 24px; padding: var(--space-2) 0; }
.pnl-faq summary::-webkit-details-marker { display: none; }
.pnl-faq details p { font-size: 15px; line-height: 24px; margin-left: 24px; max-width: 70ch; }
/* Anlässe in Alltagsgruppen (Für Eltern) */
.pnl-gruppen { max-width: 900px; margin-top: var(--space-6) !important; }
.pnl-gruppen > * + * { margin-block-start: 0; }
.pnl-gruppen .wp-block-details { margin: 0; }
.pnl-gruppen summary { font-size: 17px; line-height: 26px; font-weight: 700; padding: var(--space-2) 0; }
.pnl-gruppen summary::-webkit-details-marker { display: none; }
.pnl-gruppen .pnl-gruppe__list { margin: var(--space-2) 0 var(--space-2) 24px; padding-left: 1.1em; max-width: 70ch; }
.pnl-gruppen .pnl-gruppe__list li { font-size: 15px; line-height: 24px; margin-top: var(--space-1); }
/* Spruch mit Quelle */
.wp-block-quote.pp-quote cite { display: block; margin-top: var(--space-2); font-style: normal; font-size: 14px; font-weight: 600; color: var(--text-muted); }
.wp-block-quote.pp-quote cite::before { content: "– "; }
/* Hinweis für Jugendliche auf der Seite Ablauf */
.pnl-dubox { margin-top: var(--space-8) !important; }
.pnl-dubox .pnl-callout__body > * + * { margin-top: var(--space-2); }

/* ---------- Erreichbarkeit -------------------------------------------- */

.pnl-infos { display: grid; gap: var(--space-6); padding: var(--space-8); grid-template-columns: 1fr; }
@media (min-width: 800px) { .pnl-infos { grid-template-columns: repeat(3, 1fr); } }
.pnl-info { display: flex; gap: var(--space-4); align-items: flex-start; }
.pnl-info > * + * { margin: 0; }
.pnl-info__text p { margin: 4px 0 0; font-size: 15px; line-height: 22px; }
.pnl-info__text a { font-weight: 600; }

/* ---------- Kontaktformular ------------------------------------------- */

.pnl-formcard { padding: var(--space-8); max-width: 760px; }
.pnl-form { display: grid; gap: var(--space-5); }
.pnl-form .pp-field__label { font-size: 12px; }
.pnl-form .pp-input { border-color: var(--text-muted); font-size: 16px; }
.pnl-form .pp-input::placeholder { color: var(--text-muted); }
.pnl-form__help { font-size: 14px; line-height: 20px; color: var(--text); margin: 0; }
.pnl-form__status { margin: 0; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--orange-tint); color: var(--dark); font-size: 14px; font-weight: 600; }
.pnl-form__radios { border: 0; padding: 0; margin: 0; display: flex; gap: var(--space-5); flex-wrap: wrap; align-items: center; }
.pnl-form__radios legend { margin-bottom: var(--space-2); width: 100%; }
.pnl-form__radios label, .pnl-form .pp-consent { font-size: 15px; color: var(--dark); display: flex; gap: var(--space-2); align-items: flex-start; }
.pnl-form .pp-consent { font-size: 14px; line-height: 20px; color: var(--text); }
.pnl-form input[type="radio"], .pnl-form input[type="checkbox"] { width: 20px; height: 20px; margin: 0; accent-color: var(--blau-text); flex: none; }
.pnl-form .pp-btn { justify-self: start; }

/* ---------- Beitragskarten -------------------------------------------- */

.pnl-postcard { height: auto; }
.pnl-postcard .wp-block-post-featured-image { margin: 0; }
.pnl-postcard .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; height: auto; display: block; border-radius: 0; box-shadow: none; }
.pnl-postcard__cat, .pnl-postcard__cat a { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--blau-text); text-decoration: none; }
.pnl-postcard .pp-card__title { font-size: 20px; line-height: 26px; }
.pnl-postcard .pp-card__title a { color: var(--dark); text-decoration: none; }
.pnl-postcard .pp-card__title a:hover { text-decoration: underline; }
.pnl-postcard .wp-block-post-excerpt__excerpt { margin: 0; font-size: 15px; line-height: 22px; }
.pnl-postcard .wp-block-post-excerpt__more-text { display: none; }
.pnl-postcard__date { font-size: 13px; color: var(--text); }
.pnl-postcards, .pnl-masonry { list-style: none; padding: 0; margin: 0; }
.pnl-postcards { display: grid; gap: var(--space-5); grid-template-columns: 1fr; }
@media (min-width: 800px) { .pnl-postcards { grid-template-columns: repeat(3, 1fr); } }
.wp-block-query-pagination { margin-top: var(--space-10); gap: var(--space-4); font-weight: 600; }

/* ---------- Einzelbeitrag --------------------------------------------- */

.pnl-single__head { max-width: 760px; margin-inline: auto !important; }
.pnl-single__head > * + * { margin-block-start: var(--space-3); }
.pnl-single__cat a { color: inherit; text-decoration: none; }
.pnl-single__date { font-size: 14px; color: var(--text); }
.pnl-single__img { max-width: 1000px !important; margin: var(--space-10) auto !important; }
.pnl-single__img img { border-radius: var(--radius-xl); box-shadow: var(--shadow-card); }
.pnl-single__content { font-size: 17px; line-height: 28px; }
.pnl-single__content h2 { font-size: 26px; margin-top: var(--space-10); }
.pnl-single .pp-callout, .pnl-single__nav { max-width: 760px; margin-inline: auto !important; }
.pnl-single__nav { margin-top: var(--space-10); gap: var(--space-5); font-weight: 600; }

/* ---------- Rechtstexte / einfache Seiten ------------------------------ */

.pnl-legal { padding-bottom: var(--space-20); }
/* Abstände mit .pnl-main davor, sonst gewinnt „.pnl-main > .wp-block-post-content > * { margin: 0 }“ (Axel 11.10.2026: Textblöcke weiter auseinander) */
.pnl-main > .pnl-legal > * + * { margin-top: var(--space-5); }
.pnl-main > .pnl-legal > h2 { font-size: 24px; margin-top: var(--space-10); }
.pnl-main > .pnl-legal > h3 { font-size: 18px; margin-top: var(--space-8); }
.pnl-main > .pnl-legal > h2 + *, .pnl-main > .pnl-legal > h3 + * { margin-top: var(--space-3); }
.pnl-legal li { max-width: 70ch; }
.pnl-main > .pnl-legal > :is(p, ul, ol) { max-width: var(--wp--style--global--content-size, 760px); }  /* gleiche linke Kante wie die Überschriften */
.pnl-legal a { word-break: break-word; }

/* ---------- Suche ------------------------------------------------------ */

.pnl-search { max-width: 520px; margin-top: var(--space-6); }
.pnl-search .wp-block-search__input { min-height: var(--control-h); border: 1px solid var(--text-muted); border-radius: var(--radius-lg); padding: 0 var(--space-4); font: inherit; }
.pnl-search .wp-block-search__button { border-radius: var(--radius-lg); }

/* ---------- Footer ----------------------------------------------------- */

.pnl-site-footer { background: var(--dark); color: #e2e8f0; margin-top: 0; }
.pnl-footer { padding: var(--space-15) var(--space-5) var(--space-8); }
.pnl-footer > * + * { margin-block-start: var(--space-10); }
.pnl-footer .pnl-krise { box-shadow: none; }
.pnl-footer__grid { display: grid; gap: var(--space-8); grid-template-columns: 1fr; }
@media (min-width: 800px) { .pnl-footer__grid { grid-template-columns: 2fr 1.4fr 1fr; } }
.pnl-footer__grid > * { margin: 0; }
.pnl-footer p { margin: 0 0 var(--space-3); font-size: 14px; line-height: 22px; }
.pnl-footer a { color: var(--weiss); text-underline-offset: 3px; }
.pnl-footer :focus-visible { outline-color: var(--gelb); }
.pnl-footer__label { font-size: 12px !important; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gelb); }
.pnl-footer__brand .pp-wordmark { margin-bottom: var(--space-4); white-space: normal; }
.pnl-footer__nav ul { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-2); font-size: 14px; }
.pnl-footer__meta { border-top: 1px solid rgba(255, 255, 255, .15); padding-top: var(--space-5); font-size: 13px !important; color: #cbd5e1; }
.pnl-footer .pnl-krise a { color: var(--rot-text); }

/* Linksbündig im 1160er-Raster statt zentriert (Fließtext, FAQ, Formular) */
.pnl-section.is-layout-constrained > :is(.pnl-text, .pp-lead, .pnl-faq, .pnl-note, .pnl-formcard, .pp-callout),
.pnl-section .is-layout-constrained > :is(.pnl-text, .pp-lead, .pnl-faq, .pnl-note) {
	margin-left: max(0px, calc((100% - 1160px) / 2)) !important;
}
.pnl-head .pp-lead, .pnl-head .pnl-text { margin-left: 0 !important; }

/* Senkrechte Schritte: Kreis links, Text als Block daneben */
.pnl-steps--vertical li { display: block; position: relative; padding: var(--space-4) var(--space-5) var(--space-4) 84px; min-height: 76px; box-sizing: border-box; }
.pnl-steps--vertical li::before { position: absolute; left: var(--space-5); top: var(--space-4); }
.pnl-steps--vertical li strong { display: block; margin-bottom: 2px; }

/* Wortmarke: Unterzeile in 10px braucht die Textvariante (Blau als Schrift nur 3,3:1).
   Auf dark ein aufgehelltes Blau (≈ 5,9:1). Logos wären nach WCAG 1.4.3 ausgenommen. */
.pp-wordmark__sub { color: var(--blau-text); }
.pp-wordmark--inverse .pp-wordmark__sub { color: #6cb0ff; }

/* Tippziele in Karten: Links mit Luft (WCAG 2.5.8, Lighthouse target-size) */
.pp-card__text a, .pnl-info__text a { display: inline-block; padding-block: 6px; }

/* Kopfbereich bleibt beim Scrollen stehen */
header.wp-block-template-part { position: sticky; top: 0; z-index: 50; background: var(--creme); }
body.admin-bar header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { body.admin-bar header.wp-block-template-part { top: 46px; } }
@media (max-width: 600px) { body.admin-bar header.wp-block-template-part { top: 0; } }
.pnl-header { box-shadow: 0 1px 0 var(--border); }
:target { scroll-margin-top: calc(var(--header-h) + 16px); }
.pnl-section[id] { scroll-margin-top: calc(var(--header-h) + 8px); }

/* Callout mit Überschrift und mehreren Absätzen: Text untereinander neben dem Symbol */
.pnl-callout__body { flex: 1; min-width: 0; }
.pnl-callout__body > * { margin: 0; }
.pp-callout .pnl-callout__body > * + * { margin-top: var(--space-3) !important; }
.pp-callout .pnl-callout__body p { font-size: 16px; line-height: 24px; }
.pnl-callout__body .pnl-h-section { font-size: clamp(24px, 3vw, 32px); line-height: 1.15; }

/* Zweitbutton auf dem gelben Aufruf-Kasten: dunkle Schrift und Kontur (WCAG AA, Blau auf Gelb nur 3,7:1) */
.pnl-cta__box .is-style-pnl-secondary > .wp-block-button__link { color: var(--dark); border-color: var(--dark); }
.pnl-cta__box .is-style-pnl-secondary > .wp-block-button__link:hover { background: rgba(26, 43, 74, .08); }

/* Krisenhinweis kompakt (Axel, 11.10.2026): kleiner, Nummern in einer Zeile */
.pnl-krise { font-size: 13px; line-height: 19px; padding: var(--space-3) var(--space-4); gap: var(--space-3); }
.pnl-krise::before { --pnl-icon-size: 16px; margin-top: 1px; }
.pnl-krise__title { font-size: 13px; }
.pnl-krise__list { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-wrap: wrap; gap: 2px var(--space-4); }
.pnl-krise__list li + li { margin-top: 0; }
.pnl-krise__list li:last-child a { font-weight: 600; text-decoration: underline; }
.pnl-form__consent { font-size: 14px; line-height: 20px; color: var(--text); margin: 0; }
.pnl-form__consent a { font-weight: 600; }
