/**
 * Jazz HR job listings — layout and structure only.
 * Typography, palette, and button treatments inherit from the active theme.
 * Target .jazz_jobs_wrapper in your theme CSS for overrides.
 */

.jazz_jobs_wrapper {
	font: inherit;
	color: inherit;
	line-height: inherit;
}

/* Visually hidden text (WCAG: names for controls, new-tab hints) */
.jazz_jobs_wrapper .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.jazz_jobs_wrapper .jazz-hr-filters-fieldset {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.jazz_jobs_wrapper .jazz-hr-filter-label {
	display: block;
	font: inherit;
	font-weight: 600;
	margin-bottom: 0.35rem;
}

.jazz_jobs_wrapper .job-filters,
.jazz_jobs_wrapper .filter-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.75rem 1rem;
	width: 100%;
}

.jazz_jobs_wrapper .filter-row .col-4 {
	flex: 1 1 min(100%, 12rem);
	min-width: 0;
}

.jazz_jobs_wrapper select.filter {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	font: inherit;
	line-height: inherit;
	color: inherit;
	background-color: inherit;
	border: 1px solid currentColor;
	/* WCAG 2.2 AA 2.5.8 Target Size (minimum 24×24 CSS px); comfortable touch target */
	min-height: 2.75rem;
	padding: 0.35rem 0.5rem;
}

.jazz_jobs_wrapper select.filter:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.jazz_jobs_wrapper .filter-results {
	margin-top: 0.5rem;
}

.jazz_jobs_wrapper .filter-results .no-results-message.hidden {
	display: none;
}

.jazz_jobs_wrapper .filter-results .no-results-message {
	text-align: center;
	margin-top: 1.5rem;
}

.jazz_jobs_wrapper .filter-results .no-results-message p {
	font: inherit;
	margin: 0;
}

.jazz_jobs_wrapper .posting-category {
	display: block;
	font: inherit;
	color: inherit;
	opacity: 0.85;
}

.jazz_jobs_wrapper .posting-category em {
	margin-right: 0.35em;
}

.jazz_jobs_wrapper ul.job-listings {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

.jazz_jobs_wrapper .job-listing {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.75rem 1rem;
	margin: 0;
	padding: 0.75rem 0;
	list-style: none;
	text-align: left;
}

.jazz_jobs_wrapper .job-listing .posting {
	flex: 1 1 12rem;
	min-width: 0;
}

.jazz_jobs_wrapper .job-listing .posting h4 {
	margin: 0 0 0.35em;
}

.jazz_jobs_wrapper .posting-apply {
	flex-shrink: 0;
}

.jazz_jobs_wrapper .posting-apply .apply-button {
	display: inline-block;
	font: inherit;
	line-height: inherit;
}

@media screen and (max-width: 750px) {
	.jazz_jobs_wrapper .filter-row {
		flex-direction: column;
	}

	.jazz_jobs_wrapper .filter-row .col-4 {
		width: 100%;
	}
}
