/* The existing page stays visible until its replacement and styles are ready. */
.fkt-is-navigating { cursor: progress; }
.fkt-navigation-delayed::after {
	content: "";
	position: fixed;
	inset: 0 auto auto 0;
	z-index: 100000;
	height: 2px;
	width: 65%;
	background: var(--fkt-color-primary);
	animation: fkt-navigation-progress 1.8s ease-out infinite;
}
@keyframes fkt-navigation-progress { from { transform: translateX(-100%); } to { transform: translateX(155%); } }
@media (prefers-reduced-motion: reduce) { .fkt-navigation-delayed::after { animation: none; width: 100%; } }

/* Stable outer height avoids a document jump when the inner header contracts. */
.fkt-theme {
	--fkt-floating-width: min(var(--fkt-content-width), calc(100% - 32px));
	--fkt-floating-surface: var(--fkt-color-surface);
	--fkt-floating-blur: none;
}
.fkt-site-header.fkt-header--floating.is-sticky {
	min-height: var(--fkt-header-expanded-height, auto);
	box-sizing: border-box;
	top: var(--fkt-admin-bar-offset);
}
.fkt-header--floating :is(.fkt-desktop-header, .fkt-mobile-header) {
	margin-inline: auto;
	max-width: 100%;
	transition: max-width .22s ease, border-radius .22s ease, background-color .22s ease, box-shadow .22s ease;
}
.fkt-header--floating :is(.fkt-header-row-inner, .fkt-mobile-header-inner) { transition: min-height .22s ease; }
.fkt-header--floating .fkt-brand-logo { transition: max-height .22s ease; }
.fkt-site-header.fkt-header--floating.is-compact {
	padding-top: 12px;
	background: transparent;
	border-color: transparent;
	backdrop-filter: none;
	box-shadow: none;
	pointer-events: none;
}
.fkt-header--floating.is-compact :is(.fkt-desktop-header, .fkt-mobile-header) {
	max-width: var(--fkt-floating-width);
	border-radius: var(--fkt-radius-lg);
	background: var(--fkt-floating-surface);
	backdrop-filter: var(--fkt-floating-blur);
	box-shadow: 0 0 0 1px var(--fkt-color-line), var(--fkt-shadow-md);
	pointer-events: auto;
}
@supports (backdrop-filter: blur(16px)) {
	.fkt-theme {
		--fkt-floating-surface: color-mix(in srgb, var(--fkt-color-surface) 86%, transparent);
		--fkt-floating-blur: blur(16px) saturate(125%);
	}
}
.fkt-header--floating.is-compact .fkt-header-row { background: transparent; }
.fkt-header--floating.is-compact .fkt-header-row:last-child { border-bottom: 0; }
.fkt-header--floating.is-compact .fkt-header-row--primary .fkt-header-row-inner { min-height: min(var(--fkt-header-height), 62px); }
.fkt-header--floating.is-compact .fkt-header-row--secondary .fkt-header-row-inner { min-height: 44px; }
.fkt-header--floating.is-compact .fkt-brand-logo { max-height: min(var(--fkt-logo-max-height), 36px); }
.fkt-style-pure .fkt-menu a { font-weight: var(--fkt-control-weight); }
.fkt-style-pure .fkt-site-header { border-bottom-width: 1px; }
@media (max-width: 1160px) {
	.fkt-theme { --fkt-floating-width: calc(100% - 24px); }
	.fkt-site-header.fkt-header--floating.is-compact { padding-top: 8px; }
	.fkt-header--floating.is-compact .fkt-mobile-header-inner { min-height: 58px; }
}

/* The vehicle context is the lower row of the same floating surface. */
@media (min-width: 761px) {
	.fkt-theme.single-fk_vehicle:has(.fk-vehicle-sticky-nav.is-visible) .fkt-header--floating.is-compact :is(.fkt-desktop-header, .fkt-mobile-header) {
		border-end-start-radius: 0;
		border-end-end-radius: 0;
		box-shadow: 0 0 0 1px var(--fkt-color-line);
	}
	.fkt-theme.single-fk_vehicle:has(.fkt-header--floating.is-compact) .fk-vehicle-sticky-nav {
		width: var(--fkt-floating-width);
		margin-inline: auto;
		border: 0;
		border-radius: 0 0 var(--fkt-radius-lg) var(--fkt-radius-lg);
		background: var(--fkt-floating-surface);
		backdrop-filter: var(--fkt-floating-blur);
		box-shadow: inset 0 1px 0 var(--fkt-color-line), 0 0 0 1px var(--fkt-color-line), var(--fkt-shadow-md);
	}
	.fkt-theme.single-fk_vehicle:has(.fkt-header--floating.is-compact) .fk-vehicle-sticky-nav__inner {
		/* Same content inset as the header's .fkt-container. */
		width: min(calc(100% - clamp(2rem, 5vw, 5rem)), var(--fkt-content-width));
	}
}
@media (prefers-reduced-transparency: reduce) {
	.fkt-theme {
		--fkt-floating-surface: var(--fkt-color-surface);
		--fkt-floating-blur: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	.fkt-header--floating :is(.fkt-desktop-header, .fkt-mobile-header, .fkt-header-row-inner, .fkt-mobile-header-inner, .fkt-brand-logo) { transition: none; }
}
