/*
 * TVN custom locator: preserve the staging design with WP Store Locator 3.x.
 * Keep this theme-owned file after the plugin CSS. The plugin still owns the
 * accessible dropdowns, searching, results and map interactions.
 */
#wpsl-wrap.tvn-locator {
	--wpsl-map-height: 350px;
	--wpsl-font-size-base: 16px;
	margin-bottom: 0;
}

#wpsl-wrap.tvn-locator > .wpsl-search {
	background: transparent;
	padding: 32px 0 !important; /* Override the plugin's responsive search padding. */
	margin-bottom: 0;
}

#wpsl-wrap.tvn-locator #wpsl-search-wrap {
	float: none;
	margin: 0 auto 50px;
}

#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-input,
#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-select-wrap {
	display: table;
}

#wpsl-wrap.tvn-locator #wpsl-search-wrap #wpsl-category,
#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-input > div {
	display: block;
}

#wpsl-wrap.tvn-locator #wpsl-search-wrap #wpsl-radius,
#wpsl-wrap.tvn-locator #wpsl-search-wrap #wpsl-results {
	display: table-cell;
	vertical-align: top;
}

#wpsl-wrap.tvn-locator #wpsl-search-wrap div {
	float: none;
	margin-right: 0;
}

#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-input > div,
#wpsl-wrap.tvn-locator #wpsl-search-wrap #wpsl-radius,
#wpsl-wrap.tvn-locator #wpsl-search-wrap #wpsl-results {
	width: auto;
	height: auto;
	min-height: 0;
	max-height: none;
}

#wpsl-wrap.tvn-locator #wpsl-search-wrap label {
	display: block;
	float: none;
	width: auto !important; /* 3.x measures inline labels before fonts load. */
	line-height: 2;
	color: #000;
}

#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-input {
	margin-bottom: 0 !important;
}

#wpsl-wrap.tvn-locator #wpsl-search-input {
	display: table-cell;
	height: 40px;
	padding: 7px 12px;
	font: 16px/24px Montserrat, sans-serif;
	color: #000;
	border: 1px solid #a9bece;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
}

#wpsl-wrap.tvn-locator #wpsl-search-input::placeholder {
	color: #a2a2a2;
}

#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-dropdown {
	float: none;
	height: auto;
	max-height: none;
	min-width: 0 !important;
}

/* In 3.x the selected item is a button instead of a span. */
#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-selected-item {
	display: block;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: auto;
	min-height: 0;
	max-height: none;
	padding: 9px 35px 9px 12px !important;
	border: 1px solid #a9bece !important;
	border-radius: 0;
	background: #f5faff !important;
	color: #000 !important;
	font: 16px Montserrat, sans-serif;
	line-height: normal !important;
	box-shadow: none;
	text-transform: none;
}

#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-selected-item::after {
	right: 12px;
	width: auto;
	height: auto;
	border: 0;
	color: #ff822a;
}

#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-dropdown li {
	padding: 9px 12px !important;
	font-size: 16px;
	font-weight: 300;
}

#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-selected-dropdown {
	font-weight: 700;
}

#wpsl-wrap.tvn-locator #wpsl-search-btn {
	display: inline-block;
	float: none;
	box-sizing: content-box;
	width: auto;
	height: auto;
	min-height: 0;
	max-height: none;
	padding: 20px 34px;
	border: 3px solid #93b50a;
	border-radius: 0;
	background: #93b50a;
	color: #000 !important;
	font: 700 14.4px/1 Montserrat, sans-serif;
	text-transform: uppercase;
	box-shadow: inset 0 0 0 0 #fff;
}

#wpsl-wrap.tvn-locator #wpsl-search-btn:hover {
	box-shadow: inset 0 70px 0 0 #fff;
}

#wpsl-wrap.tvn-locator #wpsl-result-list {
	float: none;
	width: calc(100% - 20px);
	margin: 0 10px;
	background: #f5faff;
}

#wpsl-wrap.tvn-locator #wpsl-stores {
	padding: 32px;
}

#wpsl-wrap.tvn-locator #wpsl-result-list li p {
	margin-bottom: 0;
}

#wpsl-wrap.tvn-locator #wpsl-result-list .wpsl-store-location p a {
	color: #2a2a2a;
}

#wpsl-wrap.tvn-locator #wpsl-result-list .wpsl-directions {
	color: #2a2a2a;
}

#wpsl-wrap.tvn-locator #wpsl-result-list .wpsl-directions:hover {
	color: #ff822a;
}

/* The original results show name, address and directions. */
#wpsl-wrap.tvn-locator #wpsl-stores .wpsl-contact-details {
	display: none;
}

#wpsl-wrap.tvn-locator .wpsl-gmap-wrap {
	min-width: 0;
}

/* WP Store Locator rewrites the legacy #wpsl-gmap ID to #wpsl-map. */
#wpsl-wrap.tvn-locator #wpsl-map {
	float: none;
	width: 100%;
	margin: 0;
}

@media (min-width: 640px) and (max-width: 1023px) {
	#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-input,
	#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-select-wrap,
	#wpsl-wrap.tvn-locator #wpsl-search-wrap #wpsl-category,
	#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-search-btn-wrap {
		width: calc(100% - 30px);
		margin: 0 15px;
	}
}

@media (min-width: 1024px) {
	#wpsl-wrap.tvn-locator {
		--wpsl-map-height: 625px;
	}
	#wpsl-wrap.tvn-locator #wpsl-result-list {
		width: calc(25% - 30px);
		margin: 0;
	}
}

@media (min-width: 1200px) {
	#wpsl-wrap.tvn-locator {
		--wpsl-map-height: 725px;
	}
	#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-input,
	#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-select-wrap,
	#wpsl-wrap.tvn-locator #wpsl-search-wrap #wpsl-category {
		width: 314px;
		margin: 0;
	}
	#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-selected-item {
		width: 314px;
	}
}

@media (min-width: 1440px) {
	#wpsl-wrap.tvn-locator {
		--wpsl-map-height: 1100px;
	}
}

@media (max-width: 675px) {
	#wpsl-wrap.tvn-locator #wpsl-search-btn {
		display: block;
		float: left;
		margin: 0 5px 0 0 !important;
	}
	#wpsl-wrap.tvn-locator #wpsl-result-list {
		width: calc(100% - 20px) !important;
		margin-bottom: 10px;
	}
	#wpsl-wrap.tvn-locator #wpsl-result-list li {
		padding-left: 0;
	}
	#wpsl-wrap.tvn-locator #wpsl-map {
		margin: 10px 0 15px;
	}
}

@media (max-width: 639px) {
	#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-input,
	#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-select-wrap,
	#wpsl-wrap.tvn-locator #wpsl-search-wrap #wpsl-category,
	#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-search-btn-wrap {
		width: calc(100% - 20px);
		margin-left: 10px;
		margin-right: 10px;
	}
	#wpsl-wrap.tvn-locator #wpsl-search-wrap #wpsl-category,
	#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-input > div,
	#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-select-wrap #wpsl-radius label,
	#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-select-wrap #wpsl-results label,
	#wpsl-wrap.tvn-locator #wpsl-search-wrap label {
		margin-top: 0;
		margin-bottom: 0;
	}
}

@media (max-width: 570px) {
	#wpsl-wrap.tvn-locator #wpsl-search-wrap .wpsl-search-btn-wrap {
		margin-top: 15px;
	}
}
