/* Listing extras: sticky filters,
salary select,
single-job chips */

/* Sticky filter bar on listing pages */
section.job-listings .job_listings form.job_filters{
position: sticky;
	top: 0;
	z-index: 30;
	background: #fff;
	border: 1px solid #e6e8ee;
	border-radius: 10px;
	padding: 12px 14px 8px;
	margin-bottom: 14px;
	box-shadow: 0 2px 10px rgba(26,
26,
46,
0.06);
}section.job-listings .job_listings form.job_filters .search_jobs{
display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px 12px;
}section.job-listings .job_listings form.job_filters .search_jobs > div{
float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: 1 1 140px;
	min-width: 120px;
}section.job-listings .job_listings form.job_filters .search_keywords,
section.job-listings .job_listings form.job_filters .search_location{
flex: 1 1 180px;
}section.job-listings .job_listings form.job_filters .search_salary,
section.job-listings .job_listings form.job_filters .search_posted,
section.job-listings .job_listings form.job_filters .search_categories{
flex: 0 1 140px;
}/* Company hub link on cards (outside main <a>) */
section.job-listings .gaj-jlc__hub{
display: inline-block;
	margin: 0 0 0.65em 4.5em;
	font-size: 0.8rem;
	font-weight: 600;
	color: #2557a7;
	text-decoration: none;
}section.job-listings .gaj-jlc__hub:hover{
	text-decoration: underline;
}
@media (max-width: 767px) {section.job-listings .gaj-jlc__hub{
margin-left: 3.85em;
	}
}/* Sticky Apply on single job (mobile + desktop) */
section.job-listings .single_job_listing > .job_application.application{
position: sticky;
	bottom: 12px;
	z-index: 20;
}section.job-listings .single_job_listing > .job_application.application .application_button,
section.job-listings .single_job_listing > .job_application.application input[type="button"],
section.job-listings .single_job_listing > .job_application.application a.button,
section.job-listings .single_job_listing > .job_application.application .application_button_container{
box-shadow: 0 4px 16px rgba(26,
26,
46,
0.18);
}section.job-listings .job_listings form.job_filters .search_remote_position{
flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 10px !important;
	background: #f3f7ff;
	border: 1px solid #d5e2fb;
	border-radius: 8px;
	min-width: auto;
}section.job-listings .job_listings form.job_filters .search_remote_position label{
margin: 0;
	font-size: 0.88rem;
	font-weight: 600;
	color: #1a4db3;
	cursor: pointer;
}section.job-listings .job_listings form.job_filters .search_submit{
flex: 0 0 auto;
}section.job-listings .job_listings form.job_filters .search_submit input[type="submit"]{
padding: 10px 18px;
	border-radius: 8px !important;
	background: #2557a7 !important;
	border: 0;
	font-weight: 600;
}section.job-listings .job_listings form.job_filters label{
display: block;
	font-size: 0.75rem;
	font-weight: 600;
	color: #5c6578;
	margin-bottom: 4px;
}section.job-listings .job_listings form.job_filters input[type="text"],
section.job-listings .job_listings form.job_filters select{
width: 100%;
	border: 1px solid #d9dee8;
	border-radius: 8px;
	padding: 9px 11px;
	font-size: 0.92rem;
	background: #fff;
}/* Single job chips */
section.job-listings .single_job_listing ul.job-listing-meta.meta{
display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4em;
}section.job-listings .single_job_listing ul.job-listing-meta.meta li{
display: inline-flex;
	align-items: center;
	margin: 0 !important;
	padding: 0.2em 0.65em;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
	background: #f0f2f6;
	border: 1px solid #e4e7ee;
	color: #3d4454;
}section.job-listings .single_job_listing ul.job-listing-meta.meta li.gaj-jlc__chip--salary,
section.job-listings .single_job_listing ul.job-listing-meta.meta li.salary{
background: #e8f7ee;
	border-color: #c6e9d2;
	color: #0d6b32;
}section.job-listings .single_job_listing ul.job-listing-meta.meta li.gaj-jlc__chip--remote{
background: #e8f0ff;
	border-color: #c9d9fc;
	color: #1a4db3;
}section.job-listings .single_job_listing ul.job-listing-meta.meta li.gaj-jlc__chip--apply{
background: #f5f0ff;
	border-color: #e0d4fa;
	color: #5b2db3;
	font-weight: 500;
}section.job-listings .single_job_listing ul.job-listing-meta.meta li.gaj-jlc__badge--new,
section.job-listings .single_job_listing ul.job-listing-meta.meta li.gaj-jlc__chip--new{
background: #2557a7;
	border-color: #2557a7;
	color: #fff;
	text-transform: uppercase;
	font-size: 0.7rem;
	letter-spacing: 0.02em;
}/* Prefer our formatted salary chip; hide bare WPJM .salary when both exist */
section.job-listings .single_job_listing ul.job-listing-meta.meta li.salary:not([data-gaj-fmt]){
display: none;
}section.job-listings .single_job_listing ul.job-listing-meta.meta li.salary[data-gaj-fmt]{
	display: inline-flex;
}

@media (max-width: 767px) {section.job-listings .job_listings form.job_filters{
position: static;
		padding: 10px;
	}section.job-listings .job_listings form.job_filters .search_jobs > div{
flex: 1 1 100%;
	}section.job-listings .job_listings form.job_filters .search_remote_position{
flex: 1 1 auto;
	}
}/* Load more */
section.job-listings .job_listings a.load_more_jobs,
section.job-listings div.job_listings a.load_more_jobs{
display: table;
	margin: 1.25rem auto 0.5rem;
	padding: 12px 28px;
	border-radius: 8px !important;
	background: #2557a7 !important;
	color: #fff !important;
	font-weight: 600;
	border: 0;
	box-shadow: 0 2px 8px rgba(37,
87,
167,
0.25);
	text-decoration: none;
}section.job-listings .job_listings a.load_more_jobs:hover{
background: #1a4480 !important;
}section.job-listings .job_listings a.load_more_jobs.loading{
opacity: 0.65;
	pointer-events: none;
}/* AJAX loading skeleton for list */
section.job-listings ul.job_listings.loading{
position: relative;
	min-height: 120px;
}section.job-listings ul.job_listings.loading::after{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
	animation: gaj-shimmer 1.1s infinite;
	pointer-events: none;
	border-radius: 8px;
}
@keyframes gaj-shimmer {
	0% { transform: translateX(-40%); }
	100% { transform: translateX(40%); }
}/* Single: company hub + copy link */
section.job-listings .gaj-single-co-hub{
color: #1a1a2e;
	text-decoration: none;
}section.job-listings .gaj-single-co-hub:hover strong{
color: #2557a7;
	text-decoration: underline;
}section.job-listings .gaj-single-co-more{
margin: 0.15em 0 0;
	font-size: 0.85rem;
}section.job-listings .gaj-single-co-more a{
color: #2557a7;
	font-weight: 600;
	text-decoration: none;
}section.job-listings .gaj-single-co-more a:hover{
text-decoration: underline;
}section.job-listings .gaj-share-bar{
margin: 0 0 12px;
}section.job-listings .gaj-copy-link{
display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border: 1px solid #d9dee8;
	border-radius: 8px;
	background: #fff;
	color: #3d4454;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
}section.job-listings .gaj-copy-link:hover,
section.job-listings .gaj-copy-link.is-copied{
border-color: #2557a7;
	color: #2557a7;
	background: #f3f7ff;
}/* Explore block polish */
section.job-listings .gaj-explore{
background: #f7f8fb;
	border: 1px solid #e6e8ee;
	border-radius: 10px;
	padding: 1.25rem 1.4rem !important;
	margin-top: 1.75rem !important;
}section.job-listings .gaj-explore ul{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.35rem 1.25rem;
	padding-left: 1.1rem;
}
@media (max-width: 600px) {section.job-listings .gaj-explore ul{
		grid-template-columns: 1fr;
	}
}
