/*
 * JobsFor public UI system.
 *
 * A brand-scoped polish layer for public WorkScout/WP Job Manager/MAS Company
 * screens. It does not touch JobsFor Core wp-admin surfaces, which keep their
 * own .jfcore-app design system.
 */
:root {
	--jfpub-blue: #07b1e5;
	--jfpub-blue-hover: #0698c4;
	--jfpub-blue-active: #057ea3;
	--jfpub-navy: #0b2668;
	--jfpub-dark-blue: #26368d;
	--jfpub-ink: #222222;
	--jfpub-muted: #65708a;
	--jfpub-faint: rgba(21, 21, 21, .46);
	--jfpub-canvas: #f5f8fc;
	--jfpub-surface: #fff;
	--jfpub-surface-blue: #eaf6fd;
	--jfpub-border: #e1e8f0;
	--jfpub-border-strong: #ccd8e6;
	--jfpub-success: #157a4a;
	--jfpub-warning: #a86400;
	--jfpub-danger: #b42318;
	--jfpub-radius-sm: 8px;
	--jfpub-radius-md: 12px;
	--jfpub-radius-lg: 16px;
	--jfpub-shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px rgba(16, 24, 40, .06);
	--jfpub-shadow-lift: 0 1px 2px rgba(16, 24, 40, .05), 0 16px 34px rgba(11, 38, 104, .10);
	--jfpub-ease: cubic-bezier(.23, 1, .32, 1);
	--jfpub-font: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}

body:not(.wp-admin) {
	font-family: var(--jfpub-font);
}

body:not(.wp-admin),
body:not(.wp-admin) input,
body:not(.wp-admin) select,
body:not(.wp-admin) textarea,
body:not(.wp-admin) button {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body:not(.wp-admin) {
	color: var(--jfpub-ink);
	overflow-x: hidden;
}

/* The parent theme (workscout/style.css) sets a literal
 * `font-family: sans-serif` directly on a/input/select/textarea/button -
 * these tags don't just inherit body's font-family, that rule overrides
 * it on the elements themselves, at a specificity nothing here happened
 * to beat. Result: every link and most form control sitewide silently
 * fell back to the browser's generic sans-serif instead of Roboto, even
 * though body itself was already correctly set above. Match the same
 * `body:not(.wp-admin) <tag>` specificity to win outright. */
body:not(.wp-admin) a,
body:not(.wp-admin) input,
body:not(.wp-admin) select,
body:not(.wp-admin) textarea,
body:not(.wp-admin) button {
	font-family: var(--jfpub-font);
}

body:not(.wp-admin) a {
	transition: color 160ms var(--jfpub-ease), background-color 160ms var(--jfpub-ease), border-color 160ms var(--jfpub-ease), box-shadow 160ms var(--jfpub-ease), transform 120ms ease-out;
}

body:not(.wp-admin) a:focus-visible,
body:not(.wp-admin) button:focus-visible,
body:not(.wp-admin) input:focus-visible,
body:not(.wp-admin) select:focus-visible,
body:not(.wp-admin) textarea:focus-visible,
body:not(.wp-admin) summary:focus-visible {
	outline: 2px solid var(--jfpub-blue);
	outline-offset: 3px;
}

body:not(.wp-admin) .button,
body:not(.wp-admin) button,
body:not(.wp-admin) input[type="submit"],
body:not(.wp-admin) .job-manager-button,
body:not(.wp-admin) .woocommerce a.button,
body:not(.wp-admin) .woocommerce button.button {
	border-radius: var(--jfpub-radius-sm);
	font-weight: 750;
	transition: background-color 160ms var(--jfpub-ease), border-color 160ms var(--jfpub-ease), color 160ms var(--jfpub-ease), box-shadow 160ms var(--jfpub-ease), transform 120ms ease-out;
}

body:not(.wp-admin) .button:active,
body:not(.wp-admin) button:active,
body:not(.wp-admin) input[type="submit"]:active {
	transform: scale(.98);
}

body:not(.wp-admin) input[type="text"],
body:not(.wp-admin) input[type="email"],
body:not(.wp-admin) input[type="password"],
body:not(.wp-admin) input[type="search"],
body:not(.wp-admin) input[type="tel"],
body:not(.wp-admin) input[type="url"],
body:not(.wp-admin) input[type="number"],
body:not(.wp-admin) select,
body:not(.wp-admin) textarea {
	min-height: 44px;
	border-color: var(--jfpub-border);
	border-radius: var(--jfpub-radius-sm);
	color: var(--jfpub-ink);
	box-shadow: none;
}

body:not(.wp-admin) input::placeholder,
body:not(.wp-admin) textarea::placeholder {
	color: rgba(101, 112, 138, .82);
}

/* Header and titlebar */
#header-container #header {
	box-shadow: 0 1px 0 rgba(11, 38, 104, .08), 0 8px 22px rgba(11, 38, 104, .04);
}

#header-container #header .left-side #navigation ul.menu li a {
	color: rgba(21, 21, 21, .74);
	font-weight: 650;
}

#header-container #header .left-side #navigation ul.menu li a:hover,
#header-container #header .left-side #navigation ul.menu li.current-menu-item > a,
#header-container #header .left-side #navigation ul.menu li.current-menu-ancestor > a {
	color: var(--jfpub-navy);
}

#header-container .header-widget a.button,
#header-container a.button.border {
	min-height: 38px;
	border-radius: 999px;
}

@media (max-width: 767px) {
	#header-container #header {
		min-width: 0;
	}

	#header-container #header .container,
	#header-container #header .left-side {
		width: 100%;
		min-width: 0;
	}

	#header-container #logo_nh,
	#header-container #logo {
		max-width: calc(100vw - 72px);
	}

	#header-container #logo_nh img,
	#header-container #logo img {
		max-width: 168px;
		height: auto;
	}
}

#titlebar {
	background: linear-gradient(180deg, #f8fbff 0%, #f1f6fb 100%);
	border-bottom: 1px solid rgba(11, 38, 104, .06);
}

#titlebar h1,
#titlebar h2 {
	color: var(--jfpub-ink);
	font-weight: 750;
	letter-spacing: 0;
	text-wrap: balance;
}

#titlebar span.subtitle {
	color: var(--jfpub-muted);
}

/* Live homepage bridge: soften the old Elementor/WorkScout sections until the
 * full production template is promoted. */
.home #wrapper {
	background: #fff;
}

.home .elementor-widget-workscout-homesearch .intro-banner,
.home .intro-banner {
	background-color: #f6fbff;
}

.home .elementor-widget-workscout-homesearch .intro-search-field,
.home .intro-search-field {
	border-color: rgba(11, 38, 104, .10);
}

.home .elementor-widget-workscout-homesearch .intro-search-button .button,
.home .intro-search-button .button {
	background: var(--jfpub-dark-blue);
	border-radius: var(--jfpub-radius-sm);
	box-shadow: 0 12px 22px rgba(38, 54, 141, .18);
}

.home .elementor-widget-workscout-homesearch .intro-search-button .button:hover,
.home .intro-search-button .button:hover {
	background: var(--jfpub-navy);
}

/* Pathway pages */
.jf-pathway {
	position: relative;
	max-width: 1120px;
	margin: 0 auto;
	padding: 22px 0 72px;
	color: var(--jfpub-ink);
}

.jf-pathway::before {
	content: "";
	position: absolute;
	inset: -24px -32px auto;
	height: 210px;
	z-index: -1;
	border-radius: 0 0 28px 28px;
	background: linear-gradient(135deg, rgba(7, 177, 229, .10), rgba(11, 38, 104, .05));
}

.jf-pathway__intro {
	max-width: 820px;
	margin-bottom: 30px;
}

.jf-pathway__intro span {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	margin-bottom: 12px;
	padding: 5px 10px;
	border: 1px solid rgba(7, 177, 229, .20);
	border-radius: 999px;
	background: #fff;
	color: var(--jfpub-navy);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .055em;
	text-transform: uppercase;
}

.jf-pathway__intro h2 {
	max-width: 780px;
	margin: 0 0 14px;
	color: var(--jfpub-ink);
	font-size: clamp(32px, 4.6vw, 52px);
	font-weight: 800;
	line-height: 1.06;
	text-wrap: balance;
}

.jf-pathway__intro p {
	max-width: 760px;
	margin: 0;
	color: var(--jfpub-muted);
	font-size: 17px;
	line-height: 1.65;
	text-wrap: pretty;
}

.jf-pathway__steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 28px;
}

.jf-pathway__steps article {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	min-height: 140px;
	padding: 22px;
	border: 1px solid var(--jfpub-border);
	border-radius: var(--jfpub-radius-lg);
	background: var(--jfpub-surface);
	box-shadow: var(--jfpub-shadow-card);
}

.jf-pathway__steps b {
	display: grid;
	place-items: center;
	flex: 0 0 32px;
	height: 32px;
	border-radius: 10px;
	background: var(--jfpub-surface-blue);
	color: var(--jfpub-navy);
	font-variant-numeric: tabular-nums;
}

.jf-pathway__steps p {
	margin: 1px 0 0;
	color: #46546b;
	font-size: 14.5px;
	line-height: 1.55;
}

.jf-pathway__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.jf-pathway__actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 11px 16px;
	border-radius: var(--jfpub-radius-sm);
	color: var(--jfpub-navy);
	font-weight: 750;
	text-decoration: none;
}

.jf-pathway__actions .jf-pathway__primary {
	padding-inline: 20px;
	background: var(--jfpub-dark-blue);
	color: #fff;
	box-shadow: 0 12px 22px rgba(38, 54, 141, .16);
}

.jf-pathway__actions .jf-pathway__primary:hover {
	background: var(--jfpub-navy);
	color: #fff;
}

/* Job browse/search */
.job_filters,
.resume_filters {
	border: 1px solid var(--jfpub-border);
	border-radius: var(--jfpub-radius-lg);
	background: #fff;
	box-shadow: var(--jfpub-shadow-card);
	overflow: hidden;
}

.job_filters .search_jobs,
.resume_filters .search_resumes {
	padding: 22px;
	background: linear-gradient(180deg, #fff 0%, #f7fbff 100%);
}

.job_filters .search_jobs div,
.resume_filters .search_resumes div {
	padding: 0 8px 10px 0;
}

.job_filters .search_jobs input,
.job_filters .search_jobs select,
.resume_filters .search_resumes input,
.resume_filters .search_resumes select {
	border-color: var(--jfpub-border);
	background-color: #fff;
}

.job_filters .showing_jobs,
.resume_filters .showing_resumes {
	padding: 13px 22px;
	border-top: 1px solid rgba(11, 38, 104, .08);
	background: var(--jfpub-surface-blue);
	color: var(--jfpub-navy);
	font-size: 13px;
}

ul.job_listings,
ul.resumes {
	border: 0;
	background: transparent;
}

ul.job_listings li.job_listing,
ul.resumes li.resume {
	margin: 0 0 14px;
	border: 1px solid var(--jfpub-border);
	border-radius: var(--jfpub-radius-lg);
	background: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
	overflow: hidden;
	transition: border-color 160ms var(--jfpub-ease), box-shadow 160ms var(--jfpub-ease), transform 160ms var(--jfpub-ease);
}

ul.job_listings li.job_listing:hover,
ul.resumes li.resume:hover {
	border-color: rgba(7, 177, 229, .34);
	box-shadow: var(--jfpub-shadow-lift);
	transform: translateY(-1px);
}

ul.job_listings li.job_listing a,
ul.resumes li.resume a {
	padding: 22px;
}

ul.job_listings li.job_listing img.company_logo,
ul.resumes li.resume img.candidate_photo,
.company-letter-logo,
.company-logo img,
.company-logo--placeholder {
	border-radius: 12px;
	background: linear-gradient(135deg, #f0f8fc, #e7eef8);
	box-shadow: inset 0 0 0 1px rgba(11, 38, 104, .08);
	object-fit: contain;
}

ul.job_listings li.job_listing .position h3,
ul.resumes li.resume .resume-content h3,
.company strong,
.company h3,
.mas-wpjmc-company-title {
	color: var(--jfpub-ink);
	font-weight: 750;
	line-height: 1.25;
}

ul.job_listings li.job_listing .company,
ul.job_listings li.job_listing .location,
ul.job_listings li.job_listing .meta,
ul.resumes li.resume .candidate-location,
.company .meta,
.mas-wpjmc-company-location {
	color: var(--jfpub-muted);
}

ul.job_listings li.job_listing .meta .job-type,
.job-manager .job-type,
.job-types .job-type {
	border-radius: 999px;
	background: #f0f7fd;
	color: var(--jfpub-navy);
	font-weight: 750;
}

.job-listing.grid,
.job-listing.job-listing {
	border-color: var(--jfpub-border) !important;
	border-radius: var(--jfpub-radius-lg) !important;
	background: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
	overflow: hidden;
	transition: border-color 160ms var(--jfpub-ease), box-shadow 160ms var(--jfpub-ease), transform 160ms var(--jfpub-ease);
}

.job-listing.grid:hover,
.job-listing.job-listing:hover {
	border-color: rgba(7, 177, 229, .34) !important;
	box-shadow: var(--jfpub-shadow-lift);
	transform: translateY(-1px);
}

.job-listing .job-listing-company-logo {
	position: relative;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 14px;
	background: linear-gradient(135deg, #edf8fd, #e8eef8);
	box-shadow: inset 0 0 0 1px rgba(11, 38, 104, .08);
	overflow: hidden;
}

.job-listing .job-listing-company-logo::before {
	content: "JF";
	color: var(--jfpub-navy);
	font-size: 16px;
	font-weight: 850;
	letter-spacing: .02em;
}

.job-listing .job-listing-company-logo img.company_logo {
	position: absolute;
	inset: 8px;
	width: calc(100% - 16px);
	height: calc(100% - 16px);
	margin: 0;
	border-radius: 10px;
	background: #fff;
	object-fit: contain;
}

.job-listing .job-listing-company-logo img.company_logo[src*="placeholder.png"] {
	display: none;
}

.job-listing h4.job-listing-company {
	color: var(--jfpub-muted);
	font-size: 13px;
	font-weight: 650;
}

.job-listing h3.job-listing-title {
	color: var(--jfpub-ink);
	font-weight: 760;
	line-height: 1.3;
	text-wrap: pretty;
}

.job-listing .job-listing-footer {
	background: #fbfdff;
	border-top-color: rgba(11, 38, 104, .06);
}

.job-listing .job-listing-footer ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
}

.job-listing .job-listing-footer li {
	min-width: 0;
	color: var(--jfpub-muted);
	white-space: normal;
}

/* WorkScout split-map job page: list/search first on mobile, map second. */
@media (min-width: 992px) {
	body.page-template-template-jobs .fs-inner-container,
	body.page-template-template-jobs-fullpage .fs-inner-container {
		background: var(--jfpub-canvas);
	}
}

@media (max-width: 991px) {
	body.split .full-page-container.with-map {
		display: flex !important;
		flex-direction: column !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
		padding-top: 0 !important;
	}

	body.split .full-page-content-container {
		order: 1;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
	}

	body.split .full-page-content-inner {
		min-height: 0 !important;
		padding-bottom: 18px;
	}

	body.split .full-page-map-container {
		display: none !important;
	}

	body.split .full-page-map-container #search_map,
	body.split .full-page-map-container .jobs_map {
		height: 100% !important;
		min-height: 260px !important;
	}

	body.page-template-template-jobs .fs-container,
	body.page-template-template-jobs-fullpage .fs-container {
		display: flex;
		flex-direction: column;
	}

	body.page-template-template-jobs .fs-inner-container,
	body.page-template-template-jobs-fullpage .fs-inner-container {
		order: 1;
		width: 100% !important;
	}

	body.page-template-template-jobs .fs-inner-container.map-fixed,
	body.page-template-template-jobs .fs-inner-container.map-container,
	body.page-template-template-jobs-fullpage .fs-inner-container.map-fixed,
	body.page-template-template-jobs-fullpage .fs-inner-container.map-container,
	body.page-template-template-jobs #map-container,
	body.page-template-template-jobs-fullpage #map-container {
		order: 2;
		max-height: 320px;
		min-height: 260px;
	}
}

/* Company directory and business cards */
.jfdir-browse .container,
.jobsfor-business-listing.container {
	width: calc(100% - 48px) !important;
	max-width: 1200px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

.jfdir-browse,
.jfdir-browse *,
.jobsfor-business-listing,
.jobsfor-business-listing * {
	box-sizing: border-box;
}

.companies-overview,
.company-list,
.mas-wpjmc-companies,
ul.companies {
	color: var(--jfpub-ink);
}

.company,
.mas-wpjmc-company,
ul.companies li.company {
	border-color: var(--jfpub-border) !important;
	border-radius: var(--jfpub-radius-lg) !important;
	background: #fff;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
	transition: border-color 160ms var(--jfpub-ease), box-shadow 160ms var(--jfpub-ease), transform 160ms var(--jfpub-ease);
}

.company:hover,
.mas-wpjmc-company:hover,
ul.companies li.company:hover {
	border-color: rgba(7, 177, 229, .34) !important;
	box-shadow: var(--jfpub-shadow-lift);
	transform: translateY(-1px);
}

.company_filters,
.mas-wpjmc-company-search,
.company-sidebar,
.company-filter {
	border-color: var(--jfpub-border);
	border-radius: var(--jfpub-radius-lg);
	background: #fff;
	box-shadow: var(--jfpub-shadow-card);
}

.company_filters input,
.company_filters select,
.mas-wpjmc-company-search input,
.mas-wpjmc-company-search select,
.company-sidebar input,
.company-sidebar select {
	border-color: var(--jfpub-border);
}

/* Single job */
.single_job_listing,
.single-job_listing .single_job_listing,
.job-overview,
.job_description,
.company-info {
	border-color: var(--jfpub-border);
}

.single_job_listing .job_description,
.single-job_listing .job_description,
.single_job_listing .company-info {
	border-radius: var(--jfpub-radius-lg);
	background: #fff;
	box-shadow: var(--jfpub-shadow-card);
}

.single_job_listing .application .application_button,
.single_job_listing .application_button {
	min-height: 46px;
	border-radius: var(--jfpub-radius-sm);
	background: var(--jfpub-dark-blue);
	box-shadow: 0 12px 22px rgba(38, 54, 141, .18);
}

.single_job_listing .application .application_button:hover,
.single_job_listing .application_button:hover {
	background: var(--jfpub-navy);
}

.job_listing-template-default #titlebar h1,
.single-job_listing #titlebar h1 {
	max-width: 100%;
	overflow-wrap: break-word;
	text-wrap: balance;
	white-space: normal !important;
}

.company-info-boxed .company-info,
.company-info-boxed-links,
.ajax-job-view-links {
	min-width: 0;
}

.company-info-boxed-links,
.ajax-job-view-links {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.company-info-boxed-links span,
.ajax-job-view-links span {
	max-width: 100%;
	margin: 0 !important;
	overflow-wrap: anywhere;
	white-space: normal;
}

.company-info-boxed-links a,
.ajax-job-view-links a,
.company-data__content--list-item,
.company-data__content--list-item a {
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: break-word;
	white-space: normal !important;
}

/* Account utility shortcodes */
.jf-preferences,
.jf-recycle-bin,
.jf-notification-feed,
.jf-employer-report,
.jf-interview-empty {
	border: 1px solid var(--jfpub-border);
	border-radius: var(--jfpub-radius-lg);
	background: #fff;
	box-shadow: var(--jfpub-shadow-card);
}

.jf-preferences,
.jf-recycle-bin,
.jf-interview-empty {
	padding: 22px;
}

.jf-notification-feed {
	display: grid;
	gap: 10px;
	padding: 12px;
}

.jf-notification-item {
	display: grid;
	gap: 4px;
	padding: 14px;
	border-radius: var(--jfpub-radius-md);
	background: #f7fbff;
	text-decoration: none !important;
}

.jf-notification-item strong {
	color: var(--jfpub-navy);
}

.jf-notification-item span {
	color: var(--jfpub-muted);
}

@media (prefers-reduced-motion: reduce) {
	body:not(.wp-admin) *,
	body:not(.wp-admin) *::before,
	body:not(.wp-admin) *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

@media (max-width: 780px) {
	.jfdir-browse .container,
	.jobsfor-business-listing.container {
		width: calc(100vw - 80px) !important;
		max-width: 1200px !important;
	}

	.jfdir-browse,
	.jfdir-browse__hero,
	.jfdir-browse__results-wrap {
		width: 100vw !important;
		max-width: 100vw !important;
		overflow-x: hidden !important;
	}

	.jfdir-browse__heading {
		max-width: 100% !important;
		font-size: 30px !important;
	}

	.jfdir-browse__subheading {
		max-width: calc(100vw - 96px) !important;
		overflow-wrap: anywhere;
	}

	.jfdir-browse__search {
		width: calc(100vw - 110px) !important;
		max-width: calc(100vw - 110px) !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.jfdir-browse-grid,
	.jfdir-card,
	.jfdir-card__top,
	.jfdir-card__footer {
		width: calc(100vw - 110px) !important;
		max-width: calc(100vw - 110px) !important;
	}

	.jfdir-card {
		overflow: hidden !important;
	}

	.jfdir-card__top {
		display: grid !important;
		grid-template-columns: auto minmax(0, max-content);
	}

	.jfdir-card__badge {
		max-width: 120px;
		overflow: hidden;
		text-overflow: ellipsis;
		justify-self: end;
	}

	.jf-pathway {
		padding: 8px 0 52px;
	}

	.jf-pathway::before {
		inset-inline: -18px;
	}

	.jf-pathway__steps {
		grid-template-columns: 1fr;
	}

	.jf-pathway__steps article {
		min-height: 0;
	}

	.job_filters .search_jobs,
	.resume_filters .search_resumes {
		padding: 16px;
	}

	ul.job_listings li.job_listing a,
	ul.resumes li.resume a {
		padding: 18px;
	}

	.job-list.full.grid-layout {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	.job-listing.grid {
		width: 100% !important;
		margin: 0 !important;
	}

	.job-listing .job-listing-details {
		align-items: flex-start;
	}

	.job-listing .job-listing-company-logo {
		width: 54px;
		height: 54px;
	}

	.job-listing .job-listing-footer ul {
		display: grid;
		grid-template-columns: 1fr;
		gap: 7px;
	}

	.job_listing-template-default #titlebar,
	.single-job_listing #titlebar {
		min-height: 0;
	}

	.job_listing-template-default #titlebar h1,
	.single-job_listing #titlebar h1 {
		max-width: calc(100vw - 30px);
		font-size: 27px;
		line-height: 1.12;
		text-wrap: unset;
	}

	.job_listing-template-default #titlebar h1 .new_job,
	.single-job_listing #titlebar h1 .new_job {
		display: table;
		margin: 8px 0 0;
		font-size: 11px;
		line-height: 1.2;
	}

	.company-info-boxed-links ._company_email,
	.company-info-boxed-links ._company_email a {
		display: block;
		width: 100%;
		word-break: break-all;
	}

	.job_listing-template-default .container .eleven.columns,
	.job_listing-template-default .container .five.columns,
	.job_listing-template-default .container .sixteen.columns,
	.job_listing-template-default .container .twelve.columns,
	.job_listing-template-default .container .four.columns {
		box-sizing: border-box;
		width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.company-info-boxed,
	.company-info-boxed .company-info {
		box-sizing: border-box;
		width: 100%;
	}

	.company-info-boxed .company-info {
		display: grid;
		gap: 16px;
		padding: 22px;
	}

	.company-info-boxed .company-info .content {
		min-width: 0;
	}

	.company-info-boxed .company-info .button,
	.company-info-boxed .company-info a.button,
	.job-overview a.button,
	.single_job_listing .application_button {
		width: 100%;
		text-align: center;
	}
}

@media (max-width: 520px) {
	.jf-pathway__intro h2 {
		font-size: 34px;
	}

	.jf-pathway__intro p {
		font-size: 15.5px;
	}

	.jf-pathway__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.jf-pathway__actions a {
		width: 100%;
		text-align: center;
	}

	#titlebar h1,
	#titlebar h2 {
		font-size: 28px;
	}
}

.footer-row .widget_nav_menu {
	text-align: left;
}

.new-footer-social-icons li a {
	font-size: 25px;
}

@media (max-width: 767px) {
	.footer-row .widget_nav_menu {
		text-align: center;
	}
}

@media (max-width: 420px) {
	.footer-row .widget_nav_menu:not(:last-child) {
		border-bottom: 1px solid #fff;
		padding-block: 20px 0px;
	}
}

.footer-new-bottom-section {
	padding-bottom: 40px;
}

/* User account dropdown: white background (was dark #303030, styled for
 * light-on-dark text) - swap the arrow + link/icon colors to match, same
 * pattern the parent theme already uses for its .transparent-header
 * variant of this same dropdown (style.css ~18008-18009), just applied
 * as the default instead of only under that header state. */
.header-notifications-dropdown {
	background-color: #fff;
}

.header-notifications-dropdown:before {
	border-bottom-color: #fff;
}

ul.user-menu-small-nav li a,
ul.user-menu-small-nav li a i {
	color: #555;
}

ul.user-menu-small-nav li a:hover,
ul.user-menu-small-nav li a:hover i {
	color: var(--jfpub-blue);
}

ul.user-menu-small-nav li a {
	font-size: 17px;
	line-height: calc(100% + 15px);
	font-family: var(--jfpub-font);
}

/* Main site nav dropdown (Find Jobs / Community / etc. sub-menus): same
 * white-dropdown treatment as the account menu above. The parent theme's
 * dark #303030 background paired with its own #444 link color was a
 * near-invisible contrast bug, and dropdown rows had no hover feedback
 * at all - both fixed here, not just the color swap. */
.new-header #navigation ul ul {
	background-color: #fff;
}

.new-header #navigation ul ul:before,
.new-header #navigation ul ul:after {
	border-bottom-color: #fff;
}

.new-header #navigation ul ul li a:hover {
	color: var(--jfpub-blue);
	background-color: var(--jfpub-surface-blue);
}
