/* WordPress Helden – Richtung B "Helden, modern". Ergänzt theme.json. */

:root {
	--wph-navy: var(--wp--preset--color--navy);
	--wph-blau: var(--wp--preset--color--blau);
	--wph-himmel: var(--wp--preset--color--himmel);
	--wph-wolke: var(--wp--preset--color--wolke);
	--wph-gelb: var(--wp--preset--color--gelb);
	--wph-gelb-dunkel: #F2B423;
	--wph-linie: var(--wp--preset--color--linie);
	--wph-leise: var(--wp--preset--color--text-leise);
	--wph-text-hell: #C9D6E6;
	--wph-r-s: 12px;
	--wph-r-m: 20px;
	--wph-r-l: 28px;
	--wph-schatten: 0 1px 2px rgba(15, 34, 64, .04), 0 8px 24px rgba(15, 34, 64, .06);
	--wph-schatten-hoch: 0 2px 4px rgba(15, 34, 64, .05), 0 16px 40px rgba(15, 34, 64, .10);
	--wph-abstand: clamp(3.5rem, 8vw, 6rem);
}

html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
:focus-visible { outline: 3px solid var(--wph-gelb); outline-offset: 2px; border-radius: 4px; }
::selection { background: var(--wph-gelb); color: var(--wph-navy); }
a { text-underline-offset: .18em; text-decoration-thickness: 1px; }
strong { color: inherit; font-weight: 700; }
img { height: auto; }

/* ---------------------------------------------------------------- Kopf */

.wph-topbar {
	padding: .45rem clamp(1rem, 4vw, 2rem) !important;
	font-size: .875rem;
	gap: .5rem 1.5rem;
}
.wph-topbar p { margin: 0; }
.wph-topbar a { color: #fff; text-decoration: none; }
.wph-topbar a:hover { color: var(--wph-gelb); }
.wph-topbar__info { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; color: var(--wph-text-hell); }
.wph-topbar__cta a {
	display: inline-block; background: var(--wph-gelb); color: var(--wph-navy) !important;
	font-weight: 600; padding: .3rem .95rem; border-radius: 999px;
}
.wph-topbar__cta a:hover { background: var(--wph-gelb-dunkel); }
@media (max-width: 720px) {
	.wph-topbar__zeit, .wph-topbar__mail { display: none; }
}

.wph-kopf { position: sticky; top: 0; z-index: 50; }
.admin-bar .wph-kopf { top: 32px; }
@media (max-width: 782px) { .admin-bar .wph-kopf { top: 0; position: relative; } }
.wph-kopfleiste {
	background: rgba(255, 255, 255, .94);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--wph-linie);
	padding-top: .75rem; padding-bottom: .75rem;
}
.wph-marke { gap: .75rem; }
.wph-marke .wp-block-site-title { margin: 0; line-height: 1.1; }

.wph-nav { gap: .25rem 1.4rem; }
.wph-nav .wp-block-navigation-item__content { color: var(--wph-navy); text-decoration: none; padding: .35rem 0; }
.wph-nav .wp-block-navigation-item__content:hover,
.wph-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--wph-blau); }
.wph-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--wph-linie) !important; border-radius: var(--wph-r-s);
	box-shadow: var(--wph-schatten-hoch); padding: .5rem 0; min-width: 240px !important;
}
.wph-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .5rem 1.1rem; }
.wph-nav .wph-nav-cta > .wp-block-navigation-item__content {
	background: var(--wph-navy); color: #fff; border-radius: 999px; padding: .55rem 1.2rem; font-weight: 600;
}
.wph-nav .wph-nav-cta > .wp-block-navigation-item__content:hover { background: var(--wph-blau); color: #fff; }
.wph-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.5rem; background: #fff;
}
.wph-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: 1rem; }
.wph-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; }

/* ---------------------------------------------------------------- Seitenrahmen */

.wph-seite { min-height: 50vh; }
.wph-inhalt > :first-child:not(.alignfull) { margin-top: var(--wph-abstand); }
.wph-inhalt > :last-child:not(.alignfull) { margin-bottom: var(--wph-abstand); }
.wph-inhalt > .alignfull + .alignfull { margin-top: 0; }
.wph-inhalt > .alignfull:last-child { margin-bottom: 0; }

/* Hero */
.wph-hero {
	position: relative; overflow: hidden;
	padding-top: clamp(3rem, 7vw, 5.5rem) !important;
	padding-bottom: clamp(3rem, 7vw, 5.5rem) !important;
}
.wph-hero::before {
	content: ""; position: absolute; pointer-events: none;
	width: 520px; height: 520px; right: -160px; top: -200px; border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 200, 69, .22), rgba(255, 200, 69, 0) 70%);
}
.wph-hero > * { position: relative; }
.wph-hero h1 { margin-top: 0; max-width: 22ch; }
.wph-hero.has-text-align-center h1,
.wph-hero h1.has-text-align-center { margin-inline: auto; }
.wph-hero--beitrag h1, .wph-hero--liste h1 { max-width: 28ch; }
.wph-lead { font-size: var(--wp--preset--font-size--gross); line-height: 1.6; color: var(--wph-leise); max-width: 62ch; }
.has-text-align-center.wph-lead { margin-inline: auto; }
.wph-band .wph-lead { color: var(--wph-text-hell); }

/* Abschnitte */
.wph-sektion, .wph-band {
	padding-top: var(--wph-abstand) !important;
	padding-bottom: var(--wph-abstand) !important;
}
.wph-sektion:not(.has-background) + .wph-sektion:not(.has-background) { padding-top: 0 !important; }
.wph-sektion > h2:first-child, .wph-band > h2:first-child { margin-top: 0; }
.wph-sektion > h2 + .wph-lead { margin-top: .75rem; }
.wph-sektion > .wph-lead + .wph-raster { margin-top: 2.5rem; }

.wph-band { color: #E8EEF6; }
.wph-band :where(h1, h2, h3, h4, h5, h6) { color: #fff; }
.wph-band a:not(.wp-element-button) { color: #fff; }
.wph-band a:not(.wp-element-button):hover { color: var(--wph-gelb); }
.wph-band .wp-element-button { background: var(--wph-gelb); color: var(--wph-navy); }
.wph-band .wp-element-button:hover { background: var(--wph-gelb-dunkel); color: var(--wph-navy); }

/* Karten (Spalten und Gruppen) */
.is-style-karte, .is-style-karte-weiss {
	border: 1px solid var(--wph-linie); border-radius: var(--wph-r-m);
	padding: clamp(1.25rem, 3vw, 2rem) !important;
	transition: transform .2s ease, box-shadow .2s ease;
}
.is-style-karte { background: var(--wph-wolke); }
.is-style-karte-weiss, .has-himmel-background-color .is-style-karte, .has-wolke-background-color .is-style-karte {
	background: #fff; box-shadow: var(--wph-schatten);
}
.wph-band .is-style-karte, .wph-band .is-style-karte-weiss {
	background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); box-shadow: none;
}
.is-style-karte > :first-child, .is-style-karte-weiss > :first-child { margin-top: 0; }
.is-style-karte > :last-child, .is-style-karte-weiss > :last-child { margin-bottom: 0; }
.wp-block-columns:has(> .is-style-karte), .wp-block-columns:has(> .is-style-karte-weiss) { gap: 1.5rem; }
.is-style-karte h3, .is-style-karte-weiss h3 { font-size: 1.25rem; }

/* Icons aus Font Awesome (SVG) */
.wph-icon { display: flex; color: var(--wph-blau); line-height: 0; margin-bottom: 1rem; }
.wph-icon svg { width: 2.5rem; height: 2.5rem; }
.wph-icon--sm svg { width: 1.5rem; height: 1.5rem; }
.wph-icon--md svg { width: 2.5rem; height: 2.5rem; }
.wph-icon--lg svg { width: 3.25rem; height: 3.25rem; }
.wph-icon--xl svg { width: 4rem; height: 4rem; }
.wph-icon--center { justify-content: center; }
.wph-icon--left { justify-content: flex-start; }
.wph-icon--kachel svg {
	box-sizing: content-box; padding: .9rem; border-radius: 16px; background: var(--wph-himmel);
	width: 1.75rem; height: 1.75rem;
}
.has-himmel-background-color .wph-icon--kachel svg { background: #fff; }
.wph-band .wph-icon { color: var(--wph-gelb); }
.wph-band .wph-icon--kachel svg { background: rgba(255, 255, 255, .08); }

/* Hinweiskästen */
.wph-hinweis {
	border-radius: var(--wph-r-s); padding: 1.1rem 1.35rem !important;
	border-left: 4px solid var(--wph-blau); background: var(--wph-himmel);
}
.wph-hinweis > :first-child { margin-top: 0; }
.wph-hinweis > :last-child { margin-bottom: 0; }
.wph-hinweis--warnung { border-left-color: var(--wph-gelb-dunkel); background: #FFF7E3; }
.wph-hinweis--gefahr { border-left-color: #C2412D; background: #FDEEEB; }
.wph-hinweis--ok { border-left-color: #1E7A44; background: #EAF6EF; }

/* Listen mit Haken */
.is-style-haken { list-style: none; padding-left: 0; }
.is-style-haken li { position: relative; padding-left: 1.9rem; margin-bottom: .5rem; }
.is-style-haken li::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 1.2rem; height: 1.2rem; border-radius: 50%;
	background: var(--wph-himmel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23245889' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 70% no-repeat;
}
.wph-band .is-style-haken li::before, .wph-fakten .is-style-haken li::before {
	background-color: var(--wph-gelb);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F2240' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E");
}

/* Buttons */
.wp-block-button.is-style-gelb .wp-block-button__link { background: var(--wph-gelb); color: var(--wph-navy); }
.wp-block-button.is-style-gelb .wp-block-button__link:hover { background: var(--wph-gelb-dunkel); color: var(--wph-navy); }
.wp-block-button.is-style-hell .wp-block-button__link {
	background: #fff; color: var(--wph-navy); box-shadow: inset 0 0 0 1.5px var(--wph-linie);
}
.wp-block-button.is-style-hell .wp-block-button__link:hover { box-shadow: inset 0 0 0 1.5px var(--wph-blau); color: var(--wph-blau); }
.wph-band .wp-block-button.is-style-hell .wp-block-button__link,
.wph-cta .wp-block-button.is-style-hell .wp-block-button__link { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .4); }
.wp-element-button { transition: background-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease; }
.wp-element-button:active { transform: translateY(1px); }

/* Aufklapper, Tabellen, Code, Bilder */
.wp-block-details { margin-block: .75rem; transition: box-shadow .2s ease; }
.wp-block-details + .wp-block-details { margin-top: .75rem; }
.wp-block-details[open] { box-shadow: var(--wph-schatten); }
.wp-block-details summary {
	cursor: pointer; font-weight: 600; color: var(--wph-navy); list-style: none; position: relative; padding-right: 2rem;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: ""; position: absolute; right: 0; top: 50%; width: .6rem; height: .6rem; margin-top: -.4rem;
	border-right: 2px solid var(--wph-blau); border-bottom: 2px solid var(--wph-blau); transform: rotate(45deg);
	transition: transform .2s ease;
}
.wp-block-details[open] summary::after { transform: rotate(-135deg); margin-top: -.1rem; }
.wp-block-details[open] summary { margin-bottom: .75rem; }
.wp-block-details > :last-child { margin-bottom: 0; }

.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th, .wp-block-table td { border: 1px solid var(--wph-linie); padding: .6rem .8rem; text-align: left; }
.wp-block-table thead th { background: var(--wph-himmel); color: var(--wph-navy); }

:not(pre) > code { background: var(--wph-himmel); color: var(--wph-navy); padding: .1em .35em; border-radius: 4px; font-size: .9em; }
.wp-block-code code { background: none; color: inherit; padding: 0; white-space: pre-wrap; }

.wp-block-image img { border-radius: var(--wph-r-s); }
.wp-block-image.is-style-rounded img { border-radius: 999px; }

/* ---------------------------------------------------------------- Startseite */

.wph-hero--start h1 { max-width: none; font-size: clamp(2.25rem, 5vw, 3.6rem); }
.wph-ort {
	display: inline-flex; align-items: center; gap: .45rem; margin-bottom: 1rem;
	font-family: var(--wp--preset--font-family--inter); font-size: .95rem; font-weight: 600; letter-spacing: 0;
	color: var(--wph-blau); background: #fff; border: 1px solid var(--wph-linie); border-radius: 999px; padding: .35rem .9rem;
}
.wph-ort::before {
	content: ""; width: 16px; height: 16px; flex: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23245889' stroke-width='2'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wph-claim { display: block; }
.wph-hero--start .wp-block-buttons { margin-top: 2rem; }

.wph-hero__bild { position: relative; display: flex; justify-content: center; padding: 1rem 0; }
.wph-hero__bild img { position: relative; z-index: 1; width: auto; max-height: 460px; filter: drop-shadow(0 18px 30px rgba(15, 34, 64, .18)); }
.wph-hero__kreis {
	position: absolute; z-index: 0; left: 50%; top: 50%; width: min(400px, 90%); aspect-ratio: 1; transform: translate(-50%, -50%);
	border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, #DCE8F5 70%);
}
.wph-chip {
	position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: .5rem;
	background: #fff; color: var(--wph-navy); font-size: .875rem; font-weight: 600; white-space: nowrap;
	padding: .55rem .9rem; border-radius: 999px; box-shadow: var(--wph-schatten-hoch);
	animation: wph-schweben 6s ease-in-out infinite;
}
.wph-chip__icon { width: 22px; height: 22px; border-radius: 50%; flex: none; background: center / 14px no-repeat; }
.wph-chip--1 { left: 0; top: 18%; }
.wph-chip--1 .wph-chip__icon { background-color: #EAF6EF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E7A44' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E"); }
.wph-chip--2 { right: 0; top: 46%; animation-delay: -2s; }
.wph-chip--2 .wph-chip__icon { background-color: #FFF4D6; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A5A00' stroke-width='2.4'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.4 8.3-8 9-4.6-.7-8-4.5-8-9V6z'/%3E%3C/svg%3E"); }
.wph-chip--3 { left: 6%; bottom: 10%; animation-delay: -4s; }
.wph-chip--3 .wph-chip__icon { background-color: var(--wph-himmel); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23245889' stroke-width='2.4'%3E%3Cpath d='M4 15v4h16v-4M12 4v11M7 10l5 5 5-5'/%3E%3C/svg%3E"); }
@keyframes wph-schweben { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@media (prefers-reduced-motion: reduce) { .wph-chip { animation: none; } html { scroll-behavior: auto; } }
@media (max-width: 781px) {
	.wph-hero__bild img { max-height: 300px; }
	.wph-chip { font-size: .8rem; }
}

.wph-fakten { padding-top: 1.1rem !important; padding-bottom: 1.1rem !important; }
.wph-fakten__liste {
	display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 2.5rem; margin: 0 auto !important;
	font-weight: 600; max-width: var(--wp--style--global--wide-size) !important;
}
.wph-fakten__liste li { margin: 0; }

.wph-raster { gap: 1.25rem !important; }
.wph-kopf { gap: 1rem 2rem; margin-bottom: 2.5rem; }
.wph-kopf h2 { margin: 0; }
.wph-kopf .wph-lead { margin: .75rem 0 0; }
.wph-mehr { margin: 0; }
.wph-mehr a { font-weight: 600; text-decoration: none; white-space: nowrap; }
.wph-mehr a::after { content: " →"; }

/* Karten mit Gesamtlink: der Link der Überschrift deckt die Karte ab */
.wph-leistung, .wph-thema, .wph-tipp { position: relative; }
.wph-leistung h3 a::after, .wph-thema__titel a::after, .wph-tipp__titel a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }

.wph-leistung {
	background: #fff; border: 1px solid var(--wph-linie); border-radius: var(--wph-r-m); padding: 1.6rem !important;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.wph-leistung:hover, .wph-thema:hover, .wph-tipp:hover { transform: translateY(-3px); box-shadow: var(--wph-schatten-hoch); border-color: transparent; }
.wph-leistung__icon {
	display: inline-flex; width: 52px; height: 52px; align-items: center; justify-content: center;
	border-radius: 14px; background: var(--wph-himmel); color: var(--wph-blau); margin-bottom: 1rem;
}
.wph-leistung h3 { font-size: 1.2rem; margin: 0 0 .4rem; }
.wph-leistung h3 a { color: var(--wph-navy); text-decoration: none; }
.wph-leistung p { margin: 0; color: var(--wph-leise); font-size: .975rem; }
.wph-leistung--dunkel { background: var(--wph-navy); border-color: var(--wph-navy); }
.wph-leistung--dunkel h3 a { color: #fff; }
.wph-leistung--dunkel p { color: var(--wph-text-hell); }
.wph-leistung--dunkel .wph-leistung__icon { background: var(--wph-gelb); color: var(--wph-navy); }

.wph-referenz { background: #fff; border-radius: var(--wph-r-m); overflow: hidden; box-shadow: var(--wph-schatten); }
.wph-referenz .wp-block-image { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--wph-himmel); }
.wph-referenz .wp-block-image img { border-radius: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform .6s ease; }
.wph-referenz:hover .wp-block-image img { transform: scale(1.03); }
.wph-referenz > :not(.wp-block-image) { padding-inline: 1.25rem; }
.wph-referenz h3 { font-size: 1.1rem; margin: 1.1rem 0 .35rem; }
.wph-referenz p { font-size: .95rem; color: var(--wph-leise); margin: 0 0 .75rem; }
.wph-tag { font-size: .8rem !important; font-weight: 600; color: var(--wph-blau) !important; padding-bottom: 1.25rem; }

.wph-paket {
	background: #fff; border: 1px solid var(--wph-linie); border-radius: var(--wph-r-l); padding: 2rem !important;
	display: flex; flex-direction: column;
}
.wph-paket .wp-block-buttons { margin-top: auto; padding-top: 1rem; }
.wph-paket .wp-block-button, .wph-paket .wp-block-button__link { width: 100%; text-align: center; }
.wph-paket h3 { margin: 0; font-size: 1.35rem; }
.wph-paket__preis { margin: .5rem 0 1.25rem; color: var(--wph-leise); }
.wph-paket__preis strong { font-family: var(--wp--preset--font-family--bricolage); font-size: 2.4rem; font-weight: 800; color: var(--wph-navy); }
.wph-paket--top { background: var(--wph-navy); border-color: var(--wph-navy); color: #E8EEF6; box-shadow: var(--wph-schatten-hoch); }
.wph-paket--top h3, .wph-paket--top .wph-paket__preis strong { color: #fff; }
.wph-paket--top .wph-paket__preis { color: var(--wph-text-hell); }
.wph-paket--top .is-style-haken li::before { background-color: var(--wph-gelb); }
.wph-badge { margin: 0; background: var(--wph-gelb); color: var(--wph-navy); font-size: .8rem; font-weight: 700; padding: .2rem .7rem; border-radius: 999px; }
.wph-preise__hinweis { margin-top: 2rem; text-align: center; color: var(--wph-leise); }

.wph-schritte { counter-reset: none; }
.wph-schritt { background: #fff; border-radius: var(--wph-r-m); padding: 1.6rem !important; box-shadow: var(--wph-schatten); }
.wph-schritt__nr {
	width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--wph-gelb); color: var(--wph-navy);
	display: flex; align-items: center; justify-content: center; margin: 0 0 1rem;
	font-family: var(--wp--preset--font-family--bricolage); font-weight: 800; font-size: 1.15rem;
}
.wph-schritt h3 { font-size: 1.15rem; margin: 0 0 .35rem; }
.wph-schritt p:last-child { margin: 0; color: var(--wph-leise); font-size: .975rem; }

.wph-thema {
	border: 1px solid var(--wph-linie); border-radius: var(--wph-r-m); padding: 1.4rem 1.5rem !important; background: #fff;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.wph-thema__titel { margin: 0 0 .3rem; font-weight: 700; }
.wph-thema__titel a { color: var(--wph-navy); text-decoration: none; }
.wph-thema p:last-child { margin: 0; color: var(--wph-leise); font-size: .95rem; }

.wph-faq > .wp-block-details { max-width: 780px; }
.wph-faq h2 { margin-bottom: 2rem; }

.wph-sektion--kontakt { padding-top: 0 !important; }
.wph-kontakt-box { border-radius: var(--wph-r-l); padding: clamp(1.75rem, 5vw, 3.5rem) !important; position: relative; overflow: hidden; }
.wph-kontakt-box::before {
	content: ""; position: absolute; width: 420px; height: 420px; left: -140px; bottom: -220px; border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 200, 69, .18), rgba(255, 200, 69, 0) 70%); pointer-events: none;
}
.wph-kontakt-box__spalten { gap: clamp(1.5rem, 4vw, 3rem); position: relative; }
.wph-kontakt-box h2 { color: #fff; margin-top: 0; font-size: clamp(2rem, 4vw, 2.75rem); }
.wph-kontakt-box .wph-lead { color: var(--wph-text-hell); }
.wph-kontakt-box a { color: #fff; }
.wph-kontakt-box a:hover { color: var(--wph-gelb); }
.wph-kontakt-box__form { background: #fff; color: var(--wp--preset--color--text); border-radius: var(--wph-r-m); padding: clamp(1.25rem, 3vw, 2rem) !important; }

/* ---------------------------------------------------------------- Beiträge und Listen */

.wph-meta { gap: .5rem 1rem; font-size: var(--wp--preset--font-size--klein); margin-bottom: 1rem; }
.wph-meta p, .wph-meta .wp-block-post-date { margin: 0; }
.wph-meta__rubrik a { font-weight: 600; text-decoration: none; }
.wph-beitrag__bild { margin-top: 2.5rem !important; }
.wph-beitrag__bild img { border-radius: var(--wph-r-m); }
.wph-inhalt--text { font-size: 1.0625rem; }
.wph-inhalt--text h2 { margin-top: 2.5rem; font-size: clamp(1.5rem, 3vw, 1.9rem); }
.wph-inhalt--text h3 { margin-top: 2rem; }
.wph-cta { border-radius: var(--wph-r-l); padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 4vw, 3rem) !important; margin-top: var(--wph-abstand) !important; }
.wph-cta h2 { color: #fff; margin-top: 0; }
.wph-cta p { color: var(--wph-text-hell); }
.wph-beitrag__nav { margin-top: 2.5rem !important; margin-bottom: var(--wph-abstand) !important; gap: 1rem; font-size: .95rem; }
.wph-beitrag__nav a { font-weight: 600; text-decoration: none; }

.wph-tipp { border-radius: var(--wph-r-m); overflow: hidden; padding: 0 !important; height: 100%; gap: .5rem !important; transition: transform .2s ease, box-shadow .2s ease; }
.wph-tipp > * { padding-inline: 1.4rem; margin: 0 !important; }
.wph-tipp > :first-child { padding-inline: 0; }
.wph-tipp > :last-child { padding-bottom: 1.4rem; }
.wph-tipp .wp-block-post-date { padding-top: 1.2rem; }
.wph-tipp__bild img { border-radius: 0; }
.wph-tipp__titel { font-size: 1.2rem !important; line-height: 1.3; }
.wph-tipp .wp-block-post-excerpt { font-size: .95rem; color: var(--wph-leise); }
.wph-tipp .wp-block-post-excerpt__more-link { display: inline-block; margin-top: .5rem; font-weight: 600; position: relative; z-index: 1; }
.wph-seiten { margin-top: 3rem !important; gap: .5rem; }
.wph-seiten a, .wph-seiten .current { padding: .45rem .85rem; border-radius: 999px; text-decoration: none; }
.wph-seiten .current { background: var(--wph-navy); color: #fff; }
.wph-suche { max-width: 520px; margin-top: 1.5rem; }
.wph-suche .wp-block-search__input { border: 1px solid var(--wph-linie); border-radius: 999px; padding: .7rem 1.1rem; }

/* ---------------------------------------------------------------- Fuß */

.wph-fuss { padding-top: clamp(3rem, 7vw, 4.5rem) !important; padding-bottom: 1.5rem !important; color: var(--wph-text-hell); font-size: .95rem; }
.wph-fuss a { color: #fff; text-decoration: none; }
.wph-fuss a:hover { color: var(--wph-gelb); }
.wph-fuss__marke { font-family: var(--wp--preset--font-family--bricolage); font-weight: 800; font-size: 1.4rem; color: #fff; margin-top: 0; }
.wph-fuss__titel { color: #fff; font-weight: 700; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; margin-top: 0; }
.wph-fuss__liste { list-style: none; padding: 0; }
.wph-fuss__liste li { margin-bottom: .45rem; }
.wph-fuss__adresse { line-height: 1.6; }
.wph-fuss__unten { border-top: 1px solid rgba(255, 255, 255, .12); margin-top: 2.5rem !important; padding-top: 1.25rem; font-size: .875rem; gap: .5rem 2rem; }
.wph-fuss__unten p { margin: 0; }
.wph-fuss__recht { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.wph-fuss .wp-element-button { background: var(--wph-gelb); color: var(--wph-navy); }

/* ---------------------------------------------------------------- WPForms */

.wpforms-container .wpforms-field { padding: 0 0 1rem !important; }
.wpforms-container .wpforms-field-label { font-weight: 600 !important; color: var(--wph-navy) !important; font-size: .95rem !important; margin-bottom: .35rem !important; }
.wpforms-container input[type=text], .wpforms-container input[type=email], .wpforms-container input[type=tel],
.wpforms-container input[type=url], .wpforms-container input[type=number], .wpforms-container select, .wpforms-container textarea {
	width: 100% !important; max-width: 100% !important; border: 1px solid var(--wph-linie) !important; border-radius: var(--wph-r-s) !important;
	padding: .7rem .9rem !important; font: inherit !important; color: var(--wp--preset--color--text) !important; background: var(--wph-wolke) !important;
	height: auto !important; box-shadow: none !important;
}
.wpforms-container input:focus, .wpforms-container textarea:focus, .wpforms-container select:focus {
	border-color: var(--wph-blau) !important; background: #fff !important; outline: 2px solid rgba(36, 88, 137, .2) !important; outline-offset: 0;
}
.wpforms-container .wpforms-submit {
	background: var(--wph-navy) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
	padding: .85rem 1.8rem !important; font: 600 1rem/1.2 var(--wp--preset--font-family--inter) !important; height: auto !important; cursor: pointer;
}
.wpforms-container .wpforms-submit:hover { background: var(--wph-blau) !important; }
.wph-kontakt-box .wpforms-container .wpforms-submit { background: var(--wph-gelb) !important; color: var(--wph-navy) !important; width: 100%; }
.wph-kontakt-box .wpforms-container .wpforms-submit:hover { background: var(--wph-gelb-dunkel) !important; }
.wph-band .wpforms-container .wpforms-field-label { color: #fff !important; }

.wph-schlagworte { font-size: var(--wp--preset--font-size--klein); color: var(--wph-leise); margin-top: 2rem !important; }
.wph-schlagworte a { display: inline-block; background: var(--wph-himmel); color: var(--wph-navy); text-decoration: none; padding: .15rem .65rem; border-radius: 999px; margin: .15rem 0; }
.wph-schlagworte a:hover { background: var(--wph-linie); }
.wph-schlagworte .wp-block-post-terms__separator { display: none; }

/* ---------------------------------------------------------------- Korrekturen nach Sichtprüfung 05.11. */
.wp-site-blocks > header.wph-kopf { margin-bottom: 0; }
.wph-topbar { padding-inline: max(clamp(1rem, 4vw, 2rem), calc((100% - 1240px) / 2)) !important; }
.wph-preise__hinweis { max-width: none !important; }
.wph-faq > h2, .wph-faq > .wp-block-details { max-width: 780px; margin-inline: auto !important; }
.wph-kontakt-box::before { background: radial-gradient(circle, rgba(47, 106, 163, .45), rgba(47, 106, 163, 0) 70%); }
.wph-sektion--breit > .wph-lead { margin-left: max(0px, calc((100% - 1240px) / 2)) !important; }
/* Beitragsbilder sind oft hochkant (Helden-Figuren): ganz zeigen statt beschneiden */
.wph-beitrag__bild img, .wph-tipp__bild img { object-fit: contain !important; background: var(--wph-himmel); }
.wph-beitrag__bild { max-width: 780px !important; }

/* ---------------------------------------------------------------- Pakete-Seite */
.wph-paket__bild { margin: 0 0 .75rem !important; }
.wph-paket__bild img { border-radius: 0; filter: drop-shadow(0 8px 14px rgba(15, 34, 64, .15)); }
.wph-paket__gruppe {
	margin: 1.25rem 0 .5rem !important; font-size: .75rem; font-weight: 700; letter-spacing: .08em;
	text-transform: uppercase; color: var(--wph-blau);
}
.wph-paket--top .wph-paket__gruppe { color: var(--wph-gelb); }
.wph-paket .is-style-haken { margin: 0; font-size: .975rem; }
.wph-paket .is-style-haken li { margin-bottom: .4rem; }
.wph-paket a { color: inherit; }
.wph-paket--top a { color: #fff; }
.is-style-haken li.wph-nein { color: var(--wph-leise); }
.is-style-haken li.wph-nein::before {
	background-color: var(--wph-wolke);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A5A70' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E");
}
.wph-wartung h2 { margin-top: 0; }
.wph-wartung__preis { margin: .25rem 0 0; color: var(--wph-text-hell); }
.wph-wartung__preis strong { font-family: var(--wp--preset--font-family--bricolage); font-size: 2.6rem; font-weight: 800; color: var(--wph-gelb); }
.wph-wartung .is-style-haken { font-size: 1.05rem; }
.wph-wartung .wp-block-columns { gap: clamp(1.5rem, 5vw, 4rem); }

/* ---------------------------------------------------------------- Projektablauf: Zeitleiste */
.wph-hero--ablauf { padding-bottom: 1rem !important; }
.wph-ablauf__bild { margin-top: 2.5rem !important; }
.wph-ablauf__bild img { border-radius: 0; width: 100%; }
.wph-etappe { gap: clamp(1rem, 3vw, 2rem) !important; position: relative; padding-bottom: 2.5rem; }
.wph-etappe:not(:last-child)::before {
	content: ""; position: absolute; left: calc(1.5rem - 1px); top: 3.5rem; bottom: .5rem;
	width: 2px; background: var(--wph-linie);
}
.wph-etappe__nr {
	flex: none; width: 3rem; height: 3rem; margin: 0 !important; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: var(--wph-gelb); color: var(--wph-navy);
	font-family: var(--wp--preset--font-family--bricolage); font-weight: 800; font-size: 1.35rem;
	box-shadow: 0 0 0 6px #fff;
}
.wph-etappe__inhalt { flex: 1; min-width: 0; }
.wph-etappe__inhalt h2 { margin: .35rem 0 .75rem; font-size: clamp(1.5rem, 3vw, 1.9rem); }
.wph-etappe__inhalt .is-style-haken { margin-top: 1rem; }
.wph-band--cta h2, .wph-band--cta .wph-lead { margin-inline: auto !important; }
