/**
 * Kfz-Gutachter Mannheim – Theme-Styles (v1.1 – helles Design)
 * Farben, Schriften und Schatten kommen aus theme.json (CSS-Variablen).
 */

:root {
	--kfz-ink: var(--wp--preset--color--ink, #0F1E33);
	--kfz-navy: var(--wp--preset--color--navy, #1B2B44);
	--kfz-primary: var(--wp--preset--color--primary, #1E3A5F);
	--kfz-primary-dark: var(--wp--preset--color--primary-dark, #0F1E33);
	--kfz-accent: var(--wp--preset--color--accent, #D7262B);
	--kfz-accent-light: var(--wp--preset--color--accent-light, #FBDADB);
	--kfz-surface: var(--wp--preset--color--surface, #F6F7F9);
	--kfz-tint: var(--wp--preset--color--tint, #EDF0F5);
	--kfz-line: var(--wp--preset--color--line, #E2E6EC);
	--kfz-text: var(--wp--preset--color--text, #334155);
	--kfz-muted: var(--wp--preset--color--muted, #64748B);
	--kfz-shadow-soft: var(--wp--preset--shadow--soft);
	--kfz-shadow-card: var(--wp--preset--shadow--card);
	--kfz-shadow-lifted: var(--wp--preset--shadow--lifted);
	--kfz-radius: 16px;
	--kfz-radius-lg: 24px;
	--kfz-heading: var(--wp--preset--font-family--heading);
	--kfz-ease: cubic-bezier(.2, .7, .2, 1);
	--kfz-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E3A5F' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--kfz-accent-light); color: var(--kfz-ink); }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.kfz-main, .kfz-main > * { margin-block-start: 0 !important; }

/* ---------- Grundbausteine ---------- */
.kfz-eyebrow {
	display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 .9rem;
	padding: .3rem .75rem; border-radius: 999px; background: var(--kfz-tint);
	font-family: var(--kfz-heading); font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
	color: var(--kfz-primary);
}
.kfz-section-head { max-width: 760px; margin: 0 auto clamp(2.25rem, 4vw, 3.25rem); }
.kfz-section-head > * { margin-block: 0; }
.kfz-section-title { margin: 0 0 1rem !important; text-wrap: balance; }
.kfz-section-sub { color: var(--kfz-muted); font-size: 1.1rem; max-width: 680px; margin: 0 auto; }
.kfz-split .kfz-section-sub { margin: 0; }
.kfz-subhead { margin: clamp(3rem, 6vw, 4.5rem) 0 1.5rem !important; }

.kfz-section { padding-block: var(--wp--preset--spacing--60); position: relative; }
.kfz-section--surface { background: var(--kfz-surface); }
.kfz-section--tint {
	background:
		radial-gradient(900px 420px at 100% 0%, rgba(30, 58, 95, .10), transparent 60%),
		radial-gradient(700px 380px at 0% 100%, rgba(30, 58, 95, .07), transparent 60%),
		linear-gradient(180deg, #F4F6F9 0%, #FFFFFF 100%);
}

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: transform .2s var(--kfz-ease), box-shadow .2s var(--kfz-ease), background-color .2s, color .2s; }
.wp-block-button:not(.kfz-btn--outline) .wp-block-button__link { box-shadow: 0 8px 20px -8px rgba(30, 58, 95, .55); }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.kfz-btn--outline .wp-block-button__link,
.wp-block-button.kfz-btn--ghost .wp-block-button__link,
.wp-block-button.kfz-btn--ghost-dark .wp-block-button__link {
	background: #fff; color: var(--kfz-ink); box-shadow: inset 0 0 0 1.5px var(--kfz-line), var(--kfz-shadow-soft);
}
.wp-block-button.kfz-btn--outline .wp-block-button__link:hover { box-shadow: inset 0 0 0 1.5px var(--kfz-primary), var(--kfz-shadow-card); color: var(--kfz-primary); }
.wp-block-button.kfz-btn--whatsapp .wp-block-button__link { background: var(--wp--preset--color--whatsapp); color: #fff; box-shadow: 0 8px 20px -8px rgba(37, 211, 102, .6); }
.wp-block-button.kfz-btn--whatsapp .wp-block-button__link:hover { background: #1EBE5A; }

/* ---------- Topbar & Header ---------- */
.kfz-site-header { position: sticky; top: 0; z-index: 100; }
.admin-bar .kfz-site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .kfz-site-header { top: 0; } }

.kfz-topbar { background: var(--kfz-navy); color: #C7D6EA; font-size: .8rem; padding-block: .45rem; }
.kfz-topbar p { margin: 0; }
.kfz-topbar strong { color: #fff; font-weight: 600; }
.kfz-topbar a { color: #fff; text-decoration: none; font-weight: 600; }
.kfz-topbar__inner { gap: .4rem 1.5rem; }

.kfz-header {
	background: rgba(255, 255, 255, .88);
	backdrop-filter: saturate(180%) blur(16px); -webkit-backdrop-filter: saturate(180%) blur(16px);
	border-bottom: 1px solid rgba(227, 234, 242, .8);
	transition: box-shadow .25s var(--kfz-ease), background-color .25s;
}
.kfz-header.is-scrolled { background: rgba(255, 255, 255, .96); box-shadow: 0 10px 30px -18px rgba(15, 30, 51, .35); }
.kfz-header__inner { min-height: 76px; gap: 1.5rem; }

.kfz-brand { margin: 0; }
.kfz-brand a { display: inline-flex; align-items: center; gap: .75rem; text-decoration: none; color: var(--kfz-ink); }
.kfz-brand__mark {
	display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; flex: none;
	background: linear-gradient(140deg, #2C4C78, var(--kfz-primary-dark));
	color: #fff; font-family: var(--kfz-heading); font-weight: 800; font-size: .95rem; letter-spacing: .02em;
	box-shadow: 0 8px 18px -8px rgba(30, 58, 95, .7);
	position: relative;
}
.kfz-brand__mark::after { content: ""; position: absolute; right: -3px; top: -3px; width: 12px; height: 12px; border-radius: 50%; background: var(--kfz-accent); box-shadow: 0 0 0 3px #fff; }
.kfz-brand__text { display: flex; flex-direction: column; font-family: var(--kfz-heading); font-weight: 600; font-size: 1.06rem; line-height: 1.15; letter-spacing: -.01em; }
.kfz-brand__text strong { font-weight: 800; color: var(--kfz-primary); }
.kfz-brand__text small { font-family: var(--wp--preset--font-family--body); font-size: .66rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--kfz-muted); margin-top: .22rem; }
.kfz-brand--light a { color: #fff; }
.kfz-brand--light .kfz-brand__text strong { color: #F2A0A2; }
.kfz-brand--light .kfz-brand__text small { color: #8597AA; }
.kfz-brand--light .kfz-brand__mark::after { box-shadow: 0 0 0 3px var(--kfz-ink); }

.kfz-nav { font-family: var(--kfz-heading); font-size: .92rem; font-weight: 500; gap: .25rem 1.75rem; }
.kfz-nav .wp-block-navigation-item__content { color: var(--kfz-text); text-decoration: none; padding: .4rem 0; position: relative; transition: color .2s; }
.kfz-nav .wp-block-navigation-item__content:hover { color: var(--kfz-primary); }
.kfz-nav .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 50%; right: 50%; bottom: 0; height: 2px; border-radius: 2px; background: var(--kfz-primary);
	transition: left .25s var(--kfz-ease), right .25s var(--kfz-ease);
}
.kfz-nav .wp-block-navigation-item__content:hover::after { left: 0; right: 0; }
.kfz-nav .kfz-nav__cta > .wp-block-navigation-item__content {
	background: var(--kfz-primary); color: #fff; padding: .65rem 1.2rem; border-radius: 12px;
	box-shadow: 0 8px 18px -8px rgba(30, 58, 95, .6);
}
.kfz-nav .kfz-nav__cta > .wp-block-navigation-item__content::after { display: none; }
.kfz-nav .kfz-nav__cta > .wp-block-navigation-item__content:hover { background: var(--kfz-primary-dark); color: #fff; }
.kfz-nav .wp-block-navigation__responsive-container-open,
.kfz-nav .wp-block-navigation__responsive-container-close { color: var(--kfz-ink); }
.kfz-nav .wp-block-navigation__responsive-container.is-menu-open { background: #fff; padding: 1.5rem; }
.kfz-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.1rem; font-size: 1.25rem; }

/* Mobile-Menü schon bis 1080 px (statt WP-Standard 600 px) */
@media (min-width: 600px) and (max-width: 1080px) {
	.kfz-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.kfz-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.kfz-nav .wp-block-navigation__responsive-container.is-menu-open { display: flex; }
	.kfz-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
	.kfz-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: flex-start; }
}

/* ---------- Hero ---------- */
.kfz-hero {
	position: relative; overflow: hidden;
	padding-block: clamp(3rem, 7vw, 6rem) clamp(3rem, 6vw, 5rem);
	background:
		radial-gradient(800px 500px at 85% 15%, rgba(30, 58, 95, .14), transparent 65%),
		radial-gradient(600px 420px at 0% 100%, rgba(30, 58, 95, .08), transparent 60%),
		linear-gradient(180deg, #F5F6F8 0%, #FFFFFF 100%);
}
.kfz-hero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image: radial-gradient(rgba(30, 58, 95, .16) 1px, transparent 1px);
	background-size: 22px 22px;
	mask-image: radial-gradient(ellipse 55% 60% at 80% 35%, #000 20%, transparent 70%);
	-webkit-mask-image: radial-gradient(ellipse 55% 60% at 80% 35%, #000 20%, transparent 70%);
}
.kfz-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.kfz-hero__grid > * { margin-block: 0 !important; }
.kfz-hero__content > * { margin-block: 0; }
.kfz-badge {
	display: inline-flex !important; align-items: center; gap: .55rem; margin-bottom: 1.5rem !important;
	padding: .45rem .95rem .45rem .7rem; border-radius: 999px; font-size: .84rem; font-weight: 600; color: var(--kfz-navy);
	background: #fff; box-shadow: var(--kfz-shadow-soft), inset 0 0 0 1px var(--kfz-line);
}
.kfz-badge::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: #22C55E; box-shadow: 0 0 0 4px rgba(34, 197, 94, .18); }
.kfz-hero__title { margin-bottom: 1.35rem !important; text-wrap: balance; }
.kfz-hl { color: var(--kfz-primary); background: linear-gradient(transparent 68%, var(--kfz-accent-light) 68%, var(--kfz-accent-light) 92%, transparent 92%); padding: 0 .06em; }
.kfz-hero__lead { font-size: clamp(1.05rem, 1.4vw, 1.2rem); color: var(--kfz-muted); max-width: 590px; margin-bottom: 2rem !important; }
.kfz-hero__actions { gap: .75rem; margin-bottom: 1.75rem !important; }
.kfz-hero__checks { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; font-size: .88rem; font-weight: 600; color: var(--kfz-navy); }
.kfz-hero__checks li { display: inline-flex; align-items: center; gap: .45rem; }
.kfz-hero__checks li::before { content: ""; width: 18px; height: 18px; border-radius: 50%; background: var(--kfz-tint) var(--kfz-check) center / 11px no-repeat; }

/* Illustration */
.kfz-visual { position: relative; }
.kfz-visual__stage {
	position: relative; border-radius: 28px; padding: clamp(3.5rem, 6vw, 4.5rem) clamp(1rem, 3vw, 2rem) clamp(4rem, 7vw, 5rem);
	background: linear-gradient(160deg, #FFFFFF 0%, #EEF1F5 100%);
	box-shadow: 0 2px 6px rgba(15, 30, 51, .04), 0 40px 80px -30px rgba(30, 58, 95, .35), inset 0 0 0 1px rgba(255, 255, 255, .9);
}
.kfz-visual__stage::before {
	content: ""; position: absolute; inset: 14px; border-radius: 20px; pointer-events: none;
	background-image: linear-gradient(rgba(30, 58, 95, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(30, 58, 95, .06) 1px, transparent 1px);
	background-size: 28px 28px;
}
.kfz-car { position: relative; width: 100%; height: auto; display: block; }
.kfz-car__scan { animation: kfz-scan 4.5s var(--kfz-ease) infinite; }
@keyframes kfz-scan { 0% { transform: translateX(0); } 70%, 100% { transform: translateX(760px); } }
.kfz-pulse { transform-box: fill-box; transform-origin: center; animation: kfz-pulse 2.2s ease-out infinite; }
@keyframes kfz-pulse { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(3.2); opacity: 0; } }
.kfz-chip {
	position: absolute; display: flex; align-items: center; gap: .7rem; padding: .7rem .95rem; border-radius: 14px;
	background: rgba(255, 255, 255, .96); box-shadow: 0 2px 4px rgba(15, 30, 51, .05), 0 18px 36px -14px rgba(15, 30, 51, .28);
	font-size: .78rem; color: var(--kfz-muted); line-height: 1.3; white-space: nowrap;
	animation: kfz-float 6s ease-in-out infinite;
}
.kfz-chip strong { display: block; font-family: var(--kfz-heading); font-size: .84rem; color: var(--kfz-ink); }
.kfz-chip--a { top: 6%; left: 0; }
.kfz-chip--b { display: none; top: 14%; right: 0; animation-delay: -2s; }
.kfz-chip--c { bottom: 7%; left: 50%; translate: -50% 0; animation-delay: -4s; }
.kfz-chip__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--kfz-accent); box-shadow: 0 0 0 4px rgba(215, 38, 43, .2); flex: none; }
.kfz-chip__dot--ok { background: #22C55E; box-shadow: 0 0 0 4px rgba(34, 197, 94, .18); }
.kfz-chip__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--kfz-primary); color: #fff; font-family: var(--kfz-heading); font-weight: 700; font-size: .78rem; flex: none; }
@keyframes kfz-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

/* Kennzahlen */
.kfz-stats {
	position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: clamp(2.5rem, 5vw, 4rem) !important;
	background: #fff; border-radius: var(--kfz-radius-lg); box-shadow: var(--kfz-shadow-card), inset 0 0 0 1px var(--kfz-line);
}
.kfz-stats > * { margin: 0 !important; }
.kfz-stat { padding: 1.4rem 1.5rem; position: relative; }
.kfz-stat + .kfz-stat::before { content: ""; position: absolute; left: 0; top: 22%; bottom: 22%; width: 1px; background: var(--kfz-line); }
.kfz-stat > * { margin: 0; }
.kfz-stat__value { font-family: var(--kfz-heading); font-weight: 800; font-size: clamp(1.4rem, 2.4vw, 1.9rem); color: var(--kfz-primary); letter-spacing: -.02em; }
.kfz-stat__label { font-size: .84rem; color: var(--kfz-muted); margin-top: .1rem !important; }

/* ---------- Vertrauensleiste ---------- */
.kfz-trust { background: #fff; border-block: 1px solid var(--kfz-line); }
.kfz-trust__list { list-style: none; margin: 0 auto; padding: 1.15rem 0; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: .6rem 2.2rem; }
.kfz-trust__list li { display: inline-flex; align-items: center; gap: .55rem; font-size: .88rem; font-weight: 600; color: var(--kfz-navy); }
.kfz-trust__list li::before { content: ""; width: 20px; height: 20px; flex: none; border-radius: 50%; background: var(--kfz-tint) var(--kfz-check) center / 12px no-repeat; }

/* ---------- Grids & Karten ---------- */
.kfz-grid { display: grid; gap: clamp(1rem, 2vw, 1.5rem); }
.kfz-grid > * { margin: 0 !important; }
.kfz-grid--4 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); }
.kfz-grid--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }

.kfz-card {
	position: relative; background: #fff; border-radius: var(--kfz-radius); padding: clamp(1.5rem, 2.2vw, 1.9rem);
	box-shadow: var(--kfz-shadow-card); border: 1px solid rgba(227, 234, 242, .9);
	transition: transform .3s var(--kfz-ease), box-shadow .3s var(--kfz-ease), border-color .3s;
}
.kfz-card:hover { transform: translateY(-5px); box-shadow: var(--kfz-shadow-lifted); border-color: rgba(30, 58, 95, .25); }
.kfz-card > * { margin-block: 0; }
.kfz-card__num {
	display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; margin-bottom: 1.15rem !important;
	background: var(--kfz-tint); color: var(--kfz-primary);
	font-family: var(--kfz-heading); font-weight: 700; font-size: .9rem; transition: background .3s, color .3s;
}
.kfz-card:hover .kfz-card__num { background: var(--kfz-primary); color: #fff; }
.kfz-card__title { font-size: 1.15rem !important; margin-bottom: .5rem !important; }
.kfz-card__text { color: var(--kfz-muted); font-size: .95rem; margin-bottom: 1.1rem !important; }

.kfz-checklist { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; font-size: .92rem; }
.kfz-checklist li { position: relative; padding-left: 1.65rem; line-height: 1.5; }
.kfz-checklist li::before {
	content: ""; position: absolute; left: 0; top: .18em; width: 17px; height: 17px; border-radius: 50%;
	background: var(--kfz-tint) var(--kfz-check) center / 10px no-repeat;
}

/* Vorteile */
.kfz-feature::before {
	content: ""; display: block; width: 50px; height: 50px; border-radius: 14px; margin-bottom: 1.15rem;
	background: linear-gradient(140deg, #2C4C78, var(--kfz-primary-dark)) center / cover;
	-webkit-mask: none;
	box-shadow: 0 10px 22px -10px rgba(30, 58, 95, .7);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8.3-7 10-4-1.7-7-5.5-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"), linear-gradient(140deg, #2C4C78, #0F1E33);
	background-size: 24px, cover; background-position: center; background-repeat: no-repeat;
}

/* ---------- Split-Layouts ---------- */
.kfz-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.kfz-split > * { margin: 0 !important; }
.kfz-split--even { align-items: stretch; }
.kfz-split__main > * { margin-block: 0 1.25rem; }
.kfz-split__main .wp-block-buttons { margin-top: 1.75rem; }
.kfz-split__aside { display: grid; gap: 1.25rem; }
.kfz-split__aside > * { margin: 0 !important; }

/* Leasing */
.kfz-leasing { background: #fff; }
.kfz-facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.kfz-facts > * { margin: 0 !important; }
.kfz-fact { background: #fff; border-radius: var(--kfz-radius); padding: 1.4rem; box-shadow: var(--kfz-shadow-card), inset 0 0 0 1px var(--kfz-line); position: relative; overflow: hidden; }
.kfz-fact::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--kfz-primary), #8A9BB3); }
.kfz-fact:nth-child(1)::before, .kfz-fact:nth-child(4)::before { background: linear-gradient(90deg, var(--kfz-accent), #EF6B6F); }
.kfz-fact > * { margin: 0; }
.kfz-fact__value { font-family: var(--kfz-heading); font-weight: 800; font-size: 1.85rem; letter-spacing: -.02em; color: var(--kfz-ink); }
.kfz-fact__label { font-size: .86rem; color: var(--kfz-muted); margin-top: .2rem !important; }
.kfz-card--feature { background: linear-gradient(160deg, #fff, var(--kfz-surface)); border-left: 4px solid var(--kfz-primary); }
.kfz-card--feature:hover { transform: none; }

/* ---------- Exotic ---------- */
.kfz-panel {
	border-radius: var(--kfz-radius-lg); padding: clamp(1.6rem, 3vw, 2.4rem); background: #fff;
	box-shadow: var(--kfz-shadow-card), inset 0 0 0 1px var(--kfz-line);
}
.kfz-panel > * { margin-block: 0 1rem; }
.kfz-panel__title { font-size: 1.35rem !important; margin-bottom: 1.25rem !important; }
.kfz-panel--accent { background: linear-gradient(155deg, var(--kfz-ink) 0%, #2C4C78 100%); color: #DCE3EC; box-shadow: 0 30px 60px -28px rgba(22, 58, 99, .7); }
.kfz-panel--accent :where(h3) { color: #fff; }
.kfz-panel--accent .kfz-eyebrow { background: rgba(255, 255, 255, .12); color: #fff; }
.kfz-panel--accent .kfz-checklist li::before { background-color: rgba(255, 255, 255, .15); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFE3B8' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.kfz-panel--accent .wp-block-button__link { background: var(--kfz-accent); color: #fff; box-shadow: 0 10px 24px -10px rgba(215, 38, 43, .8); }
.kfz-panel--accent .wp-block-button__link:hover { background: #B91F24; color: #fff; }
.kfz-panel--accent .wp-block-buttons { margin-top: 1.5rem; }
.kfz-brands { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .6rem; }
.kfz-brands > * { margin: 0 !important; }
.kfz-brand-chip { display: flex; flex-direction: column; padding: .75rem .9rem; border-radius: 12px; background: var(--kfz-surface); box-shadow: inset 0 0 0 1px var(--kfz-line); transition: background .2s, box-shadow .2s, transform .2s; }
.kfz-brand-chip:hover { background: #fff; box-shadow: var(--kfz-shadow-soft), inset 0 0 0 1px rgba(30, 58, 95, .25); transform: translateY(-2px); }
.kfz-brand-chip strong { color: var(--kfz-ink); font-family: var(--kfz-heading); font-weight: 600; font-size: .92rem; }
.kfz-brand-chip span { font-size: .76rem; color: var(--kfz-muted); }
.kfz-tags { list-style: none; padding: 0; margin: 1.25rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.kfz-tags li { font-size: .78rem; font-weight: 600; padding: .38rem .8rem; border-radius: 999px; color: var(--kfz-primary); background: #EEF1F5; box-shadow: inset 0 0 0 1px #DCE2EA; }
.kfz-check { padding: 1.6rem; border-radius: var(--kfz-radius); background: #fff; box-shadow: var(--kfz-shadow-card), inset 0 0 0 1px var(--kfz-line); transition: box-shadow .25s, transform .25s var(--kfz-ease); }
.kfz-check:hover { box-shadow: var(--kfz-shadow-lifted); transform: translateY(-4px); }
.kfz-check > * { margin-block: 0 .5rem; }
.kfz-check__num { font-family: var(--kfz-heading); font-weight: 800; font-size: .82rem; color: var(--kfz-accent); letter-spacing: .12em; }
.kfz-check h4 { font-size: 1.04rem; }
.kfz-check p:last-child { font-size: .92rem; color: var(--kfz-muted); margin: 0; }

/* ---------- Anfrage-Formular ---------- */
.kfz-request {
	display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem);
	margin-top: clamp(1.5rem, 3vw, 2rem) !important; padding: clamp(1.5rem, 4vw, 3rem);
	background: #fff; border-radius: var(--kfz-radius-lg);
	box-shadow: 0 2px 6px rgba(15, 30, 51, .04), 0 40px 80px -36px rgba(30, 58, 95, .45), inset 0 0 0 1px var(--kfz-line);
	position: relative; overflow: hidden;
}
.kfz-request::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--kfz-primary), #8A9BB3 60%, var(--kfz-accent)); }
.kfz-request > * { margin: 0 !important; }
.kfz-request__intro > * { margin-block: 0 1rem; }
.kfz-request__title { font-size: clamp(1.4rem, 2.4vw, 1.8rem) !important; }
.kfz-request__text { color: var(--kfz-muted); }
.kfz-request__phone { margin-top: 1.5rem !important; padding: 1rem 1.15rem; border-radius: 14px; background: var(--kfz-surface); font-size: .9rem; color: var(--kfz-muted); }
.kfz-request__phone a { display: block; font-family: var(--kfz-heading); font-weight: 700; font-size: 1.15rem; color: var(--kfz-primary); text-decoration: none; }

.kfz-form { margin: 0; }
.kfz-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kfz-form__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem 1.1rem; }
.kfz-field { margin: 0; display: flex; flex-direction: column; gap: .4rem; }
.kfz-field--full { grid-column: 1 / -1; }
.kfz-field label { font-size: .82rem; font-weight: 600; color: var(--kfz-ink); }
.kfz-field input:not([type="checkbox"]), .kfz-field select, .kfz-field textarea {
	width: 100%; font: inherit; font-size: .95rem; color: var(--kfz-ink); background: var(--kfz-surface);
	border: 1.5px solid var(--kfz-line); border-radius: 12px; padding: .8rem .95rem; outline: none;
	transition: border-color .2s, box-shadow .2s, background .2s; box-sizing: border-box;
}
.kfz-field select { appearance: none; -webkit-appearance: none; padding-right: 2.5rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .9rem center; background-size: 16px; }
.kfz-field textarea { resize: vertical; min-height: 120px; }
.kfz-field input::placeholder, .kfz-field textarea::placeholder { color: #94A3B8; }
.kfz-field input:focus, .kfz-field select:focus, .kfz-field textarea:focus { border-color: var(--kfz-primary); background: #fff; box-shadow: 0 0 0 4px rgba(30, 58, 95, .12); }
.kfz-field--check { margin-top: 1.1rem; }
.kfz-field--check label { display: flex; gap: .7rem; align-items: flex-start; font-weight: 500; color: var(--kfz-muted); line-height: 1.5; }
.kfz-field--check input { width: 18px; height: 18px; margin-top: .15rem; accent-color: var(--kfz-primary); flex: none; }
.kfz-field--check a { color: var(--kfz-primary); }
.kfz-form__foot { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.25rem; margin-top: 1.4rem; }
.kfz-form__submit {
	border: 0; cursor: pointer; background: var(--kfz-primary); color: #fff; font-family: var(--kfz-heading); font-weight: 600; font-size: 1rem;
	padding: .95rem 1.8rem; border-radius: 12px; box-shadow: 0 10px 24px -10px rgba(30, 58, 95, .7);
	transition: transform .2s var(--kfz-ease), background .2s;
}
.kfz-form__submit:hover { background: var(--kfz-primary-dark); transform: translateY(-2px); }
.kfz-form__note { font-size: .82rem; color: var(--kfz-muted); }
.kfz-form-msg { padding: 1rem 1.2rem; border-radius: 12px; margin-bottom: 1.25rem; font-size: .95rem; }
.kfz-form-msg--ok { background: #ECFDF3; color: #166534; box-shadow: inset 0 0 0 1px #BBF7D0; }
.kfz-form-msg--error { background: #FEF2F2; color: #991B1B; box-shadow: inset 0 0 0 1px #FECACA; }

/* ---------- Ablauf ---------- */
.kfz-steps { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1rem, 3vw, 2rem); position: relative; }
.kfz-steps::before { display: none; content: ""; position: absolute; top: 58px; left: 16%; right: 16%; height: 2px; background: repeating-linear-gradient(90deg, #CBD3DE 0 10px, transparent 10px 18px); }
.kfz-steps > * { margin: 0 !important; }
.kfz-step { position: relative; background: #fff; border-radius: var(--kfz-radius); padding: 2.1rem 1.75rem; box-shadow: var(--kfz-shadow-card); text-align: center; }
.kfz-step > * { margin-block: 0; }
.kfz-step__num {
	width: 58px; height: 58px; margin: -.15rem auto 1.3rem !important; display: grid; place-items: center; border-radius: 50%;
	background: linear-gradient(140deg, #2C4C78, var(--kfz-primary-dark)); color: #fff; font-family: var(--kfz-heading); font-weight: 800; font-size: 1.3rem;
	box-shadow: 0 0 0 8px #fff, 0 0 0 9px var(--kfz-line), 0 14px 28px -10px rgba(30, 58, 95, .7);
}

/* ---------- FAQ ---------- */
.kfz-faq-list { max-width: 860px; margin-inline: auto; display: grid; gap: .85rem; }
.kfz-faq-list > * { margin: 0 !important; }
.kfz-faq { background: #fff; border-radius: 14px; box-shadow: var(--kfz-shadow-soft); border: 1px solid var(--kfz-line); transition: box-shadow .25s, border-color .25s; }
.kfz-faq:hover { border-color: rgba(30, 58, 95, .25); }
.kfz-faq[open] { box-shadow: var(--kfz-shadow-card); border-color: rgba(30, 58, 95, .3); }
.kfz-faq summary { list-style: none; cursor: pointer; padding: 1.2rem 3.5rem 1.2rem 1.5rem; position: relative; font-family: var(--kfz-heading); font-weight: 600; color: var(--kfz-ink); }
.kfz-faq summary::-webkit-details-marker { display: none; }
.kfz-faq summary::after {
	content: ""; position: absolute; right: 1.25rem; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%;
	background: var(--kfz-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E3A5F' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 13px no-repeat;
	transition: transform .25s var(--kfz-ease);
}
.kfz-faq[open] summary::after { transform: rotate(45deg); }
.kfz-faq > p { padding: 0 1.5rem 1.3rem; margin: 0; color: var(--kfz-muted); }

/* ---------- Kontakt ---------- */
.kfz-contact__methods { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.kfz-contact__methods > * { margin: 0 !important; }
.kfz-method { background: #fff; border-radius: var(--kfz-radius); padding: 1.4rem 1.45rem; box-shadow: var(--kfz-shadow-card), inset 0 0 0 1px var(--kfz-line); transition: transform .25s var(--kfz-ease), box-shadow .25s; }
.kfz-method:hover { transform: translateY(-4px); box-shadow: var(--kfz-shadow-lifted); }
.kfz-method > * { margin: 0; }
.kfz-method__label { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kfz-primary); }
.kfz-method__value { font-family: var(--kfz-heading); font-weight: 700; color: var(--kfz-ink); font-size: 1.02rem; margin: .4rem 0 .25rem !important; overflow-wrap: anywhere; }
.kfz-method__value a { color: inherit; text-decoration: none; }
.kfz-method__value a:hover { color: var(--kfz-primary); }
.kfz-method__hint { font-size: .84rem; color: var(--kfz-muted); }
.kfz-note { font-size: .84rem; color: var(--kfz-muted) !important; }

/* ---------- Unterseiten ---------- */
.kfz-page-hero { background: radial-gradient(700px 300px at 90% 0%, rgba(30, 58, 95, .12), transparent 60%), linear-gradient(180deg, #F5F6F8, #fff); padding-block: clamp(3rem, 6vw, 4.5rem) clamp(1.5rem, 3vw, 2rem); border-bottom: 1px solid var(--kfz-line); }
.kfz-page-hero :where(h1, .wp-block-post-title) { margin: 0; }
.kfz-page-body { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.kfz-page-body .wp-block-post-content > h2 { font-size: 1.2rem; margin-top: 2.25rem; padding-top: 1.5rem; border-top: 1px solid var(--kfz-line); }
.kfz-page-body .wp-block-post-content > h2:first-of-type { border-top: 0; padding-top: 0; }
.kfz-notice { padding: 1rem 1.25rem; border-radius: 12px; background: #F5F6F8; border-left: 4px solid var(--kfz-accent); box-shadow: var(--kfz-shadow-soft); font-size: .92rem; }
.kfz-page mark { background: var(--kfz-accent-light); color: var(--kfz-ink); padding: 0 .2em; border-radius: 3px; }

/* ---------- Footer ---------- */
.kfz-footer { background: var(--kfz-ink); color: #93A4B8; padding-block: clamp(3rem, 6vw, 4.5rem) 1.5rem; font-size: .92rem; }
.kfz-footer__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
.kfz-footer__grid > * { margin: 0 !important; }
.kfz-footer__grid > * > * { margin-block: 0 1rem; }
.kfz-footer h4 { color: #fff; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; }
.kfz-footer__claim { max-width: 360px; }
.kfz-footer__links { list-style: none; padding: 0; display: grid; gap: .55rem; }
.kfz-footer a { color: #D2DEEC; text-decoration: none; }
.kfz-footer a:hover { color: #fff; }
.kfz-footer__bottom { margin-top: 2.5rem !important; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .08); font-size: .82rem; }
.kfz-footer__bottom p { margin: 0; }

/* ---------- Animation ---------- */
@media (prefers-reduced-motion: no-preference) {
	.kfz-js .kfz-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--kfz-ease), transform .7s var(--kfz-ease); }
	.kfz-js .kfz-reveal.is-visible { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.kfz-car__scan, .kfz-pulse, .kfz-chip { animation: none !important; }
}

/* ---------- Mobile First: ab hier wird erweitert ---------- */
/* Basis (oben) = Smartphone. */
@media (max-width: 639px) {
	.kfz-topbar__inner > p:nth-child(2) { display: none; }
	.kfz-topbar__inner > p:first-child { font-size: .72rem; }
	.kfz-brand__text small { display: none; }
	.kfz-hero__actions .wp-block-button { flex: 1 1 100%; }
	.kfz-hero__actions .wp-block-button__link { width: 100%; }
	.kfz-chip { font-size: .7rem; padding: .55rem .7rem; }
	.kfz-chip strong { font-size: .76rem; }
	.kfz-stat { padding: 1.1rem 1.15rem; }
	.kfz-stat:nth-child(3)::before { display: none; }
}

/* Tablet ab 640 px */
@media (min-width: 640px) {
	.kfz-section-head { text-align: center; }
	.kfz-subhead { text-align: center; }
	.kfz-trust__list { justify-content: center; }
	.kfz-chip--b { display: flex; }
	.kfz-facts, .kfz-contact__methods, .kfz-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kfz-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kfz-footer__grid > :first-child { grid-column: 1 / -1; }
	.kfz-stat:nth-child(3)::before { display: none; }
}

/* Desktop ab 960 px */
@media (min-width: 960px) {
	.kfz-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
	.kfz-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.kfz-stat:nth-child(3)::before { display: block; }
	.kfz-split { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
	.kfz-split--even { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.kfz-request { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
	.kfz-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.kfz-steps::before { display: block; }
	.kfz-footer__grid { grid-template-columns: 1.6fr 1fr 1fr; }
	.kfz-footer__grid > :first-child { grid-column: auto; }
}

/* Großer Desktop ab 1180 px */
@media (min-width: 1180px) {
	.kfz-chip--a { left: -4%; }
	.kfz-chip--b { right: -3%; }
}

/* ---------- Slide-over: Kästen treten beim Überfahren heraus (nur Maus-Geräte) ---------- */
.kfz-card, .kfz-check, .kfz-fact, .kfz-method, .kfz-step, .kfz-panel, .kfz-stat, .kfz-faq, .kfz-brand-chip, .kfz-request {
	transition: transform .35s var(--kfz-ease), box-shadow .35s var(--kfz-ease), border-color .3s, background-color .3s;
	will-change: transform;
}
@media (hover: hover) and (pointer: fine) {
	.kfz-card:hover, .kfz-check:hover, .kfz-fact:hover, .kfz-method:hover, .kfz-step:hover {
		transform: translateY(-8px) scale(1.015);
		box-shadow: 0 4px 10px rgba(15, 30, 51, .05), 0 34px 60px -18px rgba(30, 58, 95, .32), inset 0 0 0 1px rgba(30, 58, 95, .18);
		z-index: 2;
	}
	.kfz-card--feature:hover { transform: translateY(-8px) scale(1.01); }
	.kfz-panel:hover { transform: translateY(-6px); box-shadow: 0 4px 10px rgba(15, 30, 51, .05), 0 40px 70px -24px rgba(30, 58, 95, .35), inset 0 0 0 1px var(--kfz-line); }
	.kfz-panel--accent:hover { box-shadow: 0 44px 80px -28px rgba(22, 58, 99, .8); }
	.kfz-stats:hover .kfz-stat:not(:hover) { opacity: .7; }
	.kfz-stat { transition: transform .35s var(--kfz-ease), opacity .3s; }
	.kfz-stat:hover { transform: translateY(-4px); }
	.kfz-faq:hover { transform: translateX(4px); box-shadow: var(--kfz-shadow-card); }
	.kfz-brand-chip:hover { transform: translateY(-3px) scale(1.03); }
	.kfz-request:hover { box-shadow: 0 2px 6px rgba(15, 30, 51, .04), 0 50px 90px -36px rgba(30, 58, 95, .55), inset 0 0 0 1px var(--kfz-line); }
}

/* ---------- Mobile Aktionsleiste (Anrufen / WhatsApp / Anfrage) ---------- */
.kfz-actionbar {
	position: fixed; z-index: 90; left: .75rem; right: .75rem; bottom: calc(.75rem + env(safe-area-inset-bottom));
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; padding: .4rem;
	background: rgba(255, 255, 255, .94); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
	border-radius: 18px; box-shadow: 0 2px 6px rgba(15, 30, 51, .06), 0 18px 40px -12px rgba(15, 30, 51, .35), inset 0 0 0 1px var(--kfz-line);
	transform: translateY(140%); transition: transform .35s var(--kfz-ease);
}
.kfz-actionbar.is-visible { transform: none; }
.kfz-actionbar a {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; padding: .55rem .3rem; border-radius: 13px;
	font-family: var(--kfz-heading); font-size: .74rem; font-weight: 600; color: var(--kfz-ink); text-decoration: none;
}
.kfz-actionbar a svg { width: 20px; height: 20px; }
.kfz-actionbar .kfz-actionbar__call { background: var(--kfz-primary); color: #fff; }
.kfz-actionbar .kfz-actionbar__wa { background: #E9FBF0; color: #128C4A; }
.kfz-actionbar .kfz-actionbar__mail { background: var(--kfz-surface); }
body.kfz-has-actionbar { padding-bottom: 88px; }
@media (min-width: 960px) {
	.kfz-actionbar { display: none; }
	body.kfz-has-actionbar { padding-bottom: 0; }
}

/* ---------- Anruf-Fenster (Desktop) ---------- */
.kfz-call-dialog {
	border: 0; padding: 0; border-radius: 26px; width: min(92vw, 480px); color: var(--kfz-text);
	box-shadow: 0 50px 100px -30px rgba(15, 30, 51, .55);
}
.kfz-call-dialog::backdrop { background: rgba(15, 30, 51, .45); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.kfz-call-dialog[open] { animation: kfz-pop .35s var(--kfz-ease); }
@keyframes kfz-pop { from { opacity: 0; transform: translateY(16px) scale(.97); } to { opacity: 1; transform: none; } }
.kfz-call { position: relative; padding: 2.4rem 2rem 2rem; text-align: center; background: radial-gradient(500px 220px at 50% 0%, rgba(30, 58, 95, .12), transparent 70%), #fff; }
.kfz-call__icon { width: 64px; height: 64px; margin: 0 auto 1rem; display: grid; place-items: center; border-radius: 50%; background: var(--kfz-primary); color: #fff; box-shadow: 0 0 0 10px var(--kfz-tint), 0 18px 30px -10px rgba(30, 58, 95, .7); }
.kfz-call__icon svg { width: 28px; height: 28px; }
.kfz-call__label { margin: 0 0 .35rem; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--kfz-primary); }
.kfz-call__number { display: block; margin: 0 0 .5rem; font-family: var(--kfz-heading); font-weight: 800; font-size: clamp(1.8rem, 6vw, 2.6rem); letter-spacing: -.01em; color: var(--kfz-ink); text-decoration: none; user-select: all; }
.kfz-call__hours { margin: 0 0 1.5rem; color: var(--kfz-muted); font-size: .92rem; }
.kfz-call__actions { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; }
.kfz-call__actions button, .kfz-call__actions a {
	font-family: var(--kfz-heading); font-weight: 600; font-size: .92rem; padding: .8rem 1.25rem; border-radius: 12px; cursor: pointer; text-decoration: none; border: 0;
}
.kfz-call__copy { background: var(--kfz-primary); color: #fff; box-shadow: 0 10px 22px -10px rgba(30, 58, 95, .7); }
.kfz-call__back { background: var(--kfz-surface); color: var(--kfz-ink); box-shadow: inset 0 0 0 1px var(--kfz-line); }
.kfz-call__close { position: absolute; top: .9rem; right: .9rem; width: 38px; height: 38px; border-radius: 50%; border: 0; cursor: pointer; background: var(--kfz-surface); color: var(--kfz-ink); font-size: 1.3rem; line-height: 1; }
.kfz-call__close:hover { background: var(--kfz-tint); }

/* Join.chat: Plugin-Button auf Mobil ausblenden – die Aktionsleiste enthält WhatsApp bereits */
@media (max-width: 959px) {
	.kfz-has-actionbar .joinchat__button { display: none !important; }
	.kfz-has-actionbar .joinchat { bottom: 84px; }
}

/* ---------- Rückruf im Anruf-Fenster ---------- */
.kfz-call__icon--accent { background: var(--kfz-accent); color: #fff; box-shadow: 0 0 0 10px #FDEDED, 0 18px 30px -10px rgba(215, 38, 43, .7); }
.kfz-call__intro { margin: 0 0 1.25rem; color: var(--kfz-muted); font-size: .95rem; }
.kfz-callback { text-align: left; display: grid; gap: .85rem; }
.kfz-callback .kfz-field--check { margin-top: .2rem; }
.kfz-callback .kfz-field--check label { font-size: .82rem; }
.kfz-callback .kfz-call__actions { margin-top: .4rem; }
.kfz-callback button[disabled] { opacity: .7; cursor: wait; }
.kfz-callback__msg { margin: 0; padding: .7rem .9rem; border-radius: 10px; font-size: .88rem; }
.kfz-callback__msg.is-error { background: #FEF2F2; color: #991B1B; }
.kfz-callback__done { padding: 1.25rem; border-radius: 14px; background: #ECFDF3; color: #166534; text-align: center; box-shadow: inset 0 0 0 1px #BBF7D0; }
.kfz-call__view[hidden] { display: none; }
.kfz-request__callback { display: inline-block !important; margin-top: .5rem; font-family: var(--wp--preset--font-family--body) !important; font-size: .88rem !important; font-weight: 600 !important; color: var(--kfz-primary); }

/* ---------- v1.2.1: Anfrage-Formular zentriert, größere Felder ---------- */
.kfz-request { grid-template-columns: minmax(0, 1fr) !important; max-width: 880px; margin-inline: auto !important; text-align: center; }
.kfz-request__intro { max-width: 640px; margin-inline: auto !important; }
.kfz-request__intro .kfz-checklist { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.4rem; text-align: left; }
.kfz-request__phone { display: inline-block; }
.kfz-request .kfz-form-wrap { text-align: left; }
.kfz-request .kfz-form__grid { gap: 1.25rem 1.4rem; }
.kfz-request .kfz-field label { font-size: .95rem; }
.kfz-request .kfz-field input:not([type="checkbox"]),
.kfz-request .kfz-field select,
.kfz-request .kfz-field textarea { font-size: 1.05rem; padding: 1.05rem 1.2rem; border-radius: 14px; min-height: 58px; }
.kfz-request .kfz-field textarea { min-height: 170px; }
.kfz-request .kfz-field--check label { font-size: .92rem; }
.kfz-request .kfz-field--check input { width: 22px; height: 22px; }
.kfz-request .kfz-form__foot { flex-direction: column; justify-content: center; text-align: center; }
.kfz-request .kfz-form__submit { font-size: 1.1rem; padding: 1.1rem 2.6rem; border-radius: 14px; width: 100%; max-width: 360px; }
@media (min-width: 640px) {
	.kfz-request .kfz-form__submit { width: auto; }
}

/* ---------- v1.3.0: Einstieg kompakter, Fußnote, Sachverständiger ---------- */
.kfz-hero { padding-block: clamp(2rem, 4.5vw, 4rem) clamp(2.5rem, 5vw, 4rem); }
.kfz-hero__title { font-size: clamp(2.1rem, 4.6vw, 3.4rem) !important; margin-bottom: 1rem !important; }
.kfz-badge { margin-bottom: 1rem !important; }
.kfz-hero__lead { margin-bottom: 1.5rem !important; }
.kfz-hero__actions { margin-bottom: 1.25rem !important; }
.kfz-stats { margin-top: clamp(2rem, 4vw, 3rem) !important; }
.kfz-footnote { font-size: .78rem !important; color: var(--kfz-muted); margin: 0 !important; }
.kfz-request__callback-box { margin: 0 !important; }

.kfz-about { background: #fff; }
.kfz-about__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.kfz-about__grid > * { margin: 0 !important; }
.kfz-about__text > * { margin-block: 0 1.1rem; }
.kfz-about__role { font-family: var(--kfz-heading); font-weight: 600; color: var(--kfz-primary); }
.kfz-about__facts { gap: .75rem; }
.kfz-portrait {
	aspect-ratio: 4 / 5; max-width: 420px; margin-inline: auto; border-radius: var(--kfz-radius-lg);
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .4rem; text-align: center; padding: 1.5rem;
	background: linear-gradient(160deg, var(--kfz-tint), #fff); color: var(--kfz-muted);
	box-shadow: var(--kfz-shadow-card), inset 0 0 0 2px dashed var(--kfz-line); border: 2px dashed #CBD3DE;
}
.kfz-portrait span { font-family: var(--kfz-heading); font-weight: 700; color: var(--kfz-navy); font-size: 1.1rem; }
.kfz-portrait small { font-size: .8rem; }
@media (min-width: 960px) {
	.kfz-about__grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
}

/* ---------- Logo ---------- */
.kfz-brand__logo { display: block; height: 48px; width: auto; max-width: 220px; object-fit: contain; }
.kfz-brand--light .kfz-brand__logo { height: 52px; }
@media (min-width: 960px) { .kfz-brand__logo { height: 54px; } }
.kfz-brand .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

.kfz-brand__logo { max-width: 240px; }

/* ---------- Sprachumschalter (oben rechts) ---------- */
.kfz-topbar__inner { align-items: center; flex-wrap: nowrap !important; }
.kfz-topbar__inner > p:first-child { flex: 1 1 auto; min-width: 0; }
.kfz-lang { position: relative; margin-left: auto; flex: none; z-index: 120; }
.kfz-lang__toggle {
	display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .55rem; border-radius: 8px; cursor: pointer;
	background: rgba(255, 255, 255, .1); color: #fff; border: 1px solid rgba(255, 255, 255, .2);
	font: 600 .75rem/1 var(--wp--preset--font-family--heading); letter-spacing: .04em;
	transition: background .2s;
}
.kfz-lang__toggle:hover, .kfz-lang.is-open .kfz-lang__toggle { background: rgba(255, 255, 255, .2); }
.kfz-lang__caret { transition: transform .2s; }
.kfz-lang.is-open .kfz-lang__caret { transform: rotate(180deg); }
.kfz-flag { display: block; width: 22px; height: 15px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(15, 30, 51, .15); flex: none; }
.kfz-lang__menu {
	position: absolute; right: 0; top: calc(100% + .45rem); min-width: 180px; margin: 0; padding: .4rem; list-style: none;
	background: #fff; border-radius: 14px; box-shadow: 0 2px 6px rgba(15, 30, 51, .06), 0 24px 48px -16px rgba(15, 30, 51, .35), inset 0 0 0 1px var(--kfz-line);
	opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .18s, transform .18s, visibility .18s;
}
.kfz-lang.is-open .kfz-lang__menu, .kfz-lang:focus-within .kfz-lang__menu { opacity: 1; visibility: visible; transform: none; }
.kfz-lang__menu a {
	display: flex !important; align-items: center; gap: .65rem; padding: .55rem .7rem; border-radius: 10px;
	color: var(--kfz-ink) !important; font-size: .9rem; font-weight: 500 !important; text-decoration: none;
}
.kfz-lang__menu a:hover { background: var(--kfz-surface); }
.kfz-lang__menu a.is-active { background: var(--kfz-tint); color: var(--kfz-primary) !important; font-weight: 700 !important; }
.kfz-lang__menu a.is-active::after { content: "✓"; margin-left: auto; font-size: .8rem; }

/* ---------- v1.5.0: individuelle Symbole für „Warum wir?“ ---------- */
.kfz-feature--1::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M5 7h14M7 7l-3 7a3 3 0 0 0 6 0L7 7zm10 0l-3 7a3 3 0 0 0 6 0l-3-7z'/%3E%3C/svg%3E"), linear-gradient(140deg, #2C4C78, #0F1E33) !important; }
.kfz-feature--2::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='M9 14l-2 7 5-3 5 3-2-7'/%3E%3Cpath d='M9.5 9l1.8 1.8L15 7.5'/%3E%3C/svg%3E"), linear-gradient(140deg, #2C4C78, #0F1E33) !important; }
.kfz-feature--3::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"), linear-gradient(140deg, #2C4C78, #0F1E33) !important; }
.kfz-feature--4::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-11a7 7 0 0 0-14 0c0 4.8 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"), linear-gradient(140deg, #2C4C78, #0F1E33) !important; }
.kfz-feature--5::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18a8 8 0 1 1 16 0'/%3E%3Cpath d='M12 18l4-6'/%3E%3Cpath d='M7 18h.01M17 18h.01'/%3E%3C/svg%3E"), linear-gradient(140deg, #2C4C78, #0F1E33) !important; }
.kfz-feature--6::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v10H9l-5 4z'/%3E%3Cpath d='M8 9h8M8 12h5'/%3E%3C/svg%3E"), linear-gradient(140deg, #2C4C78, #0F1E33) !important; }

/* ======================================================================
   v1.5.0 – Geräte-Audit, ruhigere/menschlichere Gestaltung, kleine Effekte
   ====================================================================== */

/* --- Abschnittsköpfe: linksbündig, ohne „Pille“ (wirkt weniger nach Baukasten) --- */
.kfz-section-head { text-align: left !important; margin-left: 0; max-width: 720px; }
.kfz-section-head .kfz-section-sub { margin: 0; }
.kfz-subhead { text-align: left !important; }
.kfz-eyebrow { background: none; padding: 0; border-radius: 0; font-size: .8rem; letter-spacing: .16em; color: var(--kfz-primary); }
.kfz-eyebrow::before { content: ""; display: inline-block; width: 22px; height: 2px; background: var(--kfz-accent); border-radius: 2px; margin-right: .1rem; }
.kfz-section-title { font-size: clamp(1.7rem, 3.2vw, 2.5rem) !important; }
#faq .kfz-section-head { margin-inline: auto; text-align: center !important; }
#faq .kfz-section-head .kfz-eyebrow { justify-content: center; }

/* --- Leistungskarten: ruhiger, mit Akzentlinie statt Nummer; Listen einklappbar --- */
.kfz-service { padding-top: 1.6rem; border-top: 3px solid var(--kfz-primary); }
.kfz-service:nth-child(3n+2) { border-top-color: var(--kfz-accent); }
.kfz-service:nth-child(3n) { border-top-color: #8A9BB3; }
.kfz-checklist li.is-extra { display: none; }
.kfz-checklist.is-expanded li.is-extra { display: list-item; animation: kfz-fade-in .35s var(--kfz-ease) both; }
.kfz-more {
	margin-top: .75rem; padding: .35rem 0; border: 0; background: none; cursor: pointer;
	font: 600 .88rem/1.3 var(--wp--preset--font-family--heading); color: var(--kfz-primary);
	display: inline-flex; align-items: center; gap: .35rem; min-height: 40px;
}
.kfz-more::after { content: "+"; display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--kfz-tint); font-size: .95rem; transition: transform .25s var(--kfz-ease); }
.kfz-more[aria-expanded="true"]::after { transform: rotate(45deg); }
@keyframes kfz-fade-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* --- Zitat im Abschnitt „Ihr Sachverständiger“ --- */
.kfz-about__quote { font-family: var(--kfz-heading); font-size: 1.2rem; line-height: 1.45; color: var(--kfz-ink); padding-left: 1.1rem; border-left: 3px solid var(--kfz-accent); }

/* --- Lesbarkeit: Mindestgrößen auf kleinen Geräten --- */
@media (max-width: 639px) {
	body { font-size: 1rem; }
	.kfz-stat__label, .kfz-fact__label, .kfz-method__hint, .kfz-brand-chip span, .kfz-check p:last-child, .kfz-form__note, .kfz-footnote, .kfz-note { font-size: .875rem !important; }
	.kfz-eyebrow { font-size: .8rem; }
	.kfz-field label { font-size: .9rem; }
	.kfz-hero__title { font-size: clamp(1.9rem, 8.4vw, 2.3rem) !important; }
	.kfz-badge { font-size: .82rem; }
}

/* --- WhatsApp-Button: ausreichender Kontrast (WCAG AA) --- */
.wp-block-button.kfz-btn--whatsapp .wp-block-button__link { background: #0E7A3E !important; color: #fff !important; box-shadow: 0 8px 20px -8px rgba(14, 122, 62, .6); }
.wp-block-button.kfz-btn--whatsapp .wp-block-button__link:hover { background: #0B6633 !important; }
.kfz-actionbar .kfz-actionbar__wa { background: #E6F6EC; color: #0B6633; }

/* --- Handy: Einstieg kompakter, Buttons nebeneinander --- */
@media (max-width: 639px) {
	.kfz-hero { padding-top: 1.5rem; }
	.kfz-hero__actions { display: grid !important; grid-template-columns: 1fr 1fr; gap: .6rem !important; }
	.kfz-hero__actions .wp-block-button { width: auto; }
	.kfz-hero__actions .wp-block-button:last-child { grid-column: 1 / -1; }
	.kfz-hero__actions .wp-block-button__link { padding: .9rem .6rem; }
	.kfz-hero__checks { font-size: .9rem; }
}

/* --- Kopfbereich: Topbar scrollt auf Handy/Tablet weg, Header wird beim Scrollen schmaler --- */
@media (max-width: 959px) {
	.kfz-site-header { position: relative; }
	.kfz-header { position: sticky; top: 0; z-index: 100; }
	.admin-bar .kfz-header { top: 46px; }
}
@media (max-width: 600px) { .admin-bar .kfz-header { top: 0; } }
.kfz-header__inner { transition: min-height .25s var(--kfz-ease); }
.kfz-brand__logo { transition: height .25s var(--kfz-ease); }
.kfz-header.is-scrolled .kfz-header__inner { min-height: 60px; }
.kfz-header.is-scrolled .kfz-brand__logo { height: 40px; }
@media (max-width: 959px) {
	.kfz-topbar__inner > p:first-child { font-size: .78rem; }
	.kfz-topbar__inner > p:nth-child(2) { display: none; }
}

/* --- Tippziele mind. 44 px --- */
.kfz-lang__toggle { min-height: 40px; padding: .4rem .7rem; }
.kfz-nav .wp-block-navigation__responsive-container-open { min-width: 44px; min-height: 44px; justify-content: center; align-items: center; }
.kfz-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.kfz-footer__links a { display: inline-block; padding: .3rem 0; }
.kfz-footer__bottom a { display: inline-block; padding: .4rem .1rem; }
.kfz-method__value a { display: inline-block; padding: .2rem 0; }
.kfz-field--check input { width: 22px !important; height: 22px !important; }

/* --- Tablet: Fahrzeugbild begrenzen, Ablauf dreispaltig --- */
@media (max-width: 959px) {
	.kfz-visual { max-width: 560px; margin-inline: auto; }
}
@media (min-width: 700px) {
	.kfz-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.kfz-steps::before { display: block; }
	.kfz-step { padding: 1.75rem 1.25rem; }
}

/* --- Handy: horizontale Wischleisten statt endloser Kartenstapel --- */
@media (max-width: 639px) {
	.kfz-swipe {
		display: grid !important; grid-auto-flow: column; grid-auto-columns: 82%; grid-template-columns: none !important;
		overflow-x: auto; scroll-snap-type: x mandatory; gap: .9rem !important; padding: .25rem 1rem 1.25rem;
		margin-inline: calc(-1 * clamp(1rem, 4vw, 2rem)); scroll-padding-inline: 1rem; -webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.kfz-swipe::-webkit-scrollbar { display: none; }
	.kfz-swipe > * { scroll-snap-align: start; }
	.kfz-swipe-hint { display: flex; justify-content: center; gap: .4rem; margin-top: -.25rem; }
	.kfz-swipe-hint span { width: 6px; height: 6px; border-radius: 50%; background: var(--kfz-line); transition: background .2s, width .2s; }
	.kfz-swipe-hint span.is-active { width: 18px; border-radius: 3px; background: var(--kfz-primary); }
	.kfz-brands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 640px) { .kfz-swipe-hint { display: none; } }

/* --- Einblenden: kürzer und dezenter (kein „leerer“ Bereich nach Menü-Sprung) --- */
@media (prefers-reduced-motion: no-preference) {
	.kfz-js .kfz-reveal { transform: translateY(10px); transition-duration: .45s; }
}

/* --- Effekt: Lesefortschritt oben --- */
.kfz-progress { position: fixed; top: 0; left: 0; height: 3px; width: 100%; z-index: 99999; pointer-events: none; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, var(--kfz-accent), var(--kfz-primary)); }
.admin-bar .kfz-progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .kfz-progress { top: 46px; } }

/* --- Effekt: aktiver Menüpunkt beim Scrollen --- */
.kfz-nav .wp-block-navigation-item__content.is-current { color: var(--kfz-primary); }
.kfz-nav .wp-block-navigation-item__content.is-current::after { left: 0; right: 0; }

/* --- Effekt: FAQ weich aufklappen --- */
.kfz-faq > p { overflow: hidden; }
.kfz-faq.is-animating > p { transition: height .3s var(--kfz-ease), opacity .3s; }

/* --- Effekt: „Nach oben“ (nur Desktop) --- */
.kfz-totop {
	position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 80; width: 46px; height: 46px; border-radius: 50%; border: 0; cursor: pointer;
	display: grid; place-items: center; background: #fff; color: var(--kfz-primary);
	box-shadow: 0 2px 6px rgba(15, 30, 51, .08), 0 14px 30px -10px rgba(15, 30, 51, .35), inset 0 0 0 1px var(--kfz-line);
	opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .25s, transform .25s var(--kfz-ease), background .2s;
}
.kfz-totop.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.kfz-totop:hover { background: var(--kfz-primary); color: #fff; }
@media (max-width: 959px) { .kfz-totop { display: none; } }

/* --- Effekt: Zahlen zählen hoch, Hervorhebung zeichnet sich --- */
.kfz-hl { background-size: 0% 100%; background-repeat: no-repeat; background-image: linear-gradient(transparent 68%, var(--kfz-accent-light) 68%, var(--kfz-accent-light) 92%, transparent 92%); background-color: transparent; transition: background-size 1s .35s var(--kfz-ease); }
.kfz-js .kfz-hl { background: none; background-image: linear-gradient(transparent 68%, var(--kfz-accent-light) 68%, var(--kfz-accent-light) 92%, transparent 92%); background-repeat: no-repeat; background-size: 0% 100%; }
.kfz-js .kfz-hl.is-drawn { background-size: 100% 100%; }

@media (prefers-reduced-motion: reduce) {
	.kfz-progress, .kfz-totop { transition: none; }
	.kfz-js .kfz-hl { background-size: 100% 100%; }
}

@media (max-width: 639px) {
	.kfz-swipe { align-items: start; }
	.kfz-hero__actions .wp-block-button__link { text-align: center; justify-content: center; width: 100%; }
}

/* ---------- v1.5.1: animiertes Fahrzeugbild im Einstieg ---------- */
.kfz-visual--anim { position: relative; }
.kfz-visual--anim .svba { display: block; width: 100%; height: auto; filter: drop-shadow(0 30px 50px rgba(30, 58, 95, .18)); }
@media (max-width: 959px) { .kfz-visual--anim { max-width: 600px; margin-inline: auto; } }
@media (max-width: 959px) { .kfz-portrait { max-width: 260px; } }
@media (max-width: 639px) { .kfz-portrait { max-width: 200px; } }

/* ==========================================================================
   v1.5.2 – Sicherheitsfrage, Pflichtfeld-Hinweise, Logo-Glanz
   ========================================================================== */
.kfz-field--captcha { margin-top: 1.1rem; }
.kfz-captcha__q { display: inline-block; margin-left: .35rem; padding: .1rem .55rem; border-radius: 8px; background: var(--kfz-tint, #EEF1F5); color: var(--kfz-primary); font-family: var(--kfz-heading); font-weight: 700; letter-spacing: .01em; }
.kfz-captcha__q.is-new { animation: kfz-cap-pop .45s ease; }
@keyframes kfz-cap-pop { 0% { transform: scale(.92); opacity: .4; } 100% { transform: none; opacity: 1; } }
.kfz-captcha__row { display: flex; gap: .6rem; align-items: stretch; }
.kfz-field .kfz-captcha__row input { max-width: 9rem; text-align: center; font-weight: 700; font-size: 1.05rem; }
.kfz-captcha__new { font: inherit; font-size: .85rem; font-weight: 600; color: var(--kfz-primary); background: none; border: 1.5px dashed var(--kfz-line); border-radius: 12px; padding: 0 1rem; cursor: pointer; min-height: 44px; transition: border-color .2s, background .2s; }
.kfz-captcha__new:hover, .kfz-captcha__new:focus-visible { border-color: var(--kfz-primary); background: #fff; }
.kfz-field__hint { font-size: .78rem; color: var(--kfz-muted); }
.kfz-field--check label > span { flex: 1; }
.kfz-field--check a { font-weight: 600; text-underline-offset: 2px; }

.kfz-field__error { display: flex; align-items: center; gap: .35rem; font-size: .8rem; font-weight: 600; color: #B42318; }
.kfz-field__error::before { content: "!"; display: inline-grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; background: #B42318; color: #fff; font-size: .7rem; flex: none; }
.kfz-field.has-error input:not([type="checkbox"]), .kfz-field.has-error textarea, .kfz-field.has-error select { border-color: #D92D20; background: #FFF6F5; }
.kfz-field.has-error input:not([type="checkbox"]):focus { box-shadow: 0 0 0 4px rgba(217, 45, 32, .14); }
.kfz-field--check.has-error label { color: #B42318; }
.kfz-field--check.has-error input { outline: 2px solid #D92D20; outline-offset: 2px; }
.kfz-field--check .kfz-field__error { margin-left: calc(22px + .7rem); }

/* Glanz läuft einmal beim Laden über das Logo – per Maske nur auf der Logo-Form sichtbar. */
.kfz-brand__shine-wrap { position: relative; display: inline-block; line-height: 0; }
.kfz-brand__shine {
	position: absolute; inset: 0; pointer-events: none;
	-webkit-mask: var(--kfz-logo) center / 100% 100% no-repeat; mask: var(--kfz-logo) center / 100% 100% no-repeat;
	background: linear-gradient(110deg, transparent 0 43%, rgba(255, 255, 255, .95) 49%, rgba(255, 238, 205, .9) 51%, transparent 57% 100%) no-repeat;
	background-size: 320% 100%; background-position: 160% 0; opacity: 0;
	animation: kfz-shine 3.6s cubic-bezier(.37, 0, .63, 1) .8s 1 both;
}
@keyframes kfz-shine {
	0% { background-position: 160% 0; opacity: 1; }
	92% { opacity: 1; }
	100% { background-position: -60% 0; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .kfz-brand__shine { display: none; } }

/* Uhr neben „24–48 h“ – Zeiger drehen sich beim Hochzählen */
.kfz-stat__value:has(.kfz-clock), .kfz-fact__value:has(.kfz-clock) { display: flex; align-items: center; gap: .55rem; }
.kfz-clock { display: inline-flex; flex: none; width: 1.35em; height: 1.35em; }
.kfz-clock svg { width: 100%; height: 100%; overflow: visible; }
.kfz-clock__face { fill: var(--kfz-tint); stroke: currentColor; stroke-width: 2.6; }
.kfz-clock__ticks { stroke: currentColor; stroke-width: 2; stroke-linecap: round; opacity: .55; }
.kfz-clock__h, .kfz-clock__m { stroke: currentColor; stroke-linecap: round; transform-origin: 20px 20px; transform-box: view-box; }
.kfz-clock__h { stroke-width: 3.2; }
.kfz-clock__m { stroke-width: 2.2; stroke: var(--kfz-accent); }
.kfz-clock__pin { fill: currentColor; }
.kfz-clock__val { white-space: nowrap; font-variant-numeric: tabular-nums; }

/* --- Leistungskacheln: Klick holt die Kachel vergrößert nach vorn (v1.5.3) --- */
.kfz-service.is-zoomable { cursor: zoom-in; }
.kfz-service.is-zoomable:focus-visible { outline: 3px solid var(--kfz-primary); outline-offset: 3px; }
.kfz-service.is-zoomed { visibility: hidden; }
.kfz-more { position: relative; z-index: 1; }
.kfz-zoom-open, .kfz-zoom-open body { overflow: hidden; }
.kfz-zoom { position: fixed; inset: 0; z-index: 100000; display: grid; grid-template-columns: minmax(0, 620px); justify-content: center; align-items: center; padding: 16px; }
.kfz-zoom__backdrop { position: absolute; inset: 0; background: rgba(15, 30, 51, .5); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); opacity: 0; transition: opacity .35s ease; cursor: zoom-out; }
.kfz-zoom.is-open .kfz-zoom__backdrop { opacity: 1; }
.kfz-zoom .kfz-zoom__card {
	position: relative; width: 100%; box-sizing: border-box; max-height: calc(100dvh - 32px); overflow: auto; overscroll-behavior: contain;
	margin: 0; padding: 2.2rem 2.2rem 2rem; cursor: zoom-out; transform: none; visibility: visible;
	box-shadow: 0 40px 90px rgba(15, 30, 51, .35), 0 8px 24px rgba(15, 30, 51, .15);
	will-change: transform;
}
.kfz-zoom .kfz-zoom__card:hover { transform: none; }
.kfz-zoom .kfz-card__title { font-size: clamp(1.35rem, 3vw, 1.7rem) !important; padding-right: 2.5rem; }
.kfz-zoom .kfz-card__text { font-size: 1.05rem; }
.kfz-zoom .kfz-checklist { columns: 2 220px; column-gap: 1.6rem; }
.kfz-zoom .kfz-checklist li { break-inside: avoid; font-size: 1rem; }
.kfz-zoom .kfz-checklist li.is-extra { animation: kfz-fade-in .4s var(--kfz-ease) .2s both; }
.kfz-zoom__close {
	position: absolute; top: .9rem; right: .9rem; width: 42px; height: 42px; border-radius: 50%;
	border: 1px solid var(--kfz-line); background: #fff; color: var(--kfz-ink); font-size: 1.5rem; line-height: 1; cursor: pointer;
	display: grid; place-items: center; transition: background .2s, transform .2s;
}
.kfz-zoom__close:hover, .kfz-zoom__close:focus-visible { background: var(--kfz-tint); transform: rotate(90deg); }
@media (max-width: 639px) { .kfz-zoom .kfz-zoom__card { padding: 1.6rem 1.3rem 1.4rem; } }
@media (prefers-reduced-motion: reduce) { .kfz-zoom__backdrop { transition: none; } }

/* ==========================================================================
   v1.5.6 – Einstieg: Effekte nacheinander von oben nach unten
   (html.kfz-intro wird im <head> gesetzt; Sicherheitsnetz: .kfz-intro--done nach spätestens 6 s)
   ========================================================================== */
.kfz-intro .kfz-hero__content > *,
.kfz-intro .kfz-hero__visual,
.kfz-intro .kfz-stats,
.kfz-intro .kfz-stat {
	opacity: 0; transform: translateY(18px);
	transition: opacity .8s var(--kfz-ease), transform .8s var(--kfz-ease);
}
.kfz-intro .kfz-hero__visual { transform: translateY(18px) scale(.97); transition-duration: 1s; }
.kfz-intro .kfz-hero__content > .is-in,
.kfz-intro .kfz-hero__visual.is-in,
.kfz-intro .kfz-stat.is-in,
.kfz-intro .kfz-stats.is-in,
.kfz-intro--done .kfz-stats,
.kfz-intro--done .kfz-hero__content > *,
.kfz-intro--done .kfz-hero__visual,
.kfz-intro--done .kfz-stat { opacity: 1; transform: none; }
/* Logo-Glanz und Fahrzeug-Animation warten auf ihren Einsatz. */
.kfz-intro .kfz-brand__shine { animation-delay: 0s; animation-play-state: paused; }
.kfz-intro--logo .kfz-brand__shine, .kfz-intro--done .kfz-brand__shine { animation-play-state: running; }
.kfz-intro .svba, .kfz-intro .svba * { animation-play-state: paused !important; }
.kfz-intro--anim .svba, .kfz-intro--anim .svba *, .kfz-intro--done .svba, .kfz-intro--done .svba * { animation-play-state: running !important; }
/* Markierung im Titel etwas langsamer, damit man sie wahrnimmt. */
.kfz-intro .kfz-js .kfz-hl, .kfz-intro.kfz-js .kfz-hl { transition: background-size 1.2s var(--kfz-ease); }

/* v1.5.8 – neues Logo „Kfz-Gutachter Mannheim“ (Seitenverhältnis 4:1) */
.kfz-brand__logo { max-width: 250px; }
@media (min-width: 960px) { .kfz-brand__logo { height: 58px; } }
.kfz-header.is-scrolled .kfz-brand__logo { height: 44px; }
@media (max-width: 639px) { .kfz-brand__logo { height: 42px; max-width: 190px; } .kfz-header.is-scrolled .kfz-brand__logo { height: 38px; } }

/* ==========================================================================
   v1.5.9 – Sachverständiger: echtes Foto + Qualifikationen als Zeitleiste
   ========================================================================== */
.kfz-portrait--photo {
	display: block; padding: 0; border: 0; overflow: hidden; position: relative; margin: 0 auto;
	background: var(--kfz-surface); box-shadow: var(--kfz-shadow-lifted);
}
.kfz-portrait--photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.kfz-portrait--photo figcaption {
	position: absolute; left: .9rem; right: .9rem; bottom: .9rem; padding: .7rem .95rem; border-radius: 14px;
	background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	box-shadow: 0 6px 18px rgba(15, 30, 51, .14); display: flex; flex-direction: column; gap: .1rem; text-align: left;
}
.kfz-portrait--photo figcaption strong { font-family: var(--kfz-heading); font-size: 1rem; color: var(--kfz-ink); }
.kfz-portrait--photo figcaption span { font-size: .8rem; color: var(--kfz-primary); font-weight: 600; }

.kfz-about__subhead { font-family: var(--kfz-heading); font-weight: 700; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--kfz-muted); margin-top: 1.6rem !important; }
.kfz-timeline { list-style: none; margin: 0; padding: 0 0 0 1.4rem; position: relative; display: grid; gap: 1rem; }
.kfz-timeline::before { content: ""; position: absolute; left: .35rem; top: .5rem; bottom: .5rem; width: 2px; background: linear-gradient(var(--kfz-line), var(--kfz-primary)); border-radius: 2px; }
.kfz-timeline li { position: relative; display: flex; flex-direction: column; gap: .15rem; padding: 0; color: var(--kfz-muted); font-size: .93rem; line-height: 1.5; }
.kfz-timeline li::before { content: ""; position: absolute; left: calc(-1.4rem + .05rem); top: .35rem; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 3px solid var(--kfz-primary); box-sizing: border-box; }
.kfz-timeline li:last-child::before { background: var(--kfz-accent); border-color: var(--kfz-accent); box-shadow: 0 0 0 4px rgba(215, 38, 43, .2); }
.kfz-timeline strong { color: var(--kfz-ink); font-family: var(--kfz-heading); font-size: 1rem; }
.kfz-tl__date { font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--kfz-primary); }
.kfz-timeline { margin-bottom: 1.3rem !important; }
@media (min-width: 960px) {
	.kfz-about__grid { align-items: start; }
	.kfz-about__photo { position: sticky; top: 110px; }
}
@media (max-width: 959px) { .kfz-portrait--photo figcaption { display: none; } }

/* v1.6.1 – AGB: Widerrufsbelehrung und Formular als Kasten */
.kfz-legal-box { margin-block: 1.5rem !important; padding: 1.4rem 1.6rem; }
.kfz-legal-box > * { margin-block: 0 .8rem; }
.kfz-legal-box > *:last-child { margin-bottom: 0; }
.kfz-legal-box h3 { font-size: 1.15rem; }

/* v1.6.2 – Auto-Signet im Startbereich: fährt beim Laden von links ein */
.kfz-signet { margin: 0 0 1.1rem !important; line-height: 0; }
.kfz-signet img { display: block; width: clamp(200px, 24vw, 300px); height: auto; }
.kfz-intro .kfz-hero__content > .kfz-signet { opacity: 0; transform: translateX(-60px); clip-path: inset(0 100% 0 0); transition: opacity .6s ease, transform 1.4s cubic-bezier(.2, .8, .2, 1), clip-path 1.4s cubic-bezier(.2, .8, .2, 1); }
.kfz-intro .kfz-hero__content > .kfz-signet.is-in, .kfz-intro--done .kfz-hero__content > .kfz-signet { opacity: 1; transform: none; clip-path: inset(0 0 0 0); }
@media (max-width: 639px) { .kfz-signet img { width: 210px; } }

/* v1.6.3 – Logo: Auto-Signet mit geplanter Adresse darunter */
.kfz-brand__stack { display: inline-flex; flex-direction: column; align-items: center; gap: .2rem; line-height: 1; }
.kfz-brand__logo--car { height: 46px; max-width: none; }
@media (min-width: 960px) { .kfz-brand__logo--car { height: 58px; } }
.kfz-header.is-scrolled .kfz-brand__logo--car { height: 38px; }
@media (max-width: 639px) { .kfz-brand__logo--car { height: 38px; } .kfz-header.is-scrolled .kfz-brand__logo--car { height: 34px; } }
.kfz-brand__url { font-family: var(--kfz-heading); font-size: .72rem; font-weight: 600; letter-spacing: .06em; color: var(--kfz-ink); white-space: nowrap; }
.kfz-header.is-scrolled .kfz-brand__url { font-size: .66rem; }
.kfz-brand--light .kfz-brand__url { color: #DCE6F5; font-size: .8rem; }
.kfz-brand--light .kfz-brand__logo--car { height: 60px; }

/* v1.6.4 – Logo und Adresse 1,5-fach */
.kfz-brand__logo--car { height: 69px; }
@media (min-width: 960px) { .kfz-brand__logo--car { height: 87px; } }
.kfz-header.is-scrolled .kfz-brand__logo--car { height: 57px; }
@media (max-width: 639px) { .kfz-brand__logo--car { height: 57px; } .kfz-header.is-scrolled .kfz-brand__logo--car { height: 48px; } }
.kfz-brand__url { font-size: 1.08rem; }
.kfz-header.is-scrolled .kfz-brand__url { font-size: .95rem; }
.kfz-brand--light .kfz-brand__logo--car { height: 90px; }
.kfz-brand--light .kfz-brand__url { font-size: 1.2rem; }
.kfz-header .kfz-brand { padding-block: .55rem; } .kfz-header.is-scrolled .kfz-brand { padding-block: .3rem; }

/* v1.6.5 – Foto „Ihr Sachverständiger“ läuft unterhalb des (größeren) Kopfbereichs mit, statt darunter zu verschwinden */
html { scroll-padding-top: calc(var(--kfz-head-h, 150px) + 16px); }
@media (min-width: 960px) {
	.kfz-about__photo { top: calc(var(--kfz-head-h, 170px) + 24px); }
	.admin-bar .kfz-about__photo { top: calc(var(--kfz-head-h, 170px) + 56px); }
}

/* ==========================================================================
   v1.6.9 – Harmonie mit dem Logo: Marine + Rot (wie Auto-Signet)
   ========================================================================== */
/* Markierung im Titel als rote Linie – wie der rote Strich unter dem Auto im Logo */
.kfz-hl, .kfz-js .kfz-hl {
	color: var(--kfz-primary);
	background-image: linear-gradient(transparent 84%, var(--kfz-accent) 84%, var(--kfz-accent) 92%, transparent 92%);
}
.kfz-hl { background-size: 100% 100%; }
.kfz-js .kfz-hl { background-size: 0% 100%; }
.kfz-js .kfz-hl.is-drawn { background-size: 100% 100%; }
/* Augenbrauen-Linie und Akzente rot */
.kfz-eyebrow::before { background: var(--kfz-accent) !important; }
/* Hinweis-/Rechtskästen neutral statt warnend */
.kfz-notice { border-left-color: var(--kfz-primary); }
/* Links: Marine, beim Überfahren roter Unterstrich */
.kfz-section a:not(.wp-element-button):not(.kfz-more):hover, .kfz-note a:hover { color: var(--kfz-accent); }
/* Primär-Knöpfe in Logo-Marine, beim Überfahren dunkler mit roter Unterkante */
.wp-block-button:not(.is-style-outline):not(.kfz-btn--whatsapp) .wp-block-button__link:hover, .kfz-form__submit:hover { box-shadow: inset 0 -3px 0 0 var(--kfz-accent); }
/* Logo-Glanz neutral weiß */
.kfz-brand__shine { background-image: linear-gradient(110deg, transparent 0 43%, rgba(255, 255, 255, .95) 49%, rgba(255, 255, 255, .85) 51%, transparent 57% 100%); }

/* v1.7.4 – Namensbox unter dem Foto statt darüber */
.kfz-portrait--photo { aspect-ratio: auto; overflow: visible; background: none; box-shadow: none; border-radius: 0; }
.kfz-portrait--photo img { aspect-ratio: 4 / 5; height: auto; border-radius: var(--kfz-radius-lg); box-shadow: var(--kfz-shadow-lifted); }
.kfz-portrait--photo figcaption {
	position: static; display: flex; margin: .9rem 0 0; padding: .85rem 1.1rem; text-align: center; align-items: center;
	background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none;
	border-radius: 14px; box-shadow: var(--kfz-shadow-card); border-top: 3px solid var(--kfz-accent);
}
.kfz-portrait--photo figcaption strong { font-size: 1.1rem; }
@media (max-width: 959px) { .kfz-portrait--photo figcaption { display: flex; } }
