.store-locator-wrapper {
	display: flex;
	height: 600px;
	max-height: 100%;
	border: 1px solid #ddd;
	font-family: sans-serif;
	margin: 20px 0;
	color: var(--sl-text-color, #333333);
	--sl-sidebar-border-color-rgba: color-mix(in srgb, var(--sl-sidebar-border-color, #ddd) var(--sl-sidebar-border-opacity, 100%), transparent);
}

.sl-sidebar {
	position: relative;
	z-index: 10;
	width: 300px;
	background: var(--sl-sidebar-bg, #f9f9f9);
	border-right: var(--sl-sidebar-border-width, 1px) solid var(--sl-sidebar-border-color-rgba, #ddd);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	box-sizing: border-box;
}

.sl-sidebar-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--sl-header-bg, #ffffff);
	border-bottom: 1px solid #ddd;
	padding: 12px 15px;
	box-sizing: border-box;
}

.sl-sidebar h3 {
	margin: 0;
	padding: 0;
	background: none;
	color: var(--sl-header-text-color, #333333);
	border-bottom: none;
	font-size: 1.2rem;
	text-align: left;
}

/* Accordion Toggle Arrow styles */
.sl-sidebar-toggle {
	background: none;
	border: none;
	padding: 4px;
	cursor: pointer;
	color: var(--sl-header-text-color, #333333);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.2s ease;
	outline: none;
}

.sl-sidebar-toggle:hover {
	opacity: 0.7;
}

.sl-toggle-arrow {
	transition: transform 0.3s ease;
	width: 18px;
	height: 18px;
	display: block;
}


.sl-store-list {
	flex: 1;
	padding: 10px;
	overflow-y: auto;
}

.sl-loading {
	padding: 20px;
	text-align: center;
	color: var(--sl-text-color, #666);
	opacity: 0.8;
}

.sl-store-item {
	background: var(--sl-card-bg, #ffffff);
	border: 1px solid #eee;
	padding: 15px;
	margin-bottom: 10px;
	border-radius: 4px;
	cursor: pointer;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.sl-store-item:hover {
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
	border-color: var(--sl-primary-color, #0073aa);
}

.sl-store-name {
	font-weight: bold;
	font-size: 1.1rem;
	margin-bottom: 5px;
	display: flex;
	align-items: center;
	gap: 5px;
}

.sl-store-logo {
	max-width: 120px;
	max-height: 80px;
	object-fit: contain;
}

.sl-store-address {
	font-size: 0.9rem;
	color: var(--sl-text-color, #555555);
	opacity: 0.85;
	margin-bottom: 5px;
}

.sl-store-distance {
	font-size: 0.85rem;
	color: var(--sl-primary-color, #0073aa);
	font-weight: 600;
	margin-top: 4px;
	margin-bottom: 8px;
	display: inline-flex;
	align-items: center;
	background: color-mix(in srgb, var(--sl-primary-color, #0073aa) 10%, transparent);
	padding: 2px 6px;
	border-radius: 4px;
}

.sl-store-website {
	font-size: 0.9rem;
}

.sl-store-website a {
	color: var(--sl-primary-color, #0073aa);
	text-decoration: none;
}

.sl-store-website a:hover {
	color: var(--sl-accent-color, #005177);
	text-decoration: underline;
}

.sl-map-container {
	flex: 1;
	position: relative;
	z-index: 1;
}

#sl-frontend-map {
	width: 100%;
	height: 100%;
}

/* Desktop Layout Placements (screens > 1024px) */
@media (min-width: 1025px) {
	.store-locator-wrapper {
		height: var(--sl-container-height-desktop, 600px);
	}
	.store-locator-wrapper.sl-desktop-sidebar-left {
		flex-direction: row;
	}
	.store-locator-wrapper.sl-desktop-sidebar-left .sl-sidebar {
		width: var(--sl-sidebar-ratio-desktop, 30%);
		min-width: 200px;
		border-right: var(--sl-sidebar-border-width, 1px) solid var(--sl-sidebar-border-color-rgba, #ddd);
		border-left: none;
	}

	.store-locator-wrapper.sl-desktop-sidebar-right {
		flex-direction: row-reverse;
	}
	.store-locator-wrapper.sl-desktop-sidebar-right .sl-sidebar {
		width: var(--sl-sidebar-ratio-desktop, 30%);
		min-width: 200px;
		border-left: var(--sl-sidebar-border-width, 1px) solid var(--sl-sidebar-border-color-rgba, #ddd);
		border-right: none;
	}

	.store-locator-wrapper.sl-desktop-sidebar-top {
		flex-direction: column;
		height: var(--sl-container-height-desktop, 700px);
	}
	.store-locator-wrapper.sl-desktop-sidebar-top .sl-sidebar {
		width: 100%;
		height: var(--sl-sidebar-ratio-desktop, 30%);
		flex-direction: column;
		border-bottom: var(--sl-sidebar-border-width, 1px) solid var(--sl-sidebar-border-color-rgba, #ddd);
		border-right: none;
		border-left: none;
	}
	.store-locator-wrapper.sl-desktop-sidebar-top .sl-sidebar-control-panel {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		width: 100%;
		border-bottom: 1px solid #ddd;
		border-right: none;
		padding: 10px 15px;
		box-sizing: border-box;
		gap: 15px;
	}
	.store-locator-wrapper.sl-desktop-sidebar-top .sl-sidebar h3 {
		border-bottom: none;
		padding: 0;
		text-align: left;
		margin: 0;
		font-size: 1.1rem;
		flex: 0 1 auto;
		min-width: 120px;
	}
	.store-locator-wrapper.sl-desktop-sidebar-top .sl-filter-container {
		border-bottom: none;
		padding: 0 10px;
		flex: 1 1 500px;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-end;
		gap: 12px;
	}
	.store-locator-wrapper.sl-desktop-sidebar-top .sl-filter-row {
		flex: 2 1 300px;
		min-width: 310px;
		max-width: 450px;
		margin: 0;
	}
	.store-locator-wrapper.sl-desktop-sidebar-top .sl-filter-field {
		flex: 1 1 150px;
		min-width: 150px;
		max-width: 220px;
	}
	.store-locator-wrapper.sl-desktop-sidebar-top .sl-filter-buttons {
		flex: 2 1 300px;
		min-width: 310px;
		max-width: 450px;
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin-top: 0;
		align-items: flex-end;
	}

	.store-locator-wrapper.sl-desktop-sidebar-bottom {
		flex-direction: column-reverse;
		height: var(--sl-container-height-desktop, 700px);
	}
	.store-locator-wrapper.sl-desktop-sidebar-bottom .sl-sidebar {
		width: 100%;
		height: var(--sl-sidebar-ratio-desktop, 30%);
		flex-direction: column;
		border-top: var(--sl-sidebar-border-width, 1px) solid var(--sl-sidebar-border-color-rgba, #ddd);
		border-bottom: none;
		border-right: none;
		border-left: none;
	}
	.store-locator-wrapper.sl-desktop-sidebar-bottom .sl-sidebar-control-panel {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		width: 100%;
		border-bottom: 1px solid #ddd;
		border-right: none;
		padding: 10px 15px;
		box-sizing: border-box;
		gap: 15px;
	}
	.store-locator-wrapper.sl-desktop-sidebar-bottom .sl-sidebar h3 {
		border-bottom: none;
		padding: 0;
		text-align: left;
		margin: 0;
		font-size: 1.1rem;
		flex: 0 1 auto;
		min-width: 120px;
	}
	.store-locator-wrapper.sl-desktop-sidebar-bottom .sl-filter-container {
		border-bottom: none;
		padding: 0 10px;
		flex: 1 1 500px;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-end;
		gap: 12px;
	}
	.store-locator-wrapper.sl-desktop-sidebar-bottom .sl-filter-row {
		flex: 2 1 300px;
		min-width: 310px;
		max-width: 450px;
		margin: 0;
	}
	.store-locator-wrapper.sl-desktop-sidebar-bottom .sl-filter-field {
		flex: 1 1 150px;
		min-width: 150px;
		max-width: 220px;
	}
	.store-locator-wrapper.sl-desktop-sidebar-bottom .sl-filter-buttons {
		flex: 2 1 300px;
		min-width: 310px;
		max-width: 450px;
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin-top: 0;
		align-items: flex-end;
	}

	/* Top/Bottom Grid Layout for Stores List */
	.store-locator-wrapper.sl-desktop-sidebar-top .sl-store-list,
	.store-locator-wrapper.sl-desktop-sidebar-bottom .sl-store-list {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
		gap: 10px;
		padding: 15px;
		box-sizing: border-box;
	}
	.store-locator-wrapper.sl-desktop-sidebar-top .sl-store-item,
	.store-locator-wrapper.sl-desktop-sidebar-bottom .sl-store-item {
		margin-bottom: 0;
	}

	/* Desktop Map Hiding layout override */
	.store-locator-wrapper.sl-hide-map-desktop .sl-map-container {
		display: none !important;
	}
	.store-locator-wrapper.sl-hide-map-desktop .sl-sidebar {
		width: 100% !important;
		height: 100% !important;
		border: none !important;
	}
	.store-locator-wrapper.sl-hide-map-desktop .sl-store-list {
		display: block !important;
	}
	.store-locator-wrapper.sl-hide-map-desktop .sl-store-item {
		margin-bottom: 10px !important;
	}
}

/* Tablet Layout Placements (screens 769px - 1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
	.store-locator-wrapper {
		height: var(--sl-container-height-tablet, 600px);
	}
	.store-locator-wrapper.sl-tablet-sidebar-left {
		flex-direction: row;
	}
	.store-locator-wrapper.sl-tablet-sidebar-left .sl-sidebar {
		width: var(--sl-sidebar-ratio-tablet, 30%);
		min-width: 200px;
		border-right: var(--sl-sidebar-border-width, 1px) solid var(--sl-sidebar-border-color-rgba, #ddd);
		border-left: none;
	}

	.store-locator-wrapper.sl-tablet-sidebar-right {
		flex-direction: row-reverse;
	}
	.store-locator-wrapper.sl-tablet-sidebar-right .sl-sidebar {
		width: var(--sl-sidebar-ratio-tablet, 30%);
		min-width: 200px;
		border-left: var(--sl-sidebar-border-width, 1px) solid var(--sl-sidebar-border-color-rgba, #ddd);
		border-right: none;
	}

	.store-locator-wrapper.sl-tablet-sidebar-top {
		flex-direction: column;
		height: var(--sl-container-height-tablet, 700px);
	}
	.store-locator-wrapper.sl-tablet-sidebar-top .sl-sidebar {
		width: 100%;
		height: var(--sl-sidebar-ratio-tablet, 30%);
		flex-direction: column;
		border-bottom: var(--sl-sidebar-border-width, 1px) solid var(--sl-sidebar-border-color-rgba, #ddd);
		border-right: none;
		border-left: none;
	}
	.store-locator-wrapper.sl-tablet-sidebar-top .sl-sidebar-control-panel {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		width: 100%;
		border-bottom: 1px solid #ddd;
		border-right: none;
		padding: 10px 15px;
		box-sizing: border-box;
		gap: 15px;
	}
	.store-locator-wrapper.sl-tablet-sidebar-top .sl-sidebar h3 {
		border-bottom: none;
		padding: 0;
		text-align: left;
		margin: 0;
		font-size: 1.1rem;
		flex: 0 1 auto;
		min-width: 120px;
	}
	.store-locator-wrapper.sl-tablet-sidebar-top .sl-filter-container {
		border-bottom: none;
		padding: 0 10px;
		flex: 1 1 500px;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-end;
		gap: 12px;
	}
	.store-locator-wrapper.sl-tablet-sidebar-top .sl-filter-row {
		flex: 2 1 300px;
		min-width: 310px;
		max-width: 450px;
		margin: 0;
	}
	.store-locator-wrapper.sl-tablet-sidebar-top .sl-filter-field {
		flex: 1 1 150px;
		min-width: 150px;
		max-width: 220px;
	}
	.store-locator-wrapper.sl-tablet-sidebar-top .sl-filter-buttons {
		flex: 2 1 300px;
		min-width: 310px;
		max-width: 450px;
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin-top: 0;
		align-items: flex-end;
	}

	.store-locator-wrapper.sl-tablet-sidebar-bottom {
		flex-direction: column-reverse;
		height: var(--sl-container-height-tablet, 700px);
	}
	.store-locator-wrapper.sl-tablet-sidebar-bottom .sl-sidebar {
		width: 100%;
		height: var(--sl-sidebar-ratio-tablet, 30%);
		flex-direction: column;
		border-top: var(--sl-sidebar-border-width, 1px) solid var(--sl-sidebar-border-color-rgba, #ddd);
		border-bottom: none;
		border-right: none;
		border-left: none;
	}
	.store-locator-wrapper.sl-tablet-sidebar-bottom .sl-sidebar-control-panel {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		width: 100%;
		border-bottom: 1px solid #ddd;
		border-right: none;
		padding: 10px 15px;
		box-sizing: border-box;
		gap: 15px;
	}
	.store-locator-wrapper.sl-tablet-sidebar-bottom .sl-sidebar h3 {
		border-bottom: none;
		padding: 0;
		text-align: left;
		margin: 0;
		font-size: 1.1rem;
		flex: 0 1 auto;
		min-width: 120px;
	}
	.store-locator-wrapper.sl-tablet-sidebar-bottom .sl-filter-container {
		border-bottom: none;
		padding: 0 10px;
		flex: 1 1 500px;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-end;
		gap: 12px;
	}
	.store-locator-wrapper.sl-tablet-sidebar-bottom .sl-filter-row {
		flex: 2 1 300px;
		min-width: 310px;
		max-width: 450px;
		margin: 0;
	}
	.store-locator-wrapper.sl-tablet-sidebar-bottom .sl-filter-field {
		flex: 1 1 150px;
		min-width: 150px;
		max-width: 220px;
	}
	.store-locator-wrapper.sl-tablet-sidebar-bottom .sl-filter-buttons {
		flex: 2 1 300px;
		min-width: 310px;
		max-width: 450px;
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin-top: 0;
		align-items: flex-end;
	}

	/* Top/Bottom Grid Layout for Stores List */
	.store-locator-wrapper.sl-tablet-sidebar-top .sl-store-list,
	.store-locator-wrapper.sl-tablet-sidebar-bottom .sl-store-list {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
		gap: 10px;
		padding: 15px;
		box-sizing: border-box;
	}
	.store-locator-wrapper.sl-tablet-sidebar-top .sl-store-item,
	.store-locator-wrapper.sl-tablet-sidebar-bottom .sl-store-item {
		margin-bottom: 0;
	}

	/* Tablet Map Hiding layout override */
	.store-locator-wrapper.sl-hide-map-tablet .sl-map-container {
		display: none !important;
	}
	.store-locator-wrapper.sl-hide-map-tablet .sl-sidebar {
		width: 100% !important;
		height: 100% !important;
		border: none !important;
	}
	.store-locator-wrapper.sl-hide-map-tablet .sl-store-list {
		display: block !important;
	}
	.store-locator-wrapper.sl-hide-map-tablet .sl-store-item {
		margin-bottom: 10px !important;
	}
}

/* Mobile Layout Overrides (screens <= 768px) */
@media (max-width: 768px) {
	.store-locator-wrapper {
		height: var(--sl-container-height-mobile, 800px);
	}
	.store-locator-wrapper.sl-mobile-sidebar-top {
		flex-direction: column;
	}
	.store-locator-wrapper.sl-mobile-sidebar-bottom {
		flex-direction: column-reverse;
	}
	.store-locator-wrapper.sl-mobile-sidebar-top .sl-sidebar {
		width: 100%;
		height: var(--sl-sidebar-ratio-mobile, 40%);
		border-right: none;
		border-left: none;
		border-bottom: var(--sl-sidebar-border-width, 1px) solid var(--sl-sidebar-border-color-rgba, #ddd);
		border-top: none;
		display: flex;
		flex-direction: column;
	}
	.store-locator-wrapper.sl-mobile-sidebar-bottom .sl-sidebar {
		width: 100%;
		height: var(--sl-sidebar-ratio-mobile, 40%);
		border-right: none;
		border-left: none;
		border-top: var(--sl-sidebar-border-width, 1px) solid var(--sl-sidebar-border-color-rgba, #ddd);
		border-bottom: none;
		display: flex;
		flex-direction: column;
	}
	.store-locator-wrapper .sl-sidebar-control-panel {
		display: block;
		width: 100%;
		border-right: none;
		border-left: none;
		padding: 0;
	}
	.store-locator-wrapper .sl-sidebar h3 {
		display: block;
		border-bottom: 1px solid #ddd;
		padding: 15px;
		text-align: center;
		margin: 0;
		font-size: 1.2rem;
		flex: none;
	}
	.store-locator-wrapper .sl-filter-container {
		border-bottom: 1px solid #eee;
		padding: 15px;
		display: flex;
		flex-direction: column;
		gap: 12px;
	}
	.store-locator-wrapper .sl-filter-row {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		flex: none;
	}
	.store-locator-wrapper .sl-filter-field {
		flex: none;
	}
	.store-locator-wrapper .sl-filter-buttons {
		display: flex;
		flex-direction: row;
		gap: 10px;
		margin-top: 5px;
		min-width: 0;
	}
	.store-locator-wrapper .sl-store-list {
		display: block;
		padding: 10px;
	}
	.store-locator-wrapper .sl-store-item {
		margin-bottom: 10px;
	}
	.sl-map-container {
		height: 55%;
	}

	/* Mobile Map Hiding layout override */
	.store-locator-wrapper.sl-hide-map-mobile .sl-map-container {
		display: none !important;
	}
	.store-locator-wrapper.sl-hide-map-mobile .sl-sidebar {
		width: 100% !important;
		height: 100% !important;
		border: none !important;
	}
	.store-locator-wrapper.sl-hide-map-mobile .sl-store-list {
		display: block !important;
	}
	.store-locator-wrapper.sl-hide-map-mobile .sl-store-item {
		margin-bottom: 10px !important;
	}
}

.sl-custom-red-pin,
.sl-custom-store-pin {
	background: transparent !important;
	border: none !important;
}

/* Map Popups custom overrides */
.store-locator-wrapper .leaflet-popup-content-wrapper {
	background: var(--sl-popup-bg, #ffffff) !important;
	color: var(--sl-popup-text-color, #333333) !important;
}

.store-locator-wrapper .leaflet-popup-tip {
	background: var(--sl-popup-bg, #ffffff) !important;
}

/* Leaflet Store Popup */
.store-locator-wrapper .sl-store-popup .leaflet-popup-content-wrapper {
	background: var(--sl-popup-bg, #ffffff) !important;
	color: var(--sl-popup-text-color, #333333) !important;
}
.store-locator-wrapper .sl-store-popup .leaflet-popup-tip {
	background: var(--sl-popup-bg, #ffffff) !important;
}

/* Leaflet User Popup */
.store-locator-wrapper .sl-user-popup .leaflet-popup-content-wrapper {
	background: var(--sl-user-popup-bg, #ffffff) !important;
	color: var(--sl-user-popup-text, #333333) !important;
}
.store-locator-wrapper .sl-user-popup .leaflet-popup-tip {
	background: var(--sl-user-popup-bg, #ffffff) !important;
}

/* Google Maps Custom Content styling fallback */
.sl-store-popup-content {
	background: var(--sl-popup-bg, #ffffff) !important;
	color: var(--sl-popup-text-color, #333333) !important;
}

.sl-user-popup-content {
	background: var(--sl-user-popup-bg, #ffffff) !important;
	color: var(--sl-user-popup-text, #333333) !important;
}

.store-locator-wrapper .sl-store-popup-content h4 {
	color: var(--sl-popup-title-color, #333333) !important;
}

.store-locator-wrapper .sl-store-popup-content p {
	color: var(--sl-popup-text-color, #333333) !important;
	opacity: 0.95;
}

.store-locator-wrapper .sl-store-popup-content .sl-store-website a,
.store-locator-wrapper .sl-store-popup-content .sl-store-directions a {
	color: var(--sl-popup-button-color, #0073aa) !important;
}

.store-locator-wrapper .sl-store-popup-content .sl-store-website a:hover,
.store-locator-wrapper .sl-store-popup-content .sl-store-directions a:hover {
	color: var(--sl-accent-color, #005177) !important;
}

.store-locator-wrapper .sl-zoom-btn {
	background: var(--sl-btn-zoom-bg, var(--sl-popup-button-bg, #f0f6fa)) !important;
	border: 1px solid var(--sl-btn-zoom-color, var(--sl-popup-button-color, #0073aa)) !important;
	color: var(--sl-btn-zoom-color, var(--sl-popup-button-color, #0073aa)) !important;
	border-radius: var(--sl-btn-zoom-border-radius, 4px) !important;
	height: var(--sl-btn-zoom-height, 28px) !important;
	padding: 4px 8px;
	cursor: pointer;
	font-weight: 600;
	font-size: var(--sl-btn-zoom-font-size, 12px) !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	box-sizing: border-box !important;
}

.store-locator-wrapper .sl-zoom-btn:hover {
	background: var(--sl-btn-zoom-hover-bg, color-mix(in srgb, var(--sl-popup-button-color, #0073aa) 15%, var(--sl-popup-button-bg, #f0f6fa))) !important;
	color: var(--sl-btn-zoom-hover-color, var(--sl-popup-button-color, #0073aa)) !important;
	opacity: 0.95;
}

/* Map Clustering Styles */
.sl-custom-cluster-pin {
	background: transparent !important;
	border: none !important;
}

.sl-map-cluster-container {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sl-map-cluster-count {
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translate(-50%, -4px);
	background-color: var(--sl-cluster-bg, var(--sl-primary-color, #0073aa));
	color: var(--sl-cluster-text, #ffffff);
	font-size: 11px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 20px;
	border: 2px solid var(--sl-cluster-border, var(--sl-store-pin-border-color, #ffffff));
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
	white-space: nowrap;
	line-height: 1;
	z-index: 10;
	pointer-events: auto;
}

/* Sidebar Filters styling */
.sl-filter-container {
	padding: 15px;
	background: var(--sl-sidebar-bg, #f9f9f9);
	border-bottom: 1px solid #eee;
	display: flex;
	flex-direction: column;
	gap: 12px;
	box-sizing: border-box;
	transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease, border-color 0.3s ease;
	max-height: 800px;
	overflow: hidden;
}

/* Collapsed Accordion state */
.store-locator-wrapper .sl-sidebar-control-panel.sl-collapsed .sl-filter-container {
	max-height: 0 !important;
	opacity: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	border-bottom-color: transparent !important;
	pointer-events: none;
}

/* Arrow rotation rules */
.store-locator-wrapper .sl-sidebar-toggle .sl-toggle-arrow {
	transform: rotate(180deg);
}
.store-locator-wrapper .sl-sidebar-control-panel.sl-collapsed .sl-sidebar-toggle .sl-toggle-arrow {
	transform: rotate(0deg);
}

/* Auto Height Layout overrides */
@media (min-width: 1025px) {
	.store-locator-wrapper.sl-sidebar-auto-height.sl-desktop-sidebar-top,
	.store-locator-wrapper.sl-sidebar-auto-height.sl-desktop-sidebar-bottom {
		height: auto !important;
	}
	.store-locator-wrapper.sl-sidebar-auto-height.sl-desktop-sidebar-top .sl-sidebar,
	.store-locator-wrapper.sl-sidebar-auto-height.sl-desktop-sidebar-bottom .sl-sidebar {
		height: auto !important;
	}
	.store-locator-wrapper.sl-sidebar-auto-height.sl-desktop-sidebar-top .sl-store-list,
	.store-locator-wrapper.sl-sidebar-auto-height.sl-desktop-sidebar-bottom .sl-store-list {
		height: auto !important;
		overflow-y: visible !important;
		flex: none !important;
	}
}

@media (min-width: 769px) and (max-width: 1024px) {
	.store-locator-wrapper.sl-sidebar-auto-height.sl-tablet-sidebar-top,
	.store-locator-wrapper.sl-sidebar-auto-height.sl-tablet-sidebar-bottom {
		height: auto !important;
	}
	.store-locator-wrapper.sl-sidebar-auto-height.sl-tablet-sidebar-top .sl-sidebar,
	.store-locator-wrapper.sl-sidebar-auto-height.sl-tablet-sidebar-bottom .sl-sidebar {
		height: auto !important;
	}
	.store-locator-wrapper.sl-sidebar-auto-height.sl-tablet-sidebar-top .sl-store-list,
	.store-locator-wrapper.sl-sidebar-auto-height.sl-tablet-sidebar-bottom .sl-store-list {
		height: auto !important;
		overflow-y: visible !important;
		flex: none !important;
	}
}

@media (max-width: 768px) {
	.store-locator-wrapper.sl-sidebar-auto-height.sl-mobile-sidebar-top,
	.store-locator-wrapper.sl-sidebar-auto-height.sl-mobile-sidebar-bottom {
		height: auto !important;
	}
	.store-locator-wrapper.sl-sidebar-auto-height.sl-mobile-sidebar-top .sl-sidebar,
	.store-locator-wrapper.sl-sidebar-auto-height.sl-mobile-sidebar-bottom .sl-sidebar {
		height: auto !important;
	}
	.store-locator-wrapper.sl-sidebar-auto-height.sl-mobile-sidebar-top .sl-store-list,
	.store-locator-wrapper.sl-sidebar-auto-height.sl-mobile-sidebar-bottom .sl-store-list {
		height: auto !important;
		overflow-y: visible !important;
		flex: none !important;
	}
}

/* Desktop map height using desktop ratio setting or manual map height */
@media (min-width: 1025px) {
	.store-locator-wrapper.sl-sidebar-auto-height.sl-desktop-sidebar-top .sl-map-container,
	.store-locator-wrapper.sl-sidebar-auto-height.sl-desktop-sidebar-bottom .sl-map-container {
		height: var(--sl-map-height-desktop, calc(700px * (100 - var(--sl-sidebar-ratio-desktop-raw, 30)) / 100)) !important;
		flex: none !important;
	}
}

/* Tablet map height using tablet ratio setting or manual map height */
@media (min-width: 769px) and (max-width: 1024px) {
	.store-locator-wrapper.sl-sidebar-auto-height.sl-tablet-sidebar-top .sl-map-container,
	.store-locator-wrapper.sl-sidebar-auto-height.sl-tablet-sidebar-bottom .sl-map-container {
		height: var(--sl-map-height-tablet, calc(700px * (100 - var(--sl-sidebar-ratio-tablet-raw, 30)) / 100)) !important;
		flex: none !important;
	}
}

/* Mobile map height using mobile ratio setting or manual map height */
@media (max-width: 768px) {
	.store-locator-wrapper.sl-sidebar-auto-height.sl-mobile-sidebar-top .sl-map-container,
	.store-locator-wrapper.sl-sidebar-auto-height.sl-mobile-sidebar-bottom .sl-map-container {
		height: var(--sl-map-height-mobile, calc(800px * (100 - var(--sl-sidebar-ratio-mobile-raw, 40)) / 100)) !important;
		flex: none !important;
	}
}

/* Top/Bottom Layout Header overrides (inline horizontal header reset) */
.store-locator-wrapper.sl-desktop-sidebar-top .sl-sidebar-header,
.store-locator-wrapper.sl-desktop-sidebar-bottom .sl-sidebar-header,
.store-locator-wrapper.sl-tablet-sidebar-top .sl-sidebar-header,
.store-locator-wrapper.sl-tablet-sidebar-bottom .sl-sidebar-header {
	border-bottom: none !important;
	border-top: none !important;
	padding: 0 !important;
	background: none !important;
	flex: 0 1 auto !important;
	gap: 8px;
}


.sl-filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.sl-filter-row .sl-filter-field {
	flex: 1;
	min-width: 150px;
}

.sl-filter-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 150px;
}

.sl-filter-field label {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--sl-text-color, #333333);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	opacity: 0.8;
	margin: 0;
}

.sl-filter-field input {
	width: 100% !important;
	padding: 8px 12px !important;
	border: 1px solid var(--sl-input-border-color, #dddddd) !important;
	border-radius: var(--sl-input-border-radius, 4px) !important;
	font-size: 0.85rem !important;
	outline: none !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
	background: var(--sl-input-bg, var(--sl-card-bg, #ffffff)) !important;
	color: var(--sl-input-color, var(--sl-text-color, #333333)) !important;
	height: var(--sl-input-height, 36px) !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	line-height: 1.2 !important;
}

.sl-filter-field input::placeholder {
	color: var(--sl-input-placeholder-color, #999999) !important;
	opacity: 1 !important;
}

.sl-filter-field input:focus {
	border-color: var(--sl-input-focus-border-color, var(--sl-primary-color, #0073aa)) !important;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--sl-input-focus-border-color, var(--sl-primary-color, #0073aa)) 20%, transparent) !important;
}

.sl-filter-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 5px;
}

.sl-filter-btn {
	flex: 1 1 150px !important;
	min-width: 150px !important;
	border: none !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	transition: background-color 0.2s, color 0.2s, opacity 0.2s !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	line-height: 1.2 !important;
}

.sl-btn-apply {
	background-color: var(--sl-btn-apply-bg, var(--sl-primary-color, #0073aa)) !important;
	color: var(--sl-btn-apply-color, #ffffff) !important;
	border-radius: var(--sl-btn-apply-border-radius, 4px) !important;
	height: var(--sl-btn-apply-height, 36px) !important;
	font-size: var(--sl-btn-apply-font-size, 14px) !important;
}

.sl-btn-apply:hover {
	background-color: var(--sl-btn-apply-hover-bg, var(--sl-accent-color, #005177)) !important;
	color: var(--sl-btn-apply-hover-color, #ffffff) !important;
}

.sl-btn-apply:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.sl-btn-reset {
	background-color: var(--sl-btn-reset-bg, #e0e0e0) !important;
	color: var(--sl-btn-reset-color, #333333) !important;
	border-radius: var(--sl-btn-reset-border-radius, 4px) !important;
	height: var(--sl-btn-reset-height, 36px) !important;
	font-size: var(--sl-btn-reset-font-size, 14px) !important;
}

.sl-btn-reset:hover {
	background-color: var(--sl-btn-reset-hover-bg, #d0d0d0) !important;
	color: var(--sl-btn-reset-hover-color, #333333) !important;
}

.sl-filter-error {
	font-size: 0.8rem;
	color: #d9381e;
	margin-top: 4px;
	font-weight: 500;
}

