/* =============================================================================
 * Kunden-Theme (Template) — Basis-Styles
 * -----------------------------------------------------------------------------
 * Nur Layout-Grundlagen; Gestaltung kommt aus theme.json (Tokens) und den
 * Block-Attributen der Seed-Seiten. Keine externen Ressourcen.
 * ========================================================================== */

body {
	margin: 0;
	-webkit-font-smoothing: antialiased;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--wp--preset--color--white, #fff);
	border-bottom: 1px solid var(--wp--preset--color--surface, #f4f3ef);
	padding-top: 0.9rem;
	padding-bottom: 0.9rem;
}

.site-header a {
	text-decoration: none;
}

.site-footer {
	margin-top: 4rem;
	padding-top: 2rem;
	padding-bottom: 2rem;
	border-top: 1px solid var(--wp--preset--color--surface, #f4f3ef);
	color: var(--wp--preset--color--muted, #555);
	font-size: 0.9rem;
}

/* Hero-/Intro-Flächen: neutrale Fläche, Kunde setzt Farbe über theme.json. */
.hero {
	background: var(--wp--preset--color--surface, #f4f3ef);
	padding: 3rem 1.25rem;
}

.card-grid .wp-block-column {
	background: var(--wp--preset--color--surface, #f4f3ef);
	border-radius: 0.5rem;
	padding: 1.25rem;
}

.wp-block-button__link {
	text-decoration: none;
}

/* Sichtbarer Fokusring (WCAG 2.2 AA). */
:where(a, button, input, textarea, select):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent, #c9a227);
	outline-offset: 2px;
}

/* Druck: Navigation und Buttons ausblenden. */
@media print {
	.site-header, .site-footer, .wp-block-button { display: none !important; }
}

/* -----------------------------------------------------------------------------
 * Kopfbereich: Website-Titel als Markenzeile, nicht als Ueberschrift.
 * Ohne diese Regel erbt .wp-block-site-title die H1-Groesse und konkurriert
 * mit der eigentlichen Seiten-H1 (belegt im Screenshot 2026-11-07).
 * -------------------------------------------------------------------------- */
.site-header .wp-block-site-title {
	font-size: 1.0625rem;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: 0.01em;
	margin: 0;
	max-width: 60vw;
}

.site-header .wp-block-site-title a {
	color: var(--wp--preset--color--primary, #123a5c);
}

@media (min-width: 782px) {
	.site-header .wp-block-site-title {
		font-size: 1.25rem;
		max-width: none;
	}
}

/* Hero: etwas mehr Luft, damit Kicker und H1 nicht kleben. */
.wp-block-group.hero {
	padding-top: 3rem;
	padding-bottom: 2.5rem;
}

@media (max-width: 600px) {
	.wp-block-group.hero {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
}
