/**
 * ATC Core Features
 * Store Locator
 *
 * Custom presentation layer for the WeLaunch WordPress Store Locator.
 *
 * This stylesheet contains:
 *
 * - Search interface
 * - Custom filter controls
 * - Active filter chips
 * - Result cards
 * - Store Locator map
 * - Google Maps InfoWindows
 * - Responsive/mobile layouts
 * - Mobile Results / Map switcher
 *
 * Most selectors intentionally have fairly high specificity because
 * these styles override markup and styles generated by the Store
 * Locator plugin and Google Maps.
 */


/* =========================================================
 * 1. GLOBAL STORE LOCATOR CLEANUP
 * ========================================================= */

/**
 * Hide the Store Locator's default loading overlay.
 *
 * Results remain visible while a new AJAX search loads instead of
 * displaying the plugin's large white loading screen.
 */
#store_locator_loading {
	display:none !important;
	visibility:hidden !important;
	opacity:0 !important;
	pointer-events:none !important;
}


/**
 * Remove plugin container spacing so the locator aligns with the
 * surrounding site layout.
 */
#store_locator.store-locator-container-fluid {
	padding:0 !important;
}

.store-locator-row {
	margin-inline:0 !important;
}


/**
 * Hide the plugin's default active-filter output.
 *
 * ATC uses its own active-filter chip interface instead.
 */
#store_locator_filter_active_filter_box {
	display:none !important;
}


/* =========================================================
 * 2. SEARCH AREA
 * ========================================================= */

#store_locator_search_box {
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:0 !important;
	box-sizing:border-box;
	background:transparent !important;
	border:0 !important;
	box-shadow:none !important;
}

#store_locator_search_box > .store-locator-row {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:20px 30px;
	width:100%;
	margin:0 !important;
}

#store_locator_search_box > .store-locator-row:before{
	display:none;
}



/* =========================================================
 * 2A. SEARCH TITLE
 * ========================================================= */

.wordpress-store-locator-block-search_title {
	display:none;
}

/*
.wordpress-store-locator-block-search_title {
	flex:0 1 420px;
	width:auto !important;
	max-width:none !important;
	padding:0 !important;
	margin:0 !important;
	align-self:center;
}

.wordpress-store-locator-block-search_title .store_modal_title {
	margin:0 !important;
	font-size:clamp(34px,2.5vw,48px);
	font-weight:700;
	line-height:1.03;
	letter-spacing:-0.035em;
}

.wordpress-store-locator-block-search_title::after {
	content:"Search for programs and services in your area.";
	display:block;
	margin-top:10px;
	font-size:16px;
	font-weight:400;
	line-height:1.4;
	color:#667085;
	letter-spacing:0;
}
*/


/* =========================================================
 * 2B. SEARCH CARD
 * ========================================================= */

.wordpress-store-locator-block-address_field {
	flex:1 1 700px;
	width:auto !important;
	max-width:none !important;
	padding:0 !important;
	margin:0 !important;
}

.wordpress-store-locator-address-container {
	width:100%;
	padding:17px 18px !important;
	box-sizing:border-box;
	background:#fff;
	border:1px solid #e1e6ed;
	border-radius:15px;
	box-shadow:
		0 1px 3px rgba(16,24,40,0.04),
		0 8px 26px rgba(16,24,40,0.07);
}


/**
 * Remove the Store Locator's Bootstrap-style grid spacing inside
 * the custom search card.
 */
.wordpress-store-locator-address-container > .store-locator-row,
.wordpress-store-locator-address-container .store-locator-col-12 {
	width:100%;
	max-width:none;
	padding:0 !important;
	margin:0 !important;
}

.wordpress-store-locator-address-container > .store-locator-row > .store-locator-col-12 {
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	grid-template-areas:"searchcontrol location";
	column-gap:20px;
	align-items:start;
}


/**
 * Keep the plugin's Address label available to screen readers while
 * removing it visually from the redesigned interface.
 */
.wordpress-store-locator-address-title {
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	padding:0 !important;
	margin:-1px !important;
	overflow:hidden !important;
	clip:rect(0,0,0,0) !important;
	clip-path:inset(50%) !important;
	white-space:nowrap !important;
	border:0 !important;
}


/* =========================================================
 * 2C. SEARCH CONTROL
 * ========================================================= */

.atc-locator-search-row {
	grid-area:searchcontrol;
	position:relative;
	display:grid !important;
	grid-template-columns:minmax(0,1fr) 155px;
	grid-template-rows:54px auto;
	column-gap:20px;
	row-gap:6px;
	width:100%;
	align-items:stretch;
}


/* Search icon */

.atc-locator-search-icon {
	position:absolute;
	top:18px;
	left:5px;
	z-index:4;
	font-size:19px;
	color:#475467;
	pointer-events:none;
}


/* Search field */

.atc-locator-search-row #store_locator_address_field {
	grid-column:1;
	grid-row:1;
	width:100% !important;
	min-width:0 !important;
	max-width:none !important;
	height:54px !important;
	margin:0 !important;
	padding:0 20px 0 42px !important;
	box-sizing:border-box;
	background:transparent;
	border:0 !important;
	border-bottom:2px solid #d7dce3 !important;
	border-radius:0 !important;
	font-size:16px;
	font-weight:400;
	line-height:1.2;
	box-shadow:none !important;
	transition:border-color 0.2s ease;
}

.atc-locator-search-row #store_locator_address_field::placeholder {
	color:#687385;
	opacity:1;
}

.atc-locator-search-row #store_locator_address_field:focus {
	outline:none;
	border-color:#2865bd !important;
	box-shadow:none !important;
}


/* Search button */

.atc-locator-search-row #store_locator_find_stores_button {
	grid-column:2;
	grid-row:1;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:100% !important;
	min-width:0 !important;
	max-width:none !important;
	height:54px !important;
	margin:0 !important;
	padding:0 24px !important;
	box-sizing:border-box;
	background:#2865bd !important;
	color:#fff !important;
	border:1px solid #2865bd !important;
	border-radius:10px !important;
	font-size:16px !important;
	font-weight:600 !important;
	line-height:1 !important;
	text-decoration:none !important;
	box-shadow:0 2px 5px rgba(40,101,189,0.18) !important;
	cursor:pointer;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.15s ease;
}

.atc-locator-search-row #store_locator_find_stores_button:hover,
.atc-locator-search-row #store_locator_find_stores_button:focus {
	background:#2058a9 !important;
	border-color:#2058a9 !important;
	color:#fff !important;
}

.atc-locator-search-row #store_locator_find_stores_button:active {
	transform:translateY(1px);
}


/* Search example */

.atc-locator-search-example {
	grid-column:1;
	grid-row:2;
	display:block;
	margin:0;
	padding-left:5px;
	font-size:13px;
	font-weight:400;
	line-height:1.3;
	color:#7b8493;
}


/**
 * LastPass may inject an icon wrapper into the search row.
 * Prevent that wrapper from affecting the custom grid layout.
 */
.atc-locator-search-row > [data-lastpass-icon-root] {
	position:absolute !important;
	width:0 !important;
	height:0 !important;
	margin:0 !important;
	padding:0 !important;
	overflow:visible !important;
	pointer-events:none;
}


/* =========================================================
 * 2D. USE MY LOCATION
 * ========================================================= */

#store_locator_get_my_position {
	grid-area:location;
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	gap:9px;
	min-width:190px;
	height:54px;
	margin:0 !important;
	padding:0 20px !important;
	box-sizing:border-box;
	background:#fff !important;
	border:1px solid #b8cdf1 !important;
	border-radius:10px;
	color:#2865bd !important;
	font-size:15px;
	font-weight:600;
	line-height:1;
	text-decoration:none !important;
	white-space:nowrap;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

#store_locator_get_my_position i {
	font-size:17px;
	color:inherit !important;
}

#store_locator_get_my_position:hover,
#store_locator_get_my_position:focus {
	background:#f5f8fd !important;
	border-color:#8fb0e5 !important;
	color:#2058a9 !important;
	text-decoration:none !important;
}


/**
 * These original plugin actions are replaced by the custom interface.
 */
#store_locator_reset_filters,
#store_locator_get_all_stores,
.wordpress-store-locator-block-search_button {
	display:none !important;
}


/* =========================================================
 * 3. FILTER AREA
 * ========================================================= */

.wordpress-store-locator-block-filter {
	flex:0 0 100%;
	width:100% !important;
	max-width:none !important;
	padding:0 !important;
	margin:0 !important;
	border:0 !important;
}

.wordpress-store-locator-block-filter #store_locator_filter {
	margin-top:0!important;
}


/**
 * Hide the original filter UI.
 *
 * The native controls remain in the DOM because the custom interface
 * manipulates them programmatically.
 */
#store_locator_filter_open_close,
#store_locator_filter_content {
	display:none !important;
}


/**
 * Hide the plugin's original radius presentation.
 *
 * The custom Distance control still uses the underlying native select.
 */
.wordpress-store-locator-block-radius_filter,
.store-locator-radius-filter {
	display:none !important;
}


/* =========================================================
 * 3A. CUSTOM FILTER TRAY
 * ========================================================= */

.atc-locator-filter-ui {
	position:relative;
	width:100%;
	margin:0;
	padding:12px 14px;
	box-sizing:border-box;
	background:#f8fafccc;
	border:1px solid #e5e9ef;
	border-radius:12px;
	overflow:visible;
}

.atc-locator-filter-bar {
	display:flex;
	align-items:center;
	flex-wrap:nowrap;
	gap:14px;
	width:100%;
	margin:0;
	padding:0;
	overflow:visible;
}


/* =========================================================
 * 3B. FILTER CONTROLS
 * ========================================================= */

.atc-locator-filter-control {
	position:relative;
	flex:1 1 0;
	width:auto;
	min-width:0;
	max-width:none;
	color:#344054 !important;
}

.atc-locator-filter-trigger {
	display:grid !important;
	grid-template-columns:24px minmax(0,1fr) 18px;
	align-items:center;
	column-gap:12px;
	width:100% !important;
	height:54px;
	margin:0 !important;
	padding:0 16px !important;
	box-sizing:border-box;
	background:#fff !important;
	border:1px solid #dfe4ea !important;
	border-radius:9px !important;
	color:#344054 !important;
	font-family:inherit !important;
	font-size:15px !important;
	font-weight:600 !important;
	line-height:1 !important;
	text-align:left !important;
	box-shadow:0 1px 2px rgba(16,24,40,0.03) !important;
	cursor:pointer;
	transition:
		border-color 0.18s ease,
		box-shadow 0.18s ease,
		background-color 0.18s ease;
}

.atc-locator-filter-trigger:hover,
.atc-locator-filter-trigger:focus,
.atc-locator-filter-trigger:active,
.atc-locator-filter-control.is-open .atc-locator-filter-trigger {
	background:#fff !important;
	border-color:#b6c5d8 !important;
	color:#344054 !important;
	box-shadow:
		0 2px 4px rgba(16,24,40,0.04),
		0 5px 12px rgba(16,24,40,0.05) !important;
	text-decoration:none !important;
}

.atc-locator-filter-trigger:hover *,
.atc-locator-filter-trigger:focus *,
.atc-locator-filter-trigger:active *,
.atc-locator-filter-control.is-open .atc-locator-filter-trigger * {
	color:inherit !important;
}

.atc-locator-filter-trigger-icon {
	display:flex;
	align-items:center;
	justify-content:center;
	width:24px;
	font-size:18px;
	color:#667085 !important;
}

.atc-locator-filter-trigger-label {
	overflow:hidden;
	color:#344054 !important;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.atc-locator-filter-trigger-chevron {
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:13px;
	color:#475467 !important;
	transition:transform 0.2s ease;
}

.atc-locator-filter-control.is-open .atc-locator-filter-trigger-chevron {
	transform:rotate(180deg);
}


/* State browsing disables manual Distance selection. */

.atc-locator-filter-control[data-filter-type="radius"].is-disabled .atc-locator-filter-trigger {
	background:#f1f3f6 !important;
	border-color:#e2e6eb !important;
	color:#98a2b3 !important;
	box-shadow:none !important;
	cursor:not-allowed;
}

.atc-locator-filter-control[data-filter-type="radius"].is-disabled .atc-locator-filter-trigger * {
	color:inherit !important;
}


/* =========================================================
 * 3C. FILTER POPOVERS
 * ========================================================= */

.atc-locator-filter-panel {
	position:absolute;
	z-index:1000;
	top:calc(100% + 10px);
	left:0;
	display:none;
	width:100%;
	min-width:260px;
	max-width:380px;
	max-height:min(420px,55vh);
	margin:0;
	padding:10px;
	box-sizing:border-box;
	overflow-y:auto;
	overflow-x:hidden;
	background:#fff !important;
	border:1px solid #dfe4ea;
	border-radius:12px;
	box-shadow:0 10px 30px rgba(16,24,40,0.15);
	overscroll-behavior:contain;
	scrollbar-width:thin;
	scrollbar-color:#c8ced8 transparent;
}

.atc-locator-filter-control.is-open .atc-locator-filter-panel {
	display:block;
}

.atc-locator-filter-control[data-filter-type="service"] .atc-locator-filter-panel {
	width:360px;
	max-width:min(360px,calc(100vw - 40px));
}

.store_locator_filter_checkbox {
	z-index: 100;
}

/* Fix disappearing checkboxes on hover */
.atc-locator-filter-panel input.store_locator_filter_checkbox {
	z-index: 1;
}

/* Scrollbars */

.atc-locator-filter-panel::-webkit-scrollbar {
	width:8px;
}

.atc-locator-filter-panel::-webkit-scrollbar-track {
	background:transparent;
}

.atc-locator-filter-panel::-webkit-scrollbar-thumb {
	background:#c8ced8;
	border:2px solid #fff;
	border-radius:10px;
}


/* =========================================================
 * 3D. SELECT-BASED FILTER OPTIONS
 * ========================================================= */

.atc-locator-option-list {
	display:flex;
	flex-direction:column;
	gap:2px;
	width:100%;
	max-height:360px;
	overflow-y:auto;
	overflow-x:hidden;
}

.atc-locator-option {
	display:flex !important;
	align-items:center;
	width:100% !important;
	margin:0 !important;
	padding:10px 12px !important;
	box-sizing:border-box;
	background:transparent !important;
	border:0 !important;
	border-radius:7px !important;
	color:#344054 !important;
	font-family:inherit !important;
	font-size:14px !important;
	font-weight:500 !important;
	line-height:1.3 !important;
	text-align:left !important;
	box-shadow:none !important;
	cursor:pointer;
	transition:
		background-color 0.15s ease,
		color 0.15s ease;
}

.atc-locator-option:hover,
.atc-locator-option:focus {
	background:#f3f6fa !important;
	color:#344054 !important;
	text-decoration:none !important;
}

.atc-locator-option:hover *,
.atc-locator-option:focus * {
	color:#344054 !important;
}

.atc-locator-option.is-selected {
	background:#edf4ff !important;
	color:#2058a9 !important;
	font-weight:600 !important;
}

.atc-locator-option.is-selected:hover {
	background:#e5efff !important;
	color:#2058a9 !important;
}

/* Visually distinguish child taxonomy terms. */
.atc-locator-option--child {
	padding-left:32px !important;
}

.atc-locator-option--child::before {
	content:"—";
	margin-right:8px;
	color:#98a2b3;
	font-weight:400;
}


/* =========================================================
 * 3E. CHECKBOX FILTERS
 * ========================================================= */

.atc-locator-filter-panel .single_filter_filter {
	display:flex !important;
	flex-direction:column !important;
	gap:2px !important;
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:0 !important;
}

.atc-locator-filter-panel .wordpress-store-locator-filter-title {
	display:none !important;
}

.atc-locator-filter-panel label.wordpress-store-locator-label.single_filter_checkbox {
	position:relative !important;
	display:grid !important;
	grid-template-columns:20px minmax(0,1fr) !important;
	align-items:center !important;
	column-gap:12px !important;
	width:100% !important;
	min-height:44px !important;
	margin:0 !important;
	padding:8px 12px !important;
	box-sizing:border-box !important;
	background:transparent !important;
	border:0 !important;
	border-radius:8px !important;
	color:#344054 !important;
	font-family:inherit !important;
	font-size:14px !important;
	font-weight:500 !important;
	line-height:1.3 !important;
	text-align:left !important;
	cursor:pointer !important;
	white-space:normal !important;
	transition:background-color 0.15s ease;
}

.atc-locator-filter-panel label.wordpress-store-locator-label.single_filter_checkbox:hover {
	background:#f4f6f9 !important;
	color:#344054 !important;
}


/* Custom checkbox */

.atc-locator-filter-panel input.store_locator_filter_checkbox {
	-webkit-appearance:none !important;
	appearance:none !important;
	position:relative !important;
	display:block !important;
	grid-column:1 !important;
	width:18px !important;
	height:18px !important;
	min-width:18px !important;
	min-height:18px !important;
	margin:0 !important;
	padding:0 !important;
	box-sizing:border-box !important;
	opacity:1 !important;
	visibility:visible !important;
	background-color:#fff !important;
	border:1.5px solid #7d8590 !important;
	border-radius:3px !important;
	box-shadow:none !important;
	filter:none !important;
	cursor:pointer !important;
	transition:
		background-color 0.15s ease,
		border-color 0.15s ease;
}

.atc-locator-filter-panel input.store_locator_filter_checkbox:hover,
.atc-locator-filter-panel label.single_filter_checkbox:hover input.store_locator_filter_checkbox,
.atc-locator-filter-panel label.single_filter_checkbox:focus-within input.store_locator_filter_checkbox {
	-webkit-appearance:none !important;
	appearance:none !important;
	background-color:#fff !important;
	border:1.5px solid #7d8590 !important;
	box-shadow:none !important;
	filter:none !important;
}

.atc-locator-filter-panel input.store_locator_filter_checkbox:checked {
	background-color:#2865bd !important;
	border-color:#2865bd !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.2 8.2 6.4 11.2 12.8 4.8'/%3E%3C/svg%3E") !important;
	background-position:center !important;
	background-repeat:no-repeat !important;
	background-size:14px 14px !important;
}

.atc-locator-filter-panel input.store_locator_filter_checkbox:checked:hover,
.atc-locator-filter-panel label.single_filter_checkbox:hover input.store_locator_filter_checkbox:checked {
	background-color:#2865bd !important;
	border-color:#2865bd !important;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.2 8.2 6.4 11.2 12.8 4.8'/%3E%3C/svg%3E") !important;
	background-position:center !important;
	background-repeat:no-repeat !important;
	background-size:14px 14px !important;
}

.atc-locator-filter-panel input.store_locator_filter_checkbox:focus-visible {
	outline:2px solid rgba(40,101,189,0.3) !important;
	outline-offset:2px !important;
}


/**
 * Disable visual checkbox elements generated by some theme/plugin
 * control styles so only the custom checkbox remains visible.
 */
.atc-locator-filter-panel .control__indicator,
.atc-locator-filter-panel .control::before,
.atc-locator-filter-panel .control::after {
	display:none !important;
}


/* =========================================================
 * 3F. CLEAR ALL
 * ========================================================= */

.atc-locator-clear-filters {
	flex:0 0 auto;
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	gap:8px;
	height:54px;
	margin:0 0 0 4px !important;
	padding:0 12px !important;
	background:transparent !important;
	border:0 !important;
	color:#2865bd !important;
	font-family:inherit !important;
	font-size:15px !important;
	font-weight:600 !important;
	text-decoration:none !important;
	white-space:nowrap;
	box-shadow:none !important;
	cursor:pointer;
	transition:color 0.18s ease;
}

.atc-locator-clear-filters i,
.atc-locator-clear-filters span {
	color:inherit !important;
}

.atc-locator-clear-filters:hover,
.atc-locator-clear-filters:focus,
.atc-locator-clear-filters:active {
	background:transparent !important;
	border:0 !important;
	color:#ff8a18 !important;
	box-shadow:none !important;
	text-decoration:none !important;
}

.atc-locator-clear-filters:hover *,
.atc-locator-clear-filters:focus *,
.atc-locator-clear-filters:active * {
	background:transparent !important;
	color:#ff8a18 !important;
}

.atc-locator-clear-filters i {
	font-size:16px;
}


/* =========================================================
 * 4. ACTIVE FILTER CHIPS
 * ========================================================= */

.atc-locator-active-filters {
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:10px;
	width:100%;
}

.atc-locator-active-filters:empty {
	display:none;
}

.atc-locator-active-filters:not(:empty) {
	margin-top:12px;
	padding-top:12px;
	border-top:1px solid #e5e9ef;
}

.atc-locator-active-label {
	margin-right:4px;
	color:#344054;
	font-size:14px;
	font-weight:700;
	white-space:nowrap;
}

.atc-locator-filter-chip {
	display:inline-flex;
	align-items:center;
	gap:8px;
	min-height:36px;
	padding:0 12px;
	background:#fff;
	border:1px solid #e2e7ed;
	border-radius:999px;
	color:#475467;
	font-size:14px;
	font-weight:500;
	box-shadow:0 1px 2px rgba(16,24,40,0.03);
}

.atc-locator-filter-chip-dot {
	width:9px;
	height:9px;
	flex:0 0 9px;
	border-radius:50%;
	background:#2865bd;
}

.atc-locator-filter-chip-remove {
	display:flex !important;
	align-items:center;
	justify-content:center;
	width:20px !important;
	height:20px !important;
	min-width:20px !important;
	margin:0 -4px 0 2px !important;
	padding:0 !important;
	background:transparent !important;
	border:0 !important;
	color:#667085 !important;
	font-size:16px !important;
	line-height:1 !important;
	box-shadow:none !important;
	cursor:pointer;
}

.atc-locator-filter-chip-remove:hover,
.atc-locator-filter-chip-remove:focus {
	background:transparent !important;
	color:#ff8a18 !important;
}


/* Chip category colors */

.atc-locator-filter-chip[data-filter-type="program"] .atc-locator-filter-chip-dot {
	background:#43a047;
}

.atc-locator-filter-chip[data-filter-type="state"] .atc-locator-filter-chip-dot {
	background:#3478cf;
}

.atc-locator-filter-chip[data-filter-type="service"] .atc-locator-filter-chip-dot {
	background:#7e57c2;
}

.atc-locator-filter-chip[data-filter-type="radius"] .atc-locator-filter-chip-dot {
	background:#ff8a18;
}


/* Clear all link shown beside active chips */

.atc-locator-active-clear {
	display:inline-flex !important;
	align-items:center;
	margin-left:6px !important;
	padding:7px 5px !important;
	background:transparent !important;
	border:0 !important;
	color:#2865bd !important;
	font-family:inherit !important;
	font-size:14px !important;
	font-weight:600 !important;
	box-shadow:none !important;
	cursor:pointer;
	transition:color 0.18s ease;
}

.atc-locator-active-clear:hover,
.atc-locator-active-clear:focus,
.atc-locator-active-clear:active {
	background:transparent !important;
	border:0 !important;
	color:#ff8a18 !important;
	box-shadow:none !important;
	text-decoration:none !important;
}

.atc-locator-active-clear:hover *,
.atc-locator-active-clear:focus *,
.atc-locator-active-clear:active * {
	background:transparent !important;
	color:#ff8a18 !important;
}


/* =========================================================
 * 5. SEARCH / FILTER RESPONSIVE LAYOUT
 * ========================================================= */

/* Large tablet */

@media(max-width:1200px) {

	.atc-locator-filter-bar {
		flex-wrap:wrap;
	}

	.atc-locator-filter-control {
		flex:1 1 calc(50% - 14px);
	}

	.atc-locator-clear-filters {
		margin-left:0 !important;
	}
}


/* Tablet */

@media(max-width:950px) {

	#store_locator_search_box > .store-locator-row {
		flex-direction:column;
		align-items:stretch;
		gap:22px;
	}

	.wordpress-store-locator-block-search_title,
	.wordpress-store-locator-block-address_field,
	.wordpress-store-locator-block-filter {
		flex:0 0 auto;
		width:100% !important;
	}

	.wordpress-store-locator-block-search_title {
		align-self:stretch;
	}

	.wordpress-store-locator-address-container > .store-locator-row > .store-locator-col-12 {
		grid-template-columns:minmax(0,1fr) auto;
		column-gap:14px;
	}

	#store_locator_get_my_position {
		min-width:170px;
	}
}


/* Small tablet / mobile */

@media(max-width:760px) {

	.wordpress-store-locator-address-container > .store-locator-row > .store-locator-col-12 {
		grid-template-columns:1fr;
		grid-template-areas:
			"searchcontrol"
			"location";
		gap:12px;
	}

	#store_locator_get_my_position {
		width:100%;
		min-width:0;
	}

	.atc-locator-filter-control {
		flex:1 1 calc(50% - 7px);
		min-width:0;
	}

	.atc-locator-filter-panel,
	.atc-locator-filter-control[data-filter-type="service"] .atc-locator-filter-panel {
		width:100%;
		max-width:100%;
	}

	.atc-locator-clear-filters {
		flex:1 1 100%;
		justify-content:flex-start;
		height:40px;
		margin-left:0 !important;
		padding-left:0 !important;
	}
}


/* =========================================================
 * 6. RESULTS LAYOUT
 * ========================================================= */

#store_locator_sidebar,
#store_locator_result_list_box {
	height:auto !important;
	max-height:none !important;
	padding:0;
	overflow:visible !important;
}

#store_locator_sidebar_content {
	margin:0 !important;
}

#store_locator_result_list_box > hr.grey {
	display:none;
}

#store_locator_result_list {
	height:auto !important;
	max-height:none !important;
	padding:0 !important;
	margin:0 !important;
	overflow:visible !important;
	background:transparent !important;
}


/**
 * State searches are sorted relative to the State center point.
 *
 * The numeric distance is therefore misleading to visitors, so it
 * is hidden while State browsing mode is active.
 */
#store_locator_result_list.atc-state-search-active .store_locator_distance {
	display:none !important;
}


/* =========================================================
 * 7. RESULT CARDS
 * ========================================================= */

#store_locator_result_list .store_locator_result_list_item {
	position:relative;
	width:100% !important;
	max-width:none !important;
	margin:0 0 10px !important;
	padding:0 !important;
	box-sizing:border-box;
	background:#fff !important;
	border:1px solid #e1e6ec !important;
	border-left-width:5px !important;
	border-left-color:#cbd5e1 !important;
	border-radius:12px !important;
	box-shadow:
		0 1px 2px rgba(16,24,40,0.03),
		0 4px 12px rgba(16,24,40,0.04);
	overflow:hidden;
	transition:
		border-color 0.18s ease,
		box-shadow 0.18s ease,
		transform 0.18s ease;
}


/* Audience color indicators */

#store_locator_result_list .store_locator_result_list_item[data-audience="men"] {
	border-left-color:#173f68 !important;
}

#store_locator_result_list .store_locator_result_list_item[data-audience="boys"] {
	border-left-color:#1bb6c9 !important;
}

#store_locator_result_list .store_locator_result_list_item[data-audience="women"] {
	border-left-color:#8a3e8e !important;
}

#store_locator_result_list .store_locator_result_list_item[data-audience="girls"] {
	border-left-color:#e35ba5 !important;
}


/* Plugin grid cleanup inside cards */

#store_locator_result_list .store_locator_result_list_item > .store-locator-row {
	width:100% !important;
	margin:0 !important;
	padding:0 !important;
}

#store_locator_result_list .store_locator_result_list_item > .store-locator-row > .store_locator_details {
	flex-grow:1;
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:0 !important;
	box-sizing:border-box;
}

#store_locator_result_list .store_locator_result_list_item > .store-locator-row > .store_locator_details > .store-locator-row {
	width:100% !important;
	margin:0 !important;
	padding:0 !important;
}

#store_locator_result_list .store_locator_result_list_item > .store-locator-row > .store_locator_details > .store-locator-row > .store_locator_details {
	display:flex;
	flex-direction:column;
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:16px 18px !important;
	box-sizing:border-box;
}


/* Card hover / map-active state */

#store_locator_result_list .store_locator_result_list_item:hover,
#store_locator_result_list .store_locator_result_list_item_hover {
	box-shadow:
		0 3px 8px rgba(16,24,40,0.06),
		0 10px 22px rgba(16,24,40,0.07);
	transform:translateY(-1px);
}


/* Main card title link */

#store_locator_result_list .store_locator_result_list_item > .store-locator-row > .store_locator_details > .store-locator-row > .store_locator_details > a {
	color:inherit !important;
	text-decoration:none !important;
}


/* =========================================================
 * 7A. RESULT TITLE
 * ========================================================= */

#store_locator_result_list .store_locator_name {
	margin:0 0 8px !important;
	padding-right:95px;
	color:#16233a !important;
	font-size:17px !important;
	font-weight:700 !important;
	line-height:1.25 !important;
	letter-spacing:-0.01em;
}

#store_locator_result_list .store_locator_result_list_item > .store-locator-row > .store_locator_details > .store-locator-row > .store_locator_details > a:hover .store_locator_name {
	color:#2865bd !important;
}

#store_locator_result_list .store_locator_name i {
	display:none !important;
}


/* =========================================================
 * 7B. RESULT BADGES
 * ========================================================= */

#store_locator_result_list .store_locator_badges {
	display:flex !important;
	flex-wrap:wrap;
	gap:5px;
	order:2;
	margin:0 0 10px !important;
	padding:0 !important;
}

#store_locator_result_list .store_locator_badges .store-locator-badge,
#store_locator_result_list .atc-result-badge-more {
	display:inline-flex;
	align-items:center;
	min-height:22px;
	margin:0 !important;
	padding:3px 7px !important;
	border-radius:999px !important;
	font-size:10.5px !important;
	font-weight:600 !important;
	line-height:1.05 !important;
	white-space:nowrap;
}


/* Audience badges */

#store_locator_result_list .atc-result-badge-audience {
	order:-1;
	color:#fff !important;
	font-weight:700 !important;
}

#store_locator_result_list .store_locator_result_list_item[data-audience="men"] .atc-result-badge-audience {
	background:#173f68 !important;
}

#store_locator_result_list .store_locator_result_list_item[data-audience="boys"] .atc-result-badge-audience {
	background:#1bb6c9 !important;
}

#store_locator_result_list .store_locator_result_list_item[data-audience="women"] .atc-result-badge-audience {
	background:#8a3e8e !important;
}

#store_locator_result_list .store_locator_result_list_item[data-audience="girls"] .atc-result-badge-audience {
	background:#e35ba5 !important;
}


/* Program badge */

#store_locator_result_list .atc-result-badge-program {
	background:#eaf6ec !important;
	color:#267a36 !important;
}


/* Service badges */

#store_locator_result_list .atc-result-badge-service {
	background:#f2f4f7 !important;
	color:#475467 !important;
}


/* Overflow indicator */

#store_locator_result_list .atc-result-badge-more {
	background:transparent !important;
	color:#667085 !important;
	border:1px solid #d7dde5 !important;
}


/* =========================================================
 * 7C. RESULT DISTANCE
 * ========================================================= */

#store_locator_result_list .store_locator_distance {
	position:absolute;
	top:17px;
	right:18px;
	display:block;
	margin:0 !important;
	color:#667085 !important;
	font-size:12.5px !important;
	font-weight:500 !important;
	line-height:1.35 !important;
}


/* =========================================================
 * 7D. RESULT LOCATION
 * ========================================================= */

#store_locator_result_list .store_locator_address {
	position:relative;
	display:inline-flex;
	align-items:center;
	order:3;
	margin:0 !important;
	padding-left:18px;
	color:#667085 !important;
	font-size:13px !important;
	font-weight:400 !important;
	line-height:1.35 !important;
}

#store_locator_result_list .store_locator_address::before {
	content:"\f3c5";
	position:absolute;
	top:1px;
	left:0;
	font-family:"Font Awesome 5 Free";
	font-weight:900;
	color:#667085;
}

#store_locator_result_list .store_locator_country {
	display:none !important;
}


/* Content intentionally removed from compact result cards */

#store_locator_result_list .store_locator_contact,
#store_locator_result_list .store_locator_result_list_description,
#store_locator_result_list .store_locator_opening_hours,
#store_locator_result_list .store_locator_opening_hours2,
#store_locator_result_list .store_locator_custom_fields {
	display:none !important;
}


/* =========================================================
 * 7E. RESULT ACTIONS
 * ========================================================= */

#store_locator_result_list .store_locator_actions {
	display:flex !important;
	align-items:center;
	flex-wrap:wrap;
	gap:8px;
	order:4;
	margin:12px 0 0 !important;
	padding:10px 0 0 !important;
	border-top:1px solid #edf0f3;
}


/* Hide lower-priority actions */

#store_locator_result_list .store_locator_actions .store_locator_visit_website,
#store_locator_result_list .store_locator_actions .store_locator_write_email,
#store_locator_result_list .store_locator_actions .store_locator_contact_store,
#store_locator_result_list .store_locator_actions .store_locator_chat,
#store_locator_result_list .store_locator_actions .store_locator_show_live_position,
#store_locator_result_list .store_locator_actions .store_locator_show_on_map {
	display:none !important;
}


/* Visible actions */

#store_locator_result_list .store_locator_actions a.store_locator_visit_store,
#store_locator_result_list .store_locator_actions a.store_locator_call_now,
#store_locator_result_list .store_locator_actions a.store_locator_get_direction {
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	gap:6px;
	width:auto !important;
	min-width:0 !important;
	height:34px !important;
	margin:0 !important;
	padding:0 10px !important;
	box-sizing:border-box;
	border:0 !important;
	border-radius:7px !important;
	font-family:inherit !important;
	font-size:12.5px !important;
	font-weight:600 !important;
	line-height:1 !important;
	text-decoration:none !important;
	box-shadow:none !important;
	cursor:pointer;
	transition:
		background-color 0.15s ease,
		color 0.15s ease;
}


/* View Details */

#store_locator_result_list .store_locator_actions a.store_locator_visit_store {
	order:1;
	margin-right:auto !important;
	padding-left:13px !important;
	padding-right:13px !important;
	background:#2865bd !important;
	color:#fff !important;
}

#store_locator_result_list .store_locator_actions a.store_locator_visit_store:hover,
#store_locator_result_list .store_locator_actions a.store_locator_visit_store:focus {
	background:#2058a9 !important;
	color:#fff !important;
}

#store_locator_result_list .store_locator_actions a.store_locator_visit_store * {
	color:inherit !important;
}


/* Call */

#store_locator_result_list .store_locator_actions a.store_locator_call_now {
	order:2;
	background:transparent !important;
	color:#2865bd !important;
}


/* Directions */

#store_locator_result_list .store_locator_actions a.store_locator_get_direction {
	order:3;
	background:transparent !important;
	color:#2865bd !important;
}


/* Secondary action hover */

#store_locator_result_list .store_locator_actions a.store_locator_call_now:hover,
#store_locator_result_list .store_locator_actions a.store_locator_call_now:focus,
#store_locator_result_list .store_locator_actions a.store_locator_get_direction:hover,
#store_locator_result_list .store_locator_actions a.store_locator_get_direction:focus {
	background:#f4f7fb !important;
	color:#ff8a18 !important;
}

#store_locator_result_list .store_locator_actions a.store_locator_call_now *,
#store_locator_result_list .store_locator_actions a.store_locator_get_direction * {
	color:inherit !important;
}


/* =========================================================
 * 8. MAP
 * ========================================================= */

/**
 * Keep the map visible while visitors scroll through longer
 * desktop result lists.
 */
#store_locator_map {
	position:sticky !important;
	top:40px;
	min-height:500px;
	max-height:85vh;
	border-radius:20px;
}


/* Custom Store Locator marker size */

gmp-advanced-marker img {
	width:42px;
	height:auto;
}


/* =========================================================
 * 9. GOOGLE MAP INFO WINDOW
 * ========================================================= */

/**
 * Google Maps creates several wrapper elements outside of the
 * Store Locator's markup. These rules normalize those wrappers
 * before styling the actual popup content.
 */


/* InfoWindow shell */

.gm-style .gm-style-iw-c {
	width:min(92vw,420px) !important;
	max-width:420px !important;
	max-height:none !important;
	padding:0 !important;
	border-radius:14px !important;
	box-shadow:
		0 4px 12px rgba(16,24,40,0.10),
		0 14px 34px rgba(16,24,40,0.14) !important;
}


/* Google content wrapper */

.gm-style .gm-style-iw-d {
	width:100% !important;
	max-width:none !important;
	max-height:none !important;
	overflow:visible !important;
	padding:0 !important;
}

.gm-style .gm-style-iw-d > div {
	display:flex !important;
	width:100% !important;
	max-width:none !important;
	min-width:0 !important;
}

.gm-style .gm-style-iw-d > div > .store_locator_infowindow {
	flex:1 1 auto !important;
	width:100% !important;
	max-width:none !important;
	min-width:0 !important;
}


/* Google close button */

.gm-style .gm-style-iw-chr {
	position:absolute;
	top:8px;
	right:8px;
	z-index:10;
	height:auto !important;
}

.gm-style .gm-style-iw-ch {
	display:none !important;
}

.gm-style .gm-ui-hover-effect {
	position:relative !important;
	width:36px !important;
	height:36px !important;
	margin:0 !important;
	padding:0 !important;
	border-radius:50% !important;
	opacity:0.72 !important;
	transition:
		background-color 0.15s ease,
		opacity 0.15s ease;
}

.gm-style .gm-ui-hover-effect:hover,
.gm-style .gm-ui-hover-effect:focus {
	background:#f2f4f7 !important;
	opacity:1 !important;
}

.gm-style .gm-ui-hover-effect span {
	width:20px !important;
	height:20px !important;
	margin:8px !important;
}


/* =========================================================
 * 9A. INFO WINDOW CONTENT
 * ========================================================= */

.gm-style .store_locator_infowindow {
	width:100% !important;
	max-width:none !important;
	min-width:0 !important;
	margin:0 !important;
	padding:18px 20px 16px !important;
	box-sizing:border-box;
	color:#344054;
	font-family:inherit;
	background:#fff;
}


/* Remove plugin/Bootstrap grid constraints */

.gm-style .store_locator_infowindow .store-locator-col-sm-12,
.gm-style .store_locator_infowindow .store_locator_details,
.gm-style .store_locator_infowindow .store_locator_description,
.gm-style .store_locator_infowindow .store_locator_actions {
	float:none !important;
	width:100% !important;
	max-width:none !important;
	min-width:0 !important;
	margin:0 !important;
	padding-left:0 !important;
	padding-right:0 !important;
	box-sizing:border-box;
}

.gm-style .store_locator_infowindow > .store_locator_details {
	flex:1 1 auto !important;
}


/* =========================================================
 * 9B. INFO WINDOW TITLE
 * ========================================================= */

.gm-style .store_locator_infowindow .store_locator_details > a {
	display:block;
	width:100% !important;
	max-width:none !important;
	min-width:0 !important;
	padding-right:42px;
	box-sizing:border-box;
	color:inherit !important;
	text-decoration:none !important;
}

.gm-style .store_locator_infowindow .store_locator_name {
	width:100%;
	max-width:none;
	margin:0 0 10px !important;
	color:#16233a !important;
	font-size:18px !important;
	font-weight:700 !important;
	line-height:1.25 !important;
	letter-spacing:-0.01em;
}

.gm-style .store_locator_infowindow .store_locator_name i {
	display:none !important;
}

.gm-style .store_locator_infowindow .store_locator_details > a:hover .store_locator_name {
	color:#2865bd !important;
}

.gm-style .store_locator_infowindow .store_locator_details > a:focus,
.gm-style .store_locator_infowindow .store_locator_details > a:focus-visible {
	outline:none !important;
	box-shadow:none !important;
}


/* =========================================================
 * 9C. INFO WINDOW BADGES
 * ========================================================= */

.gm-style .store_locator_infowindow .store_locator_badges {
	display:flex !important;
	align-items:center;
	flex-wrap:nowrap;
	gap:5px;
	width:100%;
	margin:0 0 12px !important;
	padding:0 !important;
	overflow:hidden;
}

.gm-style .store_locator_infowindow .store_locator_badges .store-locator-badge,
.gm-style .store_locator_infowindow .atc-popup-badge-more {
	display:inline-flex;
	align-items:center;
	flex:0 0 auto;
	min-height:22px;
	margin:0 !important;
	padding:3px 7px !important;
	border-radius:999px !important;
	font-size:10.5px !important;
	font-weight:600 !important;
	line-height:1.05 !important;
	white-space:nowrap;
}


/* Default service badge */

.gm-style .store_locator_infowindow .store_locator_badges .store-locator-badge {
	background:#f2f4f7 !important;
	color:#475467 !important;
}

.gm-style .store_locator_infowindow .atc-popup-badge-service {
	order:2;
	background:#f2f4f7 !important;
	color:#475467 !important;
}


/* Audience badge */

.gm-style .store_locator_infowindow .atc-popup-badge-audience {
	order:-1;
	color:#fff !important;
	font-weight:700 !important;
}

.gm-style .store_locator_infowindow[data-audience="men"] .store_locator_badges .atc-popup-badge-audience {
	background:#173f68 !important;
	color:#fff !important;
}

.gm-style .store_locator_infowindow[data-audience="boys"] .store_locator_badges .atc-popup-badge-audience {
	background:#1bb6c9 !important;
	color:#fff !important;
}

.gm-style .store_locator_infowindow[data-audience="women"] .store_locator_badges .atc-popup-badge-audience {
	background:#8a3e8e !important;
	color:#fff !important;
}

.gm-style .store_locator_infowindow[data-audience="girls"] .store_locator_badges .atc-popup-badge-audience {
	background:#e35ba5 !important;
	color:#fff !important;
}


/* Program badge */

.gm-style .store_locator_infowindow .atc-popup-badge-program,
.gm-style .store_locator_infowindow .store_locator_badges .residential {
	order:1;
	background:#eaf6ec !important;
	color:#267a36 !important;
}


/* +N more badge */

.gm-style .store_locator_infowindow .atc-popup-badge-more {
	order:3;
	background:transparent !important;
	color:#667085 !important;
	border:1px solid #d7dde5 !important;
}


/* =========================================================
 * 9D. INFO WINDOW DETAILS
 * ========================================================= */

/* Distance is unnecessary inside a map popup. */

.gm-style .store_locator_infowindow .store_locator_distance {
	display:none !important;
}


/* Location */

.gm-style .store_locator_infowindow .store_locator_address {
	position:relative;
	display:block;
	width:100% !important;
	max-width:none !important;
	min-width:0 !important;
	margin:0 !important;
	padding:0 0 0 20px !important;
	box-sizing:border-box;
	color:#667085 !important;
	font-size:13.5px !important;
	font-weight:400 !important;
	line-height:1.45 !important;
}

.gm-style .store_locator_infowindow .store_locator_address::before {
	content:"\f3c5";
	position:absolute;
	top:1px;
	left:0;
	font-family:"Font Awesome 5 Free";
	font-weight:900;
	color:#667085;
}

.gm-style .store_locator_infowindow .store_locator_address br {
	display:none !important;
}


/**
 * Fallback formatting before JavaScript reduces the address to
 * City, State.
 */
.gm-style .store_locator_infowindow .store_locator_street,
.gm-style .store_locator_infowindow .store_locator_city,
.gm-style .store_locator_infowindow .store_locator_region,
.gm-style .store_locator_infowindow .store_locator_zip {
	display:inline !important;
}

.gm-style .store_locator_infowindow .store_locator_street::after {
	content:", ";
}

.gm-style .store_locator_infowindow .store_locator_zip::before {
	content:" ";
}

.gm-style .store_locator_infowindow .store_locator_country {
	display:none !important;
}

.gm-style .store_locator_infowindow .atc-popup-location {
	display:inline;
}


/* Additional information is intentionally omitted from popups. */

.gm-style .store_locator_infowindow .store_locator_contact,
.gm-style .store_locator_infowindow .store_locator_description {
	display:none !important;
}


/* =========================================================
 * 9E. INFO WINDOW ACTIONS
 * ========================================================= */

.gm-style .store_locator_infowindow .store_locator_actions {
	display:flex !important;
	align-items:center;
	flex-wrap:nowrap;
	gap:6px;
	width:100% !important;
	margin:14px 0 0 !important;
	padding:12px 0 0 !important;
	border-top:1px solid #edf0f3;
}


/* Hide lower-priority popup actions */

.gm-style .store_locator_infowindow .store_locator_visit_website,
.gm-style .store_locator_infowindow .store_locator_write_email,
.gm-style .store_locator_infowindow .store_locator_contact_store,
.gm-style .store_locator_infowindow .store_locator_chat,
.gm-style .store_locator_infowindow .store_locator_show_live_position,
.gm-style .store_locator_infowindow .store_locator_show_on_map {
	display:none !important;
}


/* Visible popup actions */

.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_visit_store,
.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_call_now,
.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_get_direction {
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	gap:6px;
	flex:0 0 auto;
	width:auto !important;
	min-width:0 !important;
	height:36px !important;
	margin:0 !important;
	padding:0 9px !important;
	box-sizing:border-box;
	border:0 !important;
	border-radius:7px !important;
	font-family:inherit !important;
	font-size:12.5px !important;
	font-weight:600 !important;
	line-height:1 !important;
	text-decoration:none !important;
	white-space:nowrap;
	box-shadow:none !important;
	cursor:pointer;
	transition:
		background-color 0.15s ease,
		color 0.15s ease;
}


/* View Details */

.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_visit_store {
	order:1;
	margin-right:auto !important;
	padding-left:12px !important;
	padding-right:12px !important;
	background:#2865bd !important;
	color:#fff !important;
}

.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_visit_store:hover,
.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_visit_store:focus {
	background:#2058a9 !important;
	color:#fff !important;
}

.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_visit_store * {
	color:inherit !important;
}


/* Call */

.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_call_now {
	order:2;
	background:transparent !important;
	color:#2865bd !important;
}


/* Directions */

.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_get_direction {
	order:3;
	background:transparent !important;
	color:#2865bd !important;
}


/* Secondary action hover */

.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_call_now:hover,
.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_call_now:focus,
.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_get_direction:hover,
.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_get_direction:focus {
	background:#f4f7fb !important;
	color:#ff8a18 !important;
}

.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_call_now *,
.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_get_direction * {
	color:inherit !important;
}


/* =========================================================
 * 10. MOBILE RESULT CARDS
 * ========================================================= */

@media(max-width:767px) {

	#store_locator_result_list {
		padding:0 !important;
	}

	#store_locator_main {
		position:static;
		top:auto;
	}

	#store_locator_result_list .store_locator_result_list_item > .store-locator-row > .store_locator_details > .store-locator-row > .store_locator_details {
		padding:15px !important;
	}

	#store_locator_result_list .store_locator_name {
		padding-right:0;
		font-size:16.5px !important;
	}

	#store_locator_result_list .store_locator_distance {
		position:static;
		order:2;
		margin:-3px 0 8px !important;
	}

	#store_locator_result_list .store_locator_badges {
		order:3;
	}

	#store_locator_result_list .store_locator_address {
		order:4;
	}

	#store_locator_result_list .store_locator_actions {
		order:5;
		gap:5px;
	}

	#store_locator_result_list .store_locator_actions a.store_locator_visit_store,
	#store_locator_result_list .store_locator_actions a.store_locator_call_now,
	#store_locator_result_list .store_locator_actions a.store_locator_get_direction {
		padding-left:8px !important;
		padding-right:8px !important;
	}
}


/* =========================================================
 * 11. MOBILE INFO WINDOW
 * ========================================================= */

/**
 * Keep the Google Maps popup narrower than the viewport so Google
 * has room to pan and position it around the selected marker.
 */
@media(max-width:560px) {

	.gm-style .gm-style-iw-c {
		width:calc(100vw - 72px) !important;
		max-width:380px !important;
		min-width:0 !important;
		padding:0 !important;
		border-radius:12px !important;
		box-sizing:border-box !important;
	}

	.gm-style .gm-style-iw-d {
		width:100% !important;
		max-width:100% !important;
		min-width:0 !important;
		max-height:none !important;
		overflow:visible !important;
		padding:0 !important;
		box-sizing:border-box !important;
	}

	.gm-style .gm-style-iw-d > div,
	.gm-style .gm-style-iw-d > div > .store_locator_infowindow {
		width:100% !important;
		max-width:100% !important;
		min-width:0 !important;
		box-sizing:border-box !important;
	}

	.gm-style .store_locator_infowindow {
		padding:15px !important;
		overflow:hidden;
	}

	.gm-style .store_locator_infowindow .store_locator_details > a {
		padding-right:36px;
	}

	.gm-style .store_locator_infowindow .store_locator_name {
		width:100% !important;
		max-width:100% !important;
		font-size:16px !important;
		overflow-wrap:anywhere;
	}

	.gm-style .store_locator_infowindow .store_locator_badges {
		width:100%;
		max-width:100%;
		overflow:hidden;
	}

	.gm-style .store_locator_infowindow .store_locator_actions {
		width:100% !important;
		gap:2px;
	}

	.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_visit_store {
		padding-left:9px !important;
		padding-right:9px !important;
	}

	.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_call_now,
	.gm-style .store_locator_infowindow .store_locator_actions a.store_locator_get_direction {
		padding-left:5px !important;
		padding-right:5px !important;
		font-size:11.5px !important;
	}
}


/* =========================================================
 * 12. MOBILE RESULTS / MAP SWITCHER
 * ========================================================= */

/**
 * The Store Locator plugin supplies the Results / Map switching
 * behavior. These rules only restyle the plugin's native mobile tabs.
 */
@media(max-width:767px) {

	#store_locator_main {
		padding-inline:0;
	}

	.wordpress-store-locator-mobile-tabs {
		display:flex !important;
		align-items:center;
		gap:4px;
		width:100%;
		margin:0 0 10px !important;
		padding:4px !important;
		box-sizing:border-box;
		background:#f8fafccc;
		border:1px solid #e0e5eb;
		border-radius:14px;
		box-shadow:
			inset 0 1px 2px rgba(16,24,40,0.04);
	}

	.wordpress-store-locator-mobile-tabs #wordpress-store-locator-tab-list,
	.wordpress-store-locator-mobile-tabs #wordpress-store-locator-tab-map {
		display:flex !important;
		align-items:center;
		justify-content:center;
		flex:1 1 50%;
		width:auto !important;
		height:44px;
		margin:0 !important;
		padding:0 14px !important;
		box-sizing:border-box;
		background:transparent !important;
		border:0 !important;
		border-radius:10px !important;
		color:#667085 !important;
		font-size:14px !important;
		font-weight:600 !important;
		line-height:1 !important;
		text-decoration:none !important;
		box-shadow:none !important;
		transition:
			background-color 0.16s ease,
			color 0.16s ease,
			box-shadow 0.16s ease;
	}

	.wordpress-store-locator-mobile-tabs #wordpress-store-locator-tab-list.wordpress-store-locator-tab-active,
	.wordpress-store-locator-mobile-tabs #wordpress-store-locator-tab-map.wordpress-store-locator-tab-active {
		background:#fff !important;
		color:#16233a !important;
		box-shadow:
			0 1px 2px rgba(16,24,40,0.08),
			0 2px 6px rgba(16,24,40,0.08) !important;
	}

	.wordpress-store-locator-mobile-tabs #wordpress-store-locator-tab-list:hover,
	.wordpress-store-locator-mobile-tabs #wordpress-store-locator-tab-map:hover,
	.wordpress-store-locator-mobile-tabs #wordpress-store-locator-tab-list:focus,
	.wordpress-store-locator-mobile-tabs #wordpress-store-locator-tab-map:focus {
		text-decoration:none !important;
		outline:none !important;
	}
}