.lpc-store-locator {
	width: 100%;
	margin: 0;
	background: #f5f2ec;
	color: var(--e-global-color-text, #111);
}

body:has(.lpc-store-locator) {
	--lpc-store-map-offset: 80px;
}

body:has(.lpc-store-locator) main.site-main,
body:has(.lpc-store-locator) #content.site-main,
body:has(.lpc-store-locator) .site-main,
body:has(.lpc-store-locator) #content#content.site-main {
	padding-top: var(--lpc-store-map-offset) !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
	background: #e7e0d5;
}

body:has(.lpc-store-locator) .page-content,
body:has(.lpc-store-locator) .entry-content,
body:has(.lpc-store-locator) .elementor,
body:has(.lpc-store-locator) .elementor-element:has(.lpc-store-locator),
body:has(.lpc-store-locator) .elementor-widget-shortcode:has(.lpc-store-locator) .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
}

body:has(.lpc-store-locator) .lpc-elementor-footer,
body:has(.lpc-store-locator) .lpc-site-footer {
	margin-top: 0 !important;
}

.lpc-store-locator__map {
	position: relative;
	min-height: calc(100svh - var(--lpc-store-map-offset, var(--lpc-page-top-offset, 120px)));
	overflow: hidden;
	isolation: isolate;
	background: #e7e0d5;
}

.lpc-store-locator__canvas {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.lpc-store-locator .leaflet-container {
	background: #e9e4dc;
	font-family: var(--e-global-typography-text-font-family, Helvetica, Arial, sans-serif);
}

.lpc-store-locator .leaflet-tile {
	filter: grayscale(1) contrast(.92) brightness(1.08);
	opacity: .78 !important;
}

.lpc-store-locator .leaflet-control-attribution {
	background: rgba(255, 255, 255, .65);
	font-size: 9px;
}

.lpc-store-locator .leaflet-control-zoom {
	border: 0;
	box-shadow: none;
}

.lpc-store-locator .leaflet-control-zoom a {
	width: 34px;
	height: 34px;
	border: 1px solid rgba(17, 17, 17, .18);
	border-radius: 0 !important;
	background: rgba(255, 255, 255, .82);
	color: #111;
	line-height: 32px;
}

.lpc-store-locator__marker {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(17, 17, 17, .56);
	background: #fff;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .18);
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.lpc-store-locator__marker img {
	width: 21px;
	height: 21px;
	object-fit: contain;
}

.lpc-store-locator__marker.is-active {
	border-color: #111;
	box-shadow: 0 16px 34px rgba(0, 0, 0, .24);
	transform: scale(1.12);
}

.lpc-store-locator__panel {
	position: absolute;
	left: clamp(24px, 4vw, 64px);
	top: 50%;
	z-index: 4;
	width: min(340px, calc(100vw - 48px));
	max-height: calc(100% - 72px);
	padding: 20px;
	background: rgba(245, 242, 236, .82);
	border: 1px solid rgba(17, 17, 17, .1);
	backdrop-filter: blur(14px);
	transform: translateY(-50%);
}

.lpc-store-locator__eyebrow {
	display: none;
	margin: 0;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.lpc-store-locator__title {
	margin: 0 0 14px;
	font-family: var(--e-global-typography-primary-font-family, Helvetica, Arial, sans-serif);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
}

.lpc-store-locator__intro {
	max-width: 28em;
	margin: 0 0 26px;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.5;
}

.lpc-store-locator__cards {
	display: grid;
	gap: 10px;
	max-height: min(54vh, 460px);
	overflow: auto;
	padding-right: 6px;
	scrollbar-width: thin;
}

.lpc-store-locator__card {
	display: none;
	padding: 18px 18px 16px;
	background: rgba(255, 255, 255, .82);
	border: 1px solid rgba(17, 17, 17, .12);
	backdrop-filter: blur(12px);
}

.lpc-store-locator__card.is-active {
	display: block;
}

.lpc-store-locator__card h3 {
	margin: 0 0 8px;
	font-family: var(--e-global-typography-primary-font-family, Helvetica, Arial, sans-serif);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

.lpc-store-locator__card p {
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.45;
}

.lpc-store-locator__area {
	font-weight: 600 !important;
	text-transform: uppercase;
}

.lpc-store-locator__card a {
	display: inline-block;
	color: inherit;
	font-size: 11px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-transform: uppercase;
}

@media (max-width: 767px) {
	body:has(.lpc-store-locator) {
		--lpc-store-map-offset: 48px;
	}

	.lpc-store-locator__map {
		min-height: calc(100svh - var(--lpc-store-map-offset, var(--lpc-page-top-offset-mobile, 96px)));
	}

	.lpc-store-locator__panel {
		left: 20px;
		right: 20px;
		top: auto;
		bottom: 24px;
		width: auto;
		max-height: 42vh;
		transform: none;
	}

	.lpc-store-locator__title {
		margin-bottom: 14px;
		font-size: 18px;
	}

	.lpc-store-locator__cards {
		max-height: 28vh;
	}

	.lpc-store-locator__marker {
		width: 30px;
		height: 30px;
	}

	.lpc-store-locator__marker img {
		width: 18px;
		height: 18px;
	}
}
