.fkt-plugin-surface {
	--fk-color-page: var(--fkt-color-page);
	--fk-color-surface: var(--fkt-color-surface);
	--fk-color-surface-soft: var(--fkt-color-surface-soft);
	--fk-color-heading: var(--fkt-color-heading);
	--fk-color-text: var(--fkt-color-text);
	--fk-color-muted: var(--fkt-color-muted);
	--fk-color-border: var(--fkt-color-line);
	--fk-color-border-strong: color-mix(in srgb, var(--fkt-color-line) 72%, var(--fkt-color-heading));
	--fk-container-width: var(--fkt-content-width);
	--fk-font-body: var(--fkt-font-body);
	--fk-font-heading: var(--fkt-font-heading);
	--fk-font-button: var(--fkt-font-button);
	--fk-font-weight-body: var(--fkt-body-weight);
	--fk-font-weight-heading: var(--fkt-heading-weight);
	--fk-font-weight-control: var(--fkt-control-weight);
	--fk-font-weight-button: var(--fkt-button-weight);
	--fk-button-height: var(--fkt-button-height);
	--fk-button-radius: var(--fkt-button-radius);
	--fk-button-border-width: var(--fkt-button-border-width);
	--fk-button-padding-inline: var(--fkt-button-padding-inline);
	--fk-button-letter-spacing: var(--fkt-button-letter-spacing);
	--fk-button-text-transform: var(--fkt-button-text-transform);
	--fk-button-shadow: var(--fkt-button-shadow);
	--fk-button-hover-shadow: var(--fkt-button-hover-shadow);
	--fk-button-hover-transform: var(--fkt-button-hover-transform);
	--fk-text-2xs: var(--fkt-component-text-2xs);
	--fk-text-xs: var(--fkt-component-text-xs);
	--fk-text-sm: var(--fkt-component-text-sm);
	--fk-text-base: var(--fkt-component-text-base);
	--fk-text-lg: var(--fkt-component-text-lg);
	--fk-text-xl: var(--fkt-component-text-xl);
	--fk-text-2xl: var(--fkt-component-text-2xl);
	--fk-text-3xl: var(--fkt-component-text-3xl);
	--fk-text-4xl: var(--fkt-component-text-4xl);
	--fk-page-title-size: var(--fkt-component-text-3xl);
	--fk-control-height: var(--fkt-control-height);
	--fk-control-font-size: var(--fkt-control-font-size);
}

.fkt-plugin-surface :where(button, .fk-button, input[type="button"], input[type="submit"]) {
	font-family: var(--fk-font-button);
	font-weight: var(--fk-font-weight-button);
}

body .fkt-plugin-surface.fk-site-main:where(:not(.fk-favorites-shell):not(.fk-floating-menu):not(.fk-floating-favorite):not(.fk-inquiry-dialog):not(.fk-section--contact):not(.fk-section--services):not(.fk-section)) { background: var(--fkt-color-page); }

body .fkt-plugin-surface.fk-section--hero .fk-hero__search .fk-shortcode-shell.fkt-plugin-surface.fk-site-main { background: transparent; }

body.fkt-theme .fk-detail-sidebar {
	top: var(--fkt-sticky-offset, var(--fk-space-lg));
}

body.fkt-theme .fk-detail-shell,
body.fkt-theme.admin-bar .fk-detail-shell {
	--fk-sticky-stack-offset: var(--fkt-sticky-header-bottom, var(--fkt-sticky-offset, 12px));
}

.fkt-plugin-surface :where(.fk-vehicle-card, .fk-catalog-filters, .fk-detail-panel, .fk-detail-summary, .fk-inquiry, .fk-form-card, .fk-location-card) {
	border-color: var(--fkt-color-line);
	background-color: var(--fkt-color-surface);
	color: var(--fkt-color-text);
}

.fkt-plugin-surface .fk-summary-reference,
.fkt-plugin-surface .fk-spec-grid > div,
.fkt-plugin-surface .fk-environment-grid > div {
	background: var(--fkt-color-surface-soft);
	color: var(--fkt-color-text);
}

.fkt-plugin-surface .fk-lead-form .fk-inquiry-interests {
	background: transparent;
	color: var(--fkt-color-text);
}

.fkt-plugin-surface .fk-summary-reference strong,
.fkt-plugin-surface .fk-spec-grid dd,
.fkt-plugin-surface .fk-environment-grid dd {
	color: var(--fkt-color-heading);
}

.fkt-plugin-surface :where(.fk-spec-grid dt, .fk-summary-meta dt, .fk-catalog-toolbar p, .fk-sort-form label) {
	color: var(--fkt-color-muted);
}

.fkt-plugin-surface :where(.fk-text-toggle, .fk-vehicle-tool, .fk-catalog-view-switcher) {
	border-color: var(--fkt-color-line);
	background-color: var(--fkt-color-surface-soft);
	color: var(--fkt-color-heading);
}

.fkt-plugin-surface .fk-text-toggle {
	background-color: transparent;
}

.fkt-plugin-surface .fk-catalog-view-switcher button {
	color: var(--fkt-color-muted);
}

.fkt-plugin-surface .fk-catalog-view-switcher button:is(:hover, :focus-visible) {
	background-color: color-mix(in srgb, var(--fkt-color-primary) 10%, var(--fkt-color-surface));
	color: var(--fkt-color-heading);
}

.fkt-plugin-surface .fk-catalog-view-switcher button[aria-pressed="true"] {
	background-color: var(--fkt-color-surface);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fkt-color-line) 78%, transparent);
	color: var(--fkt-color-primary);
}

.fkt-plugin-surface input,
.fkt-plugin-surface select,
.fkt-plugin-surface textarea {
	background-color: var(--fkt-color-surface);
	color: var(--fkt-color-heading);
}

body.fkt-theme .fk-catalog-filters :where(input:not([type="checkbox"]):not([type="range"]), select, textarea) {
	min-height: var(--fkt-control-height);
	padding-block: 9px;
	font-size: var(--fkt-control-font-size) !important;
	line-height: 1.25;
}

body.fkt-theme .fkt-plugin-surface :where(.fk-sort-form select, .fk-catalog-filters select) {
	min-height: var(--fkt-control-height);
	padding-block: 9px;
	padding-inline: 13px 42px;
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--fkt-color-muted) 50%),
		linear-gradient(135deg, var(--fkt-color-muted) 50%, transparent 50%);
	background-position:
		calc(100% - 18px) 50%,
		calc(100% - 13px) 50%;
	background-repeat: no-repeat;
	background-size: 5px 5px;
	font-size: var(--fkt-control-font-size) !important;
	line-height: 1.25;
}

@media (max-width: 782px) {
	body.fkt-theme .fkt-plugin-surface.fk-site-main .fk-catalog-filters :where(input:not([type="hidden"]):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;
	}
}

body.fkt-theme .fkt-plugin-surface .fk-catalog-view-switcher button {
	font-size: var(--fkt-control-font-size);
}

.wp-block-shortcode .fk-site-main,
.wp-block-shortcode .fk-quick-search,
.wp-block-shortcode .fk-favorites { width: 100%; }

.fkt-content-wide .fk-favorites-shell,
.fkt-content-wide .fk-favorites__results,
.fkt-content-wide .fk-favorites__results .fk-vehicle-grid { width: 100%; max-width: none; }
