/* Generated from the frontend-forms CSS group by scripts/build-assets.mjs. */
/**
 * Shared progressive form flow.
 *
 * This component intentionally lives in the free core. Add-ons can use the
 * data-fk-form-flow contract without shipping another form framework.
 */
.fk-form-flow {
	--fk-flow-accent: var(--fk-color-accent);
	--fk-flow-border: var(--fk-color-border);
	--fk-flow-surface: var(--fk-color-surface, #fff);
	--fk-flow-soft: var(--fk-color-surface-soft);
	display: grid;
	gap: var(--fk-space-sm);
}

/* Keep spam traps out of the visual flow on every form surface. */
.fk-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.fk-form-flow__status {
	margin: 0 0 var(--fk-space-sm);
	color: var(--fk-color-muted);
	font-size: var(--fk-text-xs);
	font-weight: 750;
	letter-spacing: .02em;
}

.fk-form-flow__step {
	overflow: clip;
	border: 1px solid var(--fk-flow-border);
	border-radius: var(--fk-radius-control);
	background: var(--fk-flow-surface);
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		background-color 180ms ease;
}

.fk-form-flow__step.is-active {
	border-color: color-mix(in srgb, var(--fk-flow-accent) 58%, var(--fk-flow-border));
	box-shadow: 0 12px 32px rgb(15 45 80 / .08);
}

.fk-form-flow__step.is-complete:not(.is-active) {
	background: color-mix(in srgb, var(--fk-flow-soft) 58%, var(--fk-flow-surface));
}

.fk-form-flow.is-enhanced .fk-form-flow__step.is-future,
.fk-form-flow.is-enhanced.is-focus-step .fk-form-flow__step:not(.is-active) {
	display: none;
}

.fk-form-flow__heading {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--fk-space-sm);
	width: 100%;
	min-height: 72px;
	margin: 0;
	padding: var(--fk-space-md) var(--fk-space-lg);
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--fk-color-heading);
	font: inherit;
	text-align: left;
}

button.fk-form-flow__heading {
	cursor: pointer;
}

.fk-form-flow__heading:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--fk-flow-accent) 32%, transparent);
	outline-offset: -3px;
}

.fk-form-flow__number {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--fk-flow-border);
	border-radius: 50%;
	background: var(--fk-flow-surface);
	color: var(--fk-color-muted);
	font-size: var(--fk-text-sm);
	font-weight: 850;
	transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

.is-active > .fk-form-flow__heading .fk-form-flow__number {
	border-color: var(--fk-flow-accent);
	background: var(--fk-flow-accent);
	color: #fff;
}

.is-complete > .fk-form-flow__heading .fk-form-flow__number {
	border-color: color-mix(in srgb, var(--fk-flow-accent) 24%, var(--fk-flow-border));
	background: color-mix(in srgb, var(--fk-flow-accent) 10%, #fff);
	color: var(--fk-flow-accent);
	font-size: 0;
}

.is-complete > .fk-form-flow__heading .fk-form-flow__number::before {
	width: 6px;
	height: 11px;
	border: solid currentcolor;
	border-width: 0 2px 2px 0;
	content: "";
	transform: translateY( -1px ) rotate( 45deg );
}

.fk-form-flow__title {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.fk-form-flow__title strong {
	color: var(--fk-color-heading);
	font-size: var(--fk-text-base);
	font-weight: var(--fk-font-weight-heading);
}

.fk-form-flow__title small {
	color: var(--fk-color-muted);
	font-size: var(--fk-text-xs);
	font-weight: 600;
}

.fk-form-flow__summary {
	display: none;
	max-width: 34ch;
	overflow: hidden;
	color: var(--fk-color-muted);
	font-size: var(--fk-text-sm);
	font-weight: var(--fk-font-weight-control);
	text-align: right;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.is-complete:not(.is-active) > .fk-form-flow__heading .fk-form-flow__summary {
	display: block;
}

.fk-form-flow__body {
	display: none;
	opacity: 0;
}

.fk-form-flow__body-inner {
	min-height: 0;
	overflow: visible;
}

.fk-form-flow__step.is-active > .fk-form-flow__body {
	display: block;
	opacity: 1;
}

.fk-form-flow.is-enhanced .fk-form-flow__step.is-active > .fk-form-flow__body > .fk-form-flow__body-inner {
	animation: fk-flow-step-in 300ms cubic-bezier(.2, .75, .25, 1) both;
}

.fk-form-flow__content {
	padding: 0 var(--fk-space-lg) var(--fk-space-lg);
}

.fk-form-flow__actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--fk-space-sm);
	margin-top: var(--fk-space-lg);
	padding-top: var(--fk-space-md);
	border-top: 1px solid var(--fk-flow-border);
}

.fk-form-flow__actions--end {
	justify-content: flex-end;
}

.fk-form-flow:not(.is-enhanced) .fk-form-flow__step {
	margin-bottom: var(--fk-space-sm);
}

.fk-form-flow:not(.is-enhanced) .fk-form-flow__body {
	display: block;
	opacity: 1;
}

.fk-form-flow:not(.is-enhanced) :is([data-fk-flow-next], [data-fk-flow-back], .fk-form-flow__status) {
	display: none;
}

@media (max-width: 640px) {
	.fk-form-flow__heading {
		grid-template-columns: 32px minmax(0, 1fr);
		min-height: 64px;
		padding: var(--fk-space-md);
	}

	.fk-form-flow__number {
		width: 30px;
		height: 30px;
	}

	.fk-form-flow__summary {
		grid-column: 2;
		max-width: none;
		text-align: left;
	}

	.fk-form-flow__content {
		padding: 0 var(--fk-space-md) var(--fk-space-md);
	}

	.fk-form-flow__actions {
		flex-wrap: wrap;
	}

	.fk-form-flow__actions .fk-button {
		flex: 1 1 140px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fk-form-flow__step,
	.fk-form-flow__number,
	.fk-form-flow__body {
		transition: none;
	}

	.fk-form-flow.is-enhanced .fk-form-flow__step.is-active > .fk-form-flow__body > .fk-form-flow__body-inner {
		animation: none;
	}
}

@keyframes fk-flow-step-in {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
/* Shared lead components used by the core inquiry and licensed add-ons. */
.fk-lead-form .fk-check {
	display: flex;
	align-items: flex-start;
	gap: var(--fk-space-sm, 8px);
	margin: 0;
	color: var(--fk-color-muted);
	font-family: var(--fk-font-body, inherit);
	font-size: var(--fk-text-xs);
	font-weight: 400;
	line-height: 1.5;
}

.fk-lead-form .fk-check > span {
	color: inherit;
	font: inherit;
}

.fk-lead-form .fk-check input {
	flex: 0 0 auto;
	margin: .2em 0 0;
}

.fk-lead-form .fk-check a {
	color: var(--fk-color-heading);
	text-decoration: underline;
}

.fk-inquiry-message {
	display: grid;
	gap: var(--fk-space-xs);
	margin-top: var(--fk-space-md);
}

.fk-inquiry-interests {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.fk-inquiry-interests > legend {
	margin-bottom: 10px;
	padding: 0;
	color: var(--fk-color-heading);
	font-size: var(--fk-text-sm);
	font-weight: var(--fk-font-weight-heading);
}

.fk-inquiry-interest-grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: 9px;
}

.fk-lead-form .fk-inquiry-interest-grid {
	display: grid;
}

.fk-inquiry-interest {
	position: relative;
	display: block;
}

.fk-inquiry-interest input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.fk-inquiry-interest > span {
	display: grid;
	min-height: 52px;
	grid-template-columns: 24px minmax( 0, 1fr );
	align-items: center;
	gap: 10px;
	padding: 11px 12px;
	border: 1px solid var(--fk-color-border);
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-surface);
	color: var(--fk-color-heading);
	cursor: pointer;
}

.fk-inquiry-interest i {
	display: grid;
	width: 22px;
	height: 22px;
	place-items: center;
	border: 1px solid var(--fk-color-border-strong);
	border-radius: min( var(--fk-radius-control), 7px );
	color: transparent;
	font-size: 13px;
	font-style: normal;
	font-weight: 900;
}

.fk-inquiry-interest strong {
	font-size: var(--fk-text-xs);
	font-weight: var(--fk-font-weight-control);
}

.fk-inquiry-interest input:focus-visible + span,
.fk-inquiry-interest input:checked + span {
	border-color: var(--fk-color-accent);
	background: color-mix( in srgb, var(--fk-color-accent) 7%, var(--fk-color-surface) );
	box-shadow: 0 0 0 2px color-mix( in srgb, var(--fk-color-accent) 12%, transparent );
}

.fk-inquiry-interest input:checked + span i {
	border-color: var(--fk-color-accent);
	background: var(--fk-color-accent);
	color: var(--fk-color-on-accent);
}

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

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

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

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

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

.fk-lead-form {
	padding: clamp( 22px, 3vw, 30px );
}

.fk-lead-form__header {
	display: grid;
	gap: var(--fk-space-md);
	margin-bottom: var(--fk-space-lg);
	padding: 0 48px var(--fk-space-lg) 0;
	border-bottom: 1px solid var(--fk-color-border);
}

.fk-lead-form--inline {
	width: 100%;
	box-sizing: border-box;
}

.fk-lead-form--inline .fk-lead-form__header {
	padding-right: var(--fk-lead-padding-inline);
}

/* Shared card and field language for core and add-on forms. */
.fk-form-card {
	min-width: 0;
	padding: clamp( 22px, 2.6vw, 30px );
	border: var(--fk-component-outline-size) solid var(--fk-color-border);
	border-radius: var(--fk-radius-panel);
	background: var(--fk-color-surface);
	box-shadow: var(--fk-shadow-card);
}

.fk-form-card__header {
	margin-bottom: var(--fk-space-lg);
	padding-bottom: var(--fk-space-lg);
	border-bottom: 1px solid var(--fk-color-border);
}

.fk-form-card__header h2 {
	margin: 0 0 var(--fk-space-xs);
	color: var(--fk-color-heading);
	font-family: var(--fk-font-heading);
	font-size: var(--fk-text-xl);
	line-height: 1.15;
}

.fk-form-card__header p {
	max-width: 60ch;
	margin: 0;
	color: var(--fk-color-muted);
	font-size: var(--fk-text-sm);
	line-height: 1.6;
}

.fk-form-card .fk-form-grid {
	align-items: start;
	gap: var(--fk-space-md);
}

.fk-field {
	display: grid;
	min-width: 0;
	gap: 7px;
	color: var(--fk-color-heading);
	font-size: var(--fk-text-sm);
	font-weight: var(--fk-font-weight-control);
}

.fk-field :is( input:not( [type="checkbox"] ):not( [type="radio"] ):not( [type="file"] ), select, textarea ) {
	width: 100%;
	min-height: var(--fk-button-height);
	padding: 11px 13px;
	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;
	font-weight: var(--fk-font-weight-body);
}

.fk-field textarea {
	min-height: 124px;
	resize: vertical;
}

.fk-field :is( input, select, textarea ):focus {
	border-color: var(--fk-color-accent);
	outline: 0;
	box-shadow: 0 0 0 3px color-mix( in srgb, var(--fk-color-accent) 14%, transparent );
}

.fk-form-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--fk-space-sm) var(--fk-space-md);
	margin-top: var(--fk-space-lg);
	padding-top: var(--fk-space-lg);
	border-top: 1px solid var(--fk-color-border);
}

.fk-form-actions p {
	flex: 1 1 240px;
	margin: 0;
	color: var(--fk-color-muted);
	font-size: var(--fk-text-xs);
}

.fk-lead-form__heading {
	display: grid;
	gap: 4px;
}

.fk-lead-form__heading :is( p, h2 ) {
	margin: 0;
}

.fk-lead-form__heading > p:last-child {
	max-width: 62ch;
	color: var(--fk-color-muted);
	font-size: var(--fk-text-sm);
}

.fk-lead-vehicle {
	display: grid;
	grid-template-columns: 72px minmax( 0, 1fr );
	align-items: center;
	gap: 12px;
	padding-top: 0;
}

.fk-lead-vehicle:not( :has( img ) ) {
	grid-template-columns: 1fr;
}

.fk-lead-vehicle img {
	width: 72px;
	aspect-ratio: 4 / 3;
	border-radius: var(--fk-radius-media);
	object-fit: cover;
}

.fk-lead-vehicle__copy {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.fk-lead-vehicle__copy > strong {
	overflow: hidden;
	color: var(--fk-color-heading);
	font-size: clamp( 14px, 2vw, 17px );
	font-weight: var(--fk-font-weight-heading);
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fk-lead-vehicle__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	color: var(--fk-color-muted);
	font-size: 12px;
	font-weight: 620;
}

.fk-lead-vehicle__meta b {
	color: var(--fk-color-heading);
	font-size: 14px;
	font-weight: var(--fk-font-weight-control);
}

.fk-community-deal-inline {
	display: inline-block;
	margin-left: 7px;
	color: var(--fk-color-accent);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.fk-form-flow {
	gap: 8px;
}

@media ( max-width: 700px ) {
	.fk-inquiry-interest-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 520px ) {
	.fk-inquiry-interest-grid,
	.fk-form-card .fk-form-grid {
		grid-template-columns: 1fr;
	}

	.fk-form-grid__wide {
		grid-column: auto;
	}

	.fk-form-actions .fk-button {
		width: 100%;
	}
}

.fk-form-flow__status {
	margin-bottom: 2px;
}

.fk-form-flow__heading {
	grid-template-columns: 30px minmax( 0, 1fr ) auto;
	gap: 10px;
	min-height: 56px;
	padding: 10px 14px;
}

.fk-form-flow__step.is-complete:not( .is-active ) > .fk-form-flow__heading {
	min-height: 42px;
	padding: 6px 12px;
}

.fk-form-flow__step.is-complete:not( .is-active ) .fk-form-flow__number {
	width: 24px;
	height: 24px;
}

.fk-form-flow__step.is-complete:not( .is-active ) .fk-form-flow__title strong {
	font-size: 13px;
}

.fk-form-flow__step.is-complete:not( .is-active ) .fk-form-flow__title small {
	display: none;
}

.fk-form-flow__number {
	width: 28px;
	height: 28px;
	font-size: 12px;
}

.fk-form-flow__title strong {
	font-size: var(--fk-text-sm);
}

.fk-form-flow__title small,
.fk-form-flow__summary {
	font-size: var(--fk-text-xs);
}

.fk-form-flow__content {
	padding: 2px 14px 14px;
}

.fk-form-flow__actions {
	margin-top: 14px;
	padding-top: 12px;
}

.fk-form-flow :where( label:not( .fk-check ):not( .fk-upload ) ) {
	display: grid;
	gap: 6px;
}

.fk-form-flow :where( label > span ) {
	color: var(--fk-color-heading);
	font-size: var(--fk-text-xs);
	font-weight: 700;
}

.fk-form-flow :where( input:not( [type="checkbox"] ):not( [type="radio"] ):not( [type="file"] ), select, textarea ) {
	width: 100%;
	min-height: var(--fk-button-height);
	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;
}

.fk-form-flow textarea {
	min-height: 82px;
	resize: vertical;
}

.fk-form-flow .fk-form-grid {
	align-items: start;
	gap: 12px;
}

.fk-form-flow .fk-form-grid > label {
	align-self: start;
	min-width: 0;
}

.fk-form-flow .fk-form-grid input:not( [type="checkbox"] ):not( [type="radio"] ),
.fk-form-flow .fk-form-grid select {
	height: var(--fk-button-height);
}

.fk-form-flow :where( input, select, textarea ):focus {
	border-color: var(--fk-color-accent);
	outline: 0;
	box-shadow: inset 0 0 0 2px color-mix( in srgb, var(--fk-color-accent) 18%, transparent );
}

.fk-choice-grid {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: 10px;
}

.fk-choice-grid label {
	position: relative;
}

.fk-choice-grid input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

@media ( max-width: 782px ) {
	.fk-lead-form :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 ),
	.fk-form-flow :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-choice-grid label > span {
	display: grid;
	gap: 4px;
	height: 100%;
	padding: 14px;
	border: 1px solid var(--fk-color-border);
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-surface);
	cursor: pointer;
	font-weight: var(--fk-font-weight-control);
}

.fk-choice-grid label > span small {
	color: var(--fk-color-muted);
	font-weight: 550;
}

.fk-choice-grid input:focus-visible + span,
.fk-choice-grid input:checked + span {
	border-color: var(--fk-color-accent);
	background: color-mix( in srgb, var(--fk-color-accent) 7%, var(--fk-color-surface) );
	box-shadow: inset 0 0 0 1px color-mix( in srgb, var(--fk-color-accent) 18%, transparent );
}

.fkp-required-proxy {
	position: absolute !important;
	width: 1px !important;
	min-height: 1px !important;
	padding: 0 !important;
	border: 0 !important;
	clip: rect( 0 0 0 0 );
	clip-path: inset( 50% );
	overflow: hidden;
	white-space: nowrap;
}

.fkp-choice-search {
	margin-bottom: 10px;
}

.fkp-make-picker {
	display: grid;
	gap: 10px;
	margin-top: 10px;
	padding-top: 12px;
	border-top: 1px solid var(--fk-color-border);
}

.fkp-make-picker[hidden],
.fkp-registration-stage[hidden] {
	display: none;
}

.fkp-picker-toggle {
	justify-self: start;
	margin-top: 10px;
	padding: 7px 0;
	border: 0;
	border-bottom: 1px solid currentcolor;
	background: transparent;
	color: var(--fk-color-accent);
	cursor: pointer;
	font: inherit;
	font-size: var(--fk-text-xs);
	font-weight: var(--fk-font-weight-button);
}

.fkp-picker-empty,
.fkp-field-hint,
.fkp-inline-status {
	margin: 7px 0 0;
	color: var(--fk-color-muted);
	font-size: 11px;
	line-height: 1.45;
}

.fkp-field-hint.is-error {
	color: #b42318;
	font-weight: 700;
}

.fkp-brand-grid {
	display: grid;
	max-height: min( 42vh, 420px );
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 7px;
	padding: 1px;
	overflow: auto;
}

.fkp-brand-grid--popular {
	max-height: none;
}

.fkp-brand-grid [hidden] {
	display: none;
}

.fkp-brand-grid label {
	position: relative;
}

.fkp-brand-grid input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.fkp-brand-grid label > span {
	display: grid;
	min-height: 78px;
	grid-template-rows: 36px auto;
	align-items: center;
	justify-items: center;
	gap: 5px;
	padding: 8px 6px;
	border: 1px solid var(--fk-color-border);
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-surface);
	color: var(--fk-color-heading);
	cursor: pointer;
	text-align: center;
}

.fkp-brand-grid img {
	width: min( 68px, 100% );
	height: 34px;
	object-fit: contain;
}

.fkp-brand-grid b {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 999px;
	background: var(--fk-color-surface-soft);
	color: var(--fk-color-muted);
	font-size: 11px;
	letter-spacing: .04em;
}

.fkp-brand-grid strong {
	max-width: 100%;
	font-size: 13px;
	font-weight: var(--fk-font-weight-control);
	line-height: 1.15;
	overflow-wrap: anywhere;
}

.fkp-brand-grid input:focus-visible + span,
.fkp-brand-grid input:checked + span {
	border-color: var(--fk-color-accent);
	background: color-mix( in srgb, var(--fk-color-accent) 7%, var(--fk-color-surface) );
	box-shadow: none;
}

.fkp-model-picker {
	display: grid;
	gap: 10px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--fk-color-border);
}

.fkp-model-picker[hidden],
.fkp-model-other[hidden] {
	display: none;
}

.fkp-model-picker > p {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
}

.fkp-model-picker > p span {
	color: var(--fk-color-muted);
	font-size: 11px;
}

.fkp-model-grid {
	max-height: min( 40vh, 300px );
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	overflow: auto;
}

.fkp-model-grid label[hidden] {
	display: none;
}

.fkp-document-choice label > span {
	min-height: 82px;
}

.fkp-registration-document {
	margin-top: 12px;
}

.fkp-color-grid {
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
}

.fkp-color-choice > span {
	display: flex !important;
	align-items: center;
	gap: 10px !important;
	min-height: 50px;
}

.fkp-color-choice i {
	display: block;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	border: 1px solid rgb( 10 25 46 / .22 );
	border-radius: 50%;
	background: #808791;
	box-shadow: inset 0 1px 2px rgb( 255 255 255 / .42 );
}

.fkp-color-choice--schwarz i { background: #171a1f; }
.fkp-color-choice--weiss i { background: #fff; }
.fkp-color-choice--grau i { background: #7d858e; }
.fkp-color-choice--silber i { background: linear-gradient( 135deg, #fff 0%, #aeb8c2 45%, #f7fbff 67%, #87929c 100% ); }
.fkp-color-choice--blau i { background: #2464bd; }
.fkp-color-choice--rot i { background: #c73334; }
.fkp-color-choice--grun i { background: #31835d; }
.fkp-color-choice--braun i { background: #805b48; }
.fkp-color-choice--beige i { background: #d8c69e; }
.fkp-color-choice--gelb i { background: #efc330; }
.fkp-color-choice--orange i { background: #df7828; }
.fkp-color-choice--violett i { background: #7651a8; }
.fkp-color-choice--sonstige i { background: conic-gradient( #c73334, #efc330, #31835d, #2464bd, #7651a8, #c73334 ); }

.fkp-option-other > span {
	border-style: dashed;
}

.fkp-option-button {
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--fk-color-border);
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-surface);
	color: var(--fk-color-heading);
	cursor: pointer;
	font: inherit;
	font-size: var(--fk-text-xs);
	font-weight: var(--fk-font-weight-control);
	text-align: left;
}

.fkp-option-button:hover,
.fkp-option-button:focus-visible,
.fkp-option-button.is-selected {
	border-color: var(--fk-color-accent);
	background: color-mix( in srgb, var(--fk-color-accent) 7%, var(--fk-color-surface) );
	color: var(--fk-color-accent);
}

.fkp-option-button--other {
	border-style: dashed;
}

.fkp-two-stage-choice,
.fkp-choice-group {
	display: grid;
	gap: 10px;
}

.fkp-registration-stage {
	display: grid;
	gap: 9px;
}

.fkp-subquestion {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.fkp-subquestion > strong,
.fkp-registration-stage > strong {
	color: var(--fk-color-heading);
	font-size: var(--fk-text-xs);
}

.fkp-subquestion button {
	padding: 4px 0;
	border: 0;
	border-bottom: 1px solid currentcolor;
	background: transparent;
	color: var(--fk-color-accent);
	cursor: pointer;
	font: inherit;
	font-size: 11px;
	font-weight: 700;
}

.fkp-two-stage-choice {
	grid-template-columns: minmax( 0, 1.1fr ) minmax( 0, .9fr );
}

.fkp-two-stage-choice > div,
.fkp-choice-group {
	display: grid;
	align-content: start;
	gap: 8px;
}

.fkp-two-stage-choice > div > strong,
.fkp-choice-group > strong {
	color: var(--fk-color-heading);
	font-size: var(--fk-text-xs);
}

.fkp-year-grid,
.fkp-month-grid {
	max-height: 228px;
	grid-template-columns: repeat( 5, minmax( 0, 1fr ) );
	overflow: auto;
}

.fkp-month-grid {
	max-height: none;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	overflow: visible;
}

.fkp-year-grid label > span,
.fkp-month-grid label > span {
	min-height: 48px;
	align-content: center;
	padding: 8px 10px;
}

.fkp-choice-grid--compact {
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
}

.fkp-equipment-grid {
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
}

.fkp-equipment-grid label > span {
	min-height: 48px;
	align-content: center;
	padding: 10px 12px;
}

.fkp-mileage-field {
	max-width: 300px;
}

.fkp-number-control {
	display: grid;
	grid-template-columns: 40px minmax( 0, 1fr ) 40px 44px;
	align-items: stretch;
	overflow: hidden;
	border: 1px solid color-mix( in srgb, var(--fk-color-border-strong) 74%, transparent );
	border-radius: var(--fk-radius-control);
	background: color-mix( in srgb, var(--fk-color-surface) 95%, var(--fk-color-surface-soft) );
}

.fk-form-flow .fkp-number-control input {
	min-width: 0;
	min-height: 46px;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-size: 16px;
	font-weight: var(--fk-font-weight-control);
	text-align: center;
}

.fk-form-flow .fkp-number-control input:focus {
	outline: 0;
}

.fkp-number-control button {
	display: grid;
	min-width: 0;
	padding: 0;
	place-items: center;
	border: 0;
	background: color-mix( in srgb, var(--fk-color-surface-soft) 78%, var(--fk-color-surface) );
	color: var(--fk-color-heading);
	cursor: pointer;
	font: inherit;
	font-size: 20px;
	font-weight: var(--fk-font-weight-button);
	line-height: 1;
}

.fkp-number-control button:first-child {
	border-right: 1px solid var(--fk-color-border);
}

.fkp-number-control button:nth-of-type( 2 ) {
	border-left: 1px solid var(--fk-color-border);
}

.fkp-number-control button:is( :hover, :focus-visible ) {
	background: color-mix( in srgb, var(--fk-color-accent) 8%, var(--fk-color-surface) );
	color: var(--fk-color-accent);
}

.fkp-number-control b {
	display: grid;
	place-items: center;
	padding: 0 10px;
	border-left: 1px solid var(--fk-color-border);
	color: var(--fk-color-muted);
	font-size: var(--fk-text-xs);
}

.fk-flow-dependent {
	margin-top: 12px;
}

.fk-flow-dependent[hidden] {
	display: none;
}

.fk-form-flow .fk-button:disabled {
	opacity: .42;
	cursor: not-allowed;
	box-shadow: none;
	filter: grayscale( .25 );
}

.fk-upload {
	display: grid;
	gap: 8px;
	padding: 14px;
	border: 1px solid color-mix( in srgb, var(--fk-color-border) 86%, transparent );
	border-radius: var(--fk-radius-control);
	background: color-mix( in srgb, var(--fk-color-surface-soft) 62%, var(--fk-color-surface) );
	font-weight: var(--fk-font-weight-control);
}

.fk-upload:focus-within {
	border-color: var(--fk-color-border-strong);
	box-shadow: inset 0 0 0 1px color-mix( in srgb, var(--fk-color-heading) 8%, transparent );
}

.fk-upload input[type="file"] {
	width: 100%;
	color: var(--fk-color-muted);
	font-size: var(--fk-text-xs);
	font-weight: 600;
}

.fk-upload input[type="file"]::file-selector-button {
	min-height: 38px;
	margin-right: 10px;
	padding: 8px 12px;
	border: 1px solid var(--fk-color-border);
	border-radius: var(--fk-button-radius);
	background: var(--fk-color-surface);
	color: var(--fk-color-heading);
	cursor: pointer;
	font: inherit;
	font-weight: var(--fk-font-weight-button);
}

.fk-upload small {
	color: var(--fk-color-muted);
	font-weight: 550;
}

.fk-upload-preview {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: 8px;
	margin-top: 10px;
}

.fk-upload-preview__item {
	position: relative;
	display: grid;
	gap: 4px;
	min-width: 0;
	color: var(--fk-color-muted);
	font-size: 11px;
	overflow-wrap: anywhere;
}

.fk-upload-preview__item > span {
	padding-right: 26px;
}

.fk-upload-preview__remove {
	position: absolute;
	top: 5px;
	right: 5px;
	display: grid;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid color-mix( in srgb, var(--fk-color-border) 75%, transparent );
	border-radius: 50%;
	background: color-mix( in srgb, var(--fk-color-surface) 92%, transparent );
	box-shadow: 0 4px 12px color-mix( in srgb, var(--fk-color-heading) 12%, transparent );
	color: var(--fk-color-heading);
	cursor: pointer;
	font: inherit;
	font-size: 20px;
	line-height: 1;
	place-items: center;
}

.fk-upload-preview__remove:is( :hover, :focus-visible ) {
	border-color: var(--fk-color-accent);
	color: var(--fk-color-accent);
	outline: none;
}

.fk-upload-preview img {
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: var(--fk-radius-media);
	object-fit: cover;
}

.fk-appointment-calendar__navigation {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--fk-space-sm);
	margin-block: var(--fk-space-sm);
	text-align: center;
}

.fk-appointment-calendar {
	display: grid;
	grid-template-columns: repeat( 7, minmax( 0, 1fr ) );
	gap: 5px;
}

.fk-appointment-calendar__weekday {
	padding: 2px;
	color: var(--fk-color-muted);
	font-size: 10px;
	font-weight: 750;
	text-align: center;
}

.fk-appointment-calendar__empty {
	min-height: 44px;
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-surface-soft);
}

.fk-appointment-day,
.fk-appointment-slot {
	display: grid;
	min-width: 0;
	min-height: 44px;
	place-items: center;
	padding: 6px;
	border: 1px solid var(--fk-color-border);
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-surface);
	color: var(--fk-color-heading);
	cursor: pointer;
	font: inherit;
}

.fk-appointment-day {
	gap: 1px;
}

.fk-appointment-day small {
	color: var(--fk-color-muted);
	font-size: 9px;
	font-weight: 650;
}

.fk-appointment-day strong {
	font-size: 13px;
}

.fk-appointment-slot {
	font-size: 13px;
	font-variant-numeric: tabular-nums;
	font-weight: var(--fk-font-weight-button);
	letter-spacing: 0.01em;
	line-height: 1.1;
}

.fk-appointment-day:hover,
.fk-appointment-day:focus-visible,
.fk-appointment-slot:hover,
.fk-appointment-slot:focus-visible {
	border-color: var(--fk-color-accent);
	background: color-mix( in srgb, var(--fk-color-accent) 7%, var(--fk-color-surface) );
	color: var(--fk-color-accent);
}

.fk-appointment-day.is-selected,
.fk-appointment-slot.is-selected {
	border-color: var(--fk-color-accent);
	background: var(--fk-color-accent);
	color: var(--fk-color-on-accent);
}

.fk-appointment-day.is-selected small {
	color: inherit;
}

.fk-appointment-day:disabled,
.fk-appointment-day.is-unavailable {
	border-color: color-mix( in srgb, var(--fk-color-border) 68%, transparent );
	background: color-mix( in srgb, var(--fk-color-surface-soft) 72%, transparent );
	color: color-mix( in srgb, var(--fk-color-muted) 58%, transparent );
	cursor: not-allowed;
	opacity: .62;
}

.fk-appointment-day:disabled small,
.fk-appointment-day.is-unavailable small {
	color: inherit;
}

.fk-appointment-day:disabled:hover,
.fk-appointment-day:disabled:focus-visible,
.fk-appointment-day.is-unavailable:hover,
.fk-appointment-day.is-unavailable:focus-visible {
	border-color: color-mix( in srgb, var(--fk-color-border) 68%, transparent );
	background: color-mix( in srgb, var(--fk-color-surface-soft) 72%, transparent );
	color: color-mix( in srgb, var(--fk-color-muted) 58%, transparent );
	outline: 0;
}

.fk-appointment-slots {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 94px, 1fr ) );
	gap: 7px;
}

.fk-appointment-summary,
.fk-inline-status {
	margin: 0 0 10px;
	color: var(--fk-color-muted);
	font-size: var(--fk-text-xs);
}

.fk-summary-highlights {
	display: grid;
	gap: 7px;
	margin-top: var(--fk-space-md);
}

.fk-summary-highlights > p {
	margin: 0;
	color: var(--fk-color-muted);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.fk-summary-highlights ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fk-summary-highlights li {
	margin: 0;
	padding: 5px 7px;
	border: 1px solid var(--fk-color-border);
	border-radius: min( var(--fk-radius-control), 5px );
	background: var(--fk-color-surface);
	color: var(--fk-color-heading);
	font-size: 11px;
	font-weight: 650;
	line-height: 1.2;
}

/* Premium lead surface: one calm hierarchy instead of nested framed panels. */
.fk-lead-dialog .fk-inquiry-dialog__surface {
	border: 0;
	box-shadow: 0 30px 90px rgb( 8 18 32 / .26 );
}

.fk-lead-dialog .fk-inquiry-dialog__close {
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 50%;
	background: color-mix( in srgb, var(--fk-color-surface-soft) 84%, var(--fk-color-surface) );
	box-shadow: inset 0 0 0 1px color-mix( in srgb, var(--fk-color-border) 72%, transparent );
	transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.fk-lead-dialog .fk-inquiry-dialog__close:is( :hover, :focus-visible ) {
	background: color-mix( in srgb, var(--fk-color-accent) 8%, var(--fk-color-surface) );
	transform: scale( 1.04 );
}

.fk-lead-dialog .fk-inquiry-dialog__close:focus-visible {
	outline: 3px solid color-mix( in srgb, var(--fk-color-accent) 24%, transparent );
	outline-offset: 2px;
	box-shadow: none;
}

/* Opening-hours aware call dialog. */
body.fk-call-dialog-open { overflow: hidden; }
.fk-call-dialog__surface { width: min( 720px, 100% ); padding: 0; }
.fk-call-dialog__vehicle { display: grid; grid-template-columns: 112px minmax( 0, 1fr ); align-items: center; gap: var(--fk-space-md); padding: 18px 64px 18px 20px; border-bottom: 1px solid var(--fk-color-border); background: var(--fk-color-surface-soft); }
.fk-call-dialog__vehicle img { display: block; width: 112px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--fk-radius-media); }
.fk-call-dialog__vehicle div { display: grid; gap: 4px; }
.fk-call-dialog__vehicle span { color: var(--fk-color-accent); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.fk-call-dialog__vehicle strong { color: var(--fk-color-heading); font-size: var(--fk-text-base); line-height: 1.3; }
.fk-call-dialog :is( .fk-call-dialog__available, .fk-call-dialog__closed ) { padding: clamp( 24px, 4vw, 36px ); }
.fk-call-dialog h2 { margin: 12px 0 7px; color: var(--fk-color-heading); font-size: clamp( 24px, 4vw, 34px ); line-height: 1.12; }
.fk-call-dialog section > p { margin: 0 0 var(--fk-space-lg); color: var(--fk-color-muted); font-size: var(--fk-text-sm); line-height: 1.55; }
.fk-call-dialog__status { display: inline-flex; align-items: center; gap: 8px; color: var(--fk-color-muted); font-size: var(--fk-text-xs); font-weight: 750; }
.fk-call-dialog__status i { width: 9px; height: 9px; border-radius: 50%; background: #e5484d; box-shadow: 0 0 0 4px rgb( 229 72 77 / .12 ); }
.fk-call-dialog__status.is-open i { background: #24a66a; box-shadow: 0 0 0 4px rgb( 36 166 106 / .13 ); }
.fk-call-dialog__available { display: grid; justify-items: center; gap: 18px; text-align: center; }
.fk-call-dialog__available .fk-call-dialog__status { margin: 0; font-family: var(--fk-font-body); font-size: var(--fk-text-sm); line-height: 1.35; letter-spacing: 0; }
.fk-call-dialog__phone { display: inline-flex; min-width: min( 100%, 430px ); min-height: 76px; align-items: center; justify-content: center; gap: 16px; padding: 14px 24px; border: 1px solid color-mix( in srgb, var(--fk-color-accent) 82%, #000 ); border-radius: var(--fk-radius-control); background: var(--fk-color-accent); box-shadow: 0 10px 24px color-mix( in srgb, var(--fk-color-accent) 22%, transparent ); color: var(--fk-color-on-accent); text-decoration: none; transition: filter 160ms ease, transform 160ms ease, box-shadow 160ms ease; }
.fk-call-dialog__phone:is( :hover, :focus-visible ) { color: var(--fk-color-on-accent); filter: brightness( .96 ); transform: translateY( -1px ); box-shadow: 0 13px 28px color-mix( in srgb, var(--fk-color-accent) 28%, transparent ); }
.fk-call-dialog__phone:focus-visible { outline: 3px solid color-mix( in srgb, var(--fk-color-accent) 24%, transparent ); outline-offset: 3px; }
.fk-call-dialog__phone > .fk-icon { width: clamp( 30px, 4vw, 36px ); height: clamp( 30px, 4vw, 36px ); flex: 0 0 auto; color: currentcolor; }
.fk-call-dialog__phone span { display: grid; justify-items: start; gap: 0; text-align: left; }
.fk-call-dialog__phone small { order: 2; color: color-mix( in srgb, var(--fk-color-on-accent) 78%, transparent ); font-size: 11px; font-weight: 700; }
.fk-call-dialog__phone strong { font-size: clamp( 21px, 3vw, 29px ); line-height: 1.15; }
.fk-call-dialog__reference { display: grid; width: min( 100%, 430px ); gap: 3px; margin: -3px 0 0; padding: 12px 16px; border: 1px solid var(--fk-color-border); border-radius: var(--fk-radius-control); background: var(--fk-color-surface-soft); text-align: center; }
.fk-call-dialog__reference span { color: var(--fk-color-muted); font-size: 11px; font-weight: 650; }
.fk-call-dialog__reference strong { color: var(--fk-color-heading); font-size: var(--fk-text-sm); letter-spacing: .02em; }

.fk-form-flow__step[data-fk-flow-enabled="false"] { display: none; }
.fk-call-dialog__callback { display: grid; gap: var(--fk-space-md); padding: var(--fk-space-lg); border: 1px solid var(--fk-color-border); border-radius: var(--fk-radius-panel); background: var(--fk-color-surface-soft); }
.fk-call-dialog__callback .fk-form-grid { display: grid; grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); gap: 13px; }
.fk-call-dialog__callback .fk-form-grid label { display: grid; gap: 6px; color: var(--fk-color-heading); font-size: var(--fk-text-xs); font-weight: 700; }
.fk-call-dialog__callback .fk-form-grid input { width: 100%; min-height: var(--fk-button-height); 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; }
.fk-call-dialog__callback .fk-form-grid input:focus-visible { border-color: var(--fk-color-accent); outline: 3px solid color-mix( in srgb, var(--fk-color-accent) 15%, transparent ); outline-offset: 1px; }
.fk-call-dialog__callback .fk-privacy-consent { margin: 0; }
.fk-call-dialog__callback > .fk-button { justify-self: start; }
.fk-call-dialog__reminder { display: grid; grid-template-columns: minmax( 0, 1fr ) auto; align-items: center; gap: 8px var(--fk-space-md); margin-top: var(--fk-space-lg); padding-top: var(--fk-space-lg); border-top: 1px solid var(--fk-color-border); }
.fk-call-dialog__reminder > span { color: var(--fk-color-heading); font-size: var(--fk-text-sm); font-weight: 750; }
.fk-call-dialog__reminder small { grid-column: 1 / -1; color: var(--fk-color-muted); }

.fk-lead-form {
	--fk-lead-padding-inline: clamp( 24px, 4vw, 34px );
	padding: 28px var(--fk-lead-padding-inline) 30px;
}

.fk-lead-form__header {
	gap: 8px;
	margin: 0 calc( var(--fk-lead-padding-inline) * -1 ) 18px;
	padding: 0 calc( var(--fk-lead-padding-inline) + 54px ) 18px var(--fk-lead-padding-inline);
	border-bottom: 1px solid color-mix( in srgb, var(--fk-color-border) 86%, transparent );
}

.fk-lead-form__heading {
	gap: 6px;
}

.fk-lead-form__heading h2 {
	font-size: clamp( 24px, 3.2vw, 32px );
	line-height: 1.12;
	letter-spacing: -.025em;
}

.fk-lead-form__heading > p:last-child {
	max-width: 56ch;
	font-size: var(--fk-text-sm);
	line-height: 1.55;
}

.fk-lead-form .fk-form-flow {
	position: relative;
	gap: 0;
}

.fk-lead-form .fk-form-flow__status {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect( 0 0 0 0 );
	white-space: nowrap;
}

.fk-lead-form .fk-form-flow__step {
	overflow: visible;
	border: 0;
	border-bottom: 1px solid transparent;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.fk-lead-form .fk-form-flow__step.is-active {
	border-color: transparent;
	background: transparent;
	box-shadow: none;
}

.fk-lead-form .fk-form-flow__step.is-complete:not( .is-active ) {
	border-bottom-color: color-mix( in srgb, var(--fk-color-border) 82%, transparent );
	background: transparent;
}

.fk-lead-form .fk-form-flow__heading {
	grid-template-columns: minmax( 0, 1fr ) auto auto;
	gap: 12px;
	min-height: auto;
	padding: 6px 0 16px;
}

.fk-lead-form .fk-form-flow__title {
	grid-column: 1;
	grid-row: 1;
}

.fk-lead-form .fk-form-flow__title strong {
	font-size: clamp( 18px, 2.5vw, 22px );
	font-weight: var(--fk-font-weight-heading);
	letter-spacing: -.018em;
	line-height: 1.2;
}

.fk-lead-form .fk-form-flow__title small {
	display: none;
}

.fk-lead-form .fk-form-flow__number {
	grid-column: 3;
	grid-row: 1;
	width: 28px;
	height: 28px;
	border: 0;
	background: color-mix( in srgb, var(--fk-color-accent) 9%, var(--fk-color-surface) );
	color: var(--fk-color-accent);
	font-size: 12px;
	box-shadow: inset 0 0 0 1px color-mix( in srgb, var(--fk-color-accent) 18%, transparent );
}

.fk-lead-form .fk-form-flow__step.is-active > .fk-form-flow__heading .fk-form-flow__number {
	display: none;
}

.fk-lead-form .fk-form-flow__step.is-complete:not( .is-active ) > .fk-form-flow__heading {
	grid-template-columns: minmax( 0, 1fr ) auto 16px;
	min-height: 34px;
	padding: 4px 0;
}

.fk-lead-form .fk-form-flow__step.is-complete:not( .is-active ) .fk-form-flow__number {
	display: grid;
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	border: 0;
	background: #13a34a;
	color: #fff;
	font-size: 0;
	line-height: 0;
	box-shadow: none;
}

.fk-lead-form .fk-form-flow__step.is-complete:not( .is-active ) .fk-form-flow__number::before {
	display: block;
	width: 4px;
	height: 7px;
	border-width: 0 1.6px 1.6px 0;
	transform: translateY( -.5px ) rotate( 45deg );
}

.fk-lead-form .fk-form-flow__step.is-complete:not( .is-active ) .fk-form-flow__title strong {
	font-size: 12px;
	font-weight: var(--fk-font-weight-control);
}

.fk-lead-form .fk-form-flow__summary {
	grid-column: 2;
	grid-row: 1;
	font-size: 11.5px;
	font-weight: var(--fk-font-weight-control);
	justify-self: end;
	max-width: min( 34ch, 38vw );
}

.fkp-test-drive-contact-grid {
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
}

.fk-lead-form .fk-form-flow__content {
	padding: 0 0 4px;
}

.fk-lead-form .fk-form-flow__actions {
	margin-top: 20px;
	padding-top: 0;
	border-top: 0;
}

.fk-lead-form .fk-form-flow :where( input:not( [type="checkbox"] ):not( [type="radio"] ):not( [type="file"] ), select, textarea ) {
	min-width: 0;
	box-sizing: border-box;
	border-color: color-mix( in srgb, var(--fk-color-border-strong) 76%, transparent );
	border-radius: var(--fk-radius-control);
	background: color-mix( in srgb, var(--fk-color-surface) 94%, var(--fk-color-surface-soft) );
	box-shadow: none;
}

.fk-lead-form .fk-form-flow :where( input:not( [type="checkbox"] ):not( [type="radio"] ):not( [type="file"] ), select, textarea ):focus {
	border-color: var(--fk-color-accent);
	outline: 0;
	box-shadow: inset 0 0 0 2px color-mix( in srgb, var(--fk-color-accent) 18%, transparent );
}

.fk-lead-form .fk-choice-grid label > span,
.fk-lead-form .fk-inquiry-interest > span,
.fk-lead-form .fkp-brand-grid label > span {
	border-color: color-mix( in srgb, var(--fk-color-border) 82%, transparent );
	border-radius: var(--fk-radius-control);
	box-shadow: none;
	transition: border-color 180ms ease, background-color 180ms ease;
}

.fk-lead-form .fk-choice-grid label:hover > span,
.fk-lead-form .fk-inquiry-interest:hover > span,
.fk-lead-form .fkp-brand-grid label:hover > span {
	border-color: color-mix( in srgb, var(--fk-color-accent) 42%, var(--fk-color-border) );
	background: color-mix( in srgb, var(--fk-color-accent) 3%, var(--fk-color-surface) );
	box-shadow: none;
}

.fk-lead-form :is( .fk-choice-grid, .fk-inquiry-interest-grid, .fkp-brand-grid ) input:checked + span {
	border-color: var(--fk-color-accent);
	background: color-mix( in srgb, var(--fk-color-accent) 7%, var(--fk-color-surface) );
	box-shadow: inset 0 0 0 1px color-mix( in srgb, var(--fk-color-accent) 18%, transparent );
}

.fk-lead-form :is( .fk-choice-grid, .fk-inquiry-interest-grid, .fkp-brand-grid ) input:focus-visible + span {
	border-color: var(--fk-color-accent);
	outline: 0;
	box-shadow: inset 0 0 0 1px color-mix( in srgb, var(--fk-color-accent) 22%, transparent );
}

.fk-lead-form .fk-button--primary:not( :disabled ):is( :hover, :focus-visible ) {
	background: color-mix( in srgb, var(--fk-color-accent) 88%, #000 );
}

.fk-lead-form .fk-button--secondary {
	border-color: color-mix( in srgb, var(--fk-color-border) 68%, transparent );
	background: color-mix( in srgb, var(--fk-color-surface-soft) 82%, var(--fk-color-surface) );
}

.fk-lead-form .fk-button--secondary:not( :disabled ):is( :hover, :focus-visible ) {
	border-color: color-mix( in srgb, var(--fk-color-border-strong) 72%, transparent );
	background: color-mix( in srgb, var(--fk-color-surface-soft) 62%, var(--fk-color-surface) );
}

.fk-form-flow__completion {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	color: #13823d;
	font-size: var(--fk-text-xs);
	font-weight: 750;
}

.fk-form-flow__completion > span {
	display: inline-grid;
	width: 18px;
	height: 18px;
	place-items: center;
	border-radius: 50%;
	background: color-mix( in srgb, #13a34a 13%, var(--fk-color-surface) );
	font-size: 11px;
	line-height: 1;
}

.fk-form-flow__transition {
	display: grid;
	min-height: 230px;
	place-items: center;
	align-content: center;
	gap: 8px;
	text-align: center;
	animation: fk-contact-transition-in 560ms cubic-bezier( .2, .75, .25, 1 ) both;
}

.fk-form-flow__transition[hidden] {
	display: none;
}

.fk-form-flow__transition-icon {
	display: grid;
	width: 54px;
	height: 54px;
	margin-bottom: 6px;
	place-items: center;
	border-radius: 50%;
	background: var(--fk-color-accent);
	color: var(--fk-color-on-accent);
	font-size: 24px;
	font-weight: 800;
	box-shadow: 0 0 0 10px color-mix( in srgb, var(--fk-color-accent) 10%, transparent );
}

.fk-form-flow__transition strong {
	color: var(--fk-color-heading);
	font-size: var(--fk-text-lg);
	letter-spacing: -.018em;
}

.fk-form-flow__transition small {
	color: var(--fk-color-muted);
	font-size: var(--fk-text-sm);
}

.fk-form-flow.is-contact-transitioning > :is( [data-fk-flow-status], [data-fk-flow-step] ) {
	display: none !important;
}

@keyframes fk-contact-transition-in {
	0% {
		opacity: 0;
		transform: translateY( 10px ) scale( .98 );
	}
	45% {
		opacity: 1;
		transform: translateY( 0 ) scale( 1.02 );
	}
	100% {
		opacity: 1;
		transform: translateY( 0 ) scale( 1 );
	}
}

@media ( prefers-reduced-motion: reduce ) {
	.fk-form-flow__transition {
		animation: none;
	}

	.fk-lead-form .fk-choice-grid label > span,
	.fk-lead-form .fk-inquiry-interest > span,
	.fk-lead-form .fkp-brand-grid label > span,
	.fk-lead-form .fk-button,
	.fk-lead-dialog .fk-inquiry-dialog__close {
		transition: none;
	}
}

.fk-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect( 0 0 0 0 ) !important;
	border: 0 !important;
	white-space: nowrap !important;
}

@media ( max-width: 600px ) {
	.fk-call-dialog { padding: 0; align-items: end; }
	.fk-call-dialog__surface { width: 100%; }
	.fk-call-dialog__surface { max-height: 92dvh; border-width: 1px 0 0; border-radius: var(--fk-radius-panel) var(--fk-radius-panel) 0 0; }
	.fk-call-dialog__vehicle { grid-template-columns: 84px minmax( 0, 1fr ); padding: 14px 52px 14px 14px; }
	.fk-call-dialog__vehicle img { width: 84px; }
	.fk-call-dialog :is( .fk-call-dialog__available, .fk-call-dialog__closed ) { padding: 20px 15px max( 20px, env( safe-area-inset-bottom ) ); }
	.fk-call-dialog__phone { width: 100%; min-width: 0; min-height: 68px; padding-inline: 18px; }
	.fk-call-dialog__callback { padding: 15px; }
	.fk-call-dialog__callback .fk-form-grid { grid-template-columns: 1fr; }
	.fk-call-dialog__reminder { grid-template-columns: 1fr; }
	.fk-call-dialog__reminder .fk-button { width: 100%; }

	.fk-inquiry-form__section {
		padding: var(--fk-space-md);
	}

	.fk-lead-dialog > .fk-inquiry-dialog__surface,
	.fk-lead-dialog--wide > .fk-inquiry-dialog__surface,
	.fk-lead-dialog--trade-in > .fk-inquiry-dialog__surface,
	.fk-lead-dialog--test-drive > .fk-inquiry-dialog__surface,
	.fk-lead-dialog--price-alert > .fk-inquiry-dialog__surface {
		width: 100%;
		max-width: 100%;
	}

	.fk-lead-form {
		--fk-lead-padding-inline: 18px;
		padding: 22px var(--fk-lead-padding-inline) max( 22px, env( safe-area-inset-bottom ) );
	}

	.fk-lead-form__header {
		padding-right: calc( var(--fk-lead-padding-inline) + 42px );
	}

	.fk-lead-form .fk-form-flow__step.is-complete:not( .is-active ) > .fk-form-flow__heading {
		grid-template-columns: minmax( 0, 1fr ) auto 16px;
	}

	.fk-lead-form .fk-form-flow__summary {
		grid-column: 2;
		max-width: 100%;
		text-align: right;
	}

	.fk-choice-grid {
		grid-template-columns: 1fr;
	}

	.fk-inquiry-interest-grid {
		grid-template-columns: 1fr;
	}

	.fkp-brand-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.fkp-two-stage-choice {
		grid-template-columns: 1fr;
	}

	.fkp-choice-grid--compact,
	.fkp-equipment-grid,
	.fkp-model-grid,
	.fkp-year-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.fkp-month-grid {
		grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	}

	.fkp-color-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.fk-upload-preview {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}
