#map {
	margin-top: 0 !important;
}
#map h3 {
	font-size: var(--wp--preset--font-size--small);
}
.location {
	background: linear-gradient(
		to bottom,
		var(--wp--preset--color--light-gray),
		transparent
	);
}
.location article {
	margin-bottom: var(--wp--preset--spacing--3);
	padding-right: calc(var(--bs-gutter-x) * 0.25);
	padding-left: calc(var(--bs-gutter-x) * 0.25);
}
.location .card {
	background: var(--wp--preset--color--white);
	border: 1px solid #eee;
	padding: var(--wp--preset--spacing--3);
}
.location .card .card-title {
	font-size: var(--wp--preset--font-size--medium);
}
.location .form-container {
	margin: 0 auto;
	margin-top: 2rem;
	text-align: center;
}
@media (min-width: 992px) {
	.location .form-container {
		margin-top: -1.5rem;
	}
}
.location .location-search__form {
	align-items: center;
	background-color: #fff;
	border-radius: var(--wp--preset--spacing--1);
	box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.05);
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	margin-bottom: var(--wp--preset--spacing--4);
	padding: var(--wp--preset--spacing--4);
}
.location .location-search__form .location-search__field {
	appearance: auto;
	-webkit-appearance: auto;
	-moz-appearance: auto;
	padding: 0 var(--wp--preset--spacing--1);
}
.location .location-search__form .location-search__field:is(input, select) {
	border: 1px solid #dce0e0;
	border-radius: var(--wp--preset--spacing--1);
	padding: var(--wp--preset--spacing--2);
}
.location .location-search__form .location-search__field:is(select) {
	color: #777;
}
.location .location-search__form .location-search__field.form-control {
	display: inline-block;
	width: unset;
}
.location .location-search__form .location-search__field.is-invalid {
	border-color: #dc3545;
	background-color: #f8d7da;
	color: #721c24;
}
.location
	.location-search__form
	.location-search__field.is-invalid::placeholder {
	color: #721c24;
}
.location .location-search__form .location-address {
	min-width: 250px;
}
.location .location-search__form button.location-search__submit {
	background-color: var(--wp--preset--color--primary);
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 2rem;
	color: #fff;
	font-weight: 600;
	padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4);
}
.location .location-search__form button.location-search__submit:focus,
.location .location-search__form button.location-search__submit:hover {
	background-color: var(--wp--preset--color--secondary);
	outline: 0;
}
@media (max-width: 991.98px) {
	.location .location-search__form {
		flex-direction: column;
		gap: 0;
	}
	.location .location-search__form .location-search__field.form-control {
		margin-bottom: var(--wp--preset--spacing--3);
		width: 100%;
	}
	.location .location-search__form button.location-search__submit {
		width: 100%;
	}
}
@media (min-width: 992px) {
	.location .location-search__form {
		display: inline-flex;
		margin: 0 auto;
		margin-bottom: var(--wp--preset--spacing--5);
		text-align: center;
	}
}
@media (min-width: 992px) {
	.location {
		padding: 0;
		z-index: 0;
	}
}
.location .location-search__results {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(var(--grid-cols, 3), 1fr);
}
@media (max-width: 991.98px) {
	.location .location-search__results {
		grid-template-columns: 1fr !important;
	}
}
.location__post-categories {
	list-style: none;
	margin: 0;
	margin-bottom: 0;
	margin-top: var(--wp--preset--spacing--3);
	padding: 0;
}
.location__post-categories li {
	background: #f2f2f2;
	border-radius: var(--wp--preset--spacing--4);
	color: var(--wp--preset--color--dark-gray);
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 600;
	margin-bottom: var(--wp--preset--spacing--1);
	padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--2);
}
.location-search__pagination {
	display: flex;
	justify-content: center;
	margin-top: 2rem;
	padding: 1rem 0;
}
.location-search__pagination button {
	border: none;
	border-radius: 0.25rem;
	color: var(--wp--preset--color--body);
	margin: 0 0.25rem;
	padding: 0.25rem 0.75rem;
	text-decoration: none;
}
.location-search__pagination
	button:disabled:not(.prev-btn):not(.next-btn):not(.dots) {
	background: var(--wp--preset--color--primary);
	color: #fff;
}
.location-search__pagination button.dots,
.location-search__pagination button.next-btn,
.location-search__pagination button.prev-btn {
	background-color: transparent;
}
.location-search__pagination .total-pages {
	margin: 0 0.25rem;
	padding: 0.25rem 0.75rem;
}
.loading-spinner-wrapper {
	align-items: center;
	background-color: rgba(255, 255, 255, 0.5);
	display: flex;
	height: 100vh;
	justify-content: center;
	left: 0;
	position: fixed;
	top: 0;
	width: 100vw;
	z-index: 9999;
}
.loading-spinner-wrapper .loading-spinner {
	align-items: center;
	display: flex;
	height: 50px;
	justify-content: center;
}
.loading-spinner-wrapper .loading-spinner::after {
	animation: spin 1s linear infinite;
	border: 4px solid #ccc;
	border-top-color: var(--wp--preset--color--primary);
	content: '';
	height: 30px;
	border-radius: 50%;
	width: 30px;
}
@keyframes spin {
	from {
		transform: rotate(0);
	}
	to {
		transform: rotate(360deg);
	}
}
.hidden {
	display: none !important;
}
.results-transition {
	opacity: 1;
	transition: opacity 0.3s ease;
}
.results-transition.hidden {
	opacity: 0;
}
.dashicon-wrapper {
	align-items: center;
	display: flex;
}
.dashicon-wrapper a,
.dashicon-wrapper a:visited {
	color: var(--wp--preset--color--body);
}
.dashicon-wrapper a:active,
.dashicon-wrapper a:hover {
	color: var(--wp--preset--color--secondary);
}
.dashicon-wrapper .dashicons {
	margin-right: 0.25rem;
}
.dashicon-wrapper .dashicons::before {
	color: var(--wp--preset--color--secondary);
	font-size: 1.1rem;
}

#filter_post_title,
#filter_address,
#filter_radius,
#filter_category {
	color: #333 !important;
}

#filter_post_title::placeholder,
#filter_address::placeholder {
	color: #333 !important;
	opacity: 1 !important;
}
