/* Zwielicht: Farben für Light und Dark, Kopf, Fuss und Seitentitel. Die Module bringen ihr eigenes CSS mit. */
:root {
	--zw-bg: #fafaf7;
	--zw-surface: #efefea;
	--zw-fg: #121413;
	--zw-muted: #61655f;
	--zw-line: #d6d6cf;
	--zw-shade: rgba(8, 10, 12, .66);
	--zw-on-photo: #ffffff;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--zw-bg: #0d0f0e;
		--zw-surface: #171a18;
		--zw-fg: #ecede9;
		--zw-muted: #9a9e98;
		--zw-line: #2c302d;
		color-scheme: dark;
	}
}
:root[data-theme="dark"] {
	--zw-bg: #0d0f0e;
	--zw-surface: #171a18;
	--zw-fg: #ecede9;
	--zw-muted: #9a9e98;
	--zw-line: #2c302d;
	color-scheme: dark;
}

body { background: var(--zw-bg); color: var(--zw-fg); transition: background-color .4s ease, color .4s ease; }
html[data-motion="off"] body { transition: none; }
:focus-visible { outline: 2px solid var(--zw-fg); outline-offset: 2px; }
::selection { background: var(--zw-fg); color: var(--zw-bg); }
[hidden] { display: none !important; }

/* Kopf und Fuss halten denselben Seitenrand wie der Inhalt */
.zw-header, .zw-footer {
	padding-left: var(--wp--style--root--padding-left, max(16px, 4vw));
	padding-right: var(--wp--style--root--padding-right, max(16px, 4vw));
}

/* Kopf */
.zw-header { min-height: 64px; gap: 20px; border-bottom: 1px solid var(--zw-line); }
.zw-header .wp-block-site-title a { color: var(--zw-fg); }
.zw-nav.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content { color: var(--zw-muted); transition: color .2s; }
.zw-nav.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
.zw-nav.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content[aria-current="page"] { color: var(--zw-fg); }
.zw-header-tools { gap: 14px; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--zw-bg) !important; color: var(--zw-fg) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.8rem; text-transform: none; color: var(--zw-fg); }
@media (max-width: 600px) { .zw-header .zw-ortszeit { display: none; } }

/* Seiten */
.zw-main { padding-bottom: 72px; }
.zw-seitentitel {
	font-size: var(--wp--preset--font-size--xx-large);
	text-transform: uppercase;
	letter-spacing: -.045em;
	line-height: .92;
	margin-block: 48px 36px !important;
}
.wp-block-separator { border-top-width: 1px; margin-block: 56px !important; opacity: 1; }
.wp-block-pullquote { text-align: left; }
.wp-block-pullquote blockquote p { font-size: inherit; }
.wp-block-image img { display: block; }
.wp-block-columns { gap: 48px; }
@media (max-width: 781px) { .wp-block-columns { gap: 20px; } }

/* Fuss */
.zw-footer { border-top: 1px solid var(--zw-line); padding-block: 32px 20px; }
.zw-footer-row { gap: 12px 24px; align-items: center; }
.zw-footer-links { margin: 0; font-size: .95rem; }
.zw-footer-links a { text-decoration: none; }
.zw-footer-links a:hover { text-decoration: underline; }
