/* Generated from the frontend-location CSS group by scripts/build-assets.mjs. */
.fk-location-profile-shell {
	width: 100%;
	max-width: none;
	padding-block: 0;
	background: transparent;
	container: fk-location-profile / inline-size;
}

.fk-location-profile {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp( 24px, 4vw, 44px );
	padding: clamp( 28px, 5vw, 64px );
	border: 1px solid var(--fk-color-border);
	border-radius: var(--fk-radius-card);
	background: var(--fk-color-surface);
	box-shadow: var(--fk-shadow-card);
}

.fk-location-profile__header h2 {
	max-width: none;
	margin: 0;
	font-size: clamp( 26px, 3vw, 40px );
}

.fk-location-profile__header > div {
	max-width: 46ch;
	margin-top: 16px;
	color: var(--fk-color-muted);
	font-size: var(--fk-text-sm);
	line-height: 1.65;
}

.fk-location-profile__grid {
	display: grid;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	gap: clamp( 28px, 6vw, 72px );
}

.fk-location-profile__contact {
	display: grid;
	align-content: start;
	gap: 24px;
}

.fk-location-profile :where( h3, address, dl ) {
	margin: 0;
}

.fk-location-profile h3 {
	margin-bottom: 9px;
	font-size: var(--fk-text-sm);
}

.fk-location-profile address,
.fk-location-profile__contact > div:not( .fk-location-profile__actions ) {
	display: grid;
	gap: 4px;
	font-style: normal;
}

.fk-location-profile__contact a:not( .fk-button ) {
	color: var(--fk-color-heading);
	font-weight: var(--fk-font-weight-control);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.fk-location-profile__hours dl {
	display: grid;
}

.fk-location-profile__hours dl > div {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) auto;
	gap: 18px;
	padding: 9px 0;
	border-bottom: 1px solid color-mix( in srgb, var(--fk-color-border) 76%, transparent );
}

.fk-location-profile__hours dt {
	color: var(--fk-color-muted);
}

.fk-location-profile__hours dd {
	margin: 0;
	color: var(--fk-color-heading);
	font-weight: var(--fk-font-weight-control);
	text-align: right;
}

.fk-location-profile__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.fk-location-profile__actions .fk-button {
	min-height: 46px;
	padding: 10px 17px;
}

.fk-location-profile__gallery {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat( 12, minmax( 0, 1fr ) );
	gap: clamp( 8px, 1.4vw, 16px );
	margin-top: clamp( 4px, 1vw, 12px );
}

.fk-location-profile__gallery a {
	display: block;
	overflow: hidden;
	grid-column: span 4;
	border-radius: var(--fk-radius-media);
	background: var(--fk-color-surface-soft);
	aspect-ratio: 4 / 3;
}

.fk-location-profile__gallery a:first-child {
	grid-column: span 8;
	grid-row: span 2;
	aspect-ratio: auto;
}

.fk-location-profile__gallery a:only-child {
	grid-column: 1 / -1;
	aspect-ratio: 16 / 7;
}

.fk-location-profile__gallery img {
	display: block;
	width: 100%;
	height: 100%;
	transition: transform 220ms ease;
	object-fit: cover;
}

.fk-location-profile__gallery a:hover img {
	transform: scale( 1.025 );
}

.fk-location-profile__empty {
	padding: 18px;
	border: 1px dashed var(--fk-color-border);
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-surface-soft);
	color: var(--fk-color-muted);
}

@media ( max-width: 900px ) {
	.fk-location-profile,
	.fk-location-profile__grid {
		grid-template-columns: 1fr;
	}

	.fk-location-profile__header h2 {
		max-width: none;
	}
}

@media ( max-width: 600px ) {
	.fk-location-profile {
		gap: 28px;
		padding: 22px 18px;
	}

	.fk-location-profile__hours dl > div {
		gap: 12px;
	}

	.fk-location-profile__actions {
		display: grid;
	}

	.fk-location-profile__gallery a,
	.fk-location-profile__gallery a:first-child,
	.fk-location-profile__gallery a:only-child {
		grid-column: 1 / -1;
		grid-row: auto;
		aspect-ratio: 4 / 3;
	}
}

@container fk-location-profile ( max-width: 900px ) {
	.fk-location-profile,
	.fk-location-profile__grid {
		grid-template-columns: 1fr;
	}

	.fk-location-profile__header h2 {
		max-width: none;
	}
}

@container fk-location-profile ( max-width: 600px ) {
	.fk-location-profile {
		gap: 28px;
		padding: 22px 18px;
	}

	.fk-location-profile__hours dl > div {
		gap: 12px;
	}

	.fk-location-profile__actions {
		display: grid;
	}

	.fk-location-profile__gallery a,
	.fk-location-profile__gallery a:first-child,
	.fk-location-profile__gallery a:only-child {
		grid-column: 1 / -1;
		grid-row: auto;
		aspect-ratio: 4 / 3;
	}
}

.fk-seo-location-page {
	padding-block: clamp( 34px, 6vw, 80px );
}

.fk-seo-location-hero {
	max-width: 820px;
	margin-bottom: clamp( 28px, 5vw, 52px );
}

.fk-seo-location-hero > span,
.fk-seo-location-vehicles > header > span {
	color: var(--fk-color-accent);
	font-size: var(--fk-text-xs);
	font-weight: var(--fk-font-weight-control);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.fk-seo-location-hero h1 {
	margin: 8px 0 12px;
	color: var(--fk-color-heading);
	font-family: var(--fk-font-heading);
	font-size: clamp( 34px, 6vw, 64px );
	line-height: 1.05;
}

.fk-seo-location-hero p {
	max-width: 68ch;
	margin: 0;
	color: var(--fk-color-muted);
	font-size: var(--fk-text-lg);
	line-height: 1.65;
}

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

.fk-seo-location-card {
	display: grid;
	grid-template-columns: auto minmax( 0, 1fr );
	gap: 18px;
	align-items: start;
	padding: clamp( 22px, 4vw, 34px );
	border: 1px solid var(--fk-color-border);
	border-radius: var(--fk-radius-card);
	background: var(--fk-color-surface);
	box-shadow: var(--fk-shadow-card);
}

.fk-seo-location-card__icon {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-surface-soft);
	color: var(--fk-color-accent);
}

.fk-seo-location-card__icon svg {
	width: 21px;
	height: 21px;
}

.fk-seo-location-card__image {
	grid-row: 1 / span 2;
	width: clamp(120px, 17vw, 220px);
	aspect-ratio: 16 / 9;
	border-radius: var(--fk-radius-media);
	object-fit: cover;
}

.fk-seo-location-card h2 {
	margin: 0 0 8px;
	font-size: var(--fk-text-xl);
}

.fk-seo-location-card h2 a {
	color: var(--fk-color-heading);
	text-decoration: none;
}

.fk-seo-location-card p {
	margin: 0;
	color: var(--fk-color-muted);
	line-height: 1.55;
}

.fk-seo-location-card > .fk-button {
	grid-column: 2;
	justify-self: start;
}

.fk-seo-location-vehicles {
	margin-top: clamp( 46px, 7vw, 84px );
}

.fk-seo-location-vehicles .fk-vehicle-grid {
	width: 100%;
}

.fk-seo-location-vehicles > header {
	margin-bottom: 24px;
}

.fk-seo-location-vehicles h2 {
	margin: 7px 0 0;
	font-size: clamp( 26px, 4vw, 42px );
}

@media ( max-width: 760px ) {
	.fk-seo-location-grid {
		grid-template-columns: 1fr;
	}

	.fk-seo-location-card {
		grid-template-columns: 1fr;
	}

	.fk-seo-location-card__image {
		grid-row: auto;
		width: 100%;
	}

	.fk-seo-location-card > .fk-button {
		grid-column: 1;
	}
}
.fk-reviews-shell {
	width: 100%;
	max-width: none;
	container: fk-reviews / inline-size;
}

.fk-reviews {
	display: grid;
	gap: var(--fk-space-xl);
	width: 100%;
}

.fk-reviews__header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: var(--fk-space-xl);
}

.fk-reviews__copy {
	max-width: var(--fk-reading-width);
}

.fk-reviews__copy :is( h2, p ),
.fk-reviews__card :is( blockquote, p ),
.fk-reviews__empty-message :is( p, strong ) {
	margin: 0;
}

.fk-reviews__copy h2 {
	color: var(--fk-color-heading);
	font-family: var(--fk-font-heading);
	font-size: var(--fk-text-2xl);
	font-weight: var(--fk-font-weight-heading);
	line-height: 1.08;
	letter-spacing: -.03em;
}

.fk-reviews__copy p {
	margin-top: var(--fk-space-sm);
	color: var(--fk-color-muted);
}

.fk-reviews__summary {
	display: grid;
	grid-template-columns: auto auto;
	align-items: center;
	gap: 3px var(--fk-space-xs);
	min-width: max-content;
}

.fk-reviews__summary strong {
	color: var(--fk-color-heading);
	font-size: var(--fk-text-2xl);
	line-height: 1;
}

.fk-reviews__summary > span,
.fk-reviews__stars {
	color: var(--fk-color-accent);
	font-size: var(--fk-text-sm);
	letter-spacing: .08em;
}

.fk-reviews__summary small {
	grid-column: 1 / -1;
	color: var(--fk-color-muted);
	font-size: var(--fk-text-xs);
}

.fk-reviews__grid {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: var(--fk-space-md);
}

.fk-reviews__card {
	display: grid;
	align-content: space-between;
	gap: var(--fk-space-md);
	min-width: 0;
	padding: var(--fk-card-padding);
	border: var(--fk-component-outline-size) solid var(--fk-card-border);
	border-radius: var(--fk-radius-card);
	background: var(--fk-card-background, var(--fk-color-surface));
	box-shadow: var(--fk-shadow-card);
}

.fk-reviews__card blockquote {
	color: var(--fk-color-text);
}

.fk-reviews__card blockquote p {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-height: 1.65;
}

.fk-reviews__card footer {
	display: grid;
	gap: 2px;
}

.fk-reviews__card footer strong {
	color: var(--fk-color-heading);
	font-size: var(--fk-text-sm);
}

.fk-reviews__card footer span {
	color: var(--fk-color-muted);
	font-size: var(--fk-text-xs);
}

.fk-reviews__link {
	justify-self: start;
}

.fk-reviews__empty-message {
	display: grid;
	gap: var(--fk-space-xs);
	padding: var(--fk-card-padding);
	border: 1px dashed var(--fk-color-border-strong);
	border-radius: var(--fk-radius-card);
	background: var(--fk-color-surface-soft);
}

.fk-reviews__empty-message strong {
	color: var(--fk-color-heading);
}

.fk-reviews__empty-message p {
	color: var(--fk-color-muted);
}

@container fk-reviews ( max-width: 900px ) {
	.fk-reviews__grid {
		grid-template-columns: 1fr 1fr;
	}
}

@container fk-reviews ( max-width: 620px ) {
	.fk-reviews__header {
		align-items: start;
		flex-direction: column;
	}

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