/* Public Job Bank portal.
   This file owns only /job-bank. It deliberately does not style job seeker,
   employer, admin, or register portals. */

body[data-path="job-bank"],
body[data-path="job"] {
	--jb-jobs-bg: #050605;
	--jb-jobs-panel: rgba(18, 18, 17, 0.86);
	--jb-jobs-panel-strong: rgba(24, 24, 23, 0.94);
	--jb-jobs-panel-tint: linear-gradient(135deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.02));
	--jb-jobs-panel-soft: rgba(255, 255, 255, 0.055);
	--jb-jobs-line: rgba(255, 255, 255, 0.13);
	--jb-jobs-line-gold: rgba(217, 174, 58, 0.44);
	--jb-jobs-text: #f7f5ee;
	--jb-jobs-muted: rgba(247, 245, 238, 0.68);
	--jb-jobs-gold: #d9ae3a;
	--jb-jobs-green: #1f9a5f;
	--jb-jobs-red: #c82d24;
}

.jb-public-shell {
	position: relative;
	width: 100vw;
	min-height: 100vh;
	margin-left: calc(50% - 50vw);
	overflow: hidden;
	padding: clamp(18px, 3vw, 34px) max(18px, calc((100vw - 1320px) / 2)) clamp(44px, 6vw, 82px);
	background:
		radial-gradient(circle at 12% 8%, rgba(31, 154, 95, 0.2), transparent 32%),
		radial-gradient(circle at 88% 12%, rgba(200, 45, 36, 0.14), transparent 28%),
		linear-gradient(180deg, #050605 0%, #11100f 46%, #060606 100%);
	color: var(--jb-jobs-text);
	isolation: isolate;
}

/* A restrained labour-market grid gives the page motion without touching the
   result cards or creating layout work on every frame. */
.jb-public-shell::before,
.jb-public-shell::after {
	position: fixed;
	inset: 0;
	z-index: 0;
	content: "";
	pointer-events: none;
}

.jb-public-shell::before {
	opacity: 0.2;
	background-image:
		linear-gradient(90deg, rgba(217, 174, 58, 0.08) 1px, transparent 1px),
		linear-gradient(0deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-position: 0 0;
	background-size: 160px 160px;
	mask-image: radial-gradient(circle at 50% 14%, #000, transparent 68%);
	animation: jb-jobs-market-grid 38s linear infinite;
}

.jb-public-shell::after {
	background:
		radial-gradient(ellipse at 18% 32%, rgba(31, 154, 95, 0.18), transparent 36%),
		radial-gradient(ellipse at 82% 24%, rgba(200, 45, 36, 0.12), transparent 34%),
		radial-gradient(ellipse at 68% 72%, rgba(217, 174, 58, 0.08), transparent 30%);
	animation: jb-jobs-ambient-drift 34s ease-in-out infinite alternate;
}

/* Background-only motion pieces. They use transform and opacity only, so the job
   list and filters do not reflow while the comet layer moves. */
.jb-jobs-motion {
	position: fixed;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.jb-dark-comet {
	position: absolute;
	display: block;
	will-change: opacity, transform;
}

.jb-dark-comet {
	top: var(--jb-comet-top, 42%);
	left: 0;
	width: var(--jb-comet-width, clamp(100px, 12vw, 210px));
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.96) 38%, rgba(217, 174, 58, 0.72));
	box-shadow:
		0 0 18px rgba(217, 174, 58, 0.2),
		0 0 34px rgba(0, 0, 0, 0.8);
	opacity: 0;
	transform: translate3d(-26vw, var(--jb-comet-start-y, 0), 0) rotate(var(--jb-comet-angle, -12deg)) scaleX(0.72);
}

.jb-dark-comet::after {
	position: absolute;
	right: -3px;
	top: 50%;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #050505;
	box-shadow: 0 0 14px rgba(217, 174, 58, 0.38);
	content: "";
	transform: translateY(-50%);
}

.jb-dark-comet.is-running {
	/* JavaScript sets the variables per pass so the star does not repeat on a
	   visible schedule. The animation itself only moves opacity/transform. */
	animation: jb-dark-comet-run var(--jb-comet-duration, 1.25s) cubic-bezier(0.16, 0.82, 0.28, 1) forwards;
}

.jb-header,
.jb-search-card,
.jb-section,
.jb-modal-panel {
	position: relative;
	z-index: 1;
	border: 1px solid var(--jb-jobs-line);
	border-radius: 10px;
	/* Match the homepage's quiet grey tint without restoring the old panel glow
	   or changing the animated page background behind the portal. */
	background:
		var(--jb-jobs-panel-tint),
		var(--jb-jobs-panel);
	box-shadow: none;
	backdrop-filter: none;
}

.jb-header {
	position: relative;
	display: grid;
	grid-template-areas:
		"brand copy"
		"nav copy";
	grid-template-columns: minmax(500px, 0.88fr) minmax(420px, 1fr);
	column-gap: clamp(28px, 4vw, 62px);
	row-gap: clamp(26px, 4vw, 56px);
	align-items: center;
	padding: clamp(20px, 3vw, 34px);
	overflow: hidden;
	border-color: transparent;
	background: transparent;
	isolation: isolate;
}

.jb-header::after {
	position: absolute;
	top: 10%;
	right: clamp(8px, 2.5vw, 34px);
	z-index: 0;
	width: clamp(280px, 31vw, 460px);
	aspect-ratio: 720 / 420;
	background: none;
	content: "";
	opacity: 0.58;
	pointer-events: none;
	transform: translate3d(0, 0, 0);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.55) 18%, #000 42%);
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.55) 18%, #000 42%);
}

.jb-header-brand {
	position: relative;
	z-index: 1;
	grid-area: brand;
	align-self: end;
	display: inline-flex;
	gap: 16px;
	align-items: center;
	max-width: 100%;
	color: var(--jb-jobs-text);
	text-decoration: none;
}

.jb-header-brand img {
	width: 78px;
	height: 82px;
	padding: 0 16px 0 0;
	border-right: 1px solid rgba(247, 245, 238, 0.22);
	background: transparent !important;
	box-shadow: none;
	object-fit: contain;
}

.jb-brand-text {
	display: grid;
	gap: 4px;
}

.jb-brand-text strong {
	color: var(--jb-jobs-text);
	font-family: var(--jb-core-font-display);
	font-size: clamp(20px, 2vw, 27px);
	font-weight: 660;
	line-height: 1;
	text-transform: uppercase;
}

.jb-brand-text small,
.jb-eyebrow,
.jb-search-intro p span {
	color: var(--jb-jobs-gold);
	font-weight: 780;
}

.jb-header-copy {
	position: relative;
	z-index: 1;
	grid-area: copy;
	align-self: center;
	max-width: 640px;
	pointer-events: none;
}

.jb-eyebrow {
	margin-bottom: 10px;
	font-size: 12px;
	line-height: 1;
	text-transform: uppercase;
}

.jb-header-copy h1 {
	margin: 0;
	color: var(--jb-jobs-text);
	font-family: var(--jb-core-font-display);
	font-size: clamp(48px, 7vw, 92px);
	font-weight: 560;
	line-height: 0.92;
}

.jb-heading-accent {
	color: var(--jb-jobs-gold);
}

.jb-header-copy p {
	max-width: 560px;
	margin: 18px 0 0;
	color: var(--jb-jobs-muted);
	font-size: clamp(17px, 2vw, 22px);
	font-weight: 680;
	line-height: 1.45;
}

.jb-nav {
	position: relative;
	z-index: 4;
	grid-area: nav;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	align-self: start;
	margin-top: 0;
}

.jb-nav a {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 10px 13px;
	border: 1px solid rgba(247, 245, 238, 0.10);
	border-radius: 7px;
	color: rgba(247, 245, 238, 0.76);
	background: transparent;
	font-size: 14px;
	font-weight: 760;
	line-height: 1;
	text-decoration: none;
	transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.jb-nav a:is(:hover, :focus-visible) {
	border-color: rgba(217, 174, 58, 0.4);
	background: rgba(217, 174, 58, 0.09);
	color: var(--jb-jobs-text);
	transform: translateY(-1px);
}

.jb-nav a[href="/register"] {
	border-color: var(--jb-jobs-gold);
	background: var(--jb-jobs-gold);
	color: #080808;
}

.jb-nav a[href="/"],
.jb-nav a[href*="/login"] {
	border-color: rgba(247, 245, 238, 0.10);
	background: transparent;
	color: var(--jb-jobs-text);
}

.jb-search-card {
	position: relative;
	margin-top: clamp(18px, 3vw, 28px);
	padding: clamp(22px, 3vw, 32px);
	overflow: hidden;
	border-color: rgba(217, 174, 58, 0.32);
}

.jb-search-card > * {
	position: relative;
	z-index: 1;
}

.jb-search-intro {
	display: flex;
	gap: 18px;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.jb-search-intro h2,
.jb-section-header h2 {
	margin: 0;
	color: var(--jb-jobs-text);
	font-family: var(--jb-core-font-display);
	font-size: clamp(28px, 4vw, 48px);
	font-weight: 560;
	line-height: 0.98;
}

.jb-search-intro p,
.jb-section-header p {
	margin: 8px 0 0;
	color: var(--jb-jobs-muted);
	font-size: 15px;
	font-weight: 680;
}

.jb-toolbar {
	display: grid;
	grid-template-columns: minmax(220px, 1.35fr) minmax(180px, 0.9fr) minmax(160px, 0.75fr) minmax(180px, 0.85fr) auto auto;
	gap: 12px;
	align-items: end;
}

.jb-filter-reset {
	min-height: 36px;
	padding: 8px 11px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.035);
	color: rgba(247, 245, 238, 0.72);
	font-size: 13px;
	font-weight: 740;
	line-height: 1;
	cursor: pointer;
	transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.jb-filter-reset:is(:hover, :focus-visible) {
	border-color: rgba(217, 174, 58, 0.36);
	background: rgba(217, 174, 58, 0.07);
	color: var(--jb-jobs-text);
}

.jb-job-board {
	position: relative;
	z-index: 1;
	margin-top: clamp(18px, 3vw, 28px);
}

.jb-status {
	position: relative;
	z-index: 1;
}

.jb-job-results {
	padding: clamp(22px, 3vw, 32px);
}

.jb-section-header {
	display: flex;
	gap: 18px;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.jb-view-toggle {
	display: inline-flex;
	gap: 4px;
	align-items: center;
	justify-content: flex-end;
	padding: 4px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.045);
}

.jb-view-toggle button {
	display: inline-flex;
	gap: 7px;
	align-items: center;
	min-height: 34px;
	padding: 8px 10px;
	border: 1px solid transparent;
	border-radius: 6px;
	background: transparent;
	color: rgba(247, 245, 238, 0.68);
	font-size: 13px;
	font-weight: 780;
	line-height: 1;
	cursor: pointer;
	transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.jb-view-toggle button:is(:hover, :focus-visible),
.jb-view-toggle button.is-active {
	border-color: rgba(217, 174, 58, 0.42);
	background: rgba(217, 174, 58, 0.12);
	color: var(--jb-jobs-text);
	transform: translateY(-1px);
}

.jb-view-icon {
	position: relative;
	display: inline-block;
	width: 15px;
	height: 15px;
	color: currentColor;
}

.jb-view-icon::before,
.jb-view-icon::after {
	position: absolute;
	content: "";
}

.jb-view-icon.is-list::before {
	top: 2px;
	left: 1px;
	width: 13px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	box-shadow: 0 5px 0 currentColor, 0 10px 0 currentColor;
}

.jb-view-icon.is-grid::before,
.jb-view-icon.is-grid::after {
	width: 6px;
	height: 6px;
	border: 1px solid currentColor;
	border-radius: 2px;
}

.jb-view-icon.is-grid::before {
	top: 1px;
	left: 1px;
	box-shadow: 8px 0 0 -1px currentColor;
}

.jb-view-icon.is-grid::after {
	left: 1px;
	bottom: 1px;
	box-shadow: 8px 0 0 -1px currentColor;
}

.jb-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 14px;
}

.jb-card {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-left: 2px solid rgba(217, 174, 58, 0.36);
	border-radius: 9px;
	background:
		var(--jb-jobs-panel-tint),
		rgba(20, 20, 20, 0.92);
	color: var(--jb-jobs-text);
}

.jb-job-card {
	display: grid;
	min-height: 250px;
	padding: 19px;
	cursor: pointer;
	transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.jb-job-card:hover,
.jb-job-card:focus-visible,
.jb-job-card.is-active {
	border-color: rgba(217, 174, 58, 0.52);
	border-left-color: var(--jb-jobs-gold);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.026)),
		rgba(24, 24, 23, 0.96);
	transform: translateY(-2px);
}

.jb-job-card-head {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	justify-content: space-between;
}

.jb-card h3 {
	margin: 0;
	color: var(--jb-jobs-text);
	font-family: var(--jb-core-font-display);
	font-size: 22px;
	font-weight: 620;
	line-height: 1.05;
}

.jb-card p {
	margin: 16px 0 0;
	color: rgba(247, 245, 238, 0.68);
	font-size: 15px;
	font-weight: 620;
	line-height: 1.55;
}

.jb-card-meta,
.jb-row-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	align-items: center;
	margin-top: 10px;
	color: rgba(247, 245, 238, 0.62);
	font-size: 13px;
	font-weight: 700;
}

.jb-card-meta span:not(.jb-pill),
.jb-row-meta span:not(.jb-pill) {
	display: inline-flex;
	align-items: center;
}

.jb-job-card .jb-actions {
	align-self: end;
}

.jb-public-shell[data-jb-job-view="list"] .jb-list {
	grid-template-columns: 1fr;
	gap: 7px;
}

.jb-job-row {
	position: relative;
	display: grid;
	grid-template-columns: minmax(220px, 1.3fr) minmax(160px, 0.78fr) minmax(110px, 0.42fr) auto;
	gap: 14px;
	align-items: center;
	min-height: 50px;
	padding: 9px 12px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-left: 2px solid rgba(217, 174, 58, 0.36);
	border-radius: 7px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.058), rgba(255, 255, 255, 0.018)),
		rgba(18, 18, 17, 0.78);
	color: var(--jb-jobs-text);
	cursor: pointer;
	transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.jb-job-row:hover,
.jb-job-row:focus-visible,
.jb-job-row.is-active {
	border-color: rgba(217, 174, 58, 0.5);
	border-left-color: var(--jb-jobs-gold);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.078), rgba(255, 255, 255, 0.024)),
		rgba(22, 22, 21, 0.88);
	transform: translateY(-1px);
}

.jb-job-row-title {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.jb-job-row-title strong {
	overflow: hidden;
	color: var(--jb-jobs-text);
	font-family: var(--jb-core-font-display);
	font-size: 16px;
	font-weight: 690;
	line-height: 1.1;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.jb-job-row-title small,
.jb-job-row-location {
	overflow: hidden;
	color: var(--jb-jobs-muted);
	font-size: 13px;
	font-weight: 680;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.jb-job-row-location {
	display: inline-flex;
	gap: 6px;
	align-items: center;
}

.jb-job-row-location .jb-ic {
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	color: var(--jb-jobs-gold);
}

.jb-job-row-type {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.jb-job-row-actions {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	justify-content: flex-end;
}

.jb-job-row-actions .jb-button-secondary {
	min-height: 30px;
	padding: 7px 9px;
	font-size: 12px;
	white-space: nowrap;
}

.jb-public-shell[data-jb-job-view="detail"] .jb-list {
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.jb-public-shell[data-jb-job-view="detail"] .jb-job-card {
	min-height: 168px;
	padding: 15px;
}

.jb-public-shell[data-jb-job-view="detail"] .jb-job-card p {
	display: none;
}

.jb-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
	justify-content: space-between;
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.jb-pagination-summary {
	color: var(--jb-jobs-muted);
	font-size: 14px;
	font-weight: 700;
}

.jb-pagination-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
	justify-content: flex-end;
}

.jb-pagination button {
	min-width: 40px;
	min-height: 38px;
	padding: 8px 12px;
	border: 1px solid var(--jb-jobs-line);
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.055);
	color: var(--jb-jobs-text);
	font-weight: 760;
	cursor: pointer;
	transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.jb-pagination button:is(:hover, :focus-visible) {
	border-color: var(--jb-jobs-line-gold);
	background: rgba(217, 174, 58, 0.12);
	transform: translateY(-1px);
}

.jb-pagination button.is-active {
	border-color: var(--jb-jobs-gold);
	background: var(--jb-jobs-gold);
	color: #080808;
}

.jb-pagination button:disabled {
	cursor: not-allowed;
	opacity: 0.42;
	transform: none;
}

.jb-pagination-gap {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	color: var(--jb-jobs-muted);
}

.jb-modal-backdrop {
	background: rgba(0, 0, 0, 0.76);
}

.jb-modal-panel {
	overflow: hidden;
	padding: 0;
	border-color: rgba(217, 174, 58, 0.34);
	border-top-color: rgba(217, 174, 58, 0.5);
	background:
		var(--jb-jobs-panel-tint),
		#101010;
	color: var(--jb-jobs-text);
	color-scheme: dark;
}

/* Detail content has one scroll owner, so the modal does not show old browser
   white gutters or split columns when long descriptions are opened. */
.jb-job-detail-panel {
	position: relative;
	max-height: min(88vh, 840px);
	overflow: auto;
	padding: clamp(24px, 4vw, 42px);
	padding-right: clamp(24px, 6vw, 94px);
	scrollbar-color: rgba(217, 174, 58, 0.68) rgba(255, 255, 255, 0.08);
}

.jb-modal-close {
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 3;
	width: 46px;
	height: 42px;
	border: 1px solid rgba(217, 174, 58, 0.4);
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.06);
	color: transparent;
	font-size: 0;
	cursor: pointer;
	box-shadow: none;
	transition: border-color 180ms ease, background 180ms ease;
}

.jb-modal-close::before,
.jb-modal-close::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 2px;
	border-radius: 999px;
	background: var(--jb-jobs-gold);
	content: "";
	transform-origin: center;
}

.jb-modal-close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.jb-modal-close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.jb-modal-close:is(:hover, :focus-visible) {
	border-color: var(--jb-jobs-gold);
	background: rgba(217, 174, 58, 0.14);
	box-shadow: none;
}

.jb-job-detail-panel .jb-section-header {
	margin: 0 clamp(56px, 10vw, 120px) 18px 0;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.jb-job-detail-panel .jb-section-header h2 {
	margin: 0;
	color: var(--jb-jobs-text);
	font-family: var(--jb-core-font-display);
	font-size: clamp(30px, 4vw, 50px);
	font-weight: 560;
	line-height: 0.98;
}

.jb-job-detail-panel .jb-section-header p,
.jb-detail-body,
.jb-detail-body > div,
.jb-detail-body > p {
	color: rgba(247, 245, 238, 0.76);
}

.jb-job-detail-panel .jb-card-meta {
	gap: 10px;
	margin: 0 0 22px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	color: rgba(247, 245, 238, 0.76);
	font-size: 15px;
	font-weight: 700;
}

.jb-detail-body {
	display: grid;
	gap: 18px;
	max-width: 82ch;
	font-size: 16px;
	font-weight: 560;
	line-height: 1.75;
}

.jb-detail-body > div,
.jb-detail-body > p {
	margin: 0;
}

.jb-detail-body a:not(.jb-button):not(.jb-button-secondary) {
	color: var(--jb-jobs-gold);
	text-decoration-color: rgba(217, 174, 58, 0.52);
}

.jb-detail-body .jb-section {
	margin-top: 8px;
	padding: 18px;
	background: rgba(255, 255, 255, 0.045);
	box-shadow: none;
}

.jb-detail-body strong,
.jb-detail-body label {
	color: var(--jb-jobs-text);
}

/* The shared portal stylesheet still contains release-readiness light-card
   defaults scoped as .jb-public-shell .jb-card/.jb-header. These overrides use
   the same scope so the dark public portal wins without affecting role portals. */
.jb-public-shell .jb-search-card,
.jb-public-shell .jb-section,
.jb-public-shell .jb-modal-panel {
	border-color: var(--jb-jobs-line);
	background:
		var(--jb-jobs-panel-tint),
		var(--jb-jobs-panel);
	color: var(--jb-jobs-text);
	box-shadow: none;
}

.jb-public-shell .jb-header {
	border-color: transparent;
	background: transparent;
	color: var(--jb-jobs-text);
	box-shadow: none;
}

.jb-public-shell .jb-header-brand {
	border-color: transparent;
	background: transparent;
	box-shadow: none;
}

.jb-public-shell .jb-card,
.jb-public-shell .jb-job-card {
	border-color: rgba(255, 255, 255, 0.12);
	border-left-color: rgba(217, 174, 58, 0.36);
	background:
		var(--jb-jobs-panel-tint),
		rgba(20, 20, 20, 0.92);
	color: var(--jb-jobs-text);
	box-shadow: none;
}

.jb-public-shell .jb-job-card:hover,
.jb-public-shell .jb-job-card:focus-visible,
.jb-public-shell .jb-job-card.is-active {
	border-color: rgba(217, 174, 58, 0.52);
	border-left-color: var(--jb-jobs-gold);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.026)),
		rgba(24, 24, 23, 0.96);
	box-shadow: none;
}

.jb-public-shell .jb-card h3,
.jb-public-shell .jb-section-header h2,
.jb-public-shell .jb-search-intro h2,
.jb-public-shell .jb-header-copy h1,
.jb-public-shell .jb-brand-text strong {
	color: var(--jb-jobs-text);
}

.jb-public-shell .jb-card p,
.jb-public-shell .jb-section-header p,
.jb-public-shell .jb-search-intro p,
.jb-public-shell .jb-header-copy p,
.jb-public-shell .jb-card-meta,
.jb-public-shell .jb-row-meta {
	color: var(--jb-jobs-muted);
}

.jb-public-shell .jb-brand-text small,
.jb-public-shell .jb-eyebrow,
.jb-public-shell .jb-search-intro p span,
.jb-public-shell .jb-job-card-employer,
.jb-public-shell .jb-detail-employer {
	color: var(--jb-jobs-gold);
}

.jb-public-shell .jb-field input,
.jb-public-shell .jb-field select,
.jb-public-shell .jb-field textarea {
	border-color: rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.08);
	color: var(--jb-jobs-text);
	box-shadow: none;
}

.jb-public-shell .jb-field input::placeholder,
.jb-public-shell .jb-field textarea::placeholder {
	color: rgba(247, 245, 238, 0.42);
}

.jb-public-shell .jb-field label {
	color: rgba(247, 245, 238, 0.72);
}

.jb-public-shell .jb-button-secondary,
.jb-public-shell .jb-filter-reset,
.jb-public-shell .jb-pagination button {
	border-color: var(--jb-jobs-line);
	background: rgba(255, 255, 255, 0.055);
	color: var(--jb-jobs-text);
	box-shadow: none;
}

.jb-public-shell .jb-nav a {
	border-color: rgba(247, 245, 238, 0.10);
	background: transparent;
	color: rgba(247, 245, 238, 0.78);
	box-shadow: none;
}

.jb-public-shell .jb-nav a[href="/register"] {
	border-color: var(--jb-jobs-gold);
	background: var(--jb-jobs-gold);
	color: #080808;
}

.jb-public-shell .jb-button-secondary:is(:hover, :focus-visible),
.jb-public-shell .jb-filter-reset:is(:hover, :focus-visible),
.jb-public-shell .jb-pagination button:is(:hover, :focus-visible) {
	border-color: var(--jb-jobs-line-gold);
	background: rgba(217, 174, 58, 0.12);
	color: var(--jb-jobs-text);
}

.jb-public-shell .jb-nav a:is(:hover, :focus-visible) {
	border-color: var(--jb-jobs-line-gold);
	background: rgba(217, 174, 58, 0.10);
	color: var(--jb-jobs-text);
}

.jb-public-shell .jb-pagination button.is-active {
	border-color: var(--jb-jobs-gold);
	background: var(--jb-jobs-gold);
	color: #080808;
	box-shadow: 0 0 0 3px rgba(217, 174, 58, 0.12);
}

.jb-public-shell .jb-pill,
.jb-public-shell .jb-file-link,
.jb-public-shell .jb-highlight-chip {
	border-color: rgba(217, 174, 58, 0.28);
	background: rgba(217, 174, 58, 0.12);
	color: var(--jb-jobs-gold);
}

.jb-public-shell .jb-employer-logo {
	border-color: rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.08);
	box-shadow: none;
}

.jb-public-shell .jb-employer-logo-fallback {
	background: rgba(217, 174, 58, 0.16);
	color: var(--jb-jobs-gold);
}

/* Dedicated /job detail page. The release branch added the route and data
   structure; these overrides keep that new flow inside the dark public skin. */
.jb-job-detail-shell .jb-detail-page {
	position: relative;
	z-index: 1;
	width: min(1320px, 100%);
	margin: clamp(18px, 3vw, 30px) auto 0;
}

.jb-job-detail-shell .jb-back-link {
	border-color: rgba(217, 174, 58, 0.28);
	background:
		var(--jb-jobs-panel-tint),
		rgba(20, 20, 20, 0.82);
	color: var(--jb-jobs-text);
	box-shadow: none;
}

.jb-job-detail-shell .jb-back-link:is(:hover, :focus-visible) {
	border-color: var(--jb-jobs-gold);
	background: rgba(217, 174, 58, 0.12);
	color: var(--jb-jobs-text);
}

.jb-job-detail-shell .jb-detail-canvas > .jb-empty {
	border-color: var(--jb-jobs-line);
	background:
		var(--jb-jobs-panel-tint),
		rgba(20, 20, 20, 0.88);
	color: var(--jb-jobs-muted);
}

.jb-job-detail-shell .jb-detail-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
	gap: clamp(16px, 2.4vw, 28px);
	align-items: start;
}

.jb-job-detail-shell .jb-detail-main,
.jb-job-detail-shell .jb-apply-card {
	border: 1px solid var(--jb-jobs-line);
	border-top: 2px solid rgba(217, 174, 58, 0.74);
	border-radius: 10px;
	background:
		var(--jb-jobs-panel-tint),
		rgba(20, 20, 20, 0.9);
	box-shadow: none;
	color: var(--jb-jobs-text);
}

.jb-job-detail-shell .jb-detail-main {
	padding: clamp(22px, 3vw, 34px);
}

.jb-job-detail-shell .jb-detail-head {
	align-items: flex-start;
	border-bottom-color: rgba(255, 255, 255, 0.1);
}

.jb-job-detail-shell .jb-employer-logo {
	border-color: rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.08);
	box-shadow: none;
}

.jb-job-detail-shell .jb-employer-logo-fallback {
	background: rgba(217, 174, 58, 0.16);
	color: var(--jb-jobs-gold);
}

.jb-job-detail-shell .jb-detail-main .jb-detail-head-body h1 {
	color: var(--jb-jobs-text);
	font-family: var(--jb-core-font-display);
	font-size: clamp(34px, 5vw, 58px);
	font-weight: 560;
	line-height: 0.98;
}

.jb-job-detail-shell .jb-detail-employer {
	color: var(--jb-jobs-gold);
}

.jb-job-detail-shell .jb-highlight {
	border-color: rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.055);
}

.jb-job-detail-shell .jb-highlight-ic {
	background: rgba(217, 174, 58, 0.12);
	color: var(--jb-jobs-gold);
}

.jb-job-detail-shell .jb-highlight-body small {
	color: rgba(247, 245, 238, 0.58);
}

.jb-job-detail-shell .jb-highlight-body strong,
.jb-job-detail-shell .jb-detail-section h3,
.jb-job-detail-shell .jb-apply-card h2 {
	color: var(--jb-jobs-text);
}

.jb-public-shell.jb-job-detail-shell .jb-detail-main .jb-detail-section h3 {
	color: var(--jb-jobs-text);
}

.jb-job-detail-shell .jb-detail-main .jb-detail-body,
.jb-job-detail-shell .jb-detail-main .jb-detail-body p,
.jb-job-detail-shell .jb-detail-main .jb-detail-body div,
.jb-job-detail-shell .jb-detail-main .jb-detail-body li,
.jb-job-detail-shell .jb-apply-card p {
	color: rgba(247, 245, 238, 0.73);
}

.jb-job-detail-shell .jb-detail-section {
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.jb-job-detail-shell .jb-detail-aside {
	position: sticky;
	top: 22px;
}

.jb-job-detail-shell .jb-apply-card {
	padding: 22px;
}

.jb-job-detail-shell .jb-apply-card .jb-actions {
	align-items: stretch;
}

.jb-job-detail-shell .jb-apply-card .jb-button,
.jb-job-detail-shell .jb-apply-card .jb-button-secondary {
	width: 100%;
}

@keyframes jb-jobs-market-grid {
	to {
		background-position: 160px 80px;
	}
}

@keyframes jb-jobs-ambient-drift {
	0% {
		transform: translate3d(-1.5%, -1%, 0) scale(1);
		opacity: 0.9;
	}

	100% {
		transform: translate3d(1.5%, 1.2%, 0) scale(1.03);
		opacity: 1;
	}
}

@keyframes jb-dark-comet-run {
	0% {
		opacity: 0;
		transform: translate3d(-26vw, var(--jb-comet-start-y, 0), 0) rotate(var(--jb-comet-angle, -12deg)) scaleX(0.7);
	}

	12%,
	58% {
		opacity: var(--jb-comet-opacity, 0.72);
	}

	100% {
		opacity: 0;
		transform: translate3d(128vw, var(--jb-comet-end-y, 9vh), 0) rotate(var(--jb-comet-angle, -12deg)) scaleX(1);
	}
}

@media (max-width: 1100px) {
	.jb-toolbar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.jb-toolbar .jb-button {
		grid-column: 1 / 2;
	}

	.jb-toolbar .jb-filter-reset {
		grid-column: 2 / 3;
		justify-self: start;
	}
}

@media (max-width: 820px) {
	.jb-public-shell {
		padding-inline: 14px;
	}

	.jb-header,
	.jb-toolbar {
		grid-template-columns: 1fr;
	}

	.jb-toolbar .jb-button,
	.jb-toolbar .jb-filter-reset {
		grid-column: 1 / -1;
	}

	.jb-toolbar .jb-filter-reset {
		justify-self: start;
	}

	.jb-header {
		grid-template-areas:
			"brand"
			"copy"
			"nav";
		row-gap: 22px;
	}

	.jb-header-brand,
	.jb-header-copy,
	.jb-nav {
		align-self: start;
	}

	.jb-header-copy h1 {
		font-size: clamp(42px, 14vw, 64px);
	}

	.jb-search-intro,
	.jb-section-header,
	.jb-pagination {
		align-items: flex-start;
		flex-direction: column;
	}

	.jb-view-toggle {
		width: 100%;
		justify-content: flex-start;
	}

	.jb-list {
		grid-template-columns: 1fr;
	}

	.jb-job-row {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.jb-job-row-location,
	.jb-job-row-type {
		grid-column: 1 / 2;
	}

	.jb-job-row-actions {
		grid-column: 2 / 3;
		grid-row: 1 / 4;
	}

	.jb-job-detail-panel {
		padding-right: clamp(24px, 4vw, 42px);
	}

	.jb-job-detail-panel .jb-section-header {
		margin-right: 56px;
	}

	.jb-job-detail-shell .jb-detail-grid {
		grid-template-columns: 1fr;
	}

	.jb-job-detail-shell .jb-detail-aside {
		position: static;
	}
}

@media (max-width: 1180px) {
	.jb-header {
		grid-template-areas:
			"brand"
			"copy"
			"nav";
		grid-template-columns: 1fr;
		row-gap: 22px;
	}

	.jb-header-brand,
	.jb-header-copy,
	.jb-nav {
		align-self: start;
	}

	.jb-header::after {
		right: -84px;
		width: min(420px, 64vw);
		opacity: 0.32;
	}
}

@media (max-width: 560px) {
	.jb-header-brand {
		align-items: flex-start;
	}

	.jb-header-brand img {
		width: 58px;
		height: 64px;
		padding-right: 12px;
	}

	.jb-nav {
		display: grid;
		grid-template-columns: 1fr;
	}

	.jb-view-toggle {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.jb-view-toggle button {
		justify-content: center;
	}

	.jb-job-row {
		grid-template-columns: 1fr;
	}

	.jb-job-row-actions,
	.jb-job-row-location,
	.jb-job-row-type {
		grid-column: auto;
		grid-row: auto;
	}

	.jb-job-row-actions {
		justify-content: flex-start;
	}

	.jb-nav a {
		justify-content: center;
	}

	.jb-header::after {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.jb-public-shell::before,
	.jb-public-shell::after,
	.jb-dark-comet {
		animation: none;
	}
}

/* Shared image-backed theme for /job-bank and /job. Both routes use the same
   generated Guyana asset; light mode changes only the color treatment. */
body[data-path="job-bank"],
body[data-path="job"] {
	--jb-jobs-bg-image: url("/assets/job_bank_website/images/jobs/job-portal-guyana-bg.png?v=20260708-1");
	--jb-jobs-bg-filter: saturate(1.02) contrast(1.04) brightness(0.74);
	--jb-jobs-bg-opacity: 1;
	--jb-jobs-bg-wash:
		linear-gradient(180deg, rgba(2, 4, 3, 0.16), rgba(2, 4, 3, 0.54) 54%, rgba(2, 4, 3, 0.78)),
		linear-gradient(90deg, rgba(2, 8, 5, 0.44), transparent 44%, rgba(4, 5, 4, 0.36));
	color-scheme: dark;
}

.jb-public-shell.is-light {
	--jb-jobs-bg: #eff7f2;
	--jb-jobs-panel: rgba(249, 253, 250, 0.86);
	--jb-jobs-panel-strong: rgba(255, 255, 255, 0.94);
	--jb-jobs-panel-tint: linear-gradient(135deg, rgba(255, 255, 255, 0.74), rgba(236, 247, 241, 0.36));
	--jb-jobs-panel-soft: rgba(11, 55, 34, 0.055);
	--jb-jobs-line: rgba(11, 55, 34, 0.16);
	--jb-jobs-line-gold: rgba(158, 112, 20, 0.34);
	--jb-jobs-text: #0a1711;
	--jb-jobs-muted: rgba(10, 23, 17, 0.66);
	--jb-jobs-gold: #9e7014;
	--jb-jobs-green: #0d7b48;
	--jb-jobs-red: #a72d27;
	--jb-jobs-bg-filter: saturate(0.72) sepia(0.12) hue-rotate(344deg) brightness(1.22) contrast(0.84);
	--jb-jobs-bg-opacity: 0.86;
	--jb-jobs-bg-wash:
		radial-gradient(circle at 84% 8%, rgba(217, 174, 58, 0.18), transparent 30%),
		linear-gradient(180deg, rgba(244, 250, 247, 0.42), rgba(244, 250, 247, 0.22) 46%, rgba(238, 247, 242, 0.64)),
		linear-gradient(90deg, rgba(246, 252, 248, 0.48), transparent 44%, rgba(240, 248, 243, 0.22));
	color-scheme: light;
}

.jb-public-shell {
	background: var(--jb-jobs-bg);
}

.jb-public-shell::before {
	opacity: var(--jb-jobs-bg-opacity);
	background-image: var(--jb-jobs-bg-image);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	filter: var(--jb-jobs-bg-filter);
	mask-image: none;
	animation: none;
	transform: translateZ(0);
}

.jb-public-shell::after {
	background: var(--jb-jobs-bg-wash);
	animation: none;
	transform: none;
}

.jb-public-shell .jb-jobs-motion {
	opacity: 0.24;
	mix-blend-mode: screen;
}

.jb-public-shell.is-light .jb-jobs-motion {
	opacity: 0.12;
	mix-blend-mode: multiply;
}

.jb-header::after {
	display: none;
}

.jb-header,
.jb-search-card,
.jb-section,
.jb-modal-panel,
.jb-job-detail-shell .jb-detail-main,
.jb-job-detail-shell .jb-apply-card,
.jb-job-detail-shell .jb-back-link,
.jb-job-detail-shell .jb-detail-canvas > .jb-empty,
.jb-public-shell .jb-card,
.jb-public-shell .jb-job-card {
	backdrop-filter: blur(14px);
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.24);
}

.jb-public-shell .jb-header {
	overflow: visible;
	backdrop-filter: none;
	box-shadow: none;
}

.jb-public-shell .jb-header::before {
	position: absolute;
	inset: clamp(-34px, -3vw, -18px);
	z-index: 0;
	border-radius: 34px;
	background:
		radial-gradient(ellipse at 50% 50%, rgba(6, 7, 6, 0.56), rgba(6, 7, 6, 0.24) 58%, transparent 82%);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	-webkit-mask-image: radial-gradient(ellipse at center, #000 0%, #000 48%, rgba(0, 0, 0, 0.58) 68%, transparent 100%);
	mask-image: radial-gradient(ellipse at center, #000 0%, #000 48%, rgba(0, 0, 0, 0.58) 68%, transparent 100%);
	content: "";
	pointer-events: none;
}

.jb-public-shell .jb-nav {
	position: relative;
	z-index: 1;
}

.jb-public-shell.is-light :where(
	.jb-header,
	.jb-search-card,
	.jb-section,
	.jb-modal-panel,
	.jb-job-detail-shell .jb-detail-main,
	.jb-job-detail-shell .jb-apply-card,
	.jb-job-detail-shell .jb-back-link,
	.jb-job-detail-shell .jb-detail-canvas > .jb-empty,
	.jb-card,
	.jb-job-card
) {
	box-shadow: 0 22px 60px rgba(13, 65, 39, 0.14);
}

.jb-public-shell.is-light .jb-header {
	box-shadow: none;
}

.jb-public-shell.is-light .jb-header::before {
	background:
		radial-gradient(ellipse at 50% 50%, rgba(250, 253, 250, 0.68), rgba(244, 250, 246, 0.32) 58%, transparent 82%);
}

.jb-public-shell.is-light .jb-header,
.jb-public-shell.is-light .jb-search-card,
.jb-public-shell.is-light .jb-section,
.jb-public-shell.is-light .jb-modal-panel,
.jb-public-shell.is-light .jb-job-detail-shell .jb-detail-main,
.jb-public-shell.is-light .jb-job-detail-shell .jb-apply-card,
.jb-public-shell.is-light .jb-job-detail-shell .jb-back-link,
.jb-public-shell.is-light .jb-job-detail-shell .jb-detail-canvas > .jb-empty,
.jb-public-shell.is-light .jb-card,
.jb-public-shell.is-light .jb-job-card {
	border-color: var(--jb-jobs-line);
	background:
		var(--jb-jobs-panel-tint),
		var(--jb-jobs-panel);
	color: var(--jb-jobs-text);
}

.jb-public-shell.jb-job-detail-shell .jb-detail-main,
.jb-public-shell.jb-job-detail-shell .jb-apply-card,
.jb-public-shell.jb-job-detail-shell .jb-back-link,
.jb-public-shell.jb-job-detail-shell .jb-detail-canvas > .jb-empty {
	backdrop-filter: blur(14px);
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.24);
}

.jb-public-shell.is-light.jb-job-detail-shell .jb-detail-main,
.jb-public-shell.is-light.jb-job-detail-shell .jb-apply-card,
.jb-public-shell.is-light.jb-job-detail-shell .jb-back-link,
.jb-public-shell.is-light.jb-job-detail-shell .jb-detail-canvas > .jb-empty {
	border-color: var(--jb-jobs-line);
	background:
		var(--jb-jobs-panel-tint),
		var(--jb-jobs-panel);
	color: var(--jb-jobs-text);
	box-shadow: 0 22px 60px rgba(13, 65, 39, 0.14);
}

.jb-public-shell.is-light .jb-view-toggle,
.jb-public-shell.is-light .jb-job-row {
	border-color: var(--jb-jobs-line);
	background:
		var(--jb-jobs-panel-tint),
		rgba(249, 253, 250, 0.82);
	color: var(--jb-jobs-text);
}

.jb-public-shell.is-light .jb-view-toggle button {
	color: rgba(10, 23, 17, 0.68);
}

.jb-public-shell.is-light .jb-view-toggle button:is(:hover, :focus-visible),
.jb-public-shell.is-light .jb-view-toggle button.is-active,
.jb-public-shell.is-light .jb-job-row:hover,
.jb-public-shell.is-light .jb-job-row:focus-visible,
.jb-public-shell.is-light .jb-job-row.is-active {
	border-color: rgba(158, 112, 20, 0.42);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(229, 244, 236, 0.48)),
		rgba(249, 253, 250, 0.94);
	color: var(--jb-jobs-text);
}

.jb-public-shell.is-light.jb-job-detail-shell :where(
	.jb-detail-head-body h1,
	.jb-highlight-body strong,
	.jb-detail-section h3,
	.jb-apply-card h2,
	.jb-detail-main strong
) {
	color: var(--jb-jobs-text);
}

.jb-public-shell.is-light.jb-job-detail-shell :where(
	.jb-detail-body,
	.jb-detail-body p,
	.jb-detail-body div,
	.jb-detail-body li,
	.jb-apply-card p,
	.jb-row-meta,
	.jb-card-meta
) {
	color: var(--jb-jobs-muted);
}

.jb-public-shell.is-light .jb-job-card:hover,
.jb-public-shell.is-light .jb-job-card:focus-visible,
.jb-public-shell.is-light .jb-job-card.is-active {
	border-color: rgba(158, 112, 20, 0.4);
	border-left-color: var(--jb-jobs-gold);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(235, 247, 241, 0.52)),
		rgba(248, 253, 250, 0.94);
}

.jb-public-shell.is-light :where(
	.jb-card h3,
	.jb-section-header h2,
	.jb-search-intro h2,
	.jb-header-copy h1,
	.jb-brand-text strong,
	.jb-job-detail-shell .jb-detail-main .jb-detail-head-body h1,
	.jb-job-detail-shell .jb-highlight-body strong,
	.jb-job-detail-shell .jb-detail-section h3,
	.jb-job-detail-shell .jb-apply-card h2
) {
	color: var(--jb-jobs-text);
}

.jb-public-shell.is-light :where(
	.jb-card p,
	.jb-section-header p,
	.jb-search-intro p,
	.jb-header-copy p,
	.jb-card-meta,
	.jb-row-meta,
	.jb-job-detail-shell .jb-detail-main .jb-detail-body,
	.jb-job-detail-shell .jb-detail-main .jb-detail-body p,
	.jb-job-detail-shell .jb-detail-main .jb-detail-body div,
	.jb-job-detail-shell .jb-detail-main .jb-detail-body li,
	.jb-job-detail-shell .jb-apply-card p
) {
	color: var(--jb-jobs-muted);
}

.jb-public-shell.is-light :where(.jb-brand-text small, .jb-eyebrow, .jb-search-intro p span, .jb-job-card-employer, .jb-detail-employer) {
	color: var(--jb-jobs-gold);
}

.jb-public-shell.is-light :where(.jb-field input, .jb-field select, .jb-field textarea) {
	border-color: rgba(10, 23, 17, 0.2);
	background: rgba(255, 255, 255, 0.7);
	color: var(--jb-jobs-text);
}

.jb-public-shell.is-light :where(.jb-field input::placeholder, .jb-field textarea::placeholder) {
	color: rgba(10, 23, 17, 0.42);
}

.jb-public-shell.is-light .jb-field label {
	color: rgba(10, 23, 17, 0.7);
}

.jb-public-shell.is-light :where(.jb-button-secondary, .jb-filter-reset, .jb-pagination button) {
	border-color: var(--jb-jobs-line);
	background: rgba(255, 255, 255, 0.58);
	color: var(--jb-jobs-text);
}

.jb-public-shell.is-light .jb-nav a {
	border-color: rgba(10, 23, 17, 0.13);
	background: transparent;
	color: var(--jb-jobs-text);
}

.jb-public-shell.is-light .jb-nav a[href="/register"] {
	border-color: var(--jb-jobs-gold);
	background: var(--jb-jobs-gold);
	color: #080808;
}

.jb-public-shell.is-light :where(.jb-button-secondary, .jb-filter-reset, .jb-pagination button):is(:hover, :focus-visible) {
	border-color: var(--jb-jobs-line-gold);
	background: rgba(158, 112, 20, 0.1);
	color: var(--jb-jobs-text);
}

.jb-public-shell.is-light .jb-nav a:is(:hover, :focus-visible) {
	border-color: var(--jb-jobs-line-gold);
	background: rgba(158, 112, 20, 0.08);
}

.jb-public-theme-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	padding: 9px 13px;
	border: 1px solid var(--jb-jobs-line);
	border-radius: 7px;
	background: transparent;
	color: var(--jb-jobs-text);
	font: inherit;
	font-size: 14px;
	font-weight: 760;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
	transition: border-color 180ms ease, background 180ms ease, color 180ms ease, transform 180ms ease;
}

.jb-public-theme-toggle:is(:hover, :focus-visible) {
	border-color: var(--jb-jobs-line-gold);
	background: rgba(217, 174, 58, 0.12);
	color: var(--jb-jobs-text);
	outline: 0;
	transform: translateY(-1px);
}

.jb-public-shell.is-light .jb-public-theme-toggle {
	background: transparent;
	color: var(--jb-jobs-text);
}

.jb-public-shell.is-light.jb-job-detail-shell .jb-detail-main .jb-detail-body,
.jb-public-shell.is-light.jb-job-detail-shell .jb-detail-main .jb-detail-body p,
.jb-public-shell.is-light.jb-job-detail-shell .jb-detail-main .jb-detail-body div,
.jb-public-shell.is-light.jb-job-detail-shell .jb-detail-main .jb-detail-body li,
.jb-public-shell.is-light.jb-job-detail-shell .jb-apply-card p,
.jb-public-shell.is-light.jb-job-detail-shell .jb-highlight-body small,
.jb-public-shell.is-light.jb-job-detail-shell .jb-row-meta,
.jb-public-shell.is-light.jb-job-detail-shell .jb-card-meta {
	color: var(--jb-jobs-muted) !important;
}

.jb-public-shell.is-light.jb-job-detail-shell .jb-detail-main .jb-detail-head-body h1,
.jb-public-shell.is-light.jb-job-detail-shell .jb-highlight-body strong,
.jb-public-shell.is-light.jb-job-detail-shell .jb-detail-section h3,
.jb-public-shell.is-light.jb-job-detail-shell .jb-apply-card h2 {
	color: var(--jb-jobs-text) !important;
}

@media (max-width: 560px) {
	.jb-public-theme-toggle {
		width: 100%;
	}
}
