/* ==========================================================================
   CSS Custom Properties
   ========================================================================== */
:root {
	--forest-deep: #1B2D2A;
	--ink-black: #0F1716;
	--paper-cream: #F9F7F2;
	--deer-coat: #A67C52;
	--bordeaux: #5E1914;
	--surface: #fbf9f4;
	--surface-low: #F5F3EE;
	--surface-high: #eae8e3;
	--surface-highest: #e4e2dd;
	--on-surface: #1b1c19;
	--on-surface-var: #424847;
	--outline: #727877;
	--outline-var: #c2c8c6;
	--inverse-surface: #30312e;
	--inverse-on: #f2f1ec;
	--section-gap: 120px;
	--gutter: 24px;
	--container: 1200px;
}

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

/* ==========================================================================
   Base
   ========================================================================== */
html { scroll-behavior: smooth; }

body {
	background-color: var(--paper-cream);
	color: var(--on-surface);
	font-family: 'Hanken Grotesk', system-ui, sans-serif;
	font-size: 18px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

/* ==========================================================================
   Glass Navigation (eigenes header.html-Template-Part)
   ========================================================================== */
header.site-header,
#masthead {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	min-height: 80px;
	display: flex;
	align-items: center;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	background-color: rgba(249, 247, 242, 0.85);
	border-bottom: 1px solid rgba(27, 45, 42, 0.06);
	transition: box-shadow 0.3s ease, background-color 0.3s ease;
}

header.site-header.scrolled,
#masthead.scrolled {
	box-shadow: 0 1px 32px rgba(27, 28, 25, 0.08);
	background-color: rgba(249, 247, 242, 0.96);
}

/* Alle Block-Theme-Seiten brauchen Padding-Top für den fixierten Header */
.wp-site-blocks {
	padding-top: 80px;
}

.site-title,
.site-title a {
	font-family: 'EB Garamond', Georgia, serif !important;
	font-weight: 500;
	color: var(--on-surface) !important;
	letter-spacing: -0.01em;
	text-decoration: none;
}

/* Navigation Links — Label Caps */
.wp-block-navigation a,
.wp-block-navigation-item a {
	font-family: 'Hanken Grotesk', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	color: var(--on-surface-var) !important;
	text-decoration: none !important;
	padding-bottom: 4px;
	position: relative;
	transition: color 0.2s ease;
}

.wp-block-navigation a::after,
.wp-block-navigation-item a::after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 0;
	width: 0;
	height: 1px;
	background: var(--forest-deep);
	transition: width 0.25s ease;
}

.wp-block-navigation a:hover,
.wp-block-navigation .current-menu-item a {
	color: var(--forest-deep) !important;
}

.wp-block-navigation a:hover::after,
.wp-block-navigation .current-menu-item a::after {
	width: 100%;
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.wp-block-button__link,
.wp-element-button {
	font-family: 'Hanken Grotesk', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	background-color: var(--forest-deep) !important;
	color: var(--paper-cream) !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 14px 28px !important;
	transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.wp-block-button__link:hover {
	background-color: var(--ink-black) !important;
	transform: translateY(-1px) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	border: 1px solid var(--forest-deep) !important;
	color: var(--forest-deep) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--forest-deep) !important;
	color: var(--paper-cream) !important;
}

/* Eigene Varianten aus bestehenden Seiteninhalten */
.wp-block-button.is-style-rw-ghost .wp-block-button__link {
	background: transparent !important;
	border: 1px solid var(--paper-cream) !important;
	color: var(--paper-cream) !important;
}

.wp-block-button.is-style-rw-ghost .wp-block-button__link:hover {
	background: var(--paper-cream) !important;
	color: var(--forest-deep) !important;
}

.wp-block-button.is-style-rw-gold .wp-block-button__link {
	background-color: var(--deer-coat) !important;
	color: var(--ink-black) !important;
}

.wp-block-button.is-style-rw-gold .wp-block-button__link:hover {
	background-color: var(--bordeaux) !important;
	color: var(--paper-cream) !important;
}

/* ==========================================================================
   Section Spacing
   ========================================================================== */
.wp-block-group {
	padding-block: var(--section-gap);
}

.wp-block-group.is-style-tight,
.wp-block-group.is-style-compact {
	padding-block: calc(var(--section-gap) / 2);
}

.rw-container {
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

/* ==========================================================================
   Hero (.rw-hero — bestehende Seiteninhalte)
   ========================================================================== */
.rw-hero {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	position: relative;
	overflow: hidden;
	min-height: 90vh;
	padding-block: 0;
	background-color: var(--forest-deep);
	background-size: cover;
	background-position: center;
}

.rw-hero[style*="background-image"]::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, var(--paper-cream) 0%, rgba(249, 247, 242, 0.45) 48%, transparent 78%);
	z-index: 1;
}

.rw-hero-inner {
	position: relative;
	z-index: 2;
	max-width: 640px;
	margin: 0;
	padding-inline: var(--gutter);
}

.rw-hero[style*="background-image"] h1,
.rw-hero[style*="background-image"] .rw-hero-subtitle,
.rw-hero[style*="background-image"] p {
	color: var(--on-surface);
}

.rw-hero .rw-hero-subtitle {
	font-family: 'EB Garamond', Georgia, serif;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.29;
	color: var(--paper-cream);
	margin-bottom: 0.6em;
}

.rw-hero p {
	color: var(--paper-cream);
}

.rw-hero.rw-bg-waldgruen h1,
.rw-hero.rw-bg-waldgruen .rw-hero-subtitle,
.rw-hero.rw-bg-waldgruen p {
	color: var(--inverse-on);
}

.rw-hero-small {
	min-height: 50vh;
}

/* ==========================================================================
   Arch Frame
   ========================================================================== */
.is-style-arch img,
.arch-frame img,
.rw-arch-frame img {
	border-top-left-radius: 200px;
	border-top-right-radius: 200px;
}

/* ==========================================================================
   Watermark
   ========================================================================== */
.has-watermark,
.rw-watermark {
	position: relative;
	overflow: hidden;
}

.has-watermark::after,
.rw-watermark::after {
	content: 'RW';
	font-family: 'EB Garamond', serif;
	font-size: clamp(200px, 30vw, 400px);
	font-weight: 600;
	color: var(--on-surface);
	opacity: 0.03;
	position: absolute;
	bottom: -60px;
	left: -20px;
	line-height: 1;
	pointer-events: none;
	user-select: none;
	z-index: 0;
}

/* ==========================================================================
   Label Caps / Eyebrow
   ========================================================================== */
.is-style-label-caps,
.label-caps {
	font-family: 'Hanken Grotesk', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	color: var(--deer-coat) !important;
}

/* ==========================================================================
   Karten & Bilder — Grayscale-to-Color
   ========================================================================== */
.wp-block-columns .wp-block-column img,
.wp-block-media-text img,
.rw-card img {
	filter: grayscale(20%);
	transition: filter 0.5s ease, transform 0.5s ease;
}

.wp-block-columns .wp-block-column:hover img,
.wp-block-media-text:hover img,
.rw-card:hover img {
	filter: grayscale(0%);
	transform: scale(1.03);
}

.wp-block-columns .wp-block-column {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wp-block-columns .wp-block-column:hover {
	transform: translateY(-2px);
}

.rw-card {
	background: var(--surface-low);
	border: 1px solid rgba(27, 28, 25, 0.08);
	border-radius: 0;
	overflow: hidden;
	padding: 40px 32px;
	height: 100%;
}

.rw-card h3 {
	margin-top: 0;
}

/* Blog-Karten (Latest Posts, Query-Loop) */
.wp-block-post-featured-image img,
.wp-block-latest-posts__list li img,
.wp-block-post-template > li img {
	filter: grayscale(20%);
	transition: filter 0.4s ease, transform 0.4s ease;
}

.wp-block-post:hover .wp-block-post-featured-image img,
.wp-block-latest-posts__list li:hover img,
.wp-block-post-template > li:hover img {
	filter: grayscale(0%);
	transform: scale(1.03);
}

.wp-block-latest-posts__list li,
.wp-block-post-template > li {
	background: var(--surface-low);
	border: 1px solid rgba(27, 28, 25, 0.08);
	overflow: hidden;
}

/* ==========================================================================
   Dunkle / farbige Sektionen (bestehende .rw-bg-* Klassen)
   ========================================================================== */
.rw-bg-waldgruen,
.has-forest-deep-background-color {
	background-color: var(--forest-deep) !important;
	color: var(--inverse-on);
}

.rw-bg-bordeaux,
.has-bordeaux-background-color {
	background-color: var(--bordeaux) !important;
	color: var(--inverse-on);
}

.rw-bg-waldgruen *,
.rw-bg-bordeaux *,
.has-forest-deep-background-color *,
.has-bordeaux-background-color * {
	color: var(--inverse-on) !important;
}

.rw-bg-creme,
.rw-bg-hellcreme {
	background-color: var(--paper-cream);
}

.rw-bg-gold {
	background-color: var(--deer-coat);
}

.rw-text-creme,
.rw-text-creme h1,
.rw-text-creme h2,
.rw-text-creme h3,
.rw-text-creme p {
	color: var(--inverse-on) !important;
}

/* ==========================================================================
   Trennlinien, Checklisten, Kennzahlen, FAQ (bestehende Helper-Klassen)
   ========================================================================== */
.rw-divider {
	width: 60px;
	height: 1px;
	background-color: var(--deer-coat);
	border: none;
	margin: 16px 0 28px;
	opacity: 1;
}

.rw-divider.is-centered {
	margin: 16px auto 28px;
}

.rw-check-list {
	list-style: none;
	padding-left: 0;
}

.rw-check-list li {
	padding-left: 28px;
	position: relative;
	margin-bottom: 10px;
}

.rw-check-list li::before {
	content: "✓";
	color: var(--deer-coat);
	font-weight: 700;
	position: absolute;
	left: 0;
}

.rw-stat-number {
	font-family: 'EB Garamond', Georgia, serif;
	font-weight: 500;
	font-size: 3rem;
	color: var(--paper-cream);
	display: block;
}

.rw-stat-label {
	font-family: 'Hanken Grotesk', sans-serif;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--deer-coat);
}

.rw-faq details {
	border-bottom: 1px solid var(--outline-var);
	padding: 18px 0;
}

.rw-faq summary {
	font-family: 'EB Garamond', Georgia, serif;
	font-weight: 600;
	color: var(--on-surface);
	font-size: 19px;
	cursor: pointer;
}

.rw-faq details p {
	margin-top: 12px;
	color: var(--on-surface-var);
}

/* ==========================================================================
   Footer (eigenes footer.html-Template-Part)
   ========================================================================== */
footer.site-footer {
	background-color: var(--surface-highest);
	border-top: 1px solid rgba(27, 28, 25, 0.05);
	padding-block: var(--section-gap);
}

footer.site-footer .wp-block-heading {
	font-family: 'Hanken Grotesk', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--forest-deep);
}

footer.site-footer a {
	color: var(--on-surface-var);
	transition: color 0.2s ease;
}

footer.site-footer a:hover {
	color: var(--deer-coat);
}

.rw-footer-bottom {
	border-top: 1px solid rgba(27, 28, 25, 0.05);
	font-size: 10px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--on-surface-var);
	opacity: 0.6;
	text-align: center;
	padding-top: 32px;
	padding-bottom: 18px;
}

/* ==========================================================================
   Kontaktformular (Contact Form 7)
   ========================================================================== */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
	width: 100% !important;
	border: none !important;
	border-bottom: 1px solid rgba(27, 45, 42, 0.2) !important;
	border-radius: 0 !important;
	background: transparent !important;
	padding: 12px 0 !important;
	font-family: 'Hanken Grotesk', sans-serif !important;
	color: var(--on-surface) !important;
	transition: border-color 0.2s ease !important;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
	outline: none !important;
	border-bottom-color: var(--forest-deep) !important;
}

.wpcf7-form label {
	font-family: 'Hanken Grotesk', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--on-surface-var);
	display: block;
	margin-bottom: 8px;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 980px) {
	:root { --section-gap: 80px; }
	body { font-size: 16px; }
}

@media (max-width: 767px) {
	:root { --section-gap: 60px; }
	body { font-size: 15px; }
	.wp-site-blocks { padding-top: 70px; }

	.rw-hero {
		text-align: left;
	}
}

/* ==========================================================================
   FSE-Präzisionskorrekturen (ergänzt)
   ========================================================================== */

/* 1 — FSE Wrapper neutralisieren */
.wp-site-blocks,
.is-root-container {
	padding-top: 80px !important;
}

.wp-block-group:where(:not(.alignfull)):not(.is-layout-flex) {
	padding-inline: var(--gutter) !important;
}

.wp-block-group.alignfull {
	padding-inline: 0 !important;
}

.wp-block-group__inner-container,
.wp-block-cover__inner-container {
	max-width: var(--container) !important;
	margin-inline: auto !important;
	padding-inline: var(--gutter) !important;
}

/* 2 — Typografie mit FSE-Spezifität */
h1, .wp-block-post-title,
.wp-block-heading[level="1"] {
	font-family: 'EB Garamond', Georgia, serif !important;
	font-size: clamp(36px, 5vw, 56px) !important;
	font-weight: 500 !important;
	line-height: 1.14 !important;
	letter-spacing: -0.01em !important;
	font-style: normal !important;
	color: var(--on-surface) !important;
}

h2, .wp-block-heading:not([class*="is-style"]) {
	font-family: 'EB Garamond', Georgia, serif !important;
	font-size: clamp(28px, 3.5vw, 36px) !important;
	font-weight: 500 !important;
	line-height: 1.22 !important;
	font-style: normal !important;
	color: var(--on-surface) !important;
}

h3 {
	font-family: 'EB Garamond', Georgia, serif !important;
	font-size: 24px !important;
	font-weight: 600 !important;
	line-height: 1.33 !important;
	font-style: normal !important;
	color: var(--on-surface) !important;
}

p, li, .wp-block-paragraph {
	font-family: 'Hanken Grotesk', system-ui, sans-serif !important;
	font-size: 18px !important;
	line-height: 1.6 !important;
	color: var(--on-surface-var) !important;
}

p.is-style-label-caps,
.wp-block-paragraph.is-style-label-caps {
	font-family: 'Hanken Grotesk', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	color: var(--deer-coat) !important;
	margin-bottom: 16px !important;
}

/* 3 — Navigation Präzision */
.wp-block-navigation,
.wp-block-navigation__container {
	gap: 32px !important;
}

.wp-block-navigation-item__content,
.wp-block-navigation-item a,
.wp-block-navigation a {
	font-family: 'Hanken Grotesk', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	color: var(--on-surface-var) !important;
	text-decoration: none !important;
	padding: 0 !important;
}

.wp-block-navigation-item__content:hover,
.wp-block-navigation a:hover {
	color: var(--forest-deep) !important;
}

.wp-block-site-title a,
.wp-block-site-title {
	font-family: 'EB Garamond', Georgia, serif !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	color: var(--forest-deep) !important;
	text-decoration: none !important;
	letter-spacing: 0.02em !important;
}

/* 4 — Buttons mit voller Spezifität */
.wp-block-button__link,
.wp-block-button__link.wp-element-button,
a.wp-block-button__link {
	font-family: 'Hanken Grotesk', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	background-color: var(--forest-deep) !important;
	color: var(--paper-cream) !important;
	border: 1px solid var(--forest-deep) !important;
	border-radius: 0 !important;
	padding: 14px 28px !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.wp-block-button__link:hover,
a.wp-block-button__link:hover {
	background-color: var(--ink-black) !important;
	border-color: var(--ink-black) !important;
	color: var(--paper-cream) !important;
	transform: translateY(-1px) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline a.wp-block-button__link {
	background-color: transparent !important;
	color: var(--forest-deep) !important;
	border: 1px solid var(--forest-deep) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--forest-deep) !important;
	color: var(--paper-cream) !important;
}

.wp-block-button.is-style-ghost .wp-block-button__link {
	background-color: transparent !important;
	color: var(--paper-cream) !important;
	border: 1px solid rgba(249,247,242,0.6) !important;
}

.wp-block-button.is-style-ghost .wp-block-button__link:hover {
	background-color: rgba(249,247,242,0.1) !important;
	border-color: var(--paper-cream) !important;
}

/* 5 — Hero / Cover Block */
.wp-block-cover,
.wp-block-cover.alignfull {
	min-height: 90vh !important;
	padding: 0 !important;
}

.wp-block-cover__inner-container {
	width: 100% !important;
	max-width: var(--container) !important;
	margin-inline: auto !important;
	padding: 120px var(--gutter) !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	min-height: 90vh !important;
}

.wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(
		to right,
		rgba(27, 45, 42, 0.85) 0%,
		rgba(27, 45, 42, 0.4) 60%,
		transparent 100%
	) !important;
}

.wp-block-cover h1,
.wp-block-cover .wp-block-heading {
	color: var(--paper-cream) !important;
	max-width: 640px !important;
}

.wp-block-cover p {
	color: rgba(249,247,242,0.85) !important;
	max-width: 560px !important;
}

/* 6 — Columns und Karten */
.wp-block-columns {
	gap: 32px !important;
	align-items: stretch !important;
}

.wp-block-column > .wp-block-group {
	height: 100% !important;
	padding: 40px 32px !important;
	background: var(--surface-low) !important;
	border: 1px solid rgba(27,28,25,0.08) !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.wp-block-column > .wp-block-group:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 20px 60px rgba(27,28,25,0.08) !important;
}

.wp-block-column img {
	filter: grayscale(20%) !important;
	transition: filter 0.5s ease, transform 0.5s ease !important;
	width: 100% !important;
	height: auto !important;
}

.wp-block-column:hover img {
	filter: grayscale(0%) !important;
}

.wp-block-image.is-style-arch img,
.is-style-arch .wp-block-image img {
	border-top-left-radius: 200px !important;
	border-top-right-radius: 200px !important;
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
}

/* 7 — Sektionen Hintergrund */
.has-forest-deep-background-color {
	background-color: var(--forest-deep) !important;
}

.has-forest-deep-background-color,
.has-forest-deep-background-color h1,
.has-forest-deep-background-color h2,
.has-forest-deep-background-color h3,
.has-forest-deep-background-color p,
.has-forest-deep-background-color li,
.has-forest-deep-background-color a {
	color: var(--inverse-on) !important;
}

.has-surface-low-background-color {
	background-color: var(--surface-low) !important;
}

.has-surface-background-color {
	background-color: var(--surface) !important;
}

.has-watermark {
	position: relative !important;
	overflow: hidden !important;
}

.has-watermark::after {
	content: 'RW' !important;
	font-family: 'EB Garamond', serif !important;
	font-size: clamp(200px, 30vw, 380px) !important;
	font-weight: 600 !important;
	color: var(--on-surface) !important;
	opacity: 0.03 !important;
	position: absolute !important;
	bottom: -60px !important;
	left: -20px !important;
	line-height: 1 !important;
	pointer-events: none !important;
	user-select: none !important;
	z-index: 0 !important;
}

/* 8 — Blog / Post Loop */
.wp-block-post-template {
	gap: 32px !important;
}

.wp-block-post {
	background: var(--surface-low) !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.wp-block-post:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 20px 60px rgba(27,28,25,0.08) !important;
}

.wp-block-post-featured-image img {
	filter: grayscale(20%) !important;
	transition: filter 0.4s ease !important;
	width: 100% !important;
	aspect-ratio: 16/9 !important;
	object-fit: cover !important;
}

.wp-block-post:hover .wp-block-post-featured-image img {
	filter: grayscale(0%) !important;
}

.wp-block-post-title a {
	font-family: 'EB Garamond', serif !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	color: var(--on-surface) !important;
	text-decoration: none !important;
}

.wp-block-post-date time {
	font-family: 'Hanken Grotesk', sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	color: var(--deer-coat) !important;
}

/* 9 — Footer Präzision */
.wp-block-template-part footer,
footer.wp-block-template-part {
	background-color: var(--surface-highest) !important;
	border-top: 1px solid rgba(27,28,25,0.06) !important;
	padding-block: 80px !important;
}

.wp-block-template-part footer h2,
.wp-block-template-part footer h3,
.wp-block-template-part footer .wp-block-heading {
	font-family: 'Hanken Grotesk', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	color: var(--forest-deep) !important;
	margin-bottom: 20px !important;
}

.wp-block-template-part footer a {
	color: var(--on-surface-var) !important;
	text-decoration: none !important;
	font-size: 14px !important;
	transition: color 0.2s ease !important;
}

.wp-block-template-part footer a:hover {
	color: var(--deer-coat) !important;
}

.wp-block-template-part footer .wp-block-paragraph:last-child {
	font-size: 11px !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--on-surface-var) !important;
	opacity: 0.5 !important;
	text-align: center !important;
	margin-top: 60px !important;
	padding-top: 32px !important;
	border-top: 1px solid rgba(27,28,25,0.06) !important;
}

/* 10 — Kontaktformular (CF7) */
.wpcf7-form {
	display: flex !important;
	flex-direction: column !important;
	gap: 32px !important;
}

.wpcf7-form-control-wrap {
	display: block !important;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
	width: 100% !important;
	border: none !important;
	border-bottom: 1px solid rgba(27,45,42,0.2) !important;
	border-radius: 0 !important;
	background: transparent !important;
	padding: 12px 0 !important;
	font-family: 'Hanken Grotesk', sans-serif !important;
	font-size: 16px !important;
	color: var(--on-surface) !important;
	outline: none !important;
	transition: border-color 0.2s ease !important;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
	border-bottom-color: var(--forest-deep) !important;
}

.wpcf7-form label {
	font-family: 'Hanken Grotesk', sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	color: var(--on-surface-var) !important;
	display: block !important;
	margin-bottom: 8px !important;
}

/* 11 — Responsive */
@media (max-width: 980px) {
	:root {
		--section-gap: 80px !important;
	}
	.wp-block-columns {
		flex-direction: column !important;
	}
	h1, .wp-block-post-title {
		font-size: clamp(28px, 6vw, 40px) !important;
	}
	h2 {
		font-size: clamp(24px, 4vw, 32px) !important;
	}
}

@media (max-width: 767px) {
	:root {
		--section-gap: 60px !important;
	}
	.wp-site-blocks {
		padding-top: 70px !important;
	}
	body {
		font-size: 16px !important;
	}
	.wp-block-cover__inner-container {
		padding: 80px var(--gutter) !important;
	}
}
