.c-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 587px;
	padding-block: var(--block-spacing-top, var(--spacing-3xl)) var(--block-spacing-bottom, var(--spacing-3xl));
	overflow: hidden;
	isolation: isolate;
}

.c-hero__media,
.c-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.c-hero__image,
.c-hero__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.c-hero__overlay {
	background: var(--hero-overlay, rgb(0 0 0 / 0.4));
}

.c-hero--medium {
	--hero-overlay: rgb(0 0 0 / 0.5);

	min-height: 0;
	padding-block: var(--block-spacing-top, var(--spacing-xl)) var(--block-spacing-bottom, var(--spacing-xl));
}

.c-hero--compact {
	--hero-overlay: linear-gradient(0deg, rgb(0 0 0 / 0.5) 0%, rgb(0 0 0 / 0) 35.9%), rgb(0 0 0 / 0.3);
	min-height: 0;
	padding-block: var(--block-spacing-top, var(--spacing-xl)) var(--block-spacing-bottom, var(--spacing-xl));
}

.c-hero--compact .c-hero__inner {
	gap: 20px;
	max-width: 800px;
}

.c-hero__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	width: 100%;
	max-width: 1110px;
	margin-inline: auto;
	padding-inline: var(--gutter);
	text-align: center;
}

.c-hero__title,
.c-hero__subtitle {
	margin: 0;
	color: var(--color-beige);
}

.c-hero__subtitle {
	font-weight: var(--weight-bold);
}

.c-hero__title + .c-hero__subtitle {
	margin-top: -16px;
}

.c-hero--compact .c-hero__title {
	font-size: var(--text-h2);
	line-height: var(--lh-h2);
	letter-spacing: var(--ls-h2);
}

.c-hero--compact .c-hero__subtitle {
	max-width: 600px;
	color: var(--color-text-on-accent);
	font-size: var(--text-body-lg);
	line-height: var(--lh-body-lg);
	font-weight: var(--weight-medium);
	text-wrap: initial;
}

.c-hero--compact .c-hero__title + .c-hero__subtitle {
	margin-top: 0;
}

.c-hero__search {
	display: flex;
	align-items: stretch;
	gap: 10px;
	width: 100%;
	max-width: 914px;
	padding: 16px;
	background: var(--color-beige-50);
	border-radius: 49.5px;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.c-hero__search--articles {
	gap: var(--spacing-md);
	max-width: 644px;
}

.c-hero__search-where {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
}

.c-hero__locate {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	margin-right: -12px;
	background: none;
	padding: 0;
	border: 0;
	border-radius: var(--radius-full);
	color: var(--color-navy);
	cursor: pointer;
}

.c-hero__locate[hidden] {
	display: none;
}

.c-hero__locate:hover {
	background: var(--color-beige);
}

.c-hero__locate:focus-visible {
	outline: 2px solid var(--color-navy);
	outline-offset: 2px;
}

.c-hero__locate:disabled {
	cursor: progress;
}

.c-hero__locate.is-locating .c-hero__locate-icon {
	animation: locate-pulse 1s ease-in-out infinite alternate;
}

.c-hero__locate-icon svg {
	display: block;
	width: 20px;
	height: 20px;
}

@keyframes locate-pulse {
	to {
		opacity: 0.3;
	}
}

@media (prefers-reduced-motion: reduce) {
	.c-hero__locate.is-locating .c-hero__locate-icon {
		animation: none;
		opacity: 0.5;
	}
}

.c-hero__search--articles .c-hero__search-btn {
	flex: 1 1 auto;
}

.c-hero__categories {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: var(--spacing-sm);
}

.c-hero__categories-label {
	color: var(--color-text-on-accent);
}

.c-hero__category-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--spacing-sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

.c-hero__search-field {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1 1 auto;
	min-width: 0;
	padding: 12px 32px;
	background: var(--color-surface-raised);
	border-radius: 40px;
	text-align: left;
}

.c-hero__search-field--distance {
	flex: 0 0 auto;
	padding-right: 20px;
}

.c-hero__search-label {
	font-size: 0.875rem;
	line-height: 18px;
	font-weight: var(--weight-demi);
	color: var(--color-navy);
}

.c-hero__search-input,
.c-hero__select {
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--color-navy);
}

.c-hero__search-input--solo {
	flex: 0 1 400px;
	width: auto;
	min-width: 0;
	padding: var(--spacing-md) var(--spacing-lg);
	border-radius: 40px;
	background: var(--color-surface-raised);
}

.c-hero__search-input::placeholder {
	color: var(--color-text-muted);
}

.c-hero__search-input:focus-visible,
.c-hero__select:focus-visible {
	outline: 0;
}

.c-hero__search-select {
	position: relative;
	display: flex;
	align-items: center;
}

.c-hero__select {
	appearance: none;
	padding-right: 20px;
	color: var(--color-text-muted);
	cursor: pointer;
}

.c-hero__select-icon {
	position: absolute;
	right: 0;
	display: flex;
	pointer-events: none;
	color: var(--color-navy);
}

.c-hero__select-icon svg {
	display: block;
	width: 10px;
	height: 10px;
}

.c-hero__search-btn {
	flex: 0 0 auto;
	align-self: stretch;
}

.c-hero__reviews {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.c-hero__review {
	display: flex;
	align-items: center;
	gap: 16px;
	max-width: 258px;
}

.c-hero__review-badge img {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: contain;
}

.c-hero__review-text {
	color: var(--color-beige);
	text-align: left;
}

.c-hero__review-text :where(p) {
	margin: 0;
}

.c-hero__review-text a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Hand style the review widget in the header */
.c-hero__review__widget .tg-review-carousel-widget-container {
	background: transparent !important;
}

.c-hero__review__widget .tg-review-carousel-widget-container * {
	color: var(--color-beige) !important;
	font-family: var(--font-family) !important;
}

.c-hero__review__widget .tg_chlogo,
.c-hero__review__widget .tg_Read-all-reviews,
.c-hero__review__widget .tg_reviews_node,
.c-hero__review__widget .chevron-container-right,
.c-hero__review__widget .chevron-container-left {
	display: none !important;
}

.c-hero__review__widget .tg_text_small.tg_score_text {
	font-size: 0;
}

.c-hero__review__widget .tg_text_small.tg_score_text i {
	font-size: var(--text-body-sm);
	line-height: var(--lh-tight);
}

.c-hero__review__widget .c-hero__review-link {
	text-decoration: none;
}

.c-hero__review__widget .c-hero__review-link:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

.c-hero__review__widget .c-hero__review-link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
	border-radius: 2px;
}

.c-hero__review__widget .tg-review-carousel-widget-container .tg_header_wrap .tg_score_wrapper .tg_score {
	width: 60px;
	height: 60px;
	font-size: 22px;
	border-radius: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #CA3231 !important;
}

@media (width < 768px) {
	.c-hero__search {
		flex-direction: column;
		border-radius: 24px;
	}

	.c-hero__search-field,
	.c-hero__search-field--distance {
		flex: 1 1 auto;
	}

	.c-hero__search-input--solo {
		flex: 0 0 auto;
		width: 100%;
	}

	.c-hero__search-btn {
		width: 100%;
	}

	.c-hero__review {
		max-width: none;
	}
}
