/*
 * Kopf (Template-Part „header“) und Menü-Overlay (Template-Part „menue-overlay“).
 * Über Bildern (Startseiten-Hero, Seitenkopf mit Beitragsbild; Body-Klasse ps-kopf-transparent)
 * liegt der Kopf transparent über dem Bild und wird nach dem Scrollen deckend (Schnee 88 % mit
 * Unschärfe). Auf allen anderen Seiten ist er von Anfang an deckend und klebt oben.
 */

/* ---------- Bereich und Zustände ---------- */
.ps-kopf-bereich {
	position: sticky;
	top: 0;
	z-index: 60;
}
body.admin-bar .ps-kopf-bereich { top: var(--wp-admin--admin-bar--height, 32px); }
body.ps-kopf-transparent .ps-kopf-bereich {
	position: fixed;
	inset: 0 0 auto 0;
}
body.admin-bar.ps-kopf-transparent .ps-kopf-bereich { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) {
	/* Admin-Leiste scrollt auf kleinen Bildschirmen mit */
	body.admin-bar .ps-kopf-bereich { top: 0; }
}

/* Hintergrund und Unschärfe liegen auf ::after: ein backdrop-filter am Kopf selbst würde das
   Menü-Overlay (position: fixed) auf die Kopfhöhe einsperren. */
.ps-kopf {
	--ps-tinte: var(--text-strong);
	--ps-linie: var(--fels-300);
	/* Logo (22.10.2026): ganz oben groß, gescrollt so groß wie bisher. --ps-logo-h ist die Layout-Größe
	   (ganz oben, auch ohne JavaScript); kopf.js setzt --ps-logo-p (0 ganz oben … 1 ab 120 px Scrollweg),
	   bewegung.css verkleinert damit per transform: scale() (kein Layout-Versatz, CLS 0).
	   --ps-logo-klein: Faktor gescrollt mit Bewegung (Kopf wird zusätzlich kompakter, bisher 52 px × .84 = 43,7 px);
	   --ps-logo-klein-ruhig: Faktor gescrollt bei reduzierter Bewegung (Kopf bleibt 84 px hoch, bisher 52 px). */
	--ps-kopf-h: var(--header-h);
	--ps-logo-h: 72px;
	--ps-logo-klein: .607;
	--ps-logo-klein-ruhig: .722;
	position: relative;
	z-index: 0;
	height: var(--ps-kopf-h);
}
.ps-kopf::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(252, 250, 245, .88);
	-webkit-backdrop-filter: var(--blur-header);
	backdrop-filter: var(--blur-header);
	border-bottom: 1px solid var(--border-subtle);
	pointer-events: none;
	transition: opacity var(--dur-base) var(--ease-out);
}
.ps-kopf::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0 0 -96px 0;
	background: linear-gradient(180deg, rgba(20, 38, 30, .62) 0%, rgba(20, 38, 30, .38) 50%, rgba(20, 38, 30, 0) 100%);
	pointer-events: none;
	opacity: 0;
	transition: opacity var(--dur-base) var(--ease-out);
}
html.ps-js body.ps-kopf-transparent .ps-kopf:not(.ist-fest) {
	--ps-tinte: var(--schnee);
	--ps-linie: rgba(252, 250, 245, .55);
}
html.ps-js body.ps-kopf-transparent .ps-kopf:not(.ist-fest)::after { opacity: 0; }
html.ps-js body.ps-kopf-transparent .ps-kopf:not(.ist-fest)::before { opacity: 1; }

/* ---------- Kopfzeile ---------- */
.ps-kopf__innen.wp-block-group {
	position: relative;
	max-width: var(--container-wide);
	height: 100%;
	margin: 0 auto;
	padding: 0 var(--gutter);
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.ps-logo { flex: none; line-height: 0; }
.ps-logo a { display: block; line-height: 0; }
.ps-logo.wp-block-site-logo img { display: block; width: auto; max-width: none; height: 52px; transition: filter var(--dur-base) var(--ease-out); }
/* Kopf und Menü-Overlay: Logo in der Größe „ganz oben“ (Bild hochauflösend über inc/logo.php) */
.ps-kopf .ps-logo.wp-block-site-logo img { height: var(--ps-logo-h); }
html.ps-js body.ps-kopf-transparent .ps-kopf:not(.ist-fest) .ps-logo img,
.ps-logo--hell img { filter: brightness(0) invert(1); }

/* Hauptnavigation (waagrecht, ab 1200 px) */
.ps-kopf__nav.wp-block-navigation { display: none; margin-left: auto; }
.ps-kopf__nav .wp-block-navigation__container { gap: 28px; }
.ps-kopf__nav .wp-block-navigation-item__content.wp-block-navigation-item__content {
	display: block;
	padding: 8px 0;
	border-bottom: 1.5px solid transparent;
	color: var(--ps-tinte);
	font: 600 13px/1 var(--font-sans);
	letter-spacing: var(--ls-button);
	text-transform: uppercase;
	text-decoration: none;
	transition: border-color var(--dur-fast), color var(--dur-base);
}
.ps-kopf__nav .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
.ps-kopf__nav .current-menu-item > .wp-block-navigation-item__content.wp-block-navigation-item__content,
.ps-kopf__nav [aria-current="page"] { border-bottom-color: var(--sonne-500); color: var(--ps-tinte); }

.ps-kopf__aktionen.wp-block-group { margin-left: auto; display: flex; flex-wrap: nowrap; align-items: center; gap: 14px; }

/* Sprachwahl */
.ps-sprachen { display: flex; gap: 2px; margin: 0; padding: 0; list-style: none; }
.ps-sprachen a {
	display: block;
	padding: 6px 5px;
	color: var(--ps-tinte, var(--schnee));
	font: 600 12px/1 var(--font-sans);
	letter-spacing: var(--ls-button);
	text-decoration: none;
	opacity: .55;
	transition: opacity var(--dur-fast), color var(--dur-base);
}
.ps-sprachen a:hover, .ps-sprachen a.ist-aktiv { opacity: 1; }
.ps-kopf .ps-kopf__sprachen, .ps-kopf .ps-kopf__buchen { display: none; }
.ps-kopf__buchen .wp-block-button__link { gap: 8px; }
/* Zweiter Kopfknopf „Anfragen“ (22.10.2026): schlichter Umriss (Block-Stil „Umriss Tanne“) links neben dem goldenen
   „Verfügbarkeit prüfen“, gleiche Höhe und Schrift (ps-klein), Briefumschlag (ps-icon-mail). Im hellen Kopf Tanne wie
   der Block-Stil, über dem Foto hell wie „Umriss hell“. Bewegung wie die übrigen Kopfknöpfe (Füllung und Magnet aus
   bewegung.css und kopf.js). Sichtbar erst ab dem Umschaltpunkt (unten), darunter über Menü-Overlay und Schnellleiste.
   Über dem Foto liegt im Knopf ein leichter Tanne-Schleier (24 %), beim Überfahren schiebt sich ein dunklerer herein:
   Ohne ihn lag die Schrift auf hellen Kopfbildern bei 4,52:1 (Messung abnahme/kopf-anfragen/kontrast/). */
.ps-kopf .ps-kopf__anfrage { display: none; }
.ps-kopf__anfrage .wp-block-button__link { gap: 8px; }
html.ps-js body.ps-kopf-transparent .ps-kopf:not(.ist-fest) .ps-kopf__anfrage .wp-block-button__link.wp-element-button {
	--ps-fuellung: color-mix(in srgb, var(--tanne-950) 36%, transparent);
	background-color: color-mix(in srgb, var(--tanne-950) 24%, transparent);
	border-color: rgba(252, 250, 245, .8);
	color: var(--schnee);
}
html.ps-js body.ps-kopf-transparent .ps-kopf:not(.ist-fest) .ps-kopf__anfrage .wp-block-button__link.wp-element-button:is(:hover, :focus-visible) { border-color: var(--schnee); }

/* Menü-Knopf: Navigation mit Overlay „immer“, Text „Menü“ von WordPress, Kreis per CSS */
.ps-menueknopf.wp-block-navigation { flex: none; }
.ps-menueknopf .wp-block-navigation__responsive-container-open {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 44px;
	padding: 0 5px 0 18px;
	border: 1.5px solid var(--ps-linie, rgba(252, 250, 245, .4));
	border-radius: var(--radius-pill);
	background: transparent;
	color: var(--ps-tinte, var(--schnee));
	font: 600 13px/1 var(--font-sans);
	letter-spacing: var(--ls-button);
	text-transform: uppercase;
	cursor: pointer;
	transition: border-color var(--dur-fast), color var(--dur-base);
}
.ps-menueknopf .wp-block-navigation__responsive-container-open::after {
	content: "";
	width: 34px;
	height: 34px;
	border-radius: var(--radius-pill);
	background:
		linear-gradient(var(--tanne-950), var(--tanne-950)) center calc(50% - 5px) / 15px 1.5px no-repeat,
		linear-gradient(var(--tanne-950), var(--tanne-950)) center / 15px 1.5px no-repeat,
		linear-gradient(var(--tanne-950), var(--tanne-950)) center calc(50% + 5px) / 15px 1.5px no-repeat,
		var(--sonne-500);
}
.ps-menueknopf .wp-block-navigation__responsive-container-open:hover { border-color: var(--sonne-500); }

@media (min-width: 900px) {
	.ps-kopf .ps-kopf__sprachen, .ps-kopf .ps-kopf__buchen { display: flex; }
}
/* „Anfragen“ erst ab 1040 px (Messung 22.10.2026, abnahme/kopf-anfragen/protokoll.md): Ab hier bleiben in der engsten
   Sprache (IT, „Richiesta non vincolante“ + „Verifica la disponibilità“) mindestens 96 px (3 × die 32-px-Lücke der
   Kopfzeile) zwischen großem Logo und Sprachwahl, gemessen 102 px; mit Ersatzschrift Arial noch 68 px. Darunter
   schrumpft der Abstand je Pixel Fensterbreite um ca. 0,9 px (980 px: 47 px, 960 px: Lücke aufgebraucht). */
@media (min-width: 1040px) {
	.ps-kopf .ps-kopf__anfrage { display: flex; }
}
@media (min-width: 1200px) {
	.ps-kopf__nav.wp-block-navigation { display: flex; }
}
@media (max-width: 899px) {
	/* Logo mobil: oben 47 px hoch (ca. 93 px breit), gescrollt wie bisher 33,6 px (Bewegung) bzw. 40 px (reduziert) */
	.ps-kopf { --ps-kopf-h: 68px; --ps-logo-h: 47px; --ps-logo-klein: .715; --ps-logo-klein-ruhig: .851; }
	.ps-kopf__innen.wp-block-group { gap: 16px; }
}

/* ---------- Menü-Overlay (eigenes Overlay der Navigation) ---------- */
.ps-menueknopf .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed;
	inset: 0;
	z-index: 100000;
	padding: 0;
	background: var(--tanne-900);
	color: var(--schnee);
	overflow-y: auto;
	overscroll-behavior: contain;
	animation: ps-kreis 800ms var(--ease-in-out) both;
}
body.admin-bar .ps-menueknopf .wp-block-navigation__responsive-container.is-menu-open { top: var(--wp-admin--admin-bar--height, 32px); }
@keyframes ps-kreis {
	from { clip-path: circle(0px at calc(100% - 72px) 42px); }
	to { clip-path: circle(150% at calc(100% - 72px) 42px); }
}
.ps-menueknopf .is-menu-open .wp-block-navigation__responsive-close,
.ps-menueknopf .is-menu-open .wp-block-navigation__responsive-dialog,
.ps-menueknopf .is-menu-open .wp-block-navigation__responsive-container-content,
.ps-menueknopf .is-menu-open .wp-block-navigation__overlay-container { width: 100%; max-width: none; margin: 0; padding: 0; min-height: 100%; }
.ps-menueknopf .is-menu-open .wp-block-navigation__responsive-container-content { display: block; }

.ps-overlay {
	--ps-tinte: var(--schnee);
	--ps-linie: rgba(252, 250, 245, .4);
	min-height: 100svh;
	display: grid;
	grid-template-rows: auto 1fr auto;
	grid-template-columns: minmax(0, 1fr);
	color: var(--schnee);
	text-transform: none;
	letter-spacing: 0;
	font: 400 var(--fs-body)/var(--lh-body) var(--font-sans);
}
.ps-overlay > * { margin: 0 !important; }
.ps-overlay__kopf.wp-block-group {
	height: var(--ps-kopf-h); /* wie der Kopf (mobil 68 px), damit Logo und Knopf beim Öffnen nicht springen */
	max-width: var(--container-wide);
	width: 100%;
	margin: 0 auto !important;
	padding: 0 var(--gutter);
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.ps-overlay__kopf-rechts.wp-block-group { display: flex; align-items: center; gap: 24px; flex-wrap: nowrap; }

/* Schließen-Knopf (Block „Overlay schließen“) im Stil des Menü-Knopfs */
.ps-overlay .ps-schliessen.wp-block-navigation-overlay-close {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 12px;
	height: 44px;
	padding: 0 5px 0 18px;
	border: 1.5px solid rgba(252, 250, 245, .4);
	border-radius: var(--radius-pill);
	background: transparent;
	color: var(--schnee);
	font: 600 13px/1 var(--font-sans);
	letter-spacing: var(--ls-button);
	text-transform: uppercase;
	cursor: pointer;
}
.ps-overlay .ps-schliessen svg {
	width: 34px;
	height: 34px;
	padding: 8px;
	border-radius: var(--radius-pill);
	background: var(--sonne-500);
	fill: var(--tanne-950);
}
.ps-overlay .ps-schliessen:hover { border-color: var(--sonne-500); }

.ps-overlay__mitte.wp-block-group {
	max-width: var(--container-wide);
	width: 100%;
	margin: 0 auto !important;
	padding: clamp(8px, 1vh, 32px) var(--gutter); /* nur Reserve: das Menü steht mittig in der freien Höhe */
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(32px, 4vw, 64px);
	align-items: center;
}
/* Ab 900 px: Menü links, schmalere Bildvorschau rechts (Platz für die Unterpunkte neben den Hauptpunkten) */
@media (min-width: 900px) {
	.ps-overlay__mitte.wp-block-group { grid-template-columns: minmax(0, 1fr) clamp(220px, 24vw, 380px); }
}

/* Große Menüpunkte mit Nummer; Unterpunkte direkt am Hauptpunkt (21.10.2026, Wunsch Christoph).
 * Ist die Menüspalte breit genug (Container-Abfrage, ab 660 px): Unterpunkte rechts neben dem Hauptpunkt
 * als kleine Liste, zur Mitte des Hauptpunkts ausgerichtet, mit feiner Linie davor; höchstens 3 Zeilen je
 * Spalte ab 860 px Spaltenbreite (z. B. Aktivitäten 3 × 3), darunter höchstens 5 Zeilen (2 Spalten).
 * Schmaler: Unterpunkte direkt unter dem Hauptpunkt, eingerückt auf dessen Textkante, größerer Abstand
 * zum nächsten Hauptpunkt. Nur CSS: Reihenfolge im DOM, Tastatur, Bildvorschau und Animation bleiben. */
.ps-overlay-nav.wp-block-navigation {
	--ps-haupt-fs: clamp(34px, 4.2vw, 60px); /* Schriftgröße der Hauptpunkte */
	display: block;
	counter-reset: ps-punkt;
	text-transform: none;
	letter-spacing: 0;
	container: ps-overlay-nav / inline-size;
}
.ps-overlay-nav .wp-block-navigation__container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ps-overlay-nav .wp-block-navigation__container > li {
	counter-increment: ps-punkt;
	opacity: 0;
	transform: translate3d(0, 28px, 0);
	animation: ps-hoch 600ms var(--ease-out) both;
}
/* Anordnung (Präfix .ps-overlay, damit die Kern-Regeln für „open-always“ nicht greifen) */
.ps-overlay .ps-overlay-nav .wp-block-navigation__container { gap: 2px; }
.ps-overlay .ps-overlay-nav .wp-block-navigation__container > li {
	display: grid;
	grid-template-columns: minmax(0, auto);
	justify-content: start;
	align-items: center;
	gap: 4px 0 !important; /* Kern: .has-child.open-always.wp-block-navigation-submenu { gap: 2em } */
	margin: 0;
}
.ps-overlay .ps-overlay-nav .wp-block-navigation__container > li.has-child { margin-bottom: 14px; }
.ps-overlay-nav .wp-block-navigation__container > li:nth-child(1) { animation-delay: 260ms; }
.ps-overlay-nav .wp-block-navigation__container > li:nth-child(2) { animation-delay: 330ms; }
.ps-overlay-nav .wp-block-navigation__container > li:nth-child(3) { animation-delay: 400ms; }
.ps-overlay-nav .wp-block-navigation__container > li:nth-child(4) { animation-delay: 470ms; }
.ps-overlay-nav .wp-block-navigation__container > li:nth-child(5) { animation-delay: 540ms; }
.ps-overlay-nav .wp-block-navigation__container > li:nth-child(6) { animation-delay: 610ms; }
.ps-overlay-nav .wp-block-navigation__container > li:nth-child(n+7) { animation-delay: 680ms; }
@keyframes ps-hoch { to { opacity: 1; transform: none; } }

.ps-overlay-nav .wp-block-navigation__container > li > .wp-block-navigation-item__content.wp-block-navigation-item__content {
	display: flex;
	align-items: baseline;
	gap: 18px;
	padding: 0;
	color: var(--tanne-100);
	font: 300 var(--ps-haupt-fs)/1.06 var(--font-display);
	letter-spacing: var(--ls-display);
	text-decoration: none;
	transition: color var(--dur-fast);
}
.ps-overlay-nav .wp-block-navigation__container > li > .wp-block-navigation-item__content.wp-block-navigation-item__content::before {
	content: counter(ps-punkt, decimal-leading-zero);
	min-width: 22px;
	font: 600 12px/1 var(--font-sans);
	letter-spacing: .14em;
	color: var(--sonne-400);
}
.ps-overlay-nav .wp-block-navigation__container > li.ist-aktiv > .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--schnee); }
.ps-overlay-nav .wp-block-navigation__container > li > .wp-block-navigation-item__content.wp-block-navigation-item__content:hover { color: var(--sonne-300); }

.ps-overlay-nav .wp-block-navigation__submenu-icon { display: none !important; }
.ps-overlay-nav .wp-block-navigation__submenu-container {
	position: static !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 16px !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 0 0 40px !important;
	border: 0 !important;
	background: transparent !important;
	opacity: 1 !important;
	visibility: visible !important;
	overflow: visible !important;
	box-shadow: none !important;
	list-style: none;
}
.ps-overlay-nav .wp-block-navigation__submenu-container > li { width: auto !important; display: flex !important; margin: 0 !important; }
.ps-overlay-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content {
	padding: 2px 0 !important;
	color: var(--tanne-200);
	font: 500 14px/1.45 var(--font-sans);
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--dur-fast);
}
.ps-overlay-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content.wp-block-navigation-item__content:hover { color: var(--sonne-300); }

/* Unterpunkte rechts neben dem Hauptpunkt, alle an einer gemeinsamen Kante (22.10.2026, Wunsch Christoph):
 * Die Liste ist ein Raster [Hauptpunkte] [Unterpunkte] [Rest], jede Zeile ein Subgrid davon. Die Spalte der
 * Hauptpunkte ist so breit wie der breiteste Hauptpunkt der Sprache, höchstens --ps-haupt-max (Platz für
 * „Aktivitäten“ in einer Zeile); ein längerer Hauptpunkt bricht ausgewogen in zwei Zeilen um („Rooms & /
 * apartments“, „Camere e / appartamenti“), statt die Unterpunkte weit nach rechts zu schieben. Damit beginnen
 * alle Untermenüs samt Trennlinie an derselben x-Position und bleiben senkrecht mittig zu ihrem Hauptpunkt.
 * Ohne Subgrid-Unterstützung: wie bisher (Unterpunkte direkt hinter dem Hauptpunkt). */
@container ps-overlay-nav (min-width: 660px) {
	.ps-overlay .ps-overlay-nav .wp-block-navigation__container {
		--ps-spalte: clamp(24px, 2.4vw, 40px);
		--ps-haupt-max: calc(40px + 4.8 * var(--ps-haupt-fs)); /* Nummer (22 px + 18 px Abstand) + Text */
		display: grid;
		grid-template-columns: fit-content(var(--ps-haupt-max)) auto minmax(0, 1fr);
		align-items: center;
		gap: clamp(2px, .9vh, 10px) var(--ps-spalte);
	}
	.ps-overlay .ps-overlay-nav .wp-block-navigation__container > li {
		grid-column: 1 / 3;
		grid-template-columns: auto auto; /* ohne Subgrid-Unterstützung */
		grid-template-columns: subgrid;
		column-gap: var(--ps-spalte) !important;
	}
	.ps-overlay .ps-overlay-nav .wp-block-navigation__container > li > .wp-block-navigation-item__content { grid-column: 1; line-height: 1; }
	.ps-overlay .ps-overlay-nav .wp-block-navigation__container > li > .wp-block-navigation__submenu-container { grid-column: 2; }
	.ps-overlay .ps-overlay-nav .wp-block-navigation__container > li > .wp-block-navigation-item__content .wp-block-navigation-item__label { text-wrap: balance; }
	.ps-overlay .ps-overlay-nav .wp-block-navigation__container > li.has-child { margin-bottom: 0; }
	.ps-overlay-nav .wp-block-navigation__submenu-container {
		display: grid !important;
		grid-auto-flow: column;
		grid-template-rows: repeat(5, auto);
		justify-content: start;
		align-content: center;
		gap: 0 26px !important;
		padding: 2px 0 2px 22px !important;
		border-left: 1px solid rgba(245, 241, 231, .2) !important;
	}
}
@container ps-overlay-nav (min-width: 860px) {
	.ps-overlay-nav .wp-block-navigation__submenu-container { grid-template-rows: repeat(3, auto); }
}

/* Bild zum Menüpunkt */
.ps-overlay__bild.wp-block-group {
	position: relative;
	display: none;
	aspect-ratio: 4 / 5;
	max-height: 62vh;
	width: 100%;
	max-width: 520px;
	justify-self: end;
	border-radius: var(--radius-image);
	overflow: hidden;
	background: var(--tanne-800);
	animation: ps-hoch 800ms var(--ease-out) 300ms both;
	opacity: 0;
	transform: translate3d(0, 20px, 0);
}
.ps-overlay__bild > span {
	position: absolute;
	inset: 0;
	background: var(--tanne-800) center / cover no-repeat;
	opacity: 0;
	transform: scale(1.06);
	transition: opacity 700ms var(--ease-out), transform 1200ms var(--ease-out);
}
.ps-overlay__bild > span.ist-aktiv { opacity: 1; transform: scale(1); }
@media (min-width: 900px) { .ps-overlay__bild.wp-block-group { display: block; } }

/* Fuß des Overlays: Knöpfe, Kontakt, Social */
.ps-overlay__fuss.wp-block-group {
	position: relative;
	max-width: var(--container-wide);
	width: 100%;
	margin: 0 auto !important;
	padding: 32px var(--gutter) clamp(28px, 4.5vh, 48px);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 28px 48px;
	align-items: start;
	animation: ps-hoch 700ms var(--ease-out) 550ms both;
	opacity: 0;
}
.ps-overlay__fuss::before {
	content: "";
	position: absolute;
	top: 0;
	left: var(--gutter);
	right: var(--gutter);
	border-top: 1px solid rgba(245, 241, 231, .16);
}
.ps-overlay__fuss > * { margin: 0 !important; }
.ps-overlay__knoepfe.wp-block-buttons { display: grid; gap: 12px; }
.ps-overlay__knoepfe .wp-block-button, .ps-overlay__knoepfe .wp-block-button__link { width: 100%; }
.ps-overlay__kontakt, .ps-overlay__social { display: grid; gap: 10px; align-content: start; }
.ps-overlay .ps-eyebrow-text, .ps-fuss .ps-eyebrow-text { color: var(--sonne-400); margin: 0 0 2px; }

.ps-kontakt { margin: 0; font: 400 var(--fs-small)/1.6 var(--font-sans); color: var(--tanne-100); }
.ps-kontakt a { display: inline-flex; align-items: center; gap: 10px; color: var(--schnee); text-decoration: none; }
.ps-kontakt a:hover { color: var(--sonne-300); }

/* Social-Links (Core-Block) als runde Knöpfe */
.wp-block-social-links.ps-social { display: flex; gap: 10px; margin: 0; padding: 0; }
.wp-block-social-links.ps-social .wp-social-link {
	margin: 0;
	background: transparent !important;
	color: var(--schnee) !important;
	border: 1.5px solid rgba(252, 250, 245, .4);
	border-radius: var(--radius-pill);
	transition: border-color var(--dur-fast), background var(--dur-fast);
}
.wp-block-social-links.ps-social .wp-social-link a { width: 44px; height: 44px; padding: 0; display: grid; place-items: center; color: var(--schnee); }
.wp-block-social-links.ps-social .wp-social-link svg { width: 18px; height: 18px; fill: currentColor; }
.wp-block-social-links.ps-social .wp-social-link:hover { border-color: var(--sonne-500); background: rgba(252, 250, 245, .08) !important; transform: none; }

html.ps-menue-offen { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
	.ps-menueknopf .wp-block-navigation__responsive-container.is-menu-open { animation: none; }
	.ps-overlay-nav .wp-block-navigation__container > li, .ps-overlay__bild.wp-block-group, .ps-overlay__fuss.wp-block-group { animation: none; opacity: 1; transform: none; }
}

/* ---------- Overlay: Bildebenen ohne Fluss-Abstand, schmale Bildschirme ---------- */
.ps-overlay__bild.wp-block-group > span { margin: 0 !important; }
@media (max-width: 599px) {
	.ps-overlay__kopf.wp-block-group { gap: 12px; }
	.ps-overlay__kopf-rechts.wp-block-group { gap: 8px; }
	.ps-overlay .ps-sprachen a { padding: 6px 4px; }
	.ps-overlay .ps-schliessen.wp-block-navigation-overlay-close { padding-left: 12px; gap: 8px; font-size: 12px; }
}
