/**
 * Naturwerk Theme — main.css v1.3
 *
 * Kritische Fixes:
 * - overflow-x:clip statt hidden → sticky Header funktioniert
 * - SVG transform-box:fill-box + transform-origin:center → Blüten rotieren korrekt
 * - Responsive-Padding per clamp() auf allen Sections
 * - Heading-Overflow auf Mobile
 */

/* =============================================================
 * RESET & BASE
 * ============================================================= */

*, *::before, *::after {
	box-sizing: border-box;
}

html {
	/* clip statt hidden: verhindert horizontales Scrollen OHNE sticky zu brechen */
	overflow-x: clip;
}

body {
	margin: 0;
	padding: 0;
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }

.wp-site-blocks {
	padding-left: 0 !important;
	padding-right: 0 !important;
	/* Kein overflow hier — bricht sonst sticky */
}

/* alignfull: immer edge-to-edge */
.wp-block-group.alignfull,
.wp-block-cover.alignfull {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Globales Seiten-Padding für Inhaltsblöcke (nicht-alignfull) */
.entry-content > *:not(.alignfull):not(.alignwide),
main > .wp-block-group:not(.alignfull) > .wp-block-group__inner-container > * {
	padding-left: clamp(1rem, 4vw, 2rem);
	padding-right: clamp(1rem, 4vw, 2rem);
}

/* =============================================================
 * HEADER — sticky, funktioniert mit overflow-x:clip
 * =============================================================
 *
 * WICHTIG: overflow-x:hidden auf html/body killt position:sticky.
 * Wir nutzen overflow-x:clip (kein Scrollbar, bricht kein sticky).
 */

.naturwerk-header {
	position: sticky;
	top: 0;
	z-index: 200;
	background: rgba(250, 247, 241, 0.96);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(44, 62, 64, 0.07);
	/* Kein overflow-Wert hier */
}

/* WordPress rendert bei constrained-layout einen inner-container.
   Wir stellen sicher, dass der gesamte Header-Block die volle Breite nutzt. */
.naturwerk-header.wp-block-group,
header.wp-block-template-part > .naturwerk-header {
	width: 100%;
}

/* Innere Zeile: Flexbox, kein Umbruch, volle Breite */
.naturwerk-header .wp-block-group.naturwerk-header__row,
.naturwerk-header__row {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100%;
	gap: 1rem;
}

/* Brand */
.naturwerk-header__brand {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	flex-shrink: 0;
	min-width: 0;
	text-decoration: none;
}

.naturwerk-header__brand .wp-block-site-title {
	margin: 0;
	line-height: 1.2;
	white-space: nowrap;
}

.naturwerk-header__brand .wp-block-site-title a {
	text-decoration: none;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.0625rem;
	font-weight: 500;
	transition: color .15s;
}
.naturwerk-header__brand .wp-block-site-title a:hover {
	color: var(--wp--preset--color--primary-dark);
}

.naturwerk-header__brand .wp-block-site-tagline {
	margin: 0;
	font-size: 0.6875rem;
	letter-spacing: 0.05em;
	color: #5C6B6D;
	white-space: nowrap;
}

/* Actions */
.naturwerk-header__actions {
	display: flex !important;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
}

/* Navigation Desktop */
.naturwerk-header .wp-block-navigation {
	font-size: 0.9375rem;
}

.naturwerk-header .wp-block-navigation .wp-block-navigation-item__content {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	font-weight: 500;
	padding: 0.375rem 0.5rem;
	transition: color .15s;
	white-space: nowrap;
}
.naturwerk-header .wp-block-navigation .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--primary-dark);
}
.naturwerk-header .wp-block-navigation .current-menu-item .wp-block-navigation-item__content {
	color: var(--wp--preset--color--primary-dark);
}

/* CTA-Button */
.naturwerk-header__cta .wp-block-button__link {
	white-space: nowrap !important;
	font-size: 0.875rem !important;
	padding: 0.4rem 1rem !important;
}

/* Hamburger-Farbe */
.naturwerk-header .wp-block-navigation__responsive-container-open,
.naturwerk-header .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--primary-dark);
}

/* Mobile: Navigation-Overlay (WordPress standard) */
.naturwerk-header .wp-block-navigation__responsive-container.is-menu-open {
	background: rgba(250, 247, 241, 0.98) !important;
	z-index: 300;
}

.naturwerk-header .wp-block-navigation__responsive-container.is-menu-open
.wp-block-navigation-item__content {
	font-size: 1.125rem;
	padding: 0.875rem 1.5rem;
	color: var(--wp--preset--color--contrast);
}

/* Tablet: Tagline verstecken */
@media (max-width: 900px) {
	.naturwerk-header__brand .wp-block-site-tagline {
		display: none;
	}
}

/* Mobile: CTA verstecken (zu wenig Platz) */
@media (max-width: 480px) {
	.naturwerk-header .naturwerk-header__cta {
		display: none !important;
	}
}

/* =============================================================
 * HERO
 * ============================================================= */

.naturwerk-hero {
	position: relative;
	width: 100%;
	min-height: clamp(480px, 80vh, 720px);
	background:
		radial-gradient(circle at 15% 25%, rgba(143,179,180,0.18) 0%, transparent 50%),
		radial-gradient(circle at 85% 75%, rgba(232,168,124,0.20) 0%, transparent 50%),
		linear-gradient(135deg, #F4EFE6 0%, #F5D5BE 50%, #F4EFE6 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: clamp(3rem, 8vw, 6rem) clamp(1rem, 5vw, 4rem) clamp(2rem, 5vw, 4rem);
}

/* Hintergrund-SVG abgetrennt, damit overflow:hidden nur hier gilt */
.naturwerk-hero__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	overflow: hidden;
}

.naturwerk-hero__plants {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

/* ── Animations-Keyframes ─────────────────────────────────── */

@keyframes nw-sway-left {
	0%, 100% { transform: translate(0px, 800px) rotate(-2deg); }
	50%       { transform: translate(0px, 800px) rotate(2deg); }
}
@keyframes nw-sway-right {
	0%, 100% { transform: translate(1440px, 800px) rotate(2deg); }
	50%       { transform: translate(1440px, 800px) rotate(-2deg); }
}
@keyframes nw-leaf-pulse {
	0%, 100% { opacity: 0.75; }
	50%       { opacity: 1; }
}
@keyframes nw-float {
	0%, 100% { transform: translateY(0) translateX(0); opacity: 0.3; }
	50%       { transform: translateY(-20px) translateX(8px); opacity: 0.6; }
}
@keyframes nw-fade-in {
	to { opacity: 1; transform: translateY(0) !important; }
}

/* Blüten-Rotation:
 * transform-box:fill-box + transform-origin:center ist der korrekte Fix.
 * Die <g class="naturwerk-blossom"> hat translate(32,32) in SVG-Koordinaten.
 * transform-box:fill-box macht die Bounding-Box der Gruppe zur Referenz,
 * sodass transform-origin:center genau auf den visuellen Mittelpunkt zeigt.
 */
@keyframes nw-blossom-spin {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}

.naturwerk-hero__plant--left  { animation: nw-sway-left  9s ease-in-out infinite; }
.naturwerk-hero__plant--right { animation: nw-sway-right 11s ease-in-out infinite; }
.naturwerk-hero__leaf         { animation: nw-leaf-pulse 4s ease-in-out infinite; }
.naturwerk-hero__leaf--delay-1 { animation-delay: -1s; }
.naturwerk-hero__leaf--delay-2 { animation-delay: -2s; }
.naturwerk-hero__leaf--delay-3 { animation-delay: -3s; }
.naturwerk-hero__leaf--delay-4 { animation-delay: -1.5s; }

.naturwerk-hero__particle              { animation: nw-float 6s ease-in-out infinite; }
.naturwerk-hero__particle--d1 { animation-delay: -1s;   animation-duration: 7s; }
.naturwerk-hero__particle--d2 { animation-delay: -2s;   animation-duration: 8s; }
.naturwerk-hero__particle--d3 { animation-delay: -3s;   animation-duration: 6s; }
.naturwerk-hero__particle--d4 { animation-delay: -4s;   animation-duration: 9s; }
.naturwerk-hero__particle--d5 { animation-delay: -2.5s; animation-duration: 7.5s; }

/* ── Hero-Content ─────────────────────────────────────────── */

.naturwerk-hero__inner {
	position: relative;
	z-index: 2;
	max-width: 700px;
	width: 100%;
	text-align: center;
}

.naturwerk-hero__kicker {
	font-size: 0.8125rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-dark);
	margin: 0 0 1rem;
	font-weight: 500;
	opacity: 0;
	transform: translateY(10px);
	animation: nw-fade-in .8s ease-out .2s forwards;
}

.naturwerk-hero__heading {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.75rem, 5vw, 4rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin: 0 0 1.5rem;
	overflow-wrap: break-word;
	word-break: break-word;
	hyphens: auto;
}

.naturwerk-hero__heading-line {
	display: block;
	opacity: 0;
	transform: translateY(20px);
}
.naturwerk-hero__heading-line--1 { animation: nw-fade-in .9s ease-out .3s forwards; }
.naturwerk-hero__heading-line--2 {
	animation: nw-fade-in .9s ease-out .5s forwards;
	color: var(--wp--preset--color--primary-dark);
}
.naturwerk-hero__heading-line--2 em { font-style: italic; font-weight: 400; }

.naturwerk-hero__intro {
	font-size: clamp(0.9375rem, 1.5vw, 1.2rem);
	line-height: 1.65;
	color: #5C6B6D;
	margin: 0 auto 2.25rem;
	max-width: 560px;
	opacity: 0;
	transform: translateY(15px);
	animation: nw-fade-in .9s ease-out .7s forwards;
}

.naturwerk-hero__ctas {
	display: flex;
	gap: 0.875rem;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 0 1.75rem;
	opacity: 0;
	animation: nw-fade-in .9s ease-out .9s forwards;
}

.naturwerk-hero__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.8125rem 1.75rem;
	border-radius: 999px;
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none;
	transition: all .2s ease;
	white-space: nowrap;
}
.naturwerk-hero__cta--primary {
	background: var(--wp--preset--color--primary);
	color: #fff;
	box-shadow: 0 4px 16px rgba(90,138,139,0.3);
}
.naturwerk-hero__cta--primary:hover {
	background: var(--wp--preset--color--primary-dark);
	transform: translateY(-2px);
	color: #fff;
}
.naturwerk-hero__cta--primary svg { transition: transform .2s; }
.naturwerk-hero__cta--primary:hover svg { transform: translateX(3px); }

.naturwerk-hero__cta--ghost {
	background: transparent;
	color: var(--wp--preset--color--primary-dark);
	border: 1.5px solid var(--wp--preset--color--primary);
}
.naturwerk-hero__cta--ghost:hover {
	background: var(--wp--preset--color--primary);
	color: #fff;
}

.naturwerk-hero__trust {
	font-size: 0.8125rem;
	color: #5C6B6D;
	margin: 0;
	opacity: 0;
	animation: nw-fade-in .9s ease-out 1.1s forwards;
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
}
.naturwerk-hero__trust span:first-child { color: var(--wp--preset--color--accent); letter-spacing:0.1em; }
.naturwerk-hero__sep { opacity: 0.4; }

/* ── Schwerpunkt-Selector ─────────────────────────────────── */

.naturwerk-hero__selector {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 980px;
	margin: clamp(1.5rem, 4vw, 3rem) auto 0;
	padding: clamp(1.25rem, 2.5vw, 2rem) clamp(1rem, 2vw, 1.75rem);
	background: rgba(255,255,255,0.72);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-radius: 20px;
	border: 1px solid rgba(255,255,255,0.85);
	box-shadow: 0 8px 32px rgba(44,62,64,0.09);
	opacity: 0;
	transform: translateY(20px);
	animation: nw-fade-in 1s ease-out 1.3s forwards;
}

.naturwerk-hero__selector-label {
	text-align: center;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(0.9375rem,1.5vw,1.125rem);
	color: var(--wp--preset--color--primary-dark);
	margin: 0 0 1rem;
	font-style: italic;
}

/* Blüten-Grid — padding verhindert clip beim scale() */
.naturwerk-hero__blossoms {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0.5rem;
	margin-bottom: 1.25rem;
	padding: 0.75rem 0.5rem; /* Platz für scale-Transform */
}

.naturwerk-hero__blossom {
	background: transparent;
	border: 0;
	padding: 0.5rem 0.25rem;
	border-radius: 14px;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.375rem;
	transition: background-color .25s, box-shadow .25s;
	color: #5C6B6D;
	/* Kein overflow:hidden — Animationen dürfen über den Button-Rand gehen */
}

.naturwerk-hero__blossom svg {
	width: 52px;
	height: 52px;
	overflow: visible; /* SVG darf über seinen eigenen viewBox-Rand gehen */
	transition: transform .3s cubic-bezier(0.34,1.56,0.64,1);
	flex-shrink: 0;
}

/* ── BLÜTEN-ROTATION: DER RICHTIGE FIX ─────────────────────
 *
 * Problem: <g transform="translate(32,32)"> verschiebt die Gruppe,
 * CSS rotate() addiert sich dazu und rotiert um 0,0 der verschobenen Gruppe.
 *
 * Lösung:
 * - transform-box: view-box   → Koordinaten-Referenz = das gesamte SVG-viewBox
 * - transform-origin: 32px 32px → Mittelpunkt der 64×64 viewBox
 * Diese Kombination rotiert die Gruppe exakt um den visuellen Blüten-Mittelpunkt.
 */
.naturwerk-blossom {
	transform-box: view-box;
	transform-origin: 32px 32px;
}

/* Aktive Blüte: sanfte Dauerrotation */
.naturwerk-hero__blossom.is-active .naturwerk-blossom {
	animation: nw-blossom-spin 16s linear infinite;
}

/* Hover: schnellere Rotation */
.naturwerk-hero__blossom:hover .naturwerk-blossom {
	animation: nw-blossom-spin 7s linear infinite;
}

/* Hover: leichtes Scale am SVG */
.naturwerk-hero__blossom:hover svg {
	transform: scale(1.1);
}

.naturwerk-hero__blossom span {
	font-size: 0.75rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.3;
	transition: color .2s;
}

.naturwerk-hero__blossom.is-active {
	background: rgba(255,255,255,0.95);
	box-shadow: 0 4px 12px rgba(44,62,64,0.1);
	color: var(--wp--preset--color--contrast);
}

/* Content-Panels */
.naturwerk-hero__panels {
	position: relative;
	min-height: 115px;
}

.naturwerk-hero__panel {
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: translateY(8px);
	pointer-events: none;
	transition: opacity .3s ease, transform .3s ease;
	text-align: center;
	padding: 0 0.25rem;
}
.naturwerk-hero__panel.is-active {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.naturwerk-hero__panel h3 {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.125rem, 2vw, 1.5rem);
	font-weight: 500;
	margin: 0 0 0.4rem;
}
.naturwerk-hero__panel p {
	color: #5C6B6D;
	font-size: clamp(0.875rem, 1.2vw, 1rem);
	line-height: 1.6;
	margin: 0 0 0.5rem;
	max-width: 540px;
	margin-left: auto;
	margin-right: auto;
}
.naturwerk-hero__panel-link {
	color: var(--wp--preset--color--primary-dark);
	font-weight: 500;
	font-size: 0.9375rem;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	transition: color .15s;
}
.naturwerk-hero__panel-link:hover { color: var(--wp--preset--color--accent); }

/* ── Hero Responsive ──────────────────────────────────────── */

@media (max-width: 900px) {
	.naturwerk-hero__blossoms {
		gap: 0.375rem;
	}
	.naturwerk-hero__blossom svg {
		width: 44px;
		height: 44px;
	}
	.naturwerk-hero__blossom span {
		font-size: 0.6875rem;
	}
}

@media (max-width: 640px) {
	.naturwerk-hero {
		min-height: auto;
		padding: 3rem 1rem 1.5rem;
	}
	.naturwerk-hero__heading {
		font-size: clamp(1.625rem, 7vw, 2.5rem);
	}
	.naturwerk-hero__ctas {
		flex-direction: column;
		align-items: center;
	}
	.naturwerk-hero__cta {
		width: 100%;
		max-width: 280px;
		justify-content: center;
	}
	/* Mobile: 3+2 Layout */
	.naturwerk-hero__blossoms {
		grid-template-columns: repeat(3, 1fr);
		padding: 0.5rem 0.25rem;
	}
	.naturwerk-hero__blossom:nth-child(4),
	.naturwerk-hero__blossom:nth-child(5) {
		/* Zentriert in Reihe 2 via justify-self */
		justify-self: center;
	}
	/* 4. und 5. in einer 3-Spalten-Grid: sie landen in den ersten 2 Slots der 2. Reihe */
	/* → volle Breite via subgrid würde besser passen, aber Compat ist begrenzt */
	.naturwerk-hero__blossom svg {
		width: 40px;
		height: 40px;
	}
	.naturwerk-hero__blossom span {
		font-size: 0.625rem;
	}
	.naturwerk-hero__selector {
		padding: 1rem 0.75rem;
		margin-top: 1.25rem;
	}
	.naturwerk-hero__panels {
		min-height: 155px;
	}
}

/* prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
	.naturwerk-hero__plant--left,
	.naturwerk-hero__plant--right,
	.naturwerk-hero__leaf,
	.naturwerk-hero__particle,
	.naturwerk-blossom {
		animation: none !important;
	}
	.naturwerk-hero__kicker,
	.naturwerk-hero__heading-line,
	.naturwerk-hero__intro,
	.naturwerk-hero__ctas,
	.naturwerk-hero__trust,
	.naturwerk-hero__selector {
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
	}
}

/* =============================================================
 * GLOBALE TYPOGRAFIE — Overflow-Schutz
 * ============================================================= */

h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	overflow-wrap: break-word;
	word-break: break-word;
	hyphens: auto;
	max-width: 100%;
}

@media (max-width: 640px) {
	h1 { font-size: clamp(1.75rem, 8vw, 2.5rem) !important; }
	h2 { font-size: clamp(1.5rem, 6vw, 2.25rem) !important; }
}

/* =============================================================
 * BUTTONS
 * ============================================================= */

.wp-block-button.is-style-outline .wp-block-button__link {
	border: 1.5px solid var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-dark);
	background: transparent;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	color: #fff;
}

/* =============================================================
 * KONTAKTDATEN-SHORTCODES
 * ============================================================= */

.naturwerk-phone-link,
.naturwerk-email-link {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px dotted currentColor;
	transition: color .15s;
}
.naturwerk-phone-link:hover,
.naturwerk-email-link:hover { color: var(--wp--preset--color--accent); }

.naturwerk-address { font-style: normal; line-height: 1.6; }

.naturwerk-hours { list-style: none; padding: 0; margin: 0; }
.naturwerk-hours li { padding: 0.25rem 0; font-size: 0.9375rem; }
.naturwerk-footer .naturwerk-hours li { color: rgba(244,239,230,0.85); }

/* =============================================================
 * TEAM-GRID — keine verzerrten Bilder
 * ============================================================= */

.naturwerk-team-grid {
	display: grid;
	gap: 1.75rem;
	margin: 2rem 0;
	/* Padding für Edge-to-Edge auf Mobile */
	padding: 0 clamp(0rem, 2vw, 0rem);
}
.naturwerk-team-grid--cols-1 { grid-template-columns: 1fr; }
.naturwerk-team-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.naturwerk-team-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.naturwerk-team-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 900px) {
	.naturwerk-team-grid--cols-3,
	.naturwerk-team-grid--cols-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 580px) {
	.naturwerk-team-grid--cols-2,
	.naturwerk-team-grid--cols-3,
	.naturwerk-team-grid--cols-4 {
		grid-template-columns: 1fr;
	}
}

.naturwerk-team-card {
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(44,62,64,0.07);
	transition: transform .25s ease, box-shadow .25s ease;
	display: flex;
	flex-direction: column;
}
.naturwerk-team-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 28px rgba(44,62,64,0.12);
}

/* Portrait-Container — KEIN verzerrtes Bild */
.naturwerk-team-card__image {
	width: 100%;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: #f0ece4;
	flex-shrink: 0;
}
.naturwerk-team-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	display: block;
}

.naturwerk-team-card__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--primary);
	background: linear-gradient(135deg, #F4EFE6, #E8F2F2);
}

.naturwerk-team-card__body {
	padding: 1.375rem 1.5rem 1.5rem;
	flex: 1;
}
.naturwerk-team-card__name {
	margin: 0 0 0.2rem;
	font-size: 1.1875rem;
	font-family: var(--wp--preset--font-family--heading);
	line-height: 1.25;
}
.naturwerk-team-card__position {
	margin: 0 0 0.625rem;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-dark);
}
.naturwerk-team-card__excerpt {
	margin: 0 0 0.625rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #5C6B6D;
}
.naturwerk-team-card__specs {
	margin: 0;
	font-size: 0.875rem;
	color: #5C6B6D;
}
.naturwerk-team-empty {
	padding: 2rem;
	background: #f4efe6;
	border-radius: 8px;
	text-align: center;
	color: #5C6B6D;
}

/* =============================================================
 * KONTAKTFORMULAR
 * ============================================================= */

.naturwerk-contact-form-wrap {
	background: #fff;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border-radius: 14px;
	box-shadow: 0 2px 10px rgba(44,62,64,0.07);
}
.naturwerk-contact-form__heading { margin-top: 0; font-size: 1.75rem; }
.naturwerk-contact-form__intro { color: #5C6B6D; margin-bottom: 1.75rem; }
.naturwerk-contact-form__row { margin-bottom: 1.125rem; }

.naturwerk-contact-form__row label {
	display: block;
	font-weight: 500;
	font-size: 0.9375rem;
	margin-bottom: 0.35rem;
}

.naturwerk-contact-form__row input[type="text"],
.naturwerk-contact-form__row input[type="email"],
.naturwerk-contact-form__row input[type="tel"],
.naturwerk-contact-form__row select,
.naturwerk-contact-form__row textarea {
	width: 100%;
	padding: 0.7rem 0.9rem;
	border: 1px solid #DDD8CC;
	border-radius: 8px;
	font-size: 1rem;
	font-family: inherit;
	background: #FAFAF8;
	color: var(--wp--preset--color--contrast);
	transition: border-color .15s;
	box-sizing: border-box;
}
.naturwerk-contact-form__row input:focus,
.naturwerk-contact-form__row select:focus,
.naturwerk-contact-form__row textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	background: #fff;
}
.naturwerk-contact-form__row textarea { resize: vertical; min-height: 110px; }

.naturwerk-contact-form__row--checkbox label {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-weight: 400;
	font-size: 0.875rem;
	line-height: 1.6;
	color: #5C6B6D;
}
.naturwerk-contact-form__row--checkbox input[type="checkbox"] {
	margin-top: 0.25rem;
	flex-shrink: 0;
}

.naturwerk-contact-form__honeypot {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.naturwerk-contact-form__submit {
	display: inline-block;
	padding: 0.8rem 2rem;
	background: var(--wp--preset--color--primary);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-size: 1rem;
	font-weight: 500;
	cursor: pointer;
	transition: background-color .15s, transform .1s;
	font-family: inherit;
}
.naturwerk-contact-form__submit:hover { background: var(--wp--preset--color--primary-dark); }
.naturwerk-contact-form__submit:active { transform: translateY(1px); }
.naturwerk-contact-form__submit:disabled { opacity: 0.6; cursor: not-allowed; }

.naturwerk-contact-form__feedback { margin-top: 1rem; border-radius: 8px; }
.naturwerk-contact-form__feedback.is-success {
	padding: 0.875rem 1.125rem;
	background: #E8F4ED;
	border: 1px solid var(--wp--preset--color--primary);
}
.naturwerk-contact-form__feedback.is-error {
	padding: 0.875rem 1.125rem;
	background: #FCE8E0;
	border: 1px solid #E8A87C;
	color: #6B2C0F;
}

/* =============================================================
 * MITARBEITERZÄHLER
 * ============================================================= */

.naturwerk-employee-counter--big-number {
	text-align: center;
	padding: 1.5rem 1rem;
}
.naturwerk-employee-counter--big-number .naturwerk-employee-counter__number {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(3rem, 8vw, 5rem);
	font-weight: 500;
	line-height: 1;
	color: var(--wp--preset--color--primary);
}
.naturwerk-employee-counter--big-number .naturwerk-employee-counter__label {
	font-size: 1rem;
	color: #5C6B6D;
	margin-top: 0.4rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.naturwerk-employee-counter--inline .naturwerk-employee-counter__number {
	color: var(--wp--preset--color--primary-dark);
	font-weight: 600;
}

/* =============================================================
 * FOOTER
 * ============================================================= */

.naturwerk-footer { margin-top: 4rem; }

.naturwerk-footer .wp-block-site-title a {
	color: #F4EFE6 !important;
	text-decoration: none;
}
.naturwerk-footer .wp-block-navigation .wp-block-navigation-item__content {
	color: rgba(244,239,230,0.85);
	text-decoration: none;
	font-weight: 400;
}
.naturwerk-footer .wp-block-navigation .wp-block-navigation-item__content:hover {
	color: #F5D5BE;
}

@media (max-width: 781px) {
	.naturwerk-footer .wp-block-columns {
		flex-direction: column !important;
	}
	.naturwerk-footer .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
}

/* =============================================================
 * MOBILE-PADDING: Sektionen ohne seitlichen Abstand fixen
 *
 * WordPress-Blöcke ohne explizites Padding haben auf Mobile
 * keinen Abstand zum Rand. Wir setzen ein Mindest-Padding
 * auf alle Gruppen die NICHT alignfull sind.
 * ============================================================= */

@media (max-width: 781px) {
	/* Alle wp:group ohne alignfull bekommen seitliches Padding */
	.wp-block-group:not(.alignfull):not(.naturwerk-hero__selector):not(.naturwerk-hero__inner) {
		padding-left: max(1rem, env(safe-area-inset-left));
		padding-right: max(1rem, env(safe-area-inset-right));
	}

	/* Außer Blöcke die bereits eigenes Padding haben */
	.naturwerk-contact-form-wrap,
	.naturwerk-team-card__body,
	.naturwerk-hero__selector {
		/* diese haben eigenes padding — nicht doppeln */
		padding-left: revert;
		padding-right: revert;
	}

	/* Main-Bereich */
	main.wp-block-group {
		padding-left: clamp(1rem, 4vw, 1.5rem) !important;
		padding-right: clamp(1rem, 4vw, 1.5rem) !important;
	}

	/* Hero: eigenes Padding bereits gesetzt */
	.naturwerk-hero.wp-block-group {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
}

/* Safe-Area-Padding für Notch-Geräte */
@supports (padding: env(safe-area-inset-left)) {
	.naturwerk-header {
		padding-left: max(clamp(1rem, 4vw, 2rem), env(safe-area-inset-left)) !important;
		padding-right: max(clamp(1rem, 4vw, 2rem), env(safe-area-inset-right)) !important;
	}
}
