/* StageHill v100: Local Events first-paint filter geometry matches Phase 2 Local Venues.
 * The data marker is rendered by PHP, so these dimensions exist before the browser's first paint
 * and before Chosen/Local Events JavaScript initializes. */
form.job_filters[data-stagehill-local-events-form] {
	clear: both !important;
	display: block !important;
	max-width: 1180px !important;
	width: 100% !important;
	margin: 55px auto 45px auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	overflow: visible !important;
}

form.job_filters[data-stagehill-local-events-form] .search_jobs {
	display: table !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

form.job_filters[data-stagehill-local-events-form] .search_keywords,
form.job_filters[data-stagehill-local-events-form] .search_location,
form.job_filters[data-stagehill-local-events-form] .search_radius,
form.job_filters[data-stagehill-local-events-form] .search_categories {
	float: left !important;
	clear: none !important;
	width: 25% !important;
	max-width: 25% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 15px 15px 15px 0 !important;
	box-sizing: border-box !important;
}

form.job_filters[data-stagehill-local-events-form] label {
	display: block !important;
	float: none !important;
	margin: 0 0 10px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
}

form.job_filters[data-stagehill-local-events-form] input[type="text"],
form.job_filters[data-stagehill-local-events-form] input[type="number"],
form.job_filters[data-stagehill-local-events-form] select,
form.job_filters[data-stagehill-local-events-form] .chosen-container,
form.job_filters[data-stagehill-local-events-form] .chosen-container-single .chosen-single {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

form.job_filters[data-stagehill-local-events-form] input[type="text"],
form.job_filters[data-stagehill-local-events-form] input[type="number"],
form.job_filters[data-stagehill-local-events-form] select,
form.job_filters[data-stagehill-local-events-form] .chosen-container-single .chosen-single {
	height: 49px !important;
	min-height: 49px !important;
	margin: 0 !important;
}

form.job_filters[data-stagehill-local-events-form] .chosen-container-single .chosen-single,
form.job_filters[data-stagehill-local-events-form] .chosen-container-single .chosen-single span {
	line-height: 49px !important;
}

form.job_filters[data-stagehill-local-events-form] .chosen-container-single .chosen-single div {
	top: 50% !important;
	transform: translateY(-50%) !important;
}

/* Phase 2 parity: Chosen must replace, never duplicate, its original select. */
html body form.job_filters[data-stagehill-local-events-form] select.chosen-done,
html body form.job_filters[data-stagehill-local-events-form] select.chosen-select:has(+ .chosen-container),
html body form.job_filters[data-stagehill-local-events-form] select.job-manager-category-dropdown:has(+ .chosen-container) {
	display: none !important;
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
}
html body form.job_filters[data-stagehill-local-events-form] .chosen-container {
	width: 100% !important;
	max-width: 100% !important;
}

form.job_filters[data-stagehill-local-events-form] ul.job_types {
	clear: both !important;
	display: block !important;
	overflow: hidden !important;
	width: 100% !important;
	margin: 0 0 40px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	list-style: none !important;
}

form.job_filters[data-stagehill-local-events-form] ul.job_types li {
	float: left !important;
	width: auto !important;
	margin: 0 30px 10px 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

form.job_filters[data-stagehill-local-events-form] ul.job_types label {
	display: inline-block !important;
	margin: 0 !important;
	white-space: nowrap !important;
	font-weight: 400 !important;
}

form.job_filters[data-stagehill-local-events-form] ul.job_types input {
	margin: 0 8px 0 0 !important;
	vertical-align: middle !important;
}

@media (max-width: 960px) {
	/* Local Venues / Local Tickets already sit inside WorkScout's mobile .container.
	 * Do not subtract another 40px from Local Stages: that was the reason its
	 * fields were visibly narrower than every other StageHill local directory. */
	form.job_filters[data-stagehill-local-events-form] {
		width: 100% !important;
		max-width: 100% !important;
		margin: 52px 0 42px 0 !important;
		box-sizing: border-box !important;
	}
	form.job_filters[data-stagehill-local-events-form] .search_jobs {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	form.job_filters[data-stagehill-local-events-form] .search_keywords,
	form.job_filters[data-stagehill-local-events-form] .search_location,
	form.job_filters[data-stagehill-local-events-form] .search_radius,
	form.job_filters[data-stagehill-local-events-form] .search_categories {
		float: none !important;
		clear: both !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 0 24px !important;
		box-sizing: border-box !important;
	}
	form.job_filters[data-stagehill-local-events-form] .search_keywords input,
	form.job_filters[data-stagehill-local-events-form] .search_location input,
	form.job_filters[data-stagehill-local-events-form] .search_radius input,
	form.job_filters[data-stagehill-local-events-form] .search_categories select,
	form.job_filters[data-stagehill-local-events-form] .search_categories .chosen-container {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}
	form.job_filters[data-stagehill-local-events-form] ul.job_types li {
		float: none !important;
		display: block !important;
		margin: 0 0 10px !important;
	}
}

/* Phase 2 parity: on touch/mobile keep the native category select and hide any late Chosen/Select2 clone. */
@media (max-width: 991px), (pointer: coarse) and (max-width: 1200px) {
	html body form.job_filters[data-stagehill-local-events-form] .search_categories select,
	html body form.job_filters[data-stagehill-local-events-form] .search_categories select.chosen-select,
	html body form.job_filters[data-stagehill-local-events-form] .search_categories select.chosen-done,
	html body form.job_filters[data-stagehill-local-events-form] .search_categories select.stagehill-local-events-native-mobile-select {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: relative !important;
		left: auto !important;
		top: auto !important;
		clip: auto !important;
		clip-path: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 44px !important;
		min-height: 44px !important;
		pointer-events: auto !important;
		z-index: auto !important;
	}
	html body form.job_filters[data-stagehill-local-events-form] .search_categories .chosen-container,
	html body form.job_filters[data-stagehill-local-events-form] .search_categories .select2-container {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
		position: absolute !important;
		left: -99999px !important;
		width: 1px !important;
		height: 1px !important;
		overflow: hidden !important;
	}
}

/* StageHill v94: Local Events uses the same loading presentation as Phase 2 local directories. */
div.job_listings.stagehill-local-events-phase2 > ul.job_listings {
	position: relative;
	min-height: 80px;
}

div.job_listings.stagehill-local-events-phase2 > ul.job_listings.loading {
	pointer-events: none;
	opacity: .48;
	background: none !important;
}

/* WP Job Manager hides rows inline while loading. Phase 2 keeps the current rows visible and fades them. */
div.job_listings.stagehill-local-events-phase2 > ul.job_listings.loading > li.job_listing,
div.job_listings.stagehill-local-events-phase2 > ul.job_listings.loading > li.no_job_listings_found {
	visibility: visible !important;
}

div.job_listings.stagehill-local-events-phase2 > ul.job_listings.loading:after {
	position: absolute;
	top: 32px;
	left: 50%;
	width: 28px;
	height: 28px;
	margin-left: -14px;
	border: 3px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	content: "";
	animation: stagehill-local-events-phase2-spin .7s linear infinite;
}

@keyframes stagehill-local-events-phase2-spin {
	to { transform: rotate(360deg); }
}
