/*!
 * basis.css - Paket 16 des Sanierungsfahrplans.
 *
 * Die eine Datei, die auf jeder Seite geladen wird. Bis zum 11.09.2026 stand
 * dieser Text in vier Heredocs in seeley-basis.php und ging als eingebettetes
 * <style> mit; jetzt ist er eine Datei, die der Plugin-Datei-Editor als CSS
 * kennt - mit Syntaxpruefung und Klammernpaaren. Z09, Entscheidung 3.
 *
 * ES IST EIN UMZUG. Die drei Abschnitte darunter stehen Zeichen fuer Zeichen
 * wie in den Snippets 1534, 1587 und 1541 - in derselben Reihenfolge, in der
 * sie bisher am Haken hingen, denn bei gleicher Spezifitaet gewinnt das
 * spaetere Vorkommen. Wer hier etwas umsortiert, aendert die Website.
 *
 * DIE ABSCHNITTSMARKEN SIND NICHT DEKORATION. werkzeuge/preloader-pruefen.php,
 * footer-pruefen.php und header-pruefen.php schneiden an ihnen und halten den
 * Text gegen die Snippets im Repo. Wer eine Marke umschreibt, macht die drei
 * Werkzeuge blind.
 *
 * WAS HIER NICHT MEHR DRINSTEHT, SEIT PAKET 40 (15.09.2026): die vier
 * @font-face aus Snippet 1541 im Abschnitt Kopfbereich. Sie meldeten Montserrat
 * 300/regular/500/700 absolut auf der Live-Domain an und scheiterten auf der
 * Werkbank an CORS. Die Schrift meldet jetzt seeley_basis_grundschrift() in
 * seeley-basis.php an, und WordPress liefert die fuenf Schnitte selbst im Block
 * <style class="wp-fonts-local"> (Z15). Mit ihnen gefallen sind die vier aus
 * Snippet 1603, die bis dahin eingebettet an seeley-basis-inline-css hingen.
 * Der Abschnitt Kopfbereich ist deshalb 1541 Zeichen fuer Zeichen OHNE diese
 * vier Bloecke - werkzeuge/header-pruefen.php nimmt sie aus seinem Massstab.
 *
 * WEG ZURUECK FUER PAKET 40: git show 70cc2ac:plugins/seeley-basis/basis.css
 *
 * WEG ZURUECK: seeley-basis.php auf den Stand vor Paket 16 zuruecksetzen.
 * Diese Datei darf dann liegen bleiben, sie wird von niemandem mehr geholt.
 */

/* === Die Variablenschicht ==================================================
 *
 * Z09, Entscheidung 4. Sie ist schmal, und das ist Absicht: die drei
 * Markenfarben stehen im Repo an 455 Stellen woertlich als Hex (255x #E1D6A9,
 * 138x #262626, 62x #6F7668). Davon wird keine einzige umgestellt - Z07 baut
 * die Inhalte ohnehin um, und ein Suchen-und-Ersetzen ueber 455 Stellen waere
 * eine Aenderung ohne Test.
 *
 * --seeley-accent und --seeley-accent-light stehen hier NICHT. Sie kommen je
 * Reiseziel aus den Termfeldern (Z09, Entscheidung 6) und haben live drei
 * verschiedene Werte (#B65D47, #774D2B, #496684) - keiner davon ist eine
 * Markenfarbe. Welcher Wert der Rueckfall ist, entscheidet Paket 34, wo die
 * Frage entsteht. Hier waere er geraten.
 */
:root {
	--seeley-bg-dark: #262626;
	--seeley-beige: #E1D6A9;
	--seeley-green: #6F7668;
}

/* === Preloader - Snippet 1534, Zeichen fuer Zeichen =================== */
.seeley-preloader{position:fixed;inset:0;width:100%;height:100%;background-color:rgba(38,38,38,0.55);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:center;z-index:99999;opacity:1;visibility:visible;transition:opacity .6s ease,visibility .6s ease}
.seeley-preloader--hidden{opacity:0;visibility:hidden;pointer-events:none}
.seeley-preloader__inner{position:relative;display:flex;align-items:center;justify-content:center;width:clamp(120px,30vw,220px);aspect-ratio:1/1}
.seeley-preloader__logo{width:58%;height:auto;position:relative;z-index:2;animation:seeley-pulse 1.8s ease-in-out infinite}
.seeley-preloader__spinner{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(225,214,169,0.15);border-top-color:#E1D6A9;animation:seeley-spin 1.1s linear infinite;z-index:1}
@keyframes seeley-spin{to{transform:rotate(360deg)}}
@keyframes seeley-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.92);opacity:.75}}

/* === Fussbereich - Snippet 1587, Zeichen fuer Zeichen ================= */
        .seeley-footer-outer {
            width: 100%;
        }
        .seeley-footer-container {
            background-color: #262626;
            max-width: 1920px;
            margin-left: auto !important;
            margin-right: auto !important;
            padding: 16px clamp(20px, 5vw, 60px) 6px clamp(20px, 5vw, 60px);
            box-sizing: border-box;
            container-type: inline-size;
            container-name: seeley-footer-cq;
            text-align: center;
        }
        .seeley-footer-socials {
            display: flex !important;
            justify-content: center !important;
            align-items: center !important;
            gap: 14px !important;
            margin: 0 0 16px 0 !important;
            padding: 0 !important;
            list-style: none !important;
        }
        .seeley-footer-socials .wp-social-link {
            background: transparent !important;
            border-radius: 999px !important;
            width: clamp(28px, 22px + 1.5cqw, 38px) !important;
            height: clamp(28px, 22px + 1.5cqw, 38px) !important;
            padding: 0 !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            opacity: 0.85;
            transition: opacity 0.25s ease, transform 0.25s ease;
        }
        .seeley-footer-socials .wp-social-link a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
        }
        .seeley-footer-socials .wp-social-link svg {
            width: 55%;
            height: 55%;
            fill: #E1D6A9 !important;
        }
        @media (hover: hover) {
            .seeley-footer-socials .wp-social-link:hover {
                opacity: 1 !important;
                transform: translateY(-2px);
            }
        }
        /* PAKET P4: der Trenner sitzt auf der Mittelachse, 1fr auto 1fr
           statt zentrierter Zeile. Warum, steht in doku/05-fahrplan.md bei
           Paket P4; die Zahlen faehrt werkzeuge/mitte-pruefen.mjs nach. */
        .seeley-footer-links {
            display: grid;
            grid-template-columns: 1fr auto 1fr;
            align-items: center;
            gap: clamp(6px, 1.5cqw, 20px);
            margin-bottom: 12px;
            white-space: nowrap;
        }
        .seeley-footer-links > :first-child {
            justify-self: end;
        }
        .seeley-footer-links > :last-child {
            justify-self: start;
        }
        .seeley-footer-link {
            font-family: "Montserrat", sans-serif;
            font-weight: 300;
            font-size: clamp(10px, 8px + 1cqw, 17px);
            color: #E1D6A9;
            text-decoration: none !important;
            text-transform: none !important;
            opacity: 0.9;
            transition: opacity 0.2s ease;
            white-space: nowrap;
        }
        @media (hover: hover) {
            .seeley-footer-link:hover {
                opacity: 1;
                text-decoration: underline !important;
            }
        }
        .seeley-footer-separator {
            font-family: "Montserrat", sans-serif;
            font-weight: 300;
            font-size: clamp(10px, 8px + 1cqw, 17px);
            color: #E1D6A9;
            opacity: 0.4;
        }
        .seeley-footer-copyright {
            font-family: "Montserrat", sans-serif;
            font-weight: 300;
            font-size: clamp(9px, 7.5px + 0.6cqw, 13px);
            color: #8A8A85;
            margin: 0;
            text-transform: none !important;
        }

/* === Kopfbereich - Snippet 1541, Zeichen fuer Zeichen ================= */

		html {
			scroll-padding-top: 100px;
		}

		@media (max-width: 780px) {
			html {
				scroll-padding-top: 90px;
			}
		}

		.seeleyhdr {
			position: fixed;
			top: 0;
			left: 0;
			width: 100vw;
			z-index: 9999;
			background: transparent;
			transition: background-color 0.35s ease, box-shadow 0.35s ease;
		}

		.seeleyhdr-bar {
			position: relative;
			z-index: 10001 !important;
			width: 100% !important;
			box-sizing: border-box;
			display: flex !important;
			align-items: center !important;
			padding-top: clamp(0.75rem, 2vw, 1.5rem);
			padding-bottom: clamp(0.75rem, 2vw, 1.5rem);
			padding-left: clamp(1rem, 2.5vw, 2rem);
			padding-right: clamp(1.25rem, 4vw, 3.5rem);
		}

		.seeleyhdr-right {
			position: fixed !important;
			top: clamp(0.75rem, 2vw, 1.5rem) !important;
			right: clamp(1.5rem, 3vw, 3rem) !important;
			z-index: 10000 !important;
			display: flex !important;
			align-items: center !important;
			gap: clamp(1.5rem, 3vw, 3rem);
		}

		/*
		 * PAKET P42: sende-uns verhaelt sich wie die Startseite - im Hero
		 * durchsichtig, danach dunkel. Beide Seiten haben einen
		 * bildschirmfuellenden Hero, ueber dem eine dunkle Leiste als Kante
		 * laege. Die Klasse is-scrolled setzt das Skript im Kopfbereich schon
		 * auf jeder Seite; hier fehlte nur die Ausnahme.
		 */
		/*
		 * PAKET P87: die Blog-Seite (1520) ebenso - auch sie hat einen
		 * bildschirmfuellenden Hero mit Film (Dennis).
		 */
		/*
		 * PAKET M3i: die Missionsseite (1522) ebenso - seit M3a hat auch sie
		 * einen bildschirmfuellenden Hero mit Film (Dennis, 24.09.2026).
		 */
		/*
		 * PAKET M3bx: die Laenderseiten (Kinder von 1522) ebenso - ihr
		 * Kopfbild reicht bis ganz nach oben (Dennis, 03.10.2026). Die Klasse
		 * parent-pageid-1522 setzt WordPress nur auf Seiten, nie auf Berichte.
		 */
		/* Default state: solid dark bar on every page except home, sende-uns, blog, mission and its countries */
		body:not(.home):not(.page-id-1553):not(.page-id-1520):not(.page-id-1522):not(.parent-pageid-1522) .seeleyhdr {
			background-color: #262626;
			box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
		}

		/*
		 * PAKET M3cb: auf den Laenderseiten toent sich die Kopfzeile, sobald
		 * gescrollt ist (is-angescrollt) - bis zur Schwelle liegt sie sonst
		 * durchsichtig ueber helleren Teilen des Kopfbilds (Dennis,
		 * 03.10.2026: "Ja, Kopfzeile toent sich"). Steht vor der Scroll-Regel:
		 * bei gleicher Spezifitaet gewinnt danach is-scrolled.
		 */
		body.parent-pageid-1522 .seeleyhdr.is-angescrollt {
			background-color: rgba(38, 38, 38, 0.55);
		}

		/*
		 * PAKET M3cd: die Toenung laeuft unter der Kopfzeile weich aus, eine
		 * halbe Kopfzeile hoch - nur vor der Schwelle (Dennis, 03.10.2026:
		 * "weicher verlauf definitiv"). Begruendung im Fahrplan.
		 */
		body.parent-pageid-1522 .seeleyhdr::after {
			content: "";
			position: absolute;
			top: 100%;
			left: 0;
			right: 0;
			height: 50%;
			background: linear-gradient(rgba(38, 38, 38, 0.55), transparent);
			opacity: 0;
			pointer-events: none;
			transition: opacity 0.35s ease;
		}

		body.parent-pageid-1522 .seeleyhdr.is-angescrollt:not(.is-scrolled)::after {
			opacity: 1;
		}

		/* Home, sende-uns, blog, mission and its countries: transparent at top, solid background once scrolled */
		body.home .seeleyhdr.is-scrolled,
		body.page-id-1553 .seeleyhdr.is-scrolled,
		body.page-id-1520 .seeleyhdr.is-scrolled,
		body.page-id-1522 .seeleyhdr.is-scrolled,
		body.parent-pageid-1522 .seeleyhdr.is-scrolled {
			background-color: #262626;
			box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
		}

		/* Logo swap: home vs. other pages, desktop vs. mobile */
		.seeleyhdr-logo {
			height: clamp(2.25rem, 5vw, 3.25rem);
			width: auto;
			display: none;
		}

		body.home .seeleyhdr-logo--home-desktop {
			display: block;
		}

		body:not(.home) .seeleyhdr-logo--page-desktop {
			display: block;
		}

		@media (max-width: 780px) {
			body.home .seeleyhdr-logo--home-desktop {
				display: none;
			}

			body:not(.home) .seeleyhdr-logo--page-desktop {
				display: none;
			}

			body.home .seeleyhdr-logo--home-mobile {
				display: block;
			}

			body:not(.home) .seeleyhdr-logo--page-mobile {
				display: block;
			}

			.seeleyhdr-logo--home-mobile,
			.seeleyhdr-logo--page-mobile {
				height: clamp(2.75rem, 12vw, 3.5rem);
			}
		}

		.seeleyhdr-menu {
			display: flex;
			align-items: center;
			gap: clamp(1.25rem, 2.5vw, 2.5rem);
			list-style: none;
			margin: 0;
			padding: 0;
		}

		.seeleyhdr-menu a {
			font-family: 'Montserrat', sans-serif;
			font-size: clamp(1.15rem, 1.6vw, 1.35rem);
			font-weight: 300;
			color: #C5C5C5;
			text-decoration: none;
			text-transform: none !important;
			transition: color 0.25s ease;
		}

		@media (hover: hover) {
			.seeleyhdr-menu a:hover {
				color: #E1D6A9;
			}
		}

		.seeleyhdr-cta {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 0.4em;
			font-family: 'Montserrat', sans-serif;
			font-size: clamp(1rem, 1.3vw, 1.15rem);
			font-weight: 400;
			color: #262626;
			background-color: #E1D6A9;
			padding: 0.6em 1.4em;
			border-radius: 999px;
			text-decoration: none;
			/* PAKET P11: die globalen Stile setzen body auf capitalize (ohne
			   !important). "Unterstuetzen" fiel als ein Wort nie auf, "Sende
			   uns" wuerde zu "Sende Uns". Die Menuelinks darueber nehmen sich
			   schon heraus; hier dasselbe, und eine Klasse schlaegt body ohne
			   !important. */
			text-transform: none;
			white-space: nowrap;
			flex-shrink: 0;
			transition: transform 0.25s ease, box-shadow 0.25s ease;
		}

		/* PAKET P11: das Zeichen ist ein inline-SVG (Van nach links, dahinter
		   Wind) und nimmt seine Farbe aus color des Knopfes. Die Spiegelung
		   steckt im SVG, der Schwarzfilter entfaellt - er war fuer das <img>
		   aus der Mediathek da. Breiter als hoch, deshalb width: auto.
		   Warum, steht in doku/05-fahrplan.md bei P11. */
		.seeleyhdr-cta-icon {
			flex-shrink: 0;
			width: auto;
			height: 20px;
			/* PAKET P41: dieselbe Bewegung wie der Pfeil in den Knoepfen auf
			   sende-uns (.btn span: transform .22s ease, beim Zeigen 5 px) -
			   nur nach LINKS, weil der Van nach links faehrt.
			   ANIMIERT WIRD DAS SVG, NICHT DIE ZWEI <g>: beide tragen ein
			   transform-Attribut (translate und scale, die Spiegelung des
			   Vans steckt darin). Ein CSS-transform auf dem <g> ersetzt das
			   Attribut - der Van stuende dann ungespiegelt und versetzt. */
			transition: transform 0.22s ease;
		}

		@media (hover: hover) {
			.seeleyhdr-cta:hover {
				transform: translateY(-1px);
				box-shadow: 0 4px 14px rgba(225, 214, 169, 0.35);
			}

			.seeleyhdr-cta:hover .seeleyhdr-cta-icon,
			.seeleyhdr-cta:focus-visible .seeleyhdr-cta-icon {
				transform: translateX(-5px);
			}
		}

		.seeleyhdr-mobile-nav {
			display: none;
		}

		.seeleyhdr-burger {
			position: relative;
			display: none;
			align-items: center;
			justify-content: center;
			width: 32px;
			height: 32px;
			background: none;
			border: none;
			outline: none;
			-webkit-tap-highlight-color: transparent;
			cursor: pointer;
			padding: 0;
		}

		/* PAKET B-T2 (Nachttest T2): mit Maus oder Finger kein Ring, mit der
		   Tastatur derselbe Ring wie auf der Laenderseite und im Band (2 px
		   Beige, 3 px Abstand). Bis 0.34.0 stand hier outline: none auch fuer
		   :focus-visible. Begruendung im Fahrplan Mission, B-T2.
		   PAKET B-T4 (Dennis 04.10.: "beige wie ueberall"): dieselbe Regel
		   fuer Logo, Menuelinks (Desktop und offenes Handy-Menue) und
		   "Sende uns" - bis 0.36.0 zeigten sie den blauen Standardring des
		   Browsers. Begruendung im Fahrplan Mission, B-T4. */
		.seeleyhdr-burger:focus {
			outline: none;
		}

		.seeleyhdr-burger:focus-visible,
		.seeleyhdr-logo-link:focus-visible,
		.seeleyhdr-menu a:focus-visible,
		.seeleyhdr-cta:focus-visible {
			outline: 2px solid #E1D6A9;
			outline-offset: 3px;
		}

		.seeleyhdr-burger-icon {
			display: block;
		}

		.seeleyhdr-burger-icon--close {
			display: none;
		}

		.seeleyhdr-burger.is-open .seeleyhdr-burger-icon--open {
			display: none;
		}

		.seeleyhdr-burger.is-open .seeleyhdr-burger-icon--close {
			display: block;
		}

		@media (max-width: 780px) {
			.seeleyhdr-burger {
				display: flex;
			}

			.seeleyhdr-menu--desktop {
				display: none !important;
			}

			.seeleyhdr-right {
				top: 16px !important;
				right: 16px !important;
				gap: 14px !important;
			}

			.seeleyhdr-bar {
				padding-top: 16px !important;
			}

			.seeleyhdr-cta {
				width: 2.6rem;
				height: 2.6rem;
				padding: 0;
			}

			.seeleyhdr-cta-label {
				display: none;
			}

			.seeleyhdr-mobile-nav {
				display: block !important;
				position: fixed !important;
				top: 0 !important;
				left: 0 !important;
				width: 100% !important;
				box-sizing: border-box;
				background-color: #262626;
				overflow: hidden;
				max-height: 0;
				z-index: 9998 !important;
				transition: max-height 0.4s ease;
			}

			.seeleyhdr-mobile-nav .seeleyhdr-menu--mobile {
				flex-direction: column;
				align-items: center;
				text-align: center;
				gap: 1.5rem;
				padding: calc(clamp(2.75rem, 12vw, 3.5rem) + clamp(1.5rem, 4vw, 3rem)) 1.5rem 2.5rem;
			}

			.seeleyhdr-menu--mobile a {
				font-size: 1.15rem;
			}
		}
	

/* === Inhalt - Paket 40a (16.09.2026) ==================================
 *
 * DER ERSTE ABSCHNITT DIESER DATEI, DER AUS KEINEM SNIPPET STAMMT. Die drei
 * darueber sind Umzugsgut aus 1534, 1587 und 1541; dieser hier ist neu, und
 * deshalb steht er zuletzt.
 *
 * WARUM ES IHN GIBT. Paket 40 hat die Grundschrift scharfgeschaltet. Seitdem
 * steht "7. Keine Reichweitenmessung/Tracking" auf der Datenschutzseite in
 * Montserrat 100 statt in Times - 427 px Text in einem 315 px breiten Kasten.
 * Die Seite lief bei 375 px um 82 px quer (live gemessen am 16.09.2026 im
 * iframe fester Breite, die uebrigen elf offenen Seiten 0).
 *
 * REGEL 1 - ES GIBT KEINE BESTEHENDE REGEL ZU AENDERN. Im ausgelieferten CSS
 * der Seite steht overflow-wrap nur an .wp-block-navigation-item__label und
 * .wp-block-column (beides Kernbloecke), word-break nur als
 * normal !important an .screen-reader-text. Fuer Ueberschriften gibt es
 * nichts - deshalb eine neue Regel, und nur deshalb.
 *
 * WARUM AN DEN UEBERSCHRIFTEN UND NICHT AM body (Entscheidung A, Dennis,
 * 16.09.2026): gemessen ist der Fall an einer Ueberschrift. Am body griffe
 * die Regel auch in Fliesstext und lange Adressen - weiter, als der Befund
 * traegt. Ein <wbr> im Text waere die dritte Moeglichkeit gewesen; sie
 * bricht an derselben Stelle, wuerde aber jedes kuenftige lange Wort wieder
 * von Hand verlangen.
 *
 * WAS SIE SICHTBAR TUT: die Ueberschrift wird bei 375 px zweizeilig,
 * "Reichweitenmessung/" und "Tracking", 59 -> 89 px hoch. Dieselbe
 * Umbruchstelle wie beim <wbr> - gemessen, nicht geraten. Sonst aendert sie
 * nichts: keine andere Ueberschrift der dreizehn Seiten laeuft heute ueber.
 *
 * WEG ZURUECK: diesen Abschnitt loeschen, git show 90a4f40:plugins/seeley-basis/basis.css
 */
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

/*
 * PAKET 40c (16.09.2026) - DIE ZELLEN DER COMPLIANZ-COOKIETABELLE.
 *
 * Seit Paket 40c ist die Textfarbe der globalen Stile Hellbeige #F2EBD0
 * (seeley_basis_textfarbe() in seeley-basis.php). Complianz setzt in seinem
 * document.min.css fuer genau diese Selektoren background-color: white - aber
 * keine Textfarbe. Die Zellen (Name, Funktion, Speicherdauer, Zweck und ihre
 * Kopfzeilen) erbten bisher das dunkle #111111 und waren lesbar; mit dem
 * hellen Text kippten 286 Zellen auf 1,07 bis 1,46 : 1 (live simuliert).
 *
 * REGEL 1: Complianz' Regel liegt in einem fremden Plugin, das sich selbst
 * aktualisiert - aendern laesst sie sich nicht. Diese Regel ergaenzt ihr genau
 * die fehlende Haelfte, auf denselben Selektoren, mit der Farbe, die dort bis
 * heute stand. Sichtbar aendert sich an den Zellen damit nichts.
 *
 * LOKAL NICHT PRUEFBAR: die Cookie-Richtlinie ist auf der Werkbank leer.
 *
 * WEG ZURUECK: diese Regel loeschen, zusammen mit seeley_basis_textfarbe().
 */
#cmplz-cookies-overview .cmplz-dropdown .cookies-per-purpose div,
#cmplz-document .cmplz-dropdown .cookies-per-purpose div {
	color: #111111;
}

/*
 * PAKET K1 (18.09.2026) - DIE KOPFLEISTE VERDECKT DEN SEITENANFANG.
 *
 * DER BEFUND, live gemessen am 18.09.2026 bei 375 / 768 / 1024 / 1440 px:
 * die eigene Kopfleiste .seeleyhdr ist position: fixed und damit aus dem
 * Fluss. Auf den drei Rechtsseiten - Impressum, Datenschutz,
 * Cookie-Richtlinie - beginnt der Inhalt unmittelbar unter dem Theme-Kopf,
 * und der ist schmaler als die Leiste:
 *
 *                Leiste   Theme-Kopf   verdeckt
 *      375 px       73         92          -
 *      768 px       87         68        19 px
 *     1024 px       92         69        23 px
 *     1440 px      100         71        29 px
 *
 * Verdeckt ist auf dem Impressum die Ueberschrift "Angaben gemaess § 5 TMG",
 * auf der Datenschutzseite die Zeile "Stand: 05.11.2025" und auf der
 * Cookie-Richtlinie "Diese Cookie-Richtlinie wurde zuletzt am ... geaendert".
 * ALLE DREI SEITEN SIND BETROFFEN, nicht nur das Impressum: auf den beiden
 * anderen steht vor der ersten Ueberschrift ein Absatz, und der ist es, der
 * unter der Leiste liegt.
 *
 * REGEL 1 - ES GIBT KEINE BESTEHENDE REGEL ZU AENDERN. Den Platz am
 * Seitenanfang haelt heute niemand absichtlich: er faellt als Hoehe des
 * Theme-Kopfes ab, den diese drei Seiten als einzige rendern und der
 * vollstaendig hinter der undurchsichtigen Leiste liegt - gemessen endet
 * jedes sichtbare Element des Theme-Kopfes oberhalb ihrer Unterkante. Im
 * ausgelieferten CSS steht weder an .wp-site-blocks noch an body noch an
 * main ein padding-top oder margin-top ungleich 0. Die einzige Stelle, die
 * die Hoehe der Leiste ueberhaupt kennt, ist scroll-padding-top im Abschnitt
 * Kopfbereich - und die gilt nur beim Sprung zu einem Anker, nicht fuer den
 * Seitenanfang. Deshalb eine neue Regel, und nur deshalb.
 *
 * WARUM AM THEME-KOPF UND NICHT AN .wp-site-blocks: der Theme-Kopf ist das
 * Element, das den Platz heute schon haelt - er haelt nur zu wenig. Ein
 * min-height fasst genau die drei Seiten an, die ihn rendern, und laesst die
 * sieben SEELEY-Seiten unberuehrt, deren Inhalt bewusst unter die Leiste
 * laeuft. Und es fasst 375 px nicht an: dort ist der Theme-Kopf mit 92 px
 * schon hoeher als die Leiste, min-height greift nicht.
 *
 * DIE HOEHE WIRD NICHT GERATEN, SONDERN GERECHNET. --seeley-kopf-hoehe ist
 * die Summe, die .seeleyhdr-bar im Abschnitt Kopfbereich aufbaut: Polster
 * oben + Logohoehe + Polster unten, mit denselben clamp()-Werten und
 * derselben Grenze bei 780 px. Nachgerechnet gegen die Messung:
 * 73 / 87 / 92 / 100 px bei 375 / 768 / 1024 / 1440 - vier von vier.
 * Die Variable steht hier und nicht in der Variablenschicht, weil sie zu
 * dieser Regel gehoert und mit ihr zurueckgerollt wird.
 *
 * NICHT MITGEMACHT (Regel 4): scroll-padding-top im Abschnitt Kopfbereich
 * steht weiter auf 100 px / 90 px statt auf dieser Variablen. Das waere eine
 * zweite Aenderung, sie beruehrt alle dreizehn Seiten, und der Abschnitt ist
 * byteweise das Soll von header-pruefen.php.
 *
 * WEG ZURUECK: diesen Abschnitt loeschen.
 */
:root {
	--seeley-kopf-hoehe: calc(clamp(0.75rem, 2vw, 1.5rem) + clamp(2.25rem, 5vw, 3.25rem) + clamp(0.75rem, 2vw, 1.5rem));
}

@media (max-width: 780px) {
	:root {
		--seeley-kopf-hoehe: calc(16px + clamp(2.75rem, 12vw, 3.5rem) + clamp(0.75rem, 2vw, 1.5rem));
	}
}

.wp-site-blocks > header.wp-block-template-part {
	min-height: var(--seeley-kopf-hoehe);
}

/*
 * PAKET M3bz (03.10.2026) - DIE KOPFZEILE WEICHT AUF DEN LAENDERSEITEN AUS.
 *
 * Dennis: "B: Kopfzeile weicht aus". Auf den Kindern von 1522 verschwindet
 * die Kopfzeile beim Herunterscrollen und kommt beim Hochscrollen zurueck;
 * vor der Schwelle von M3bx, mit Tastaturfokus in ihr und bei offenem Menue
 * bleibt sie da. Die Klasse seeley-kopf-weg an <html> setzt das Kopfskript.
 *
 * --seeley-kopf-frei ist, was die Kopfzeile oben gerade belegt: ihre Hoehe
 * (K1), oder 0, solange sie weg ist. Wer unter ihr klebt, nimmt sie statt
 * --seeley-kopf-hoehe und laesst seine Eigenschaft wie sie 0.35s ease laufen.
 *
 * width 100% statt 100vw: transform macht die Kopfzeile zum Bezugsrahmen
 * ihrer fixed-Kinder (.seeleyhdr-right, Menue). Mit 100vw rueckten sie bei
 * sichtbarer Bildlaufleiste um deren Breite nach rechts.
 *
 * Begruendung und Messung: doku/12-fahrplan-mission.md, Paket M3bz.
 * WEG ZURUECK: diesen Abschnitt loeschen.
 */
:root {
	--seeley-kopf-frei: var(--seeley-kopf-hoehe);
}

:root.seeley-kopf-weg {
	--seeley-kopf-frei: 0px;
}

body.parent-pageid-1522 .seeleyhdr {
	width: 100%;
	transform: translateY(0);
	transition: background-color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease;
}

.seeley-kopf-weg body.parent-pageid-1522 .seeleyhdr {
	transform: translateY(-100%);
	box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
	body.parent-pageid-1522 .seeleyhdr {
		transition: background-color 0.35s ease, box-shadow 0.35s ease;
	}
}

/*
 * PAKET M6a3 (03.10.2026) - EIN SPRUNG RECHNET MIT DER KOPFZEILE, DIE GERADE DA IST.
 *
 * html { scroll-padding-top } im Abschnitt Kopfbereich (100 / 90 px) haelt
 * Platz fuer eine Kopfzeile, die immer da ist. Auf den Laenderseiten weicht
 * sie aus (M3bz) - ein Sprung zu einem Anker landete dort 90-100 px zu tief
 * (Entwurf: Oberkante des Abschnitts an der Klebekante der Kapitelleiste).
 * Hier gilt deshalb, was die Kopfzeile oben gerade belegt. Die Kapitelleiste
 * sagt fuer ihre Spruenge selbst, wie es nach dem Sprung steht
 * (laenderseite.js, beobachten()).
 *
 * Begruendung und Messung: doku/12-fahrplan-mission.md, Paket M6a3.
 * WEG ZURUECK: diesen Abschnitt loeschen.
 */
:root:has(> body.parent-pageid-1522) {
	scroll-padding-top: var(--seeley-kopf-frei);
}
