/*
 * Fahrzeugkontor PRO uses the shared frontend component system from the
 * Fahrzeugkontor main plugin. Feature-specific styles live there so every
 * inquiry flow keeps one consistent visual language.
 */

.fkp-finance-rate-hint {
	display: flex;
	width: 100%;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-top: 9px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--fk-color-accent);
	font: inherit;
	cursor: pointer;
}

.fkp-finance-rate-hint span { color: var(--fk-color-muted); font-size: var(--fk-text-xs); }
.fkp-finance-rate-hint strong { font-size: var(--fk-text-sm); }

.fk-lead-dialog--finance > .fk-inquiry-dialog__surface { width: min(820px, 100%); }

.fkp-finance-calculator {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(220px, .75fr);
	gap: 18px;
	margin: 18px 0;
}

.fkp-finance-controls { display: grid; gap: 14px; }
.fkp-finance-controls label { display: grid; gap: 7px; }
.fkp-finance-controls label > span { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.fkp-finance-controls label > span strong { color: var(--fk-color-heading); font-size: var(--fk-text-sm); }
.fkp-finance-controls output { color: var(--fk-color-heading); font-size: var(--fk-text-sm); font-weight: 750; }
.fkp-finance-controls input[type="range"] { width: 100%; accent-color: var(--fk-color-accent); }
.fkp-finance-controls input[type="number"],
.fkp-finance-controls select {
	width: 100%;
	min-height: 46px;
	padding: 9px 12px;
	border: 1px solid var(--fk-color-border-strong, var(--fk-color-border));
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-surface);
	box-shadow: none;
	color: var(--fk-color-heading);
	font: inherit;
}

.fkp-finance-controls :is(input[type="number"], select):focus-visible {
	border-color: var(--fk-color-accent);
	outline: 3px solid color-mix(in srgb, var(--fk-color-accent) 18%, transparent);
	outline-offset: 1px;
}

.fkp-finance-result {
	align-self: stretch;
	padding: 20px;
	border: 1px solid var(--fk-color-border);
	border-radius: var(--fk-radius-panel);
	background: var(--fk-color-surface-soft);
}

.fkp-finance-result > span { color: var(--fk-color-muted); font-size: var(--fk-text-xs); }
.fkp-finance-result > strong { display: block; margin: 8px 0 18px; color: var(--fk-color-heading); font-size: clamp(26px, 4vw, 38px); line-height: 1; }
.fkp-finance-result > strong small { font-size: var(--fk-text-xs); font-weight: 650; }
.fkp-finance-result dl { display: grid; gap: 8px; margin: 0; }
.fkp-finance-result dl div { display: flex; justify-content: space-between; gap: 12px; padding-top: 8px; border-top: 1px solid var(--fk-color-border); font-size: var(--fk-text-xs); }
.fkp-finance-result dt { color: var(--fk-color-muted); }
.fkp-finance-result dd { margin: 0; color: var(--fk-color-heading); font-weight: 700; text-align: right; }
.fkp-finance-disclosure { grid-column: 1 / -1; display: grid; gap: 14px; padding: 18px; border: 1px solid var(--fk-color-border); border-radius: var(--fk-radius-panel); background: var(--fk-color-surface); color: var(--fk-color-muted); font-size: var(--fk-text-xs); line-height: 1.5; }
.fkp-finance-disclosure h3 { margin: 0; color: var(--fk-color-heading); font-size: var(--fk-text-base); }
.fkp-finance-disclosure sup,
.fkp-finance-rate-hint sup,
.fkp-card-finance-rate sup { color: var(--fk-color-accent); font-size: .72em; line-height: 0; }
.fkp-finance-disclosure dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; margin: 0; }
.fkp-finance-disclosure dl div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--fk-color-border); }
.fkp-finance-disclosure dt { color: var(--fk-color-muted); }
.fkp-finance-disclosure dd { margin: 0; color: var(--fk-color-heading); font-weight: 750; text-align: right; }
.fkp-finance-disclosure p { margin: 0; }
.fkp-finance-product-notice { padding: 12px 14px; border-left: 4px solid var(--fk-color-accent); background: var(--fk-color-surface-soft); color: var(--fk-color-heading); }
.fkp-finance-contact { margin: 22px 0 16px; padding: 0; border: 0; }
.fk-form-flow .fkp-finance-contact { margin: 0; }
.fkp-finance-contact legend { margin-bottom: 12px; color: var(--fk-color-heading); font-size: var(--fk-text-base); font-weight: 750; }

.fkp-combined-inquiry { padding: 0; overflow: hidden; }
.fkp-combined-inquiry__layout { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr); }
.fkp-combined-vehicle { padding: 22px; border-right: 1px solid var(--fk-color-border); background: var(--fk-color-surface-soft); }
.fkp-combined-vehicle img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--fk-radius-media); }
.fkp-combined-vehicle > div { display: grid; gap: 7px; padding-top: 16px; }
.fkp-combined-vehicle__eyebrow { color: var(--fk-color-muted); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.fkp-combined-vehicle strong { color: var(--fk-color-heading); font-size: var(--fk-text-base); line-height: 1.25; }
.fkp-combined-vehicle b { color: var(--fk-color-heading); font-size: var(--fk-text-xl); }
.fkp-combined-vehicle ul { display: flex; flex-wrap: wrap; gap: 7px 15px; margin: 2px 0 0; padding: 0; color: var(--fk-color-muted); font-size: var(--fk-text-xs); list-style: none; }
.fkp-combined-vehicle li { display: inline-flex; align-items: center; gap: 6px; }
.fkp-combined-vehicle li .fk-icon { width: 16px; height: 16px; flex: 0 0 auto; color: var(--fk-color-accent); }
.fkp-combined-inquiry__form { min-width: 0; padding: clamp(20px, 3vw, 34px); }
.fkp-combined-inquiry__form > header { margin-bottom: 20px; }
.fkp-combined-inquiry__form > header h2 { margin: 0 0 7px; color: var(--fk-color-heading); font-size: clamp(23px, 3vw, 32px); }
.fkp-combined-inquiry__form > header p { margin: 0; color: var(--fk-color-muted); font-size: var(--fk-text-sm); }
.fkp-combined-contact {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px;
	margin-bottom: 24px;
}

.fkp-combined-contact label {
	display: grid;
	gap: 7px;
	margin: 0;
	color: var(--fk-color-heading);
	font-size: 13px;
	font-weight: 720;
}

.fkp-combined-contact .fk-form-grid__wide { grid-column: 1 / -1; }

.fkp-combined-contact input,
.fkp-combined-panel > label :is(input, textarea, select) {
	width: 100%;
	min-height: 48px;
	padding: 11px 13px;
	border: 1px solid var(--fk-color-border-strong, var(--fk-color-border));
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-surface);
	box-shadow: none;
	color: var(--fk-color-heading);
	font: inherit;
}

.fkp-combined-panel > label textarea { min-height: 112px; resize: vertical; }

.fkp-combined-contact input:focus-visible,
.fkp-combined-panel > label :is(input, textarea, select):focus-visible {
	border-color: var(--fk-color-accent);
	outline: 3px solid color-mix(in srgb, var(--fk-color-accent) 18%, transparent);
	outline-offset: 1px;
}

.fkp-combined-options { margin: 0; padding: 0; border: 0; }
.fkp-combined-options legend { color: var(--fk-color-heading); font-size: var(--fk-text-base); font-weight: 780; }
.fkp-combined-options > p { margin: 3px 0 11px; color: var(--fk-color-muted); font-size: var(--fk-text-xs); }
.fkp-combined-options > div { display: grid; grid-template-columns: 1fr; gap: 0; overflow: hidden; border: 1px solid var(--fk-color-border); border-radius: var(--fk-radius-control); background: var(--fk-color-surface); }
.fkp-combined-option { position: relative; min-width: 0; }
.fkp-combined-option + .fkp-combined-option { border-top: 1px solid var(--fk-color-border); }
.fkp-combined-option > input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.fkp-combined-option__trigger {
	display: grid;
	width: 100%;
	min-height: 68px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 11px;
	padding: 13px 14px;
	border: 0;
	border-radius: 0;
	background: var(--fk-color-surface);
	box-shadow: none;
	color: var(--fk-color-heading);
	cursor: pointer;
	font: inherit;
	text-align: left;
	transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}
.fkp-combined-option__trigger:active { transform: translateY(1px); }
.fkp-combined-option__trigger > .dashicons { color: var(--fk-color-accent); }
.fkp-combined-option__copy { display: grid; min-width: 0; gap: 3px; }
.fkp-combined-option strong { color: var(--fk-color-heading); font-size: 13.5px; }
.fkp-combined-option small { overflow: hidden; color: var(--fk-color-muted); font-size: 12px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.fkp-combined-option__state {
	display: inline-grid;
	width: 26px;
	height: 26px;
	border: 1px solid var(--fk-color-border);
	border-radius: 50%;
	color: var(--fk-color-muted);
	font-size: 16px;
	font-style: normal;
	line-height: 1;
	place-items: center;
}
.fkp-combined-option__trigger:is(:hover, :focus-visible),
.fkp-combined-option.is-selected .fkp-combined-option__trigger { border-color: color-mix(in srgb, var(--fk-color-accent) 55%, var(--fk-color-border)); }
.fkp-combined-option__trigger:focus-visible { outline: 3px solid color-mix(in srgb, var(--fk-color-accent) 18%, transparent); outline-offset: -3px; }
.fkp-combined-option.is-selected .fkp-combined-option__trigger { padding-bottom: 22px; background: color-mix(in srgb, var(--fk-color-accent) 5%, var(--fk-color-surface)); }
.fkp-combined-option.is-configured .fkp-combined-option__state { border-color: var(--fk-color-accent); background: var(--fk-color-accent); color: var(--fk-color-on-accent); font-weight: 800; }
.fkp-combined-option.is-configured small { color: var(--fk-color-heading); font-weight: 680; }
.fkp-combined-option__remove {
	position: absolute;
	right: 13px;
	bottom: 6px;
	padding: 1px 0;
	border: 0;
	background: transparent;
	color: var(--fk-color-muted);
	cursor: pointer;
	font: inherit;
	font-size: 9.5px;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.fkp-combined-option__remove:hover { color: var(--fk-color-heading); }

.fkp-combined-panel { margin-top: 14px; padding: 17px; border: 1px solid var(--fk-color-border); border-radius: var(--fk-radius-panel); background: var(--fk-color-surface); }
.fkp-combined-panel[hidden] { display: none; }
.fkp-combined-panel > header { position: relative; display: grid; gap: 2px; margin-bottom: 13px; padding-right: 38px; }
.fkp-combined-panel > header strong { color: var(--fk-color-heading); font-size: var(--fk-text-sm); }
.fkp-combined-panel > header span { color: var(--fk-color-muted); font-size: var(--fk-text-xs); }
.fkp-combined-panel__remove { position: absolute; top: -5px; right: -3px; display: grid; width: 32px; height: 32px; padding: 0; place-items: center; border: 1px solid var(--fk-color-border); border-radius: 50%; background: var(--fk-color-surface); color: var(--fk-color-heading); cursor: pointer; font: inherit; font-size: 20px; line-height: 1; }
.fkp-combined-panel__remove:hover,
.fkp-combined-panel__remove:focus-visible { border-color: var(--fk-color-accent); color: var(--fk-color-accent); outline: 0; }
.fkp-combined-panel > label { display: grid; gap: 6px; color: var(--fk-color-heading); font-size: var(--fk-text-xs); font-weight: 700; }
.fkp-combined-panel--trade-in { padding-bottom: 8px; }
.fkp-combined-panel--trade-in > header { margin-bottom: 2px; }
.fkp-combined-panel--trade-in .fk-lead-form--embedded { padding: 0; }
.fkp-combined-panel--trade-in .fkp-trade-in-embedded { margin-top: 0; }
.fkp-combined-date-summary { margin: 10px 0 3px; color: var(--fk-color-heading); font-weight: 700; }
.fkp-combined-submit { display: grid; gap: 12px; margin-top: 20px; }
.fkp-combined-submit .fk-privacy-consent { margin: 0; }

.fkp-combined-sheet:not([open]) { display: none; }

.fkp-combined-sheet {
	position: fixed;
	z-index: 9981;
	inset: 0;
	width: auto;
	max-width: none;
	height: auto;
	max-height: none;
	margin: auto;
	padding: 24px 24px 0;
	border: 0;
	background: transparent;
	color: inherit;
	overflow: visible;
}

.fkp-combined-sheet[open] {
	display: grid;
	align-items: end;
	justify-items: center;
}

.fkp-combined-sheet::backdrop {
	background: rgb(14 20 34 / 0.48);
	-webkit-backdrop-filter: blur(9px) saturate(82%);
	backdrop-filter: blur(9px) saturate(82%);
}

.fkp-combined-sheet__surface {
	position: relative;
	display: grid;
	width: min(840px, 100%);
	max-height: min(84dvh, 920px);
	grid-template-rows: auto minmax(0, 1fr) auto;
	overflow: hidden;
	border: 1px solid var(--fk-color-border);
	border-bottom: 0;
	border-radius: var(--fk-radius-panel) var(--fk-radius-panel) 0 0;
	background: var(--fk-color-surface);
	box-shadow: 0 -24px 70px rgb(14 20 34 / 0.24);
	opacity: 0;
	transform: translateY(72px) scale(0.992);
}

.fkp-combined-sheet--trade-in .fkp-combined-sheet__surface { width: min(980px, 100%); }

.fkp-combined-sheet.is-open .fkp-combined-sheet__surface {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.fkp-combined-sheet__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 22px 18px;
	border-bottom: 1px solid var(--fk-color-border);
}

.fkp-combined-sheet__header > div { display: grid; gap: 4px; }
.fkp-combined-sheet__header > div > span { color: var(--fk-color-accent); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.fkp-combined-sheet__header h3 { margin: 0; color: var(--fk-color-heading); font-size: clamp(22px, 3vw, 29px); line-height: 1.15; }
.fkp-combined-sheet__header p { margin: 0; color: var(--fk-color-muted); font-size: var(--fk-text-sm); }
.fkp-combined-sheet__close {
	display: inline-grid;
	width: 40px;
	height: 40px;
	flex: 0 0 auto;
	padding: 0;
	border: 1px solid var(--fk-color-border);
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-surface-soft);
	color: var(--fk-color-heading);
	cursor: pointer;
	place-items: center;
}
.fkp-combined-sheet__close .dashicons { width: 20px; height: 20px; font-size: 20px; }
.fkp-combined-sheet__close:focus-visible { outline: 3px solid color-mix(in srgb, var(--fk-color-accent) 22%, transparent); outline-offset: 2px; }
.fkp-combined-sheet__body { min-height: 0; overflow: auto; padding: 20px 22px; overscroll-behavior: contain; }
.fkp-combined-sheet .fkp-combined-panel { margin: 0; padding: 0; border: 0; border-radius: 0; }
.fkp-combined-sheet .fkp-finance-calculator { margin: 0; }
.fkp-combined-sheet__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 14px 22px;
	border-top: 1px solid var(--fk-color-border);
	background: var(--fk-color-surface);
}
.fkp-combined-sheet__footer > p { flex: 1; margin: 0; color: var(--fk-color-muted); font-size: var(--fk-text-xs); }
.fkp-combined-sheet__footer > div { display: flex; justify-content: flex-end; gap: 10px; }
.fkp-combined-sheet__footer .fk-button { min-width: 142px; white-space: nowrap; }

@media (prefers-reduced-motion: no-preference) {
	.fkp-combined-sheet__surface { transition: opacity 220ms ease, transform 260ms cubic-bezier(.2, .8, .2, 1); }
}

@media (prefers-reduced-transparency: reduce) {
	.fkp-combined-sheet::backdrop {
		background: rgb(14 20 34 / 0.72);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

@media (max-width: 780px) {
	.fk-inquiry-dialog:has( .fkp-combined-sheet[open] ) > .fk-inquiry-dialog__surface {
		animation: none !important;
		transform: none !important;
	}
	.fkp-combined-sheet {
		width: 100%;
		margin: auto 0 0;
		padding: 0;
	}
	.fkp-combined-sheet[open] { align-items: end; }
	.fkp-combined-sheet::backdrop {
		background: rgb(14 20 34 / 0.56);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
	.fkp-combined-sheet[data-fk-docked-sheet="true"] {
		background: rgb(14 20 34 / 0.56);
	}
	.fkp-combined-sheet[data-fk-docked-sheet="true"]::backdrop { background: transparent; }
	body:has( .fk-mobile-action-bar ) .fkp-combined-sheet {
		bottom: var(--fk-mobile-action-bar-offset, 70px);
		height: auto;
	}
	.fkp-combined-sheet__surface {
		width: 100%;
		max-height: 92dvh;
		border-width: 1px 0 0;
		border-radius: var(--fk-radius-panel) var(--fk-radius-panel) 0 0;
		transform: translateY(100%);
	}
	body:has( .fk-mobile-action-bar ) .fkp-combined-sheet__surface {
		max-height: calc( 100dvh - var(--fk-mobile-action-bar-offset, 70px) );
	}
	.fkp-finance-calculator,
	.fkp-combined-inquiry__layout { grid-template-columns: 1fr; }
	.fkp-combined-vehicle { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; padding: 16px; border-right: 0; border-bottom: 1px solid var(--fk-color-border); }
	.fkp-combined-vehicle > div { padding-top: 0; }
	.fkp-combined-options > div { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
	.fkp-combined-vehicle { grid-template-columns: 92px minmax(0, 1fr); }
	.fk-lead-dialog .fkp-combined-vehicle > div { padding-right: 42px; }
	.fkp-combined-vehicle b { font-size: var(--fk-text-lg); }
	.fkp-combined-inquiry__form { padding: 18px 14px; }
	.fkp-combined-contact { grid-template-columns: 1fr; }
	.fkp-combined-contact .fk-form-grid__wide { grid-column: auto; }
	.fkp-combined-sheet__header { padding: 17px 16px 14px; }
	.fkp-combined-sheet__header p { font-size: var(--fk-text-xs); }
	.fkp-combined-sheet__body { padding: 17px 16px; }
	.fkp-combined-sheet__footer { display: grid; gap: 9px; padding: 12px 16px max(12px, env(safe-area-inset-bottom)); }
	.fkp-combined-sheet__footer > div { display: grid; width: 100%; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); justify-content: stretch; }
	.fkp-combined-sheet__footer .fk-button { min-width: 0; padding-inline: 10px; font-size: 12px; }
}

.fkp-card-highlights {
	display: flex;
	overflow: hidden;
	min-height: 56px;
	flex-wrap: wrap;
	align-content: flex-start;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fkp-card-highlights li {
	max-width: 100%;
	padding: 5px 9px;
	border: 1px solid color-mix(in srgb, var(--fk-color-border) 78%, transparent);
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-surface-soft);
	color: var(--fk-color-heading);
	font-size: var(--fk-text-2xs);
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

.fkp-card-highlights li[hidden] { display: none; }
.fkp-card-highlights .fkp-card-highlights__more {
	border-color: color-mix(in srgb, var(--fk-color-accent) 28%, var(--fk-color-border));
	background: color-mix(in srgb, var(--fk-color-accent) 7%, var(--fk-color-surface));
	color: var(--fk-color-accent);
}

.fkp-card-finance-rate,
.fkp-card-price-rating {
	display: inline-flex;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	flex: 1 0 100%;
	flex-wrap: wrap;
	align-items: center;
	justify-content: inherit;
	gap: 5px;
	color: var(--fk-color-muted);
	font: inherit;
	font-size: var(--fk-text-xs);
	line-height: 1.2;
	white-space: normal;
}

.fkp-card-finance-rate strong { color: var(--fk-color-accent); font-weight: 800; }
.fkp-card-finance-rate { padding: 0; border: 0; background: transparent; cursor: pointer; }
.fkp-card-finance-rate:is(:hover, :focus-visible) strong { text-decoration: underline; text-underline-offset: 2px; }
.fkp-card-finance-rate:focus-visible { outline: 2px solid var(--fk-color-accent); outline-offset: 3px; border-radius: 2px; }

.fkp-finance-info-dialog > .fk-inquiry-dialog__surface { width: min(780px, 100%); border: 1px solid var(--fk-color-border); background: var(--fk-color-surface); box-shadow: 0 30px 90px rgb(8 18 32 / .3); }
.fkp-finance-example { display: grid; gap: 20px; padding: clamp(22px, 3vw, 34px); }
.fkp-finance-example > header { display: grid; gap: 6px; padding-right: 42px; }
.fkp-finance-example > header :is(span, h2, p) { margin: 0; }
.fkp-finance-example > header > span { color: var(--fk-color-accent); font-size: var(--fk-text-xs); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fkp-finance-example > header h2 { color: var(--fk-color-heading); font-size: clamp(25px, 3vw, 34px); line-height: 1.12; }
.fkp-finance-example > header p,
.fkp-finance-basis > p { color: var(--fk-color-muted); font-size: var(--fk-text-sm); line-height: 1.55; }
.fkp-finance-example__rate { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 18px 20px; border-radius: var(--fk-radius-panel); background: var(--fk-color-surface-soft); color: var(--fk-color-muted); }
.fkp-finance-example__rate strong { color: var(--fk-color-heading); font-size: clamp(26px, 4vw, 36px); }
.fkp-finance-basis__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; margin: 0; }
.fkp-finance-basis__facts div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--fk-color-border); }
.fkp-finance-basis__facts dt { color: var(--fk-color-muted); }
.fkp-finance-basis__facts dd { margin: 0; color: var(--fk-color-heading); font-weight: 750; }
.fkp-finance-rate-filter legend { display: flex; align-items: center; gap: 7px; }
.fkp-finance-info { display: inline-grid; width: 20px; height: 20px; padding: 0; border: 1px solid var(--fk-color-border-strong, var(--fk-color-border)); border-radius: 50%; background: var(--fk-color-surface); color: var(--fk-color-accent); font: inherit; font-size: 12px; font-weight: 850; cursor: pointer; place-items: center; }
.fkp-finance-info:is(:hover, :focus-visible) { border-color: var(--fk-color-accent); outline: 2px solid color-mix(in srgb, var(--fk-color-accent) 18%, transparent); outline-offset: 2px; }

.fkp-card-price-rating {
	--fkp-rating-color: var(--fk-color-accent);
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.fkp-price-rating--very-good { --fkp-rating-color: #1d784a; }
.fkp-price-rating--good { --fkp-rating-color: #2d9560; }
.fkp-price-rating--fair { --fkp-rating-color: #2776cc; }
.fkp-price-rating--increased { --fkp-rating-color: #b46b00; }
.fkp-price-rating--high { --fkp-rating-color: #b33434; }

.fkp-card-price-rating > span:not(.fkp-price-rating-marks):not(.screen-reader-text) {
	color: var(--fkp-rating-color);
	font-weight: 800;
}

.fkp-card-price-rating:is(:hover, :focus-visible) > span:not(.fkp-price-rating-marks):not(.screen-reader-text) { text-decoration: underline; text-underline-offset: 2px; }
.fkp-card-price-rating:focus-visible { outline: 2px solid var(--fkp-rating-color); outline-offset: 3px; border-radius: 2px; }

.fkp-price-rating-marks {
	display: inline-grid;
	width: 48px;
	height: 8px;
	flex: 0 0 auto;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 2px;
}

.fkp-price-rating-marks i { border-radius: 2px; background: color-mix(in srgb, var(--fk-color-border) 82%, transparent); }
.fkp-price-rating-marks i.is-filled { background: var(--fkp-rating-color); }

.fkp-price-rating-dialog > .fk-inquiry-dialog__surface {
	width: min(880px, 100%);
	border: 1px solid var(--fk-color-border);
	background: var(--fk-color-surface);
	box-shadow: 0 30px 90px rgb(8 18 32 / .3);
}
.fkp-price-rating-detail { padding: clamp(22px, 3vw, 34px); }
.fkp-price-rating-detail__header { display: grid; gap: 7px; padding-right: 42px; }
.fkp-price-rating-detail__header :is(p, h2) { margin: 0; }
.fkp-price-rating-detail__header h2 { color: var(--fkp-rating-color); font-size: clamp(26px, 3vw, 36px); line-height: 1.1; }
.fkp-price-rating-detail__header > p:last-child { color: var(--fk-color-muted); font-size: var(--fk-text-sm); }
.fkp-price-rating-detail__header > p:last-child strong { color: var(--fk-color-heading); }
.fkp-price-rating-detail__scale { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; margin-top: 26px; }
.fkp-price-rating-detail__segment { display: grid; min-width: 0; gap: 5px; padding: 11px 9px; border: 1px solid var(--fk-color-border); background: var(--fk-color-surface); text-align: center; }
.fkp-price-rating-detail__segment:first-child { border-radius: var(--fk-radius-control) 0 0 var(--fk-radius-control); }
.fkp-price-rating-detail__segment:last-child { border-radius: 0 var(--fk-radius-control) var(--fk-radius-control) 0; }
.fkp-price-rating-detail__segment > span { height: 8px; border-radius: 999px; background: var(--fkp-segment-color); }
.fkp-price-rating-detail__segment--very-good { --fkp-segment-color: #1d784a; }
.fkp-price-rating-detail__segment--good { --fkp-segment-color: #2d9560; }
.fkp-price-rating-detail__segment--fair { --fkp-segment-color: #2776cc; }
.fkp-price-rating-detail__segment--increased { --fkp-segment-color: #b46b00; }
.fkp-price-rating-detail__segment--high { --fkp-segment-color: #b33434; }
.fkp-price-rating-detail__segment strong { color: var(--fk-color-heading); font-size: var(--fk-text-xs); line-height: 1.2; }
.fkp-price-rating-detail__segment small { color: var(--fk-color-muted); font-size: 10px; line-height: 1.25; }
.fkp-price-rating-detail__segment.is-active { border-color: var(--fkp-segment-color); background: color-mix(in srgb, var(--fkp-segment-color) 8%, var(--fk-color-surface)); box-shadow: inset 0 0 0 1px var(--fkp-segment-color); }
.fkp-price-rating-detail__explanation { display: grid; gap: 9px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--fk-color-border); color: var(--fk-color-muted); font-size: var(--fk-text-sm); line-height: 1.55; }
.fkp-price-rating-detail__explanation p { margin: 0; }
.fkp-price-rating-detail__explanation strong { color: var(--fk-color-heading); }

.fkp-search-request-card {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) minmax(190px, auto);
	align-items: center;
	gap: clamp(16px, 2vw, 24px);
	margin-top: var(--fk-space-lg);
	padding: clamp(20px, 2.6vw, 28px);
	border-color: color-mix(in srgb, var(--fk-color-accent) 24%, var(--fk-color-border));
	background: color-mix(in srgb, var(--fk-color-accent) 5%, var(--fk-color-surface));
}

.fkp-search-request-card--empty { margin-top: 0; border-color: color-mix(in srgb, var(--fk-color-accent) 42%, var(--fk-color-border)); }
.fkp-search-request-card--inline { grid-column: 1 / -1; margin-top: 0; }

.fkp-search-request-card__icon {
	display: grid;
	width: 48px;
	height: 48px;
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-accent);
	color: var(--fk-color-on-accent, #fff);
	place-items: center;
}

.fkp-search-request-card__icon .dashicons { width: 22px; height: 22px; font-size: 22px; }
.fkp-search-request-card__content { display: grid; gap: 10px; }
.fkp-search-request-card h2 { margin: 0; color: var(--fk-color-heading); font-size: clamp(22px, 2.4vw, 28px); line-height: 1.18; }
.fkp-search-request-card__content > p { margin: 0; color: var(--fk-color-muted); font-size: var(--fk-text-sm); line-height: 1.55; }
.fkp-search-request-card__filters { display: grid; gap: 3px; padding-top: 14px; border-top: 1px solid var(--fk-color-border); }
.fkp-search-request-card__filters span { font-size: var(--fk-text-xs); }
.fkp-search-request-card__filters strong { color: var(--fk-color-heading); font-size: var(--fk-text-sm); }
.fkp-search-request-card > .fk-button { min-width: 190px; margin: 0; }

.fkp-search-request-dialog > .fk-inquiry-dialog__surface { width: min(640px, 100%); }
.fkp-search-request-form form { display: grid; gap: 12px; }
.fkp-search-finder { display: grid; gap: 12px; }
.fkp-search-finder__fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.fkp-search-finder__fields label { display: grid; gap: 6px; color: var(--fk-color-heading); font-size: var(--fk-text-xs); font-weight: 700; }
.fkp-search-finder__fields select { width: 100%; min-height: var(--fk-button-height); padding: 10px 36px 10px 12px; border: 1px solid var(--fk-color-border-strong); border-radius: var(--fk-radius-control); background-color: var(--fk-color-surface); color: var(--fk-color-heading); font: inherit; }
.fkp-search-finder__fields select:disabled { background-color: var(--fk-color-surface-soft); color: var(--fk-color-muted); cursor: not-allowed; }
.fkp-search-request-form__criteria { display: grid; gap: 3px; padding: 10px 12px; border: 0; border-radius: var(--fk-radius-control); background: var(--fk-color-surface-soft); }
.fkp-search-request-form__criteria span { color: var(--fk-color-muted); font-size: var(--fk-text-xs); }
.fkp-search-request-form__criteria strong { color: var(--fk-color-heading); font-size: var(--fk-text-sm); line-height: 1.45; }
.fkp-search-request-form form > small { color: var(--fk-color-muted); font-size: var(--fk-text-xs); line-height: 1.45; }
.fkp-search-request-callback { display: flex; align-items: flex-start; gap: 8px; margin: 0; color: var(--fk-color-heading); font-size: var(--fk-text-sm); line-height: 1.5; cursor: pointer; }
.fkp-search-request-callback input { flex: 0 0 auto; margin: .25em 0 0; }
.fkp-search-request-more { border: 0; border-top: 1px solid var(--fk-color-border); background: transparent; }
.fkp-search-request-more summary { display: flex; min-height: 42px; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; color: var(--fk-color-heading); font-size: var(--fk-text-sm); font-weight: 700; cursor: pointer; list-style: none; }
.fkp-search-request-more summary::-webkit-details-marker { display: none; }
.fkp-search-request-more summary::after { content: ""; width: 8px; height: 8px; flex: 0 0 8px; margin-right: 4px; border-right: 2px solid var(--fk-color-accent); border-bottom: 2px solid var(--fk-color-accent); transform: rotate(45deg) translateY(-2px); transition: transform 180ms ease; }
.fkp-search-request-more[open] summary::after { transform: rotate(225deg) translate(-2px, -2px); }
.fkp-search-request-more > .fk-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 0 12px; }
.fkp-search-request-more > .fk-form-grid label { display: grid; min-width: 0; gap: 6px; color: var(--fk-color-heading); font-size: var(--fk-text-xs); font-weight: 700; }
.fkp-search-request-more > .fk-form-grid :is( input, textarea ) { width: 100%; min-height: var(--fk-button-height, 48px); box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--fk-color-border-strong); border-radius: var(--fk-radius-control); background: var(--fk-color-surface); color: var(--fk-color-heading); font: inherit; }
.fkp-search-request-more > .fk-form-grid textarea { min-height: 96px; resize: vertical; }
.fkp-search-request-more > .fk-form-grid .fk-form-grid__wide { grid-column: 1 / -1; }
.fkp-search-request-more > .fk-form-grid :is( input, textarea ):focus-visible { border-color: var(--fk-color-accent); outline: 3px solid color-mix( in srgb, var(--fk-color-accent) 15%, transparent ); outline-offset: 1px; }
.fkp-search-request-submit { width: 100%; }
.fkp-search-finder__catalog-link { justify-self: center; color: var(--fk-color-heading); font-size: var(--fk-text-xs); font-weight: 750; text-underline-offset: 3px; }

@media (max-width: 780px) {
	.fkp-search-request-more > .fk-form-grid { grid-template-columns: 1fr; }
	.fkp-search-request-more > .fk-form-grid .fk-form-grid__wide { grid-column: auto; }
	.fkp-finance-disclosure dl,
	.fkp-finance-basis__facts { grid-template-columns: 1fr; }
	.fkp-finance-example__rate { align-items: flex-start; flex-direction: column; gap: 5px; }
	.fkp-search-finder__fields { grid-template-columns: 1fr; }
	.fkp-search-request-card { grid-template-columns: 42px minmax(0, 1fr); }
	.fkp-search-request-card > .fk-button { width: 100%; grid-column: 1 / -1; }
	.fkp-price-rating-detail__scale { grid-template-columns: 1fr; gap: 6px; }
	.fkp-price-rating-detail__segment { grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; text-align: left; border-radius: var(--fk-radius-control) !important; }
	.fkp-price-rating-detail__segment > span { width: 8px; height: 26px; }
}
.fkp-vin-actions {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 10px;
}

.fkp-vin-actions [data-fk-flow-next] {
	margin-left: auto;
}

.fkp-vin-actions .fkp-vin-skip {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 6px;
	min-height: 42px;
	padding: 8px 10px;
	font-size: var(--fk-text-sm);
	font-weight: 700;
}

.fkp-vin-skip > .dashicons {
	color: var(--fk-color-accent);
}

.fkp-combined-sheet__apply-wrap {
	position: relative;
	display: inline-flex;
	vertical-align: middle;
}

.fkp-combined-sheet__apply-wrap[data-incomplete="true"] {
	cursor: not-allowed;
}

.fkp-combined-sheet__apply-wrap[data-incomplete="true"] button {
	border-color: var(--fk-color-border);
	background: var(--fk-color-surface-soft);
	box-shadow: none;
	color: var(--fk-color-muted);
	opacity: .72;
	pointer-events: none;
}

.fkp-combined-sheet__apply-wrap:focus {
	border-radius: var(--fk-radius-control);
	outline: 3px solid color-mix( in srgb, var(--fk-color-accent) 22%, transparent );
	outline-offset: 2px;
}

.fkp-combined-sheet__apply-hint {
	position: absolute;
	right: 0;
	bottom: calc( 100% + 10px );
	z-index: 4;
	width: max-content;
	max-width: min( 280px, calc( 100vw - 32px ) );
	padding: 8px 10px;
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-heading);
	box-shadow: 0 8px 24px rgb( 14 20 34 / 18% );
	color: var(--fk-color-surface);
	font-size: var(--fk-text-xs);
	font-weight: 700;
	line-height: 1.4;
	opacity: 0;
	pointer-events: none;
	transform: translateY( 4px );
	transition: opacity 140ms ease, transform 140ms ease;
}

.fkp-combined-sheet__apply-hint::after {
	position: absolute;
	top: 100%;
	right: 24px;
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-top-color: var(--fk-color-heading);
	content: "";
}

.fkp-combined-sheet__apply-wrap[data-incomplete="true"]:is( :hover, :focus ) .fkp-combined-sheet__apply-hint {
	opacity: 1;
	transform: translateY( 0 );
}

@media ( max-width: 620px ) {
	.fkp-vin-actions .fkp-vin-skip {
		flex: 0 1 auto;
	}

	.fkp-combined-sheet__apply-wrap,
	.fkp-combined-sheet__apply-wrap .fk-button {
		width: 100%;
	}
}

@media ( max-width: 780px ) {
	.fkp-card-finance-rate strong {
		font-size: var(--fk-text-sm);
	}

	.fkp-finance-example__rate strong {
		font-size: clamp( 20px, 6vw, 24px );
	}

	.fk-site-main :where( input:not( [type="checkbox"] ):not( [type="radio"] ):not( [type="range"] ):not( [type="file"] ):not( [type="button"] ):not( [type="submit"] ):not( [type="reset"] ), select, textarea ) {
		font-size: 16px !important;
	}
}

.fk-detail-summary .fkp-price-alert-action { justify-content: flex-start; width: 100%; min-height: 40px; gap: .5em; margin-top: 12px; padding: 8px 12px; font-size: var(--fk-text-sm); font-weight: 500; }
.fkp-sticky-test-drive { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 768px) { .fkp-sticky-test-drive { display: none; } }

.fk-vehicle-sticky-nav__inner:has( > .fkp-sticky-test-drive ) { grid-template-columns: auto minmax(100px, .7fr) minmax(0, 1fr) auto; }
@media (min-width: 769px) and (max-width: 1100px) {
	.fk-vehicle-sticky-nav__inner:has( > .fkp-sticky-test-drive ) { grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; }
	.fk-vehicle-sticky-nav__inner:has( > .fkp-sticky-test-drive ) .fk-vehicle-sticky-nav__links { display: none; }
}
