.vdb-kde {
	--vdb-kde-navy: #071b2b;
	--vdb-kde-pink: #f2004d;
	--vdb-kde-gold: #f5ad00;
	--vdb-kde-green: #16a34a;
	--vdb-kde-border: #e6ded8;
	--vdb-kde-surface: #fff;
	--vdb-kde-muted: #5d6973;
	background: #f7f4f1;
	color: var(--vdb-kde-navy);
	padding: clamp(3.5rem, 7vw, 6.5rem) 0;
}

/* Kompaktere Abstände und einheitliche Oberkanten auf „Über uns“. */
body .about-certification-section {
	padding-block: clamp(52px, 6vw, 84px);
}

body .about-certification-section .section-heading--split {
	align-items: start;
	gap: clamp(32px, 4vw, 56px);
	margin-bottom: clamp(30px, 4vw, 48px);
}

body .about-qualification-proof {
	align-items: start;
	gap: clamp(24px, 3vw, 40px);
	margin-top: 16px;
	padding: clamp(24px, 2.4vw, 32px);
}

body .about-qualification-proof__copy,
body .about-qualification-proof__badges {
	align-self: start;
}

/* Abschluss-CTA kompakter, ohne die klare Trennung vom Seiteninhalt zu verlieren. */
body .about-cta .cta-section__inner {
	min-height: 300px;
	gap: clamp(28px, 4vw, 48px);
	padding-block: clamp(48px, 5vw, 72px);
}

/* Bewertungsseite: gemeinsame Oberkanten, kompakter Rhythmus und zwei Quellen. */
body .reviews-page-hero {
	padding-block: clamp(54px, 6vw, 82px);
}

body .reviews-page-hero__grid {
	align-items: start;
	gap: clamp(32px, 4vw, 56px);
}

body .reviews-page-hero__grid > div:first-child,
body .reviews-score-card {
	align-self: start;
}

body .reviews-page-hero h1 {
	margin-bottom: 22px;
}

body .reviews-score-card--sources {
	display: grid;
	gap: 14px;
	padding: 26px;
}

.reviews-score-card__label {
	color: #5d6973;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.reviews-score-card__row {
	align-items: center;
	background: #f7f4f1;
	border: 1px solid #e6ded8;
	border-radius: 14px;
	color: #071b2b;
	display: grid;
	grid-template-columns: minmax(86px, auto) 48px minmax(0, 1fr);
	gap: 12px;
	padding: 13px 14px;
	text-decoration: none;
}

body .reviews-score-card__row strong {
	font-size: 1.25rem;
	line-height: 1;
	margin: 0;
}

body .reviews-score-card__row small {
	color: #5d6973;
	font-size: .78rem;
	line-height: 1.35;
}

.reviews-score-card__rating {
	color: #d99a00;
	font-weight: 800;
	white-space: nowrap;
}

body .reviews-score-card__date {
	color: #5d6973;
	font-size: .75rem;
	margin-top: 0;
}

body .review-method .section-heading--split {
	align-items: start;
	gap: clamp(32px, 4vw, 56px);
}

body .vdb-kde--reviews-page {
	padding-block: clamp(52px, 6vw, 80px);
}

/* Ratgeber Finanzamt: Trust-Slider und kompaktere Inhaltsabstände. */
body.vdb-glf-immobilienbewertung-finanzamt .vdb-finanzamt-section {
	margin-bottom: clamp(38px, 4vw, 52px);
	padding-bottom: clamp(38px, 4vw, 52px);
}

body.vdb-glf-immobilienbewertung-finanzamt .vdb-finanzamt-section--law,
body.vdb-glf-immobilienbewertung-finanzamt .vdb-finanzamt-section--deadline,
body.vdb-glf-immobilienbewertung-finanzamt .vdb-finanzamt-section--conclusion {
	padding: clamp(28px, 3.2vw, 40px);
}

body.vdb-glf-immobilienbewertung-finanzamt #vdb-laf-qualification-context {
	margin: 0 0 24px;
}

body.vdb-glf-immobilienbewertung-finanzamt .vdb-finanzamt-final-cta {
	grid-template-columns: minmax(0, 1fr) minmax(210px, .42fr);
	gap: 28px;
	margin-bottom: clamp(44px, 5vw, 64px);
	padding: clamp(30px, 3.2vw, 40px);
}

body.vdb-glf-immobilienbewertung-finanzamt .vdb-finanzamt-final-cta p:not(.eyebrow) {
	font-size: 1rem;
	line-height: 1.55;
	margin-bottom: 14px;
}

body.vdb-glf-immobilienbewertung-finanzamt .vdb-finanzamt-related {
	padding-block: clamp(52px, 5.5vw, 72px);
}

body.vdb-glf-immobilienbewertung-finanzamt .vdb-finanzamt-related .guide-card {
	min-height: 230px;
	padding: clamp(24px, 2.4vw, 30px);
}

.vdb-kde--finance-page {
	border: 1px solid var(--vdb-kde-border);
	border-radius: 24px;
	margin-bottom: clamp(38px, 4vw, 52px);
	padding: clamp(34px, 4vw, 46px) 0;
}

.vdb-kde--finance-page .vdb-kde__inner {
	margin: 0;
	max-width: none;
	padding-inline: clamp(22px, 3vw, 32px);
	width: 100%;
}

.vdb-kde--finance-page .vdb-kde__heading {
	flex-direction: column;
	gap: 1.35rem;
}

.vdb-kde--finance-page .vdb-kde__slide {
	flex-basis: calc((100% - 1.25rem) / 2);
}

.vdb-kde--finance-page .vdb-kde__card {
	height: 27rem;
}

@media (max-width: 1100px) {
	body .about-certification-section .section-heading--split,
	body .about-qualification-proof {
		gap: 22px;
	}

	body .about-cta .cta-section__inner {
		min-height: 0;
		gap: 28px;
		padding-block: 52px;
	}
}

@media (max-width: 720px) {
	body .about-certification-section {
		padding-block: 44px;
	}

	body .about-certification-section .section-heading--split {
		margin-bottom: 28px;
	}

	body .about-qualification-proof {
		padding: 20px;
	}

	body .about-cta .cta-section__inner {
		gap: 24px;
		padding-block: 44px;
	}
}

.vdb-kde[hidden] {
	display: none !important;
}

.vdb-kde__inner {
	overflow: hidden;
}

.vdb-kde__heading {
	align-items: flex-start;
	display: flex;
	gap: 2rem;
	justify-content: space-between;
	margin-bottom: 2rem;
}

.vdb-kde__heading h2 {
	margin-bottom: .65rem;
}

.vdb-kde__heading p:last-child {
	margin-bottom: 0;
}

.vdb-kde__source {
	align-items: center;
	border: 1px solid var(--vdb-kde-border);
	border-radius: 999px;
	color: var(--vdb-kde-navy);
	display: inline-flex;
	flex: 0 0 auto;
	font-size: .9rem;
	font-weight: 700;
	gap: .65rem;
	padding: .65rem 1rem;
	text-decoration: none;
	transition: border-color .2s ease, transform .2s ease;
}

.vdb-kde__sources {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	gap: .65rem;
}

.vdb-kde__source:hover,
.vdb-kde__source:focus-visible {
	border-color: var(--vdb-kde-pink);
	transform: translateY(-1px);
}

.vdb-kde__source-stars,
.vdb-kde__stars {
	color: var(--vdb-kde-gold);
	letter-spacing: .05em;
}

.vdb-kde__source-score {
	color: var(--vdb-kde-gold);
	font-weight: 800;
	white-space: nowrap;
}

.vdb-kde__stars small {
	color: var(--vdb-kde-navy);
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: 0;
}

.vdb-kde__viewport {
	overflow: hidden;
}

.vdb-kde__track {
	display: flex;
	gap: 1.25rem;
	transition: transform .5s cubic-bezier(.22, .61, .36, 1);
	will-change: transform;
}

.vdb-kde__slide {
	display: flex;
	flex: 0 0 calc((100% - 2.5rem) / 3);
	min-width: 0;
}

.vdb-kde__card {
	background: var(--vdb-kde-surface);
	border: 1px solid var(--vdb-kde-border);
	border-radius: 1rem;
	box-shadow: 0 14px 36px rgba(7, 27, 43, .06);
	display: flex;
	flex: 1;
	flex-direction: column;
	height: 27rem;
	padding: clamp(1.35rem, 2.5vw, 1.75rem);
}

.vdb-kde__card-top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

.vdb-kde__stars {
	font-size: 1.05rem;
	white-space: nowrap;
}

.vdb-kde__verified {
	align-items: center;
	color: var(--vdb-kde-muted);
	display: inline-flex;
	font-size: .78rem;
	font-weight: 700;
	gap: .35rem;
	text-transform: uppercase;
}

.vdb-kde__verified span {
	align-items: center;
	background: var(--vdb-kde-green);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	height: 1.2rem;
	justify-content: center;
	width: 1.2rem;
}

.vdb-kde__card h3 {
	font-size: clamp(1.08rem, 1.6vw, 1.25rem);
	line-height: 1.3;
	margin: 0 0 .9rem;
}

.vdb-kde__card blockquote {
	border: 0;
	margin: 0;
	padding: 0;
}

.vdb-kde__card blockquote p {
	display: -webkit-box;
	font-size: .98rem;
	line-height: 1.62;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 9;
}

.vdb-kde__card blockquote p::before {
	content: '„';
}

.vdb-kde__card blockquote p::after {
	content: '“';
}

.vdb-kde__card footer {
	border-top: 1px solid var(--vdb-kde-border);
	display: grid;
	gap: .15rem;
	margin-top: auto;
	padding-top: 1rem;
}

.vdb-kde__card footer strong {
	font-size: .95rem;
}

.vdb-kde__card footer span {
	color: var(--vdb-kde-muted);
	font-size: .82rem;
}

.vdb-kde__excerpt {
	color: var(--vdb-kde-pink) !important;
	font-weight: 700;
	margin-top: .35rem;
}

.vdb-kde__controls {
	align-items: center;
	display: flex;
	gap: .9rem;
	justify-content: center;
	margin-top: 1.5rem;
}

.vdb-kde__button {
	align-items: center;
	background: var(--vdb-kde-navy);
	border: 0;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-size: 1.25rem;
	height: 2.75rem;
	justify-content: center;
	transition: background .2s ease, transform .2s ease;
	width: 2.75rem;
}

.vdb-kde__button:hover,
.vdb-kde__button:focus-visible {
	background: var(--vdb-kde-pink);
	transform: translateY(-1px);
}

.vdb-kde__button:disabled {
	cursor: default;
	opacity: .35;
	transform: none;
}

.vdb-kde__status {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	margin: 0;
	min-width: 3.5rem;
	text-align: center;
}

.vdb-kde__noscript {
	padding: 1rem;
	text-align: center;
}

@media (max-width: 960px) {
	.vdb-kde__slide {
		flex-basis: calc((100% - 1.25rem) / 2);
	}

	.vdb-kde__heading {
		align-items: flex-start;
		flex-direction: column;
	}

	body .reviews-page-hero__grid {
		gap: 28px;
	}

	body.vdb-glf-immobilienbewertung-finanzamt .vdb-finanzamt-final-cta {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	body .reviews-page-hero {
		padding-block: 46px;
	}

	body .reviews-score-card--sources {
		padding: 20px;
	}

	.reviews-score-card__row {
		grid-template-columns: 1fr auto;
	}

	.reviews-score-card__row small {
		grid-column: 1 / -1;
	}

	body .review-method .section-heading--split {
		gap: 20px;
	}

	.vdb-kde {
		padding: 3.5rem 0;
	}

	.vdb-kde__slide {
		flex-basis: 100%;
	}

	.vdb-kde--finance-page {
		border-radius: 18px;
		padding-block: 32px;
	}

	.vdb-kde--finance-page .vdb-kde__slide {
		flex-basis: 100%;
	}

	.vdb-kde__card {
		height: 26rem;
	}

	.vdb-kde__source {
		align-items: flex-start;
		border-radius: .8rem;
		flex-direction: column;
		white-space: normal;
	}

	.vdb-kde__sources {
		width: 100%;
	}

	.vdb-kde__source {
		flex: 1 1 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vdb-kde__track,
	.vdb-kde__button,
	.vdb-kde__source {
		transition: none;
	}
}
