/* WP Store Locator
--------------------------------------------- */
#wpsl-wrap {
	--ah-wpsl-primary: var(--e-global-color-primary, #1F2937);
	--ah-wpsl-secondary: var(--e-global-color-secondary, #78A8C9);
	--ah-wpsl-text: var(--e-global-color-text, #6B7280);
	--ah-wpsl-deep-blue: var(--e-global-color-473ed44, #395A7F);
	--ah-wpsl-light: var(--e-global-color-ba2b161, #EFF6FF);
	--ah-wpsl-white: var(--e-global-color-95b9976, #FFFFFF);
	--ah-wpsl-border: #F2EFEF;
	--ah-wpsl-track: color-mix(in srgb, var(--ah-wpsl-secondary) 12%, var(--ah-wpsl-white));
	--ah-wpsl-card-shadow: color-mix(in srgb, var(--ah-wpsl-deep-blue) 14%, transparent);
	--ah-wpsl-item-shadow: color-mix(in srgb, var(--ah-wpsl-deep-blue) 8%, transparent);
	display: grid !important;
	grid-template-columns: minmax(320px, 496px) minmax(0, 1fr);
	gap: 52px;
	align-items: stretch;
	width: 100%;
	overflow: visible !important;
	clear: both;
	margin: 0;
	font-family: var(--e-global-typography-text-font-family, "DM Sans"), sans-serif;
}

#wpsl-wrap .wpsl-search {
	display: none !important;
}

#wpsl-result-list {
	position: relative;
	grid-column: 1;
	grid-row: 1;
	float: none !important;
	width: 100% !important;
	height: 675px !important;
	margin: 0 !important;
	padding: 100px 28px 34px;
	overflow: visible;
	border-radius: 20px;
	background-color: var(--ah-wpsl-white);
	box-shadow: 0 22px 60px var(--ah-wpsl-card-shadow);
}

#wpsl-result-list::before {
	content: "Service Areas";
	position: absolute;
	top: 41px;
	left: 92px;
	color: var(--ah-wpsl-primary);
	font-size: 24px;
	font-weight: 700;
	line-height: 31px;
}

#wpsl-result-list::after {
	content: "";
	position: absolute;
	top: 24px;
	left: 28px;
	width: 56px;
	height: 56px;
	border-radius: 9px;
	background-color: var(--ah-wpsl-secondary);
	background-image: url("data:image/svg+xml,%3Csvg width='25' height='31' viewBox='0 0 25 31' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 30V2.5C1.5 1.672 2.172 1 3 1h13c.828 0 1.5.672 1.5 1.5V30M17.5 9.5H22c.828 0 1.5.672 1.5 1.5v19M6 7h3M11 7h3M6 12h3M11 12h3M6 17h3M11 17h3M6 22h3M11 22h3M1 30h23' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 25px 31px;
}

#wpsl-stores,
#wpsl-direction-details {
	float: none !important;
	width: 100% !important;
	height: 100% !important;
	overflow-y: auto;
	overflow-x: visible;
	padding-right: 28px;
	padding-left: 6px;
	margin-left: -6px;
}

body #wpsl-wrap #wpsl-stores,
body #wpsl-wrap #wpsl-direction-details {
	height: 100% !important;
}

#wpsl-stores::-webkit-scrollbar,
#wpsl-direction-details::-webkit-scrollbar {
	width: 4px;
}

#wpsl-stores::-webkit-scrollbar-track,
#wpsl-direction-details::-webkit-scrollbar-track {
	background-color: var(--ah-wpsl-track);
	border-radius: 999px;
}

#wpsl-stores::-webkit-scrollbar-thumb,
#wpsl-direction-details::-webkit-scrollbar-thumb {
	background-color: var(--ah-wpsl-secondary);
	border-radius: 999px;
}

#wpsl-result-list ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0 0 14px;
	list-style: none;
}

#wpsl-wrap #wpsl-result-list li {
	margin: 0;
	padding: 0;
	overflow: visible;
	border: 0;
	list-style: none !important;
}

#wpsl-result-list .wpsl-store-location,
#wpsl-result-list .wpsl-store-location p {
	margin: 0;
	padding: 0;
}

#wpsl-result-list .wpsl-store-location strong {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 56px;
	padding: 13px 16px !important;
	border: 1px solid var(--ah-wpsl-border) !important;
	border-radius: 8px !important;
	background: var(--ah-wpsl-white) !important;
	color: var(--ah-wpsl-text) !important;
	font-size: 20px;
	font-weight: 600;
	line-height: 26px;
	box-shadow: none;
	transition: border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

#wpsl-result-list .wpsl-store-location strong::before {
	content: "";
	flex: 0 0 18px;
	width: 18px;
	height: 23px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg width='18' height='23' viewBox='0 0 18 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 0C4.034 0 0 4.034 0 9c0 6.75 9 14 9 14s9-7.25 9-14c0-4.966-4.034-9-9-9Zm0 12.2A3.2 3.2 0 1 1 9 5.8a3.2 3.2 0 0 1 0 6.4Z' fill='currentColor'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg width='18' height='23' viewBox='0 0 18 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 0C4.034 0 0 4.034 0 9c0 6.75 9 14 9 14s9-7.25 9-14c0-4.966-4.034-9-9-9Zm0 12.2A3.2 3.2 0 1 1 9 5.8a3.2 3.2 0 0 1 0 6.4Z' fill='currentColor'/%3E%3C/svg%3E") center / contain no-repeat;
}

#wpsl-result-list li:first-child .wpsl-store-location strong,
#wpsl-result-list .wpsl-store-location:hover strong {
	border-color: transparent !important;
	color: var(--ah-wpsl-secondary) !important;
	box-shadow: 0 10px 24px var(--ah-wpsl-item-shadow) !important;
}

#wpsl-result-list .wpsl-store-location .wpsl-street,
#wpsl-result-list .wpsl-store-location .wpsl-country,
#wpsl-result-list .wpsl-store-location p > span:not(.ah-wpsl-location__icon),
#wpsl-result-list .wpsl-direction-wrap {
	display: none !important;
}

.ah-wpsl-location {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	min-height: 56px;
	padding: 13px 16px !important;
	border: 1px solid var(--ah-wpsl-border) !important;
	border-radius: 8px !important;
	background: var(--ah-wpsl-white) !important;
	color: var(--ah-wpsl-text) !important;
	font: inherit;
	text-align: left;
	box-shadow: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.ah-wpsl-location:hover,
#wpsl-result-list li:first-child .ah-wpsl-location {
	border-color: transparent !important;
	color: var(--ah-wpsl-secondary) !important;
	box-shadow: 0 10px 24px var(--ah-wpsl-item-shadow) !important;
}

.ah-wpsl-location__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 18px;
	width: 18px;
	height: 23px;
	color: currentColor;
}

.ah-wpsl-location__icon svg {
	display: block;
	width: 18px;
	height: 23px;
}

.ah-wpsl-location__name {
	display: block;
	min-width: 0;
	color: inherit;
	font-size: 20px;
	font-weight: 600;
	line-height: 26px;
	overflow-wrap: anywhere;
}

#wpsl-gmap {
	grid-column: 2;
	grid-row: 1;
	float: none !important;
	width: 100% !important;
	height: 675px !important;
	margin: 0 !important;
	overflow: hidden;
	border-radius: 24px;
	background-color: var(--ah-wpsl-light);
}

body #wpsl-wrap #wpsl-gmap {
	height: 675px !important;
}

#wpsl-gmap .gm-style {
	border-radius: 24px;
}

#wpsl-gmap img,
#wpsl-gmap .gm-style img {
	max-width: none !important;
	max-height: none !important;
	opacity: 1 !important;
	filter: none !important;
	visibility: visible !important;
}

.ah-wpsl-info-window {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: min(320px, 70vw);
	background-color: var(--ah-wpsl-white);
	color: var(--ah-wpsl-deep-blue);
	font-family: var(--e-global-typography-text-font-family, "DM Sans"), sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
}

.ah-wpsl-info-window__title {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--ah-wpsl-deep-blue);
	font-size: 20px;
	font-weight: 700;
	line-height: 26px;
}

.ah-wpsl-info-window__details {
	display: flex;
	flex-direction: column;
	gap: 5px;
	color: var(--ah-wpsl-text);
	font-size: 14px;
	line-height: 1.45;
}

.ah-wpsl-info-window__details span {
	display: block;
}

.ah-wpsl-info-window__details strong {
	color: var(--ah-wpsl-primary);
	font-weight: 700;
}

.ah-wpsl-info-window__details a {
	color: inherit;
	text-decoration: none;
}

.ah-wpsl-info-window__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	min-height: 24px;
	padding: 8px 14px;
	border-radius: 999px;
	background-color: var(--ah-wpsl-secondary);
	color: var(--ah-wpsl-white) !important;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	transition: background-color 0.2s ease, color 0.2s ease;
	box-shadow: none;
	outline: 0;
	border: 0;
}

.ah-wpsl-info-window__button:hover,
.ah-wpsl-info-window__button:focus {
	background-color: var(--ah-wpsl-deep-blue);
	color: var(--ah-wpsl-white) !important;
}

.ah-wpsl-info-window__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 25px;
	width: 25px;
	height: 31px;
	color: var(--ah-wpsl-deep-blue);
}

.ah-wpsl-info-window__icon svg {
	display: block;
	width: 25px;
	height: 31px;
}

@media (max-width: 1199px) {
	#wpsl-wrap {
		grid-template-columns: minmax(300px, 40%) minmax(0, 1fr);
		gap: 28px;
	}

	#wpsl-result-list,
	#wpsl-gmap {
		height: 600px !important;
	}

	body #wpsl-wrap #wpsl-gmap {
		height: 600px !important;
	}
}

@media (max-width: 1024px) {
	#wpsl-wrap {
		grid-template-columns: minmax(250px, 37%) minmax(0, 1fr);
		gap: 24px;
	}

	#wpsl-result-list {
		height: 528px !important;
		padding: 84px 20px 24px;
		border-radius: 16px;
	}

	#wpsl-result-list::before {
		top: 39px;
		left: 82px;
		font-size: 22px;
		line-height: 27px;
	}

	#wpsl-result-list::after {
		top: 29px;
		left: 20px;
		width: 50px;
		height: 50px;
		background-size: 22px 28px;
	}

	#wpsl-stores,
	#wpsl-direction-details {
		padding-right: 20px;
	}

	#wpsl-result-list ul {
		gap: 10px;
	}

	.ah-wpsl-location {
		min-height: 48px;
		padding: 10px 13px !important;
		gap: 11px;
	}

	.ah-wpsl-location__icon {
		flex-basis: 15px;
		width: 15px;
		height: 20px;
	}

	.ah-wpsl-location__icon svg {
		width: 15px;
		height: 20px;
	}

	.ah-wpsl-location__name {
		font-size: 16px;
		line-height: 22px;
	}

	#wpsl-gmap {
		height: 528px !important;
		border-radius: 18px;
	}

	body #wpsl-wrap #wpsl-gmap {
		height: 528px !important;
	}

	#wpsl-gmap .gm-style {
		border-radius: 18px;
	}
}

@media (max-width: 767px) {
	#wpsl-wrap {
		display: flex !important;
		flex-direction: column;
		gap: 24px;
	}

	#wpsl-result-list {
		height: 430px !important;
		padding: 88px 18px 22px;
		border-radius: 16px;
	}

	#wpsl-result-list::before {
		top: 31px;
		left: 78px;
		font-size: 21px;
		line-height: 27px;
	}

	#wpsl-result-list::after {
		top: 20px;
		left: 18px;
		width: 50px;
		height: 50px;
		background-size: 22px 28px;
	}

	.ah-wpsl-location {
		min-height: 52px;
		padding: 12px 14px;
	}

	.ah-wpsl-location__name {
		font-size: 17px;
		line-height: 23px;
	}

	#wpsl-gmap {
		height: 430px !important;
		border-radius: 18px;
	}

	body #wpsl-wrap #wpsl-gmap {
		height: 430px !important;
	}

	#wpsl-gmap .gm-style {
		border-radius: 18px;
	}
}
