/**
 * Reference overrides: onewithnature.com/store-locator
 */

/* Inline rules from production page */
#wpsl-stores .wpsl-store-thumb {
	height: 45px !important;
	width: 45px !important;
}

#wpsl-stores,
#wpsl-direction-details,
#wpsl-gmap {
	height: 350px !important;
}

#wpsl-gmap .wpsl-info-window {
	max-width: 225px !important;
}

.wpsl-input label,
#wpsl-radius label,
#wpsl-category label {
	width: 95px;
	color: #00667e;
}

#wpsl-search-input,
#wpsl-category .wpsl-dropdown {
	width: 179px;
}

/* Store listing typography (reference teal titles) */
#wpsl-stores .wpsl-store-location strong,
#wpsl-stores .wpsl-store-location a,
.wpsl-store-location strong {
	color: #00667e;
	font-weight: 700;
	text-transform: uppercase;
}

#wpsl-stores .wpsl-store-location span {
	color: #333;
}

/* Directions link — reference #0b6d7c */
#wpsl-wrap .wpsl-directions a,
#wpsl-stores .wpsl-directions a,
.wpsl-directions a,
#wpsl-result-list .wpsl-directions a {
	color: #0b6d7c !important;
}

#wpsl-wrap .wpsl-directions a:hover,
#wpsl-stores .wpsl-directions a:hover,
.wpsl-directions a:hover {
	color: #0b6d7c !important;
	opacity: 0.85;
}

/* Filter bar — match reference grey panel */
.wpsl-search.wpsl-filter,
#wpsl-wrap .wpsl-search {
	background: #f4f3f3;
	padding: 12px 12px 2px;
	margin-bottom: 12px;
}

/* Search button — reference gradient grey */
#wpsl-search-btn {
	color: #7c7c7c;
	background-color: #e6e6e6;
	background-image: linear-gradient(to bottom, #f4f4f4, #e6e6e6);
	border: 1px solid #d2d2d2;
	border-radius: 3px;
	box-shadow: 0 1px 2px rgba(64, 64, 64, 0.1);
}

#wpsl-search-btn:hover {
	cursor: pointer;
	background-image: linear-gradient(to bottom, #eee, #e0e0e0);
}

/* Hide WPSL API notice when keys are injected */
#wpsl-wrap .wpsl-api-key-notice {
	display: none !important;
}

/* Elementor / theme spacing */
.own-sl-reference {
	max-width: 100%;
}

.page .own-sl-retailers,
.page .own-sl-locator-after {
	margin-top: 0;
	margin-bottom: 0;
}

/* Keep retailer bar inside main content column (Elementor) */
.elementor-widget-shortcode .own-sl-locator-after,
.elementor-element .own-sl-locator-after {
	clear: both;
	width: 100%;
}

/* —— Mobile responsive store locator (reference mobile layout) —— */
@media only screen and (max-width: 768px) {
	#wpsl-wrap {
		overflow: visible;
	}

	#wpsl-gmap,
	#wpsl-result-list {
		float: none !important;
		width: 100% !important;
		margin-right: 0 !important;
	}

	#wpsl-gmap {
		margin-bottom: 12px;
		order: 2;
	}

	#wpsl-result-list {
		order: 3;
		margin-top: 0;
	}

	#wpsl-stores,
	#wpsl-direction-details,
	#wpsl-gmap {
		height: 280px !important;
	}

	.wpsl-search.wpsl-filter,
	#wpsl-wrap .wpsl-search {
		padding: 12px;
	}

	#wpsl-search-wrap .wpsl-input,
	#wpsl-search-wrap .wpsl-select-wrap,
	#wpsl-search-wrap #wpsl-radius,
	#wpsl-search-wrap #wpsl-results {
		float: none;
		display: block;
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
	}

	#wpsl-search-input,
	#wpsl-search-wrap .wpsl-dropdown {
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
	}

	#wpsl-search-wrap label {
		display: block;
		float: none;
		width: auto;
		margin-bottom: 4px;
	}

	#wpsl-search-btn,
	.wpsl-search-btn-wrap {
		float: none;
		display: block;
		width: 100%;
		margin-top: 4px;
	}

	#wpsl-search-btn {
		width: auto;
		min-width: 100px;
	}

	#wpsl-wrap #wpsl-result-list li {
		padding: 12px 0;
	}

	#wpsl-stores .wpsl-store-location strong,
	.wpsl-store-location strong {
		font-size: 13px;
		line-height: 1.35;
	}
}

@media only screen and (max-width: 480px) {
	#wpsl-stores,
	#wpsl-direction-details,
	#wpsl-gmap {
		height: 240px !important;
	}
}
