/*
 * Unterseiten: Inhalt, Übersichten (Unterkünfte, Suche) und Fehlerseite. Seitenkopf und
 * Einleitung stehen in seitenkopf.css.
 */

.ps-seite { display: block; }
.ps-seite > * { margin-block: 0; }

/* Seitenkopf und Einleitung: assets/css/seitenkopf.css (auch für das Muster „Seitenkopf“). */

/* ---------- Inhalt ---------- */
.ps-seite .ps-inhalt.wp-block-post-content {
	padding-top: clamp(40px, 6vw, 72px);
	padding-bottom: var(--section-y);
}
.ps-seite--ohne-titel .ps-inhalt.wp-block-post-content { padding-top: 0; }
/* Endet der Inhalt mit einem dunklen, vollbreiten Band (Aufruf, Scroll-Geschichte), geht es ohne hellen
   Streifen direkt in den Fuß über; auch mit der Hülle von WP Responsive Table (.wprt-container). */
.ps-seite .ps-inhalt.wp-block-post-content:has(> :is(.ps-aufruf, .ps-geschichte):last-child, > .wprt-container:last-child > :is(.ps-aufruf, .ps-geschichte):last-child) { padding-bottom: 0; }
.ps-inhalt :where(h2) { margin-top: 1.6em; margin-bottom: .5em; }
.ps-inhalt :where(h3, h4) { margin-top: 1.4em; margin-bottom: .4em; }
.ps-inhalt :where(p, ul, ol) { text-wrap: pretty; }
.ps-inhalt :where(ul, ol) { padding-left: 1.2em; }
.ps-inhalt :where(li) + :where(li) { margin-top: .35em; }
.ps-inhalt a:where(:not(.wp-block-button__link):not(.wp-element-button)) { text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* ---------- Titelband (Übersichten, Suche, 404) ---------- */
.ps-band.wp-block-group {
	padding: clamp(56px, 8vw, 104px) max(var(--gutter), calc((100% - var(--container)) / 2)) clamp(40px, 5vw, 56px);
	background: var(--leinen);
	display: grid;
	gap: 18px;
}
body.ps-kopf-transparent .ps-band.wp-block-group { padding-top: calc(var(--header-h) + 56px); }
.ps-band > * { margin: 0 !important; max-width: 820px; }
.ps-band__titel {
	color: var(--text-strong);
	font-family: var(--font-display);
	font-weight: 300;
	font-size: var(--fs-display-l);
	line-height: 1.05;
	letter-spacing: var(--ls-display);
}
.ps-band__text { color: var(--text-muted); font-size: var(--fs-lead); }
.ps-band .wp-block-buttons { margin-top: 12px !important; }

/* ---------- Karten-Liste ---------- */
.ps-liste.wp-block-query {
	padding: clamp(40px, 6vw, 72px) max(var(--gutter), calc((100% - var(--container)) / 2)) var(--section-y);
}
.ps-liste__raster.wp-block-post-template { gap: 24px; margin: 0; padding: 0; }
.ps-karte.wp-block-group {
	height: 100%;
	display: flex;
	flex-direction: column;
	background: var(--weiss);
	border-radius: var(--radius-card);
	box-shadow: var(--shadow-xs);
	overflow: hidden;
	transition: box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
}
.ps-karte:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.ps-karte__bild { margin: 0; overflow: hidden; }
.ps-karte__bild img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ps-karte:hover .ps-karte__bild img { transform: scale(1.04); }
.ps-karte__text.wp-block-group { padding: 24px 24px 28px; display: grid; gap: 10px; flex: 1; align-content: start; }
.ps-karte__text > * { margin: 0; }
.ps-karte__titel { font-size: var(--fs-h3); line-height: var(--lh-snug); }
.ps-karte__titel a { color: var(--text-strong); text-decoration: none; }
.ps-karte__titel a:hover { color: var(--tanne-700); }
.ps-karte__auszug .wp-block-post-excerpt__excerpt { margin: 0; color: var(--text-muted); font-size: var(--fs-small); }
.ps-karte__mehr.wp-block-read-more {
	justify-self: start;
	padding: 6px 0;
	border-bottom: 1px solid currentColor;
	color: var(--tanne-700);
	font: 600 12px/1 var(--font-sans);
	letter-spacing: var(--ls-button);
	text-transform: uppercase;
	text-decoration: none;
}
.ps-karte__mehr.wp-block-read-more:hover { color: var(--sonne-700); }
.ps-liste__seiten.wp-block-query-pagination { margin-top: 48px; gap: 8px; font-weight: 600; }
.ps-liste__seiten a, .ps-liste__seiten span { padding: 6px 10px; }
.ps-liste .wp-block-query-no-results p { max-width: 760px; font-size: var(--fs-lead); color: var(--text-muted); }

/* ---------- Suche ---------- */
.ps-suche.wp-block-search { max-width: 560px; }
.ps-suche .wp-block-search__inside-wrapper { gap: 8px; border: 0; padding: 0; }
.ps-suche .wp-block-search__input {
	/* ohne Eigenbreite (size=20): sonst verbreitert das Feld bei 360 px die Rasterspalte des Bands (seitliches Scrollen) */
	flex: 1 1 0;
	width: 0;
	min-width: 0;
	height: 48px;
	padding: 0 16px;
	border: 1px solid var(--border-default);
	border-radius: var(--radius-control);
	background: var(--weiss);
	color: var(--text-strong);
	font: 400 var(--fs-body)/1 var(--font-sans);
}
.ps-suche .wp-block-search__input:focus { outline: none; border-color: var(--tanne-600); box-shadow: var(--shadow-focus); }
.ps-suche .wp-block-search__button { margin: 0; min-height: 48px; }

/* ---------- 404 ---------- */
.ps-band--404.wp-block-group { padding-bottom: var(--section-y); min-height: 56vh; align-content: center; }
