.sf-ultimate-utility-bar {
	background: var(--sf-bg-dark);
	color: var(--sf-dark-heading);
	font-family: var(--sf-font-body);
}

.sf-ultimate-utility-bar__inner {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 0.35rem 1.5rem;
	padding: 0.5rem 0;
	font-size: 0.85rem;
}

.sf-ultimate-utility-bar__item {
	display: inline-flex;
	align-items: center;
	color: inherit;
	opacity: 0.92;
}

a.sf-ultimate-utility-bar__item {
	text-decoration: none;
	font-weight: 600;
	opacity: 1;
	border-radius: var(--button-radius);
	padding: 0.15rem 0.6rem;
	margin: -0.15rem -0.6rem;
	border: 1px solid transparent;
	transition: border-color 0.15s ease, color 0.15s ease;
}

a.sf-ultimate-utility-bar__item:hover,
a.sf-ultimate-utility-bar__item:focus-visible {
	border-color: var(--sf-accent);
	color: var(--sf-accent);
}

.sf-ultimate-utility-bar__hours {
	white-space: nowrap;
}

.utility-bar-location {
	white-space: nowrap;
}

@media (max-width: 640px) {
	.sf-ultimate-utility-bar__inner {
		justify-content: center;
		text-align: center;
	}
}

.sf-ultimate-hero-split {
	position: static;
	background: var(--sf-bg);
	overflow: visible;
}

.sf-ultimate-hero-split .container-global {
	position: static;
}

.sf-ultimate-hero-split__grid {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
}

.sf-ultimate-hero-split__media {
	position: relative;
	border-radius: var(--image-radius);
	overflow: hidden;
	border: 1px solid var(--sf-border);
	aspect-ratio: 4 / 5;
}

.sf-ultimate-hero-split__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sf-ultimate-hero-split__content {
	color: var(--sf-heading);
}

.sf-ultimate-hero-split__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	border-radius: var(--radius-full);
	border: 1px solid var(--sf-border);
	padding: 0.3rem 0.8rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--sf-accent);
	margin-bottom: 1rem;
}

.sf-ultimate-hero-split__form {
	margin-top: 2rem;
}

@media (max-width: 900px) {
	.sf-ultimate-hero-split__grid {
		grid-template-columns: 1fr;
	}
	.sf-ultimate-hero-split__media {
		aspect-ratio: 16 / 10;
	}
	.sf-ultimate-hero-split__content {
		text-align: center;
	}
}

.sf-ultimate-gallery__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 1rem;
}

.sf-ultimate-gallery__item {
	display: block;
	border-radius: var(--image-radius);
	overflow: hidden;
	border: 1px solid var(--sf-border);
	aspect-ratio: 4 / 3;
}

.sf-ultimate-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.2s ease;
}

.sf-ultimate-gallery__item:hover img {
	transform: scale(1.03);
}
