/* wohnvia – Ergänzungen zum theme.json */

:root {
	--wv-radius-s: 8px;
	--wv-radius-m: 14px;
	--wv-radius-l: 22px;
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
::selection { background: var(--wp--preset--color--primary-soft); }

/* Kopfzeile */
.wv-header-wrap { position: sticky; top: 0; z-index: 50; }
.admin-bar .wv-header-wrap { top: 32px; }
@media (max-width: 782px) { .admin-bar .wv-header-wrap { top: 0; position: relative; } }
.wv-header .wv-logo img { height: auto; }
.wv-nav .wp-block-navigation-item__content { padding: .35rem 0; position: relative; }
.wv-nav .wp-block-navigation-item__content:hover,
.wv-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--primary); }
.wv-nav .current-menu-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px;
	background: var(--wp--preset--color--primary); border-radius: 2px;
}
@media (max-width: 960px) {
	.wv-header .wv-header-cta { display: none !important; }
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 2rem; font-size: 1.2rem;
}

/* Kleine Überzeile */
.wv-eyebrow,
.wv-eyebrow a {
	font-family: var(--wp--preset--font-family--heading);
	font-size: .8rem !important;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	margin-bottom: .25rem;
}

/* Markierung im Titel */
.wv-mark {
	background: linear-gradient(transparent 62%, rgba(10, 90, 45, .18) 62%);
	color: var(--wp--preset--color--primary);
	padding: 0 .05em;
}

/* Hero */
.wv-hero .wv-hero-bild img { width: 100%; height: auto; border-radius: var(--wv-radius-l); box-shadow: var(--wp--preset--shadow--lift); }
.wv-hero h1 { margin-top: .4rem; }

/* Häkchen-Liste */
ul.is-style-wv-haken { list-style: none; padding-left: 0; }
ul.is-style-wv-haken li { position: relative; padding-left: 1.75rem; margin-bottom: .45rem; }
ul.is-style-wv-haken li::before {
	content: ""; position: absolute; left: 0; top: .32em; width: 1.1rem; height: 1.1rem; border-radius: 50%;
	background: var(--wp--preset--color--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.5L12 5.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat;
}
.wv-trust { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; margin-top: 1.5rem; color: var(--wp--preset--color--muted); }
.wv-trust li { margin-bottom: 0; }
.wv-liste-gross li { padding-top: .35rem; padding-bottom: .35rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.wv-liste-gross li:last-child { border-bottom: 0; }
.wv-liste-gross li::before { top: .7em; }

/* Karte */
.is-style-wv-karte {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wv-radius-m);
	padding: clamp(1.25rem, 3vw, 2rem);
	box-shadow: var(--wp--preset--shadow--soft);
}
.wp-block-post-template .is-style-wv-karte { height: 100%; transition: transform .2s ease, box-shadow .2s ease; }
.wp-block-post-template .is-style-wv-karte:hover { transform: translateY(-3px); box-shadow: var(--wp--preset--shadow--lift); }
.is-style-wv-karte .wp-block-post-excerpt { color: var(--wp--preset--color--muted); }
.is-style-wv-karte .wp-block-post-excerpt__more-link { font-weight: 600; text-decoration: none; }

/* Heller Button */
.wp-block-button.is-style-wv-hell .wp-block-button__link {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--primary);
}
.wp-block-button.is-style-wv-hell .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary-soft);
}
.wp-block-button__link { transition: background-color .15s ease, transform .15s ease; }
.wp-block-button__link:active { transform: translateY(1px); }

/* Schritte */
.wv-steps { counter-reset: wvstep; }
.wv-step { position: relative; padding-top: 3.6rem; }
.wv-step::before {
	counter-increment: wvstep; content: counter(wvstep);
	position: absolute; top: 0; left: 0; width: 2.75rem; height: 2.75rem; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--wp--preset--color--primary-soft); color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.15rem;
}
.wv-step h3 { margin-top: 0; }

/* Aufruf-Band */
.wv-cta { border-radius: var(--wv-radius-l); }
.wv-cta h2 { margin: 0; }

/* Häufige Fragen */
.wv-faq .wp-block-details summary { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.08rem; cursor: pointer; list-style: none; position: relative; padding-right: 2rem; }
.wv-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.wv-faq .wp-block-details summary::after { content: "+"; position: absolute; right: .25rem; top: -.1rem; font-size: 1.5rem; color: var(--wp--preset--color--primary); font-weight: 400; }
.wv-faq .wp-block-details[open] summary::after { content: "–"; }
.wv-faq .wp-block-details > p { color: var(--wp--preset--color--muted); margin-top: .6rem; }

/* Fusszeile */
.wv-footer .wv-footer-links { list-style: none; padding: 0; margin: 0; }
.wv-footer .wv-footer-links li { margin-bottom: .45rem; }
.wv-footer a { text-decoration: none; }
.wv-footer a:hover { text-decoration: underline; }
.wv-footer .wp-block-column p { margin-top: .5rem; }

/* Seiten ohne Titel: Abschnitte ohne Abstand stapeln */
.wv-flush > * + * { margin-block-start: 0; }

/* Artikel */
.wp-block-post-content h2 { margin-top: 2.2rem; }
.wp-block-post-content h3 { margin-top: 1.8rem; }

/* Partner-Detail: Offerte-Karte klebt beim Scrollen */
@media (min-width: 782px) {
	.wv-offerte-karte { position: sticky; top: 100px; }
}
