.flex-layout.locations_archive_grid {
	--bg-color: var(--neutral-50);
	--text-color: var(--primary-100);
	--layout-spacing-top: max(4rem, calc(4 * var(--su)));
	--layout-spacing-bottom: max(4rem, calc(5.875 * var(--su)));
	scroll-margin-top: var(--header-height, 6rem);
}

.flex-layout.locations_archive_grid .locations-toolbar {
	margin-bottom: max(2rem, calc(2 * var(--su)));
}

.flex-layout.locations_archive_grid .locations-nearby-form {
	display: inline-flex;
	align-items: center;
	gap: max(1rem, calc(1 * var(--su)));
	box-sizing: border-box;
	width: min(100%, 23rem);
	min-height: max(2.75rem, calc(2.75 * var(--su)));
	padding-inline: max(1.5rem, calc(1.5 * var(--su))) max(.625rem, calc(.625 * var(--su)));
	border: 1px solid var(--primary-10);
	border-radius: 999px;
	background-color: var(--white-100);
}

.flex-layout.locations_archive_grid .locations-nearby-form:focus-within {
	outline: 2px solid var(--primary-100);
	outline-offset: 2px;
}

.flex-layout.locations_archive_grid .locations-nearby-input {
	min-width: 0;
	flex: 1 1 auto;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--primary-100);
	font: inherit;
	font-size: max(.875rem, calc(.875 * var(--su)));
	line-height: 1.6;
}

.flex-layout.locations_archive_grid .locations-nearby-input::placeholder {
	color: var(--primary-100);
	opacity: 1;
}

.flex-layout.locations_archive_grid .locations-nearby-submit {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.flex-layout.locations_archive_grid .locations-nearby-submit:disabled,
.flex-layout.locations_archive_grid .locations-nearby-input:disabled {
	cursor: not-allowed;
	opacity: .55;
}

.flex-layout.locations_archive_grid .locations-nearby-form.is-loading .locations-nearby-icon {
	animation: locations-search-pulse 800ms ease-in-out infinite alternate;
}

.flex-layout.locations_archive_grid .locations-nearby-status {
	margin: .5rem 0 0 max(1.5rem, calc(1.5 * var(--su)));
	font-size: .875rem;
}

.flex-layout.locations_archive_grid .locations-nearby-status:empty {
	display: none;
}

.flex-layout.locations_archive_grid .locations-nearby-icon {
	display: grid;
	place-items: center;
	width: max(1.5rem, calc(1.5 * var(--su)));
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: var(--primary-5);
	color: var(--primary-100);
}

.flex-layout.locations_archive_grid .locations-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: max(2.5rem, calc(2.5 * var(--su))) var(--pk-column-gap);
}

.flex-layout.locations_archive_grid .nova-filter-empty {
	grid-column: 1 / -1;
	margin: 0;
	padding: max(2rem, calc(2 * var(--su)));
	background-color: var(--white-100);
}

@media screen and (max-width: 991px) {

	.flex-layout.locations_archive_grid .locations-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media screen and (max-width: 767px) {

	body.post-type-archive-location .flex-layout.hero_tertiary_small .pk-text {
		max-width: 100%;
	}

	.flex-layout.locations_archive_grid {
		--layout-spacing-top: 4rem;
		--layout-spacing-bottom: 4rem;
	}

	.flex-layout.locations_archive_grid .locations-toolbar {
		margin-bottom: 1.5rem;
	}

	.flex-layout.locations_archive_grid .locations-nearby-form {
		width: 100%;
	}

	.flex-layout.locations_archive_grid .locations-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;
	}

}

@keyframes locations-search-pulse {
	to { opacity: .45; }
}

@media (prefers-reduced-motion: reduce) {

	.flex-layout.locations_archive_grid .locations-nearby-form.is-loading .locations-nearby-icon {
		animation: none;
	}

}
