/* Continuous improvement pass — listings + single */

/* Sort control */
section.job-listings .job_listings form.job_filters .search_sort{
flex: 0 1 150px;
}/* Active filter chips */
section.job-listings .gaj-active-filters{
display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 0.85rem;
	min-height: 0;
}section.job-listings .gaj-active-filters:not([hidden]){
margin-bottom: 0.85rem;
}section.job-listings .gaj-active-filters .gaj-af-chip{
display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	background: #eef3ff;
	border: 1px solid #d0ddf8;
	color: #1a4db3;
	font-size: 0.8rem;
	font-weight: 600;
}section.job-listings .gaj-active-filters .gaj-af-chip button{
border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	font-size: 1rem;
	line-height: 1;
	padding: 0 0 0 0.15rem;
}section.job-listings .gaj-active-filters .gaj-af-clear{
border: 0;
	background: transparent;
	color: #5c6578;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	padding: 0.2rem 0.3rem;
}/* Recently viewed */
section.job-listings .gaj-recent-jobs:not([hidden]){
margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	background: #f7f8fb;
	border: 1px solid #e6e8ee;
	border-radius: 10px;
}section.job-listings .gaj-recent-jobs h3{
margin: 0 0 0.5rem;
	font-size: 0.95rem;
	color: #1a1a2e;
}section.job-listings .gaj-recent-jobs ul{
list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.75rem;
}section.job-listings .gaj-recent-jobs a{
font-size: 0.85rem;
	color: #2557a7;
	text-decoration: none;
	font-weight: 600;
}section.job-listings .gaj-recent-jobs a:hover{
text-decoration: underline;
}section.job-listings .gaj-recent-jobs .gaj-recent-co{
color: #5c6578;
	font-weight: 500;
}/* Share row */
section.job-listings .gaj-share-row{
display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 0.85rem;
}section.job-listings .gaj-share-label{
font-size: 0.8rem;
	font-weight: 700;
	color: #5c6578;
	margin-right: 0.25rem;
}section.job-listings .gaj-share{
display: inline-flex;
	padding: 0.28rem 0.65rem;
	border-radius: 999px;
	border: 1px solid #d9dee8;
	background: #fff;
	color: #3d4454;
	font-size: 0.78rem;
	font-weight: 600;
	text-decoration: none;
}section.job-listings .gaj-share:hover{
	border-color: #2557a7;
	color: #2557a7;
	background: #f3f7ff;
}

/* Mobile sticky apply bar — primary Apply CTA on single jobs */
.gaj-mobile-apply {
	display: none;
}
@media (max-width: 767px) {
	.gaj-mobile-apply {
		display: flex !important; /* beat competing theme hide rules */
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 10050; /* above chat widgets / sticky ads when present */
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
		background: #fff;
		border-top: 1px solid #e6e8ee;
		box-shadow: 0 -4px 18px rgba(26, 26, 46, 0.1);
		/* keep out of print + reduced-motion still visible */
		visibility: visible;
		pointer-events: auto;
	}
	.gaj-mobile-apply__text {
		display: flex;
		flex-direction: column;
		min-width: 0;
		flex: 1;
	}
	.gaj-mobile-apply__text strong {
		font-size: 0.88rem;
		color: #1a1a2e;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.gaj-mobile-apply__text span {
		font-size: 0.75rem;
		color: #5c6578;
	}
	.gaj-mobile-apply__btn {
		flex: 0 0 auto;
		padding: 12px 16px;
		min-height: 44px; /* touch target */
		border-radius: 8px;
		background: #2557a7;
		color: #fff !important;
		font-weight: 700;
		font-size: 0.9rem;
		line-height: 1.2;
		text-decoration: none !important;
		box-shadow: 0 2px 8px rgba(37, 87, 167, 0.28);
	}
	.gaj-mobile-apply__btn:hover,
	.gaj-mobile-apply__btn:focus {
		background: #1a3f7a;
		color: #fff !important;
	}
	body.single-job_listing {
		padding-bottom: 76px;
	}
}

/* Empty filter CTA */
.gaj-empty-cta {
	margin: 1rem 0 0.5rem;
	padding: 1rem 1.15rem;
	background: #f3f7ff;
	border: 1px solid #d5e2fb;
	border-radius: 10px;
}
.gaj-empty-cta__btn {
	display: inline-block;
	margin-right: 0.75rem;
	padding: 0.55rem 1rem !important;
	background: #2557a7 !important;
	color: #fff !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	font-weight: 600;
}
.gaj-empty-cta__reset {
color: #2557a7;
	font-weight: 600;
}/* A11y focus */
section.job-listings .job_listings a:focus-visible,
section.job-listings .job_listings button:focus-visible,
section.job-listings .job_listings input:focus-visible,
section.job-listings .job_listings select:focus-visible,
section.job-listings .single_job_listing a:focus-visible,
section.job-listings .single_job_listing button:focus-visible,
.gaj-mobile-apply__btn:focus-visible,
.gaj-share:focus-visible,
.gaj-copy-link:focus-visible{
outline: 3px solid #2557a7;
	outline-offset: 2px;
}/* Source chip on cards */
section.job-listings .gaj-jlc__chip--source{
background: #f5f6f8 !important;
	border-color: #e4e7ee !important;
	color: #6b7385 !important;
	font-weight: 500 !important;
}/* Job type checkboxes as pill row */
section.job-listings .job_listings .job_types{
display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.75rem;
	margin: 0.5rem 0 0.25rem;
	padding: 0.35rem 0 0;
	border-top: 1px solid #eef0f4;
	list-style: none;
}section.job-listings .job_listings .job_types li{
list-style: none;
	margin: 0;
}section.job-listings .job_listings .job_types label{
display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.25rem 0.6rem;
	border-radius: 999px;
	background: #f0f2f6;
	border: 1px solid #e4e7ee;
	font-size: 0.8rem;
	font-weight: 600;
	color: #3d4454;
	cursor: pointer;
}section.job-listings .job_listings .job_types input:checked + label,
section.job-listings .job_listings .job_types label:has(input:checked){
background: #e8f0ff;
	border-color: #c9d9fc;
	color: #1a4db3;
}/* Showing jobs line */
section.job-listings .showing_jobs{
	font-size: 0.9rem;
	color: #5c6578;
	margin: 0.25rem 0 0.75rem;
}

/* Print single job */
@media print {
	header, footer, .gaj-mobile-apply, .gaj-share-row, .gaj-share-bar,
	.gaj-save-form, .gaj-copy-link, .job_application, nav, .widget-area,
	.gaj-explore, #secondary {
display: none !important;
	}section.job-listings .single_job_listing{
display: block !important;
	}section.job-listings .single_job_listing > *{
		break-inside: avoid;
	}
	body {
		color: #000;
		background: #fff;
	}
}
