/* ==========================================================================
   Workew Theme — main design system
   --------------------------------------------------------------------------
   1. Tokens (CSS variables)
   2. Reset & base
   3. Typography
   4. Layout primitives (container, grid)
   5. Buttons, pills, chips, tags, badges
   6. Forms & inputs
   7. Header / nav / mobile nav
   8. Footer
   9. Hero (homepage)
  10. Search bar
  11. Job cards & list
  12. Featured & home sections
  13. Single job
  14. Resume, company, dashboard, post pages
  15. Pagination, comments, widgets
  16. Misc (404, breadcrumbs, prose)
  17. Responsive
   ========================================================================== */

/* -------------------------------------------------------------------------
   1. TOKENS
   ------------------------------------------------------------------------- */
:root {
	--w-primary: #7BC74C;
	--w-primary-dark: #5DA635;
	--w-primary-soft: rgba(123, 199, 76, 0.12);

	--w-ink: #0F172A;
	--w-ink-2: #1E293B;
	--w-muted: #64748B;
	--w-muted-2: #94A3B8;
	--w-bg: #FFFFFF;
	--w-surface: #F8FAFC;
	--w-surface-2: #F1F5F9;
	--w-border: #E5E7EB;
	--w-border-strong: #CBD5E1;

	--w-success: #10B981;
	--w-warn: #F59E0B;
	--w-danger: #EF4444;
	--w-info: #3B82F6;

	--w-font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
	--w-font-display: 'Plus Jakarta Sans', var(--w-font-ui);

	--w-radius-sm: 8px;
	--w-radius: 14px;
	--w-radius-lg: 20px;
	--w-radius-pill: 999px;

	--w-shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);
	--w-shadow-sm: 0 2px 6px rgba(15, 23, 42, .06);
	--w-shadow-md: 0 12px 30px -8px rgba(15, 23, 42, .12);
	--w-shadow-lg: 0 30px 60px -15px rgba(15, 23, 42, .18);

	--w-container: 1320px;
	--w-container-narrow: 760px;

	--w-cat-color: var(--w-primary);

	--w-header-h: 72px;
}

/* --------------------------------------------------------------------------
   Dark mode
   --------------------------------------------------------------------------
   The <html> element gets a `data-theme` attribute, set by an inline script
   in header.php BEFORE the first paint:
     - "light" → always light
     - "dark"  → always dark
     - "auto"  → follow system `prefers-color-scheme`
*/

/* Dark mode palette — used when explicitly dark OR auto-and-system-is-dark. */
:root[data-theme="dark"] {
	color-scheme: dark;
	--w-ink: #F8FAFC;
	--w-ink-2: #E2E8F0;
	--w-muted: #94A3B8;
	--w-muted-2: #64748B;
	--w-bg: #0B1220;
	--w-surface: #111B30;
	--w-surface-2: #172033;
	--w-border: #1E293B;
	--w-border-strong: #334155;
	--w-primary-soft: rgba(123, 199, 76, 0.18);
}
@media (prefers-color-scheme: dark) {
	:root[data-theme="auto"] {
		color-scheme: dark;
		--w-ink: #F8FAFC;
		--w-ink-2: #E2E8F0;
		--w-muted: #94A3B8;
		--w-muted-2: #64748B;
		--w-bg: #0B1220;
		--w-surface: #111B30;
		--w-surface-2: #172033;
		--w-border: #1E293B;
		--w-border-strong: #334155;
		--w-primary-soft: rgba(123, 199, 76, 0.18);
	}
}

/* A few components hardcode light surfaces — invert them under dark.
   (Previously this block had a dangling selector before an @media —
   invalid syntax — and used .85 opacity which let the hero bleed up
   through the header. Higher opacity + clean structure here.) */
:root[data-theme="dark"] .w-header { background: rgba(11, 18, 32, .96); }
:root[data-theme="dark"] .w-header.is-scrolled { background: rgba(11, 18, 32, .98); }
@media (prefers-color-scheme: dark) {
	:root[data-theme="auto"] .w-header { background: rgba(11, 18, 32, .96); }
	:root[data-theme="auto"] .w-header.is-scrolled { background: rgba(11, 18, 32, .98); }
}

:root[data-theme="dark"] .w-search-bar,
:root[data-theme="dark"] form.w-search-bar { background: var(--w-surface); }
@media (prefers-color-scheme: dark) {
	:root[data-theme="auto"] .w-search-bar,
	:root[data-theme="auto"] form.w-search-bar { background: var(--w-surface); }
}

/* Job-cards / featured-cards / pricing-plan look better with a slightly
   raised surface in dark mode (not the page-bg). */
:root[data-theme="dark"] .w-job-card,
:root[data-theme="dark"] .w-featured-card,
:root[data-theme="dark"] .w-card,
:root[data-theme="dark"] .w-pricing-plan,
:root[data-theme="dark"] .w-pricing-card { background: var(--w-surface); }
@media (prefers-color-scheme: dark) {
	:root[data-theme="auto"] .w-job-card,
	:root[data-theme="auto"] .w-featured-card,
	:root[data-theme="auto"] .w-card,
	:root[data-theme="auto"] .w-pricing-plan,
	:root[data-theme="auto"] .w-pricing-card { background: var(--w-surface); }
}

/* The header search panel + mobile nav panel — solid surface */
:root[data-theme="dark"] .w-header-search,
:root[data-theme="dark"] .w-mobile-nav__panel { background: var(--w-surface); }
@media (prefers-color-scheme: dark) {
	:root[data-theme="auto"] .w-header-search,
	:root[data-theme="auto"] .w-mobile-nav__panel { background: var(--w-surface); }
}

/* Footer is always-dark by design — leave its background, but lift its
   text contrast in dark mode. */
:root[data-theme="dark"] .w-footer { background: var(--w-bg); }
@media (prefers-color-scheme: dark) {
	:root[data-theme="auto"] .w-footer { background: var(--w-bg); }
}

/* -------------------------------------------------------------------------
   2. RESET & BASE
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--w-font-ui);
	font-size: 16px;
	line-height: 1.6;
	color: var(--w-ink);
	background: var(--w-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--w-primary-dark); text-decoration: none; transition: color .15s ease; }
a:hover { color: var(--w-primary); }
button { font: inherit; cursor: pointer; }
hr { border: 0; border-top: 1px solid var(--w-border); margin: 2rem 0; }
::selection { background: var(--w-primary-soft); color: var(--w-ink); }

.screen-reader-text {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px; height: 1px; overflow: hidden;
}
.w-skip-link {
	position: absolute;
	top: 0; left: 0;
	padding: .5rem 1rem;
	background: var(--w-ink);
	color: #fff;
	transform: translateY(-100%);
	z-index: 1000;
}
.w-skip-link:focus { transform: translateY(0); }

/* -------------------------------------------------------------------------
   3. TYPOGRAPHY
   ------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--w-font-display);
	font-weight: 700;
	color: var(--w-ink);
	letter-spacing: -0.02em;
	margin: 0 0 .5em;
	line-height: 1.18;
}
h1 { font-size: clamp(2.2rem, 4.4vw, 3.4rem); }
h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.1rem; }
p { margin: 0 0 1em; color: var(--w-ink-2); }
small { color: var(--w-muted); }

.w-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-family: var(--w-font-ui);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--w-primary-dark);
	margin: 0 0 .85rem;
}
.w-eyebrow--light { color: rgba(255, 255, 255, .9); }
.w-section-title { font-size: clamp(1.7rem, 3vw, 2.2rem); margin-bottom: 0; }
.w-section-title-sm { font-size: 1rem; font-weight: 700; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: .08em; color: var(--w-muted); }

.w-link {
	display: inline-flex; align-items: center; gap: .35rem;
	font-weight: 600; color: var(--w-primary-dark);
}
.w-link:hover { color: var(--w-ink); }

/* -------------------------------------------------------------------------
   4. LAYOUT PRIMITIVES
   ------------------------------------------------------------------------- */
.w-container {
	width: 100%;
	max-width: var(--w-container);
	margin: 0 auto;
	padding: 0 1.5rem;
}
.w-container--narrow { max-width: var(--w-container-narrow); }
.w-container--medium { max-width: 900px; }

.w-section { padding: 4rem 0; }
.w-home-section { padding: 4.5rem 0; }
/* The Hire-remotely card is its own visual unit — drop the section
   padding so it doesn't sit in a 9rem-tall lane on the homepage. */
.w-home-section.w-home-cta { padding: 2rem 0; }

.w-layout-with-sidebar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 2.5rem;
}
.w-layout-with-sidebar__aside { display: flex; flex-direction: column; gap: 1.25rem; }

.w-section-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.w-card {
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	padding: 1.5rem;
	box-shadow: var(--w-shadow-xs);
}

.w-empty {
	text-align: center;
	padding: 4rem 1rem;
	background: var(--w-surface);
	border: 1px dashed var(--w-border);
	border-radius: var(--w-radius);
	color: var(--w-muted);
}
.w-empty h2, .w-empty h3 { color: var(--w-ink); }

/* Icons */
.w-icon { display: inline-flex; align-items: center; }
.w-icon svg { width: 1em; height: 1em; }

/* -------------------------------------------------------------------------
   5. BUTTONS, PILLS, CHIPS, TAGS, BADGES
   ------------------------------------------------------------------------- */
.w-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	padding: .75rem 1.25rem;
	border-radius: var(--w-radius-pill);
	font-weight: 600;
	font-size: .95rem;
	line-height: 1;
	border: 1px solid transparent;
	background: transparent;
	color: var(--w-ink);
	transition: transform .15s ease, background-color .15s ease, color .15s ease, box-shadow .15s ease, border-color .15s ease;
	white-space: nowrap;
	cursor: pointer;
	text-decoration: none;
}
.w-btn .w-icon svg { width: 1.05em; height: 1.05em; }

.w-btn-primary {
	background: var(--w-primary);
	color: #0a1a02;
	box-shadow: 0 6px 18px -8px rgba(123, 199, 76, .6);
}
.w-btn-primary:hover {
	background: var(--w-primary-dark);
	color: #fff;
	transform: translateY(-1px);
}

.w-btn-ghost {
	background: var(--w-surface);
	color: var(--w-ink);
	border-color: var(--w-border);
}
.w-btn-ghost:hover { background: var(--w-surface-2); color: var(--w-ink); border-color: var(--w-border-strong); }

.w-btn-ghost-light {
	background: rgba(255,255,255,.08);
	color: #fff;
	border-color: rgba(255,255,255,.18);
	backdrop-filter: blur(4px);
}
.w-btn-ghost-light:hover { background: rgba(255,255,255,.15); color: #fff; }

.w-btn-lg { padding: .95rem 1.6rem; font-size: 1rem; }
.w-btn-sm { padding: .42rem .85rem; font-size: .85rem; }
.w-btn-block { display: flex; width: 100%; }

/* A small secondary line inside a CTA button (used by the "Upload Your
   Resume · It takes less than 5 min" footer CTA). Renders inline with a
   middle-dot separator on a single line, in a brighter muted gray. */
.w-btn .w-btn__sub {
	font-size: .82em;
	font-weight: 500;
	opacity: .85;
	margin-left: 0;
	letter-spacing: 0;
	white-space: nowrap;
	color: rgba(255, 255, 255, .82);
	display: inline-flex;
	align-items: center;
	gap: .55rem;
}
.w-btn .w-btn__sub::before {
	content: "·";
	display: inline-block;
	opacity: .65;
	font-weight: 700;
	margin: 0;
}

.w-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	border-radius: var(--w-radius-pill);
	background: var(--w-surface);
	border: 1px solid var(--w-border);
	color: var(--w-ink);
	transition: background-color .15s ease, color .15s ease;
}
.w-icon-btn:hover { background: var(--w-surface-2); color: var(--w-primary-dark); }
.w-icon-btn[aria-pressed="true"], .w-icon-btn.is-active { background: var(--w-primary-soft); color: var(--w-primary-dark); }

/* Pills (small status labels) */
.w-pill {
	display: inline-flex; align-items: center; gap: .35rem;
	padding: .35rem .7rem;
	font-size: .78rem; font-weight: 600;
	border-radius: var(--w-radius-pill);
	background: var(--w-surface);
	color: var(--w-ink);
	border: 1px solid var(--w-border);
}
.w-pill--muted { background: transparent; color: var(--w-muted); border-color: var(--w-border); }

/* Chips (clickable category) */
.w-chip {
	display: inline-flex; align-items: center; gap: .45rem;
	padding: .45rem .85rem;
	background: rgba(255,255,255,.08);
	color: #fff;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: var(--w-radius-pill);
	font-size: .85rem;
	font-weight: 500;
	transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
	backdrop-filter: blur(4px);
}
.w-chip:hover { background: rgba(255,255,255,.16); color: #fff; transform: translateY(-1px); }
.w-chip .w-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--w-cat-color, var(--w-primary)); display: inline-block; }

/* Tags (colored small labels e.g. job type / category) */
.w-tag {
	display: inline-flex; align-items: center; gap: .35rem;
	padding: .25rem .55rem;
	font-size: .72rem; font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	border-radius: var(--w-radius-sm);
	background: var(--w-surface-2);
	color: var(--w-ink-2);
}
.w-tag--cat {
	background: color-mix(in srgb, var(--w-cat-color) 14%, transparent);
	color: color-mix(in srgb, var(--w-cat-color) 80%, #000 0%);
}
.w-tag--full-time, .w-tag--full_time { background: rgba(59,130,246,.12); color: #1d4ed8; }
.w-tag--part-time, .w-tag--part_time { background: rgba(245,158,11,.14); color: #b45309; }
.w-tag--internship { background: rgba(236,72,153,.12); color: #be185d; }
.w-tag--freelance, .w-tag--contract { background: rgba(16,185,129,.14); color: #047857; }
.w-tag--temporary { background: rgba(139,92,246,.14); color: #6d28d9; }

.w-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--w-cat-color, var(--w-primary)); display: inline-block; flex-shrink: 0; }

/* -------------------------------------------------------------------------
   6. FORMS & INPUTS
   ------------------------------------------------------------------------- */
input[type="text"], input[type="email"], input[type="password"], input[type="number"],
input[type="search"], input[type="tel"], input[type="url"], input[type="date"],
select, textarea, .w-select {
	width: 100%;
	padding: .75rem 1rem;
	font: inherit;
	color: var(--w-ink);
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-sm);
	transition: border-color .15s ease, box-shadow .15s ease;
	min-height: 46px;
}
input:focus, select:focus, textarea:focus, .w-select:focus {
	outline: none;
	border-color: var(--w-primary);
	box-shadow: 0 0 0 4px var(--w-primary-soft);
}
/* Suppress Chrome/Safari's autofill yellow so it doesn't override the
   theme token — works in both light and dark. The inset shadow trick is
   the canonical fix; -webkit-text-fill-color keeps the typed text in the
   theme's ink color even after autofill. */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px var(--w-bg) inset !important;
	box-shadow: 0 0 0 1000px var(--w-bg) inset !important;
	-webkit-text-fill-color: var(--w-ink) !important;
	caret-color: var(--w-ink);
	transition: background-color 9999s ease-in-out 0s;
}
textarea { min-height: 140px; resize: vertical; }
.w-select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 2.5rem; }

/* Tag input (used for the resume Skills field) */
.w-tag-input {
	display: flex; flex-wrap: wrap; gap: .35rem;
	align-items: center;
	min-height: 46px;
	padding: .35rem .5rem;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	cursor: text;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.w-tag-input:focus-within {
	border-color: var(--w-primary);
	box-shadow: 0 0 0 4px var(--w-primary-soft);
}
.w-tag-input.is-at-limit {
	border-color: #dc2626;
	box-shadow: 0 0 0 4px rgba(220, 38, 38, .15);
	animation: w-tag-shake .25s ease;
}
.w-tag-input__pill {
	display: inline-flex; align-items: center;
	gap: .25rem;
	padding: .28rem .35rem .28rem .7rem;
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
	border-radius: var(--w-radius-pill);
	font-size: .85rem; font-weight: 600;
	line-height: 1.2;
	max-width: 100%;
}
.w-tag-input__pill > span:first-child {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.w-tag-input__remove {
	display: inline-flex; align-items: center; justify-content: center;
	width: 18px; height: 18px;
	margin: 0; padding: 0;
	border: 0; border-radius: 50%;
	background: transparent;
	color: var(--w-primary-dark);
	cursor: pointer;
	font-size: 14px; line-height: 1;
	transition: background-color .12s ease, color .12s ease;
}
.w-tag-input__remove:hover { background: rgba(220, 38, 38, .12); color: #dc2626; }
.w-tag-input__entry {
	flex: 1 1 140px;
	min-width: 120px;
	border: 0 !important;
	background: transparent !important;
	padding: .35rem .25rem !important;
	font-size: 1rem;
	color: var(--w-ink);
	outline: none !important;
	box-shadow: none !important;
}
.w-tag-input__entry::placeholder { color: var(--w-muted); font-size: .92rem; }
@keyframes w-tag-shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-3px); }
	75% { transform: translateX(3px); }
}

label { font-size: .9rem; font-weight: 500; color: var(--w-ink); display: inline-block; margin-bottom: .25rem; }

.w-input-wrap {
	position: relative;
	display: flex; align-items: center;
}
.w-input-wrap .w-icon {
	position: absolute; left: .8rem; color: var(--w-muted-2);
	pointer-events: none;
}
.w-input-wrap input { padding-left: 2.3rem; }

.w-radio, .w-check {
	display: flex; align-items: center; gap: .55rem;
	padding: .35rem 0;
	cursor: pointer;
	font-size: .9rem;
	color: var(--w-ink-2);
}
.w-radio input, .w-check input {
	accent-color: var(--w-primary);
	width: 16px; height: 16px;
}

/* -------------------------------------------------------------------------
   7. HEADER & NAV
   ------------------------------------------------------------------------- */
.w-header {
	position: sticky; top: 0; z-index: 50;
	/* Higher base opacity so the dark hero (or any dark content below)
	   doesn't bleed through as a muddy gray tint. */
	background: rgba(255, 255, 255, .96);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid transparent;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}
.w-header.is-scrolled {
	background: rgba(255, 255, 255, .98);
	border-bottom-color: var(--w-border);
	box-shadow: var(--w-shadow-sm);
}

/* The header is now always SOLID. We tried an overlay-on-hero pattern
   on the homepage but it depended on a body class that turned out to
   be unreliable across page-template setups — and in the failure mode
   the menu items vanished (white-on-white). A solid header looks clean
   in every mode (light/dark/auto) and removes the muddy gray seam over
   the dark hero. The hero just sits cleanly underneath. */
.w-header__inner {
	display: flex;
	align-items: center;
	gap: 1rem;
	height: var(--w-header-h);
	position: relative; /* anchor for the absolutely-centered nav */
}
/* True-center the desktop nav in the VIEWPORT (not just between brand
   and actions). With flex `space-between` or auto-margins the nav
   would offset toward whichever side has shorter content — looks
   unbalanced when the actions cluster is wider than the brand. */
.w-nav--desktop {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
}
/* Push the action cluster flush to the right. */
.w-header__actions { margin-left: auto; }

.w-brand {
	display: inline-flex; align-items: center; gap: .6rem;
	font-family: var(--w-font-display);
	font-weight: 800;
	font-size: 1.15rem;
	color: var(--w-ink);
	text-decoration: none;
}
.w-brand:hover { color: var(--w-primary-dark); }
.w-brand img,
.w-brand .w-brand__logo,
.w-brand .custom-logo { max-height: 40px; width: auto; display: block; }
.w-footer .w-brand img,
.w-footer .w-brand .w-brand__logo,
.w-footer .w-brand .custom-logo { max-height: 36px; }

/* Wordmark rendered next to the logo when workew_site_branding(true)
   is called (footer + mobile nav). Uses the Plus Jakarta Sans display
   face so it reads as a proper brand mark. */
.w-brand--with-name {
	gap: .65rem;
}
.w-brand__name {
	font-family: var(--w-font-display);
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: -0.025em;
	color: var(--w-ink);
	line-height: 1;
}
.w-brand--with-name:hover .w-brand__name { color: var(--w-primary-dark); }

/* --------------------------------------------------------------------------
   AI chip next to the brand — header-level "what's new" beacon.
   Subtle shine sweep every few seconds plus a gentle scale on hover.
   -------------------------------------------------------------------------- */
.w-header__brand-group {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
}
/* Nudge the AI chip down so its bottom edge sits on the wordmark's
   baseline (rather than centered with the logo image). Margin-top
   doesn't fight the hover transform, so the lift animation still works. */
.w-header__brand-group .w-ai-chip {
	margin-top: 6px;
}
.w-ai-chip {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/* ~20 % smaller than the previous size — sits at x-height of the
	   wordmark, reads as a tasteful badge rather than a competing element. */
	height: 14px;
	padding: 0 4px;
	background: linear-gradient(135deg, #7BC74C 0%, #5DA730 100%);
	color: #FFFFFF;
	font-family: var(--w-font-ui);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	border-radius: 3px;
	text-decoration: none !important;
	overflow: hidden;
	/* Clean: no drop shadow, no text shadow. Just the subtle inset
	   highlight at the top so the gradient still feels dimensional. */
	box-shadow: 0 1px 0 rgba(255,255,255,.35) inset;
	transition: transform .2s ease, box-shadow .2s ease;
	white-space: nowrap;
	line-height: 1;
}
.w-ai-chip:hover {
	color: #FFFFFF;
	transform: translateY(-1px);
	box-shadow:
		0 1px 0 rgba(255,255,255,.45) inset,
		0 2px 6px -2px rgba(123,199,76,.4);
}
.w-ai-chip__label {
	position: relative;
	z-index: 1;
}
/* Shine sweep — diagonal highlight that crosses the chip every ~3.6s.
   `pointer-events: none` so it never blocks the click. */
.w-ai-chip__shine {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(
		115deg,
		transparent 30%,
		rgba(255, 255, 255, .55) 50%,
		transparent 70%
	);
	transform: translateX(-110%);
	animation: w-ai-chip-shine 3.6s ease-in-out infinite;
	pointer-events: none;
	mix-blend-mode: screen;
}
@keyframes w-ai-chip-shine {
	0%   { transform: translateX(-110%); }
	55%  { transform: translateX(110%); }
	100% { transform: translateX(110%); }
}
@media (prefers-reduced-motion: reduce) {
	.w-ai-chip__shine { animation: none; opacity: 0; }
	.w-ai-chip:hover  { transform: none; }
}
/* Hide the chip on very narrow viewports so it doesn't push the nav off-screen. */
@media (max-width: 420px) {
	.w-ai-chip { display: none; }
}
.w-brand__mark {
	width: 32px; height: 32px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--w-primary);
	color: #0a1a02;
	border-radius: 10px;
	font-weight: 800;
	font-size: 1.1rem;
}

.w-nav__list, .w-nav ul {
	list-style: none; margin: 0; padding: 0;
	display: flex; gap: .35rem;
}
.w-nav__item { position: relative; }
.w-nav__link, .w-nav__list a {
	display: inline-flex; align-items: center; gap: .35rem;
	padding: .55rem .85rem;
	border-radius: var(--w-radius-pill);
	color: var(--w-ink);
	font-weight: 500;
	font-size: .95rem;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}
.w-nav__link:hover, .w-nav__list a:hover { background: var(--w-surface); color: var(--w-primary-dark); }
.w-nav .current-menu-item > a, .w-nav .current-menu-parent > a { background: var(--w-surface); color: var(--w-primary-dark); }

.w-nav__item--has-children > a::after {
	content: ""; width: 7px; height: 7px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translate(-1px, 0);
	margin-left: .25rem;
	opacity: .7;
}
.w-nav__item .sub-menu {
	position: absolute; top: calc(100% + .25rem); left: 0;
	min-width: 220px;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	padding: .5rem;
	box-shadow: var(--w-shadow-md);
	display: none;
	flex-direction: column;
	gap: 0;
}
.w-nav__item:hover .sub-menu, .w-nav__item:focus-within .sub-menu { display: flex; }
.w-nav__item .sub-menu a { padding: .55rem .75rem; border-radius: var(--w-radius-sm); }

.w-header__actions { display: flex; align-items: center; gap: .5rem; }
.w-header__search-trigger,
.w-header__social,
.w-header__account,
.w-header__theme-toggle {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px;
	border-radius: var(--w-radius-pill);
	color: var(--w-ink);
	border: 1px solid var(--w-border);
	background: var(--w-bg);
	transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .1s ease;
	text-decoration: none;
	cursor: pointer;
	font-size: 14px; /* drives inherited 1em SVGs (the search icon) */
}
.w-header__search-trigger:hover,
.w-header__social:hover,
.w-header__account:hover,
.w-header__theme-toggle:hover {
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
	border-color: var(--w-primary);
	transform: translateY(-1px);
}
.w-header__social svg { width: 14px; height: 14px; }
.w-header__account svg { width: 16px; height: 16px; }

/* Theme toggle — show one of three SVGs depending on data-theme */
.w-header__theme-toggle .w-theme-icon { width: 14px; height: 14px; display: none; }
:root[data-theme="light"] .w-theme-icon--sun,
:root[data-theme="dark"] .w-theme-icon--moon,
:root[data-theme="auto"] .w-theme-icon--auto {
	display: block;
}
/* Hide on mobile — keep the header compact, socials live in the
   footer + mobile nav. */
@media (max-width: 900px) {
	.w-header__social { display: none; }
}

.w-header__burger {
	display: none;
	width: 44px; height: 44px;
	border: 1px solid var(--w-border);
	background: var(--w-bg);
	border-radius: var(--w-radius-sm);
	color: var(--w-ink);
	align-items: center; justify-content: center;
}

/* Header slide-down search panel */
.w-header-search {
	border-top: 1px solid var(--w-border);
	background: rgba(255,255,255,.96);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	padding: 1rem 0;
	animation: w-header-search-in .2s ease;
}
.w-header-search[hidden] { display: none; }
.w-header-search__form {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto auto;
	gap: .5rem;
	align-items: center;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-pill);
	padding: .35rem .35rem .35rem 1rem;
	box-shadow: var(--w-shadow-sm);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.w-header-search__form:focus-within {
	border-color: var(--w-primary);
	box-shadow: 0 0 0 4px var(--w-primary-soft);
}
.w-header-search__icon { color: var(--w-muted); display: inline-flex; }
.w-header-search__icon svg { width: 18px; height: 18px; }
.w-header-search__form input[type="search"] {
	border: 0;
	background: transparent;
	padding: .65rem 0;
	font-size: 1.02rem;
	color: var(--w-ink);
	min-height: auto;
	box-shadow: none;
}
.w-header-search__form input:focus { outline: none; box-shadow: none; }
.w-header-search__submit { padding: .65rem 1.25rem; }
.w-header-search__close {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px;
	background: transparent;
	border: 0;
	color: var(--w-muted);
	border-radius: 50%;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}
.w-header-search__close:hover { background: var(--w-surface); color: var(--w-ink); }
.w-header-search__suggestions {
	display: flex; flex-wrap: wrap; align-items: center; gap: .65rem;
	margin-top: .9rem;
	font-size: .85rem; color: var(--w-muted);
}
.w-header-search__suggestions-label { font-weight: 600; }
.w-header-search__suggestions a {
	padding: .3rem .75rem;
	background: var(--w-surface);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-pill);
	color: var(--w-ink-2);
	font-weight: 500;
	font-size: .85rem;
}
.w-header-search__suggestions a:hover { background: var(--w-primary-soft); color: var(--w-primary-dark); border-color: var(--w-primary); }

@keyframes w-header-search-in {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Pressed state for header search trigger when open */
.w-header__search-trigger[aria-expanded="true"] {
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
	border-color: var(--w-primary);
}

/* Mobile nav (off-canvas) */
.w-mobile-nav {
	position: fixed; inset: 0;
	z-index: 60;
	pointer-events: none;
	opacity: 0;
	transition: opacity .2s ease;
}
.w-mobile-nav.is-open { pointer-events: auto; opacity: 1; }
.w-mobile-nav__backdrop {
	position: absolute; inset: 0;
	z-index: 1;
	background: rgba(15, 23, 42, .55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.w-mobile-nav__panel {
	position: absolute; top: 0; right: 0; bottom: 0;
	z-index: 2; /* must sit ABOVE the backdrop, otherwise the blur
	               washes out the menu items themselves */
	width: min(360px, 88vw);
	background: var(--w-bg);
	padding: 1.25rem;
	display: flex; flex-direction: column; gap: 1rem;
	transform: translateX(100%);
	transition: transform .25s ease;
	box-shadow: var(--w-shadow-lg);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.w-mobile-nav.is-open .w-mobile-nav__panel { transform: translateX(0); }
.w-mobile-nav__head {
	display: flex; justify-content: space-between; align-items: center;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--w-border);
}
.w-mobile-nav__close {
	width: 40px; height: 40px;
	border-radius: var(--w-radius-pill);
	background: var(--w-surface); color: var(--w-ink);
	border: 1px solid var(--w-border);
	display: inline-flex; align-items: center; justify-content: center;
}
.w-mobile-nav .w-nav__list { flex-direction: column; gap: 0; }
.w-mobile-nav .w-nav__list a { padding: .85rem .75rem; border-radius: var(--w-radius-sm); }

/* Mobile nav sub-menus — desktop CSS positions them absolutely with a
   floating dropdown look; in the off-canvas mobile panel we need them
   to flow inline as indented child items beneath their parent. */
.w-mobile-nav .w-nav__item {
	display: flex;
	flex-direction: column;
}
.w-mobile-nav .w-nav__item .sub-menu {
	position: static !important;
	display: flex !important;
	flex-direction: column;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 0 .35rem .75rem !important;
	margin: 0;
	min-width: 0;
	gap: 0;
	border-left: 2px solid var(--w-border);
	margin-left: .85rem;
}
.w-mobile-nav .w-nav__item .sub-menu a {
	font-size: .92rem;
	font-weight: 500;
	color: var(--w-ink-2);
	padding: .6rem .75rem;
}
.w-mobile-nav .w-nav__item .sub-menu a:hover {
	background: var(--w-surface);
	color: var(--w-primary-dark);
}
/* Drop the desktop chevron on items with children — sub-menu is
   always expanded inline so the chevron suggests an action that
   isn't there. */
.w-mobile-nav .w-nav__item--has-children > a::after { display: none; }
.w-mobile-nav__actions { margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--w-border); }
.w-mobile-nav__actions .w-btn { width: 100%; }

/* -------------------------------------------------------------------------
   8. FOOTER
   ------------------------------------------------------------------------- */
.w-footer-cta {
	padding: 1.5rem 0;
	background: var(--w-bg);
}
.w-footer-cta__card {
	background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
	border-radius: var(--w-radius-lg);
	padding: 2rem 2.25rem;
	color: #fff;
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 2rem;
	align-items: center;
	position: relative; overflow: hidden;
}
.w-footer-cta__card::before {
	content: "";
	position: absolute;
	top: -50%; right: -10%;
	width: 60%;
	height: 200%;
	background: radial-gradient(circle, var(--w-primary-soft) 0%, transparent 60%);
	pointer-events: none;
}
.w-footer-cta__title { color: #fff; font-size: clamp(1.4rem, 2.2vw, 1.85rem); margin: 0 0 .5em; }
.w-footer-cta__subtitle { color: #CBD5E1; margin: 0; }
.w-footer-cta__actions { display: flex; flex-direction: column; gap: .75rem; position: relative; z-index: 1; }
.w-footer-cta__actions .w-btn { justify-content: center; }

.w-footer {
	background: var(--w-surface);
	border-top: 1px solid var(--w-border);
	padding: 4rem 0 2rem;
}
.w-footer__grid {
	display: grid;
	grid-template-columns: 1.5fr repeat(3, 1fr);
	gap: 2.5rem;
}
.w-footer__col--about { max-width: 360px; }
.w-footer__about { color: var(--w-muted); font-size: .92rem; margin-top: 1rem; }
.w-footer .widget-title, .w-footer h2, .w-footer h3 { font-size: .82rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; color: var(--w-ink); margin-bottom: 1rem; }
.w-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .5rem; }
.w-footer a { color: var(--w-ink-2); font-size: .92rem; }
.w-footer a:hover { color: var(--w-primary-dark); }
.w-footer__social { flex-direction: row !important; gap: .5rem !important; margin-top: 1rem !important; }
.w-footer__social a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: 50%;
	color: var(--w-muted);
	transition: color .15s ease, border-color .15s ease, background-color .15s ease, transform .1s ease;
}
.w-footer__social a:hover {
	color: var(--w-primary-dark);
	border-color: var(--w-primary);
	background: var(--w-primary-soft);
	transform: translateY(-1px);
}
.w-footer__social a svg { width: 16px; height: 16px; display: block; }

.w-footer__bar {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--w-border);
	display: flex; justify-content: space-between; align-items: center;
	gap: 1.5rem;
	font-size: .9rem;
	color: var(--w-muted);
	flex-wrap: wrap;
}
.w-footer__bar ul { flex-direction: row; gap: 1.5rem; }
.w-footer__nav a { color: var(--w-muted); font-size: .9rem; }

/* -------------------------------------------------------------------------
   9. HERO (homepage)
   ------------------------------------------------------------------------- */
.w-hero {
	position: relative;
	overflow: hidden;
	color: #fff;
	padding: clamp(4rem, 9vw, 7rem) 0 clamp(3rem, 6vw, 5rem);
	background: radial-gradient(110% 100% at 0% 0%, #0F2C16 0%, #0A1A0B 50%, #07140A 100%);
}
.w-hero__bg {
	position: absolute; inset: 0;
	background:
		radial-gradient(700px 400px at 80% 10%, rgba(123, 199, 76, .25), transparent 60%),
		radial-gradient(500px 350px at 0% 100%, rgba(123, 199, 76, .15), transparent 60%);
	pointer-events: none;
}
.w-hero__inner { position: relative; z-index: 1; max-width: 980px; }
.w-hero__title {
	color: #fff;
	font-size: clamp(2.4rem, 5.5vw, 4rem);
	margin: 0 0 1rem;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.05;
}
.w-hero__subtitle {
	color: rgba(255,255,255,.85);
	font-size: 1.15rem;
	max-width: none;
	margin: 0 0 2rem;
}
.w-hero__actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 2.5rem; }

.w-hero__chips {
	display: flex; align-items: center; flex-wrap: wrap; gap: .5rem;
	margin-top: 1.5rem;
}
.w-hero__chips-label { color: rgba(255,255,255,.7); font-size: .85rem; margin-right: .25rem; }

.w-hero__stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
	margin: 3rem 0 0;
	max-width: 820px;
}
.w-hero__stats div { color: #fff; }
.w-hero__stats dt {
	font-family: var(--w-font-display);
	font-size: clamp(1.8rem, 3.5vw, 2.4rem);
	font-weight: 700;
	color: var(--w-primary);
	letter-spacing: -0.02em;
}
.w-hero__stats dd {
	font-size: .9rem;
	color: rgba(255,255,255,.7);
	margin: 0;
}

/* -------------------------------------------------------------------------
  10. SEARCH BAR
   -------------------------------------------------------------------------
   Uses named grid areas so the visible fields always land in the right
   columns even when the WPJM filters form prepends hidden inputs.
*/
form.w-search-bar,
.w-search-bar {
	display: grid;
	width: 100%;
	box-sizing: border-box;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto;
	grid-template-areas: "keywords region category submit";
	gap: .5rem;
	padding: .6rem;
	background: rgba(255,255,255,.98);
	border-radius: var(--w-radius-lg);
	box-shadow: var(--w-shadow-lg);
	align-items: center;
	color: var(--w-ink);
}
.w-search-bar > input[type="hidden"] { display: none; }

.w-search-bar__field--keywords { grid-area: keywords; }
.w-search-bar__field--region   { grid-area: region; }
.w-search-bar__field--category { grid-area: category; }
.w-search-bar__submit          { grid-area: submit; }

.w-search-bar__field {
	display: flex; flex-direction: column;
	background: transparent;
	padding: .35rem .85rem;
	border-radius: var(--w-radius);
	position: relative;
	min-width: 0;
}
.w-search-bar__field + .w-search-bar__field { border-left: 1px solid var(--w-border); }
.w-search-bar__field label {
	display: flex; align-items: center; gap: .35rem;
	font-size: .72rem; font-weight: 700; text-transform: uppercase;
	letter-spacing: .08em; color: var(--w-muted);
	margin: 0;
}
.w-search-bar__field label .w-icon { color: var(--w-primary-dark); }
.w-search-bar__field input,
.w-search-bar__field select {
	border: 0;
	padding: .3rem 0;
	font-size: 1rem;
	/* IMPORTANT: background-COLOR only, NOT the shorthand. Using
	   `background: transparent` here would reset background-image,
	   background-repeat, and background-position — wiping the chevron
	   set by .w-select and (in dark mode) causing the replacement
	   chevron to tile across the input. */
	background-color: transparent;
	min-height: auto;
}
.w-search-bar__field input:focus,
.w-search-bar__field select:focus {
	box-shadow: none;
	outline: none;
}
.w-search-bar__field .w-select { padding-right: 1.5rem; background-position: right .25rem center; background-size: 12px; }
.w-search-bar__submit { white-space: nowrap; height: 100%; }

/* -------------------------------------------------------------------------
  11. JOB CARDS & LIST
   ------------------------------------------------------------------------- */
.w-job-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: .75rem;
}
.w-job-card {
	position: relative;
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	gap: 1.25rem;
	align-items: center;
	padding: 1.25rem 1.5rem;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
	overflow: hidden;
}
.w-job-card::before {
	content: "";
	position: absolute; left: 0; top: 0; bottom: 0;
	width: 4px;
	background: var(--w-cat-color, var(--w-primary));
	opacity: 0;
	transition: opacity .15s ease;
}
.w-job-card:hover { transform: translateY(-2px); box-shadow: var(--w-shadow-md); border-color: var(--w-border-strong); }
.w-job-card:hover::before { opacity: 1; }
.w-job-card--featured {
	border-color: rgba(123, 199, 76, .35);
	background:
		linear-gradient(90deg, rgba(123, 199, 76, .06) 0%, rgba(123, 199, 76, 0) 60%),
		var(--w-bg);
}
.w-job-card--featured::before { opacity: 1; background: var(--w-primary); width: 3px; }
.w-job-card--filled { opacity: .72; }
.w-job-card--filled .w-job-card__title::after {
	content: " · " attr(data-status);
}
.w-job-card__link {
	position: absolute; inset: 0;
	z-index: 1;
	text-indent: -9999px;
	overflow: hidden;
}
.w-job-card__logo {
	width: 56px; height: 56px;
	border-radius: var(--w-radius-sm);
	background: var(--w-surface);
	display: inline-flex; align-items: center; justify-content: center;
	overflow: hidden;
}
.w-job-card__logo img {
	width: 100%;
	height: 100%;
	/* `contain` so tall pill / wide wordmark logos display in full
	   instead of being cropped into a centered square crop. The logo
	   container's surface background fills any letterbox space. */
	object-fit: contain;
	padding: 4px;
	box-sizing: border-box;
}
.w-job-card__logo-fallback {
	width: 100%; height: 100%;
	display: flex; align-items: center; justify-content: center;
	background: var(--w-cat-color, var(--w-primary));
	color: #fff;
	font-family: var(--w-font-display);
	font-weight: 700;
	font-size: 1.4rem;
}
.w-job-card__body { min-width: 0; }
.w-job-card__heading { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.w-job-card__title {
	margin: 0;
	font-size: 1.06rem;
	font-weight: 700;
	color: var(--w-ink);
	line-height: 1.3;
}
.w-job-card__badge {
	display: inline-flex; align-items: center; gap: .25rem;
	padding: .2rem .5rem;
	border-radius: var(--w-radius-pill);
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
	font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
}
.w-job-card__badge .w-icon svg { width: .85em; height: .85em; }
.w-job-card__company {
	margin: .5rem 0 .65rem;
	font-size: .9rem;
	color: var(--w-ink-2);
}
.w-job-card__company strong { color: var(--w-ink); font-weight: 600; }
.w-job-card__company-tagline { color: var(--w-muted); font-weight: 400; }
.w-job-card__meta {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-wrap: wrap;
	gap: .35rem .9rem;
}
.w-job-card__meta-item {
	display: inline-flex; align-items: center; gap: .35rem;
	font-size: .85rem; color: var(--w-muted);
}

/* Region chip — flag emoji + region name in a soft pill. Used both in
   the job card meta row and on featured cards. */
.w-region-chip {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .25rem .65rem .25rem .55rem;
	background: var(--w-surface);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-pill);
	font-size: .8rem;
	font-weight: 600;
	color: var(--w-ink-2);
	line-height: 1.2;
}
.w-region-chip .w-flag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.05em;
	line-height: 1;
	/* Use the system's emoji font so flag glyphs render in full color on
	   all platforms (esp. older Windows where the UI font lacks them). */
	font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Twemoji Mozilla", sans-serif;
}
/* The chip subsumes the location icon — drop the icon when the chip
   renders so the row reads cleanly. */
.w-job-card__meta-item.w-region-chip .w-icon { display: none; }
.w-job-card__side { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: .5rem; position: relative; z-index: 2; min-width: 110px; }
.w-job-card__type,
.w-job-card__category {
	display: inline-flex;
	padding: .35rem .7rem;
	border-radius: var(--w-radius-sm);
	background: color-mix(in srgb, var(--w-cat-color) 16%, transparent);
	color: color-mix(in srgb, var(--w-cat-color) 70%, #000);
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.w-job-card__date { color: var(--w-muted); font-size: .82rem; }

/* -------------------------------------------------------------------------
  12. FEATURED & HOME SECTIONS
   ------------------------------------------------------------------------- */
.w-featured-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}
.w-featured-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	text-decoration: none;
	color: var(--w-ink);
	overflow: hidden;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
	min-height: 280px;
}
.w-featured-card:hover { transform: translateY(-3px); box-shadow: var(--w-shadow-md); border-color: var(--w-border-strong); }

/* Cover image at the top of the card. Falls back to a brand-tinted
   gradient when the job has no featured image. */
.w-featured-card__cover {
	position: relative;
	/* Cover assets are 1500×500 (3:1) — match exactly so they render edge-to-edge
	   with no horizontal cropping (Speechify "Spee…" was being clipped). */
	aspect-ratio: 3 / 1;
	background: color-mix(in srgb, var(--w-cat-color) 14%, var(--w-surface));
	overflow: hidden;
}
.w-featured-card__cover-img,
.w-featured-card__cover img {
	width: 100%;
	height: 100%;
	/* True cover photo from the dedicated Cover Image field — fills the
	   frame, crops as needed. */
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform .35s ease;
}
.w-featured-card:hover .w-featured-card__cover-img,
.w-featured-card:hover .w-featured-card__cover img { transform: scale(1.04); }

.w-featured-card__cover-fallback {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(120% 100% at 20% 0%, color-mix(in srgb, var(--w-cat-color) 45%, transparent), transparent 60%),
		linear-gradient(135deg, color-mix(in srgb, var(--w-cat-color) 30%, var(--w-surface-2)) 0%, color-mix(in srgb, var(--w-cat-color) 8%, var(--w-surface)) 100%);
}
.w-featured-card__cover-fallback::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 80% 70%, rgba(255,255,255,.35) 0, transparent 35%),
		radial-gradient(circle at 30% 90%, rgba(255,255,255,.18) 0, transparent 40%);
	mix-blend-mode: overlay;
}

/* Subtle bottom fade so the logo reads against any cover. */
.w-featured-card__cover::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 50%;
	background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.18) 100%);
	pointer-events: none;
}

.w-featured-card__body {
	position: relative;
	padding: 1.5rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.w-featured-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: -2.25rem;
	margin-bottom: 1rem;
	position: relative;
}
.w-featured-card__brand {
	display: flex;
	align-items: center;
	gap: .75rem;
	min-width: 0;
	flex: 1;
}
.w-featured-card__top .w-job-card__logo {
	width: 56px;
	height: 56px;
	border-radius: var(--w-radius-sm);
	background: var(--w-bg);
	box-shadow: 0 6px 18px -6px rgba(15, 23, 42, .25);
	border: 2px solid var(--w-bg);
	flex-shrink: 0;
}
.w-featured-card__company {
	margin: 1.5rem 0 0;
	font-weight: 600;
	font-size: .95rem;
	color: var(--w-ink);
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
/* Match the company name's downward shift so the category pill sits on
   the same baseline as "n8n" on the left. Both clear the cover-image
   line by the same amount. */
.w-featured-card__top .w-tag--cat { margin-top: 1.5rem; flex-shrink: 0; }

.w-featured-card__title { font-size: 1.15rem; margin: 0 0 1rem; }
.w-featured-card__foot { display: flex; gap: 1rem; color: var(--w-muted); font-size: .85rem; margin-top: auto; }
.w-featured-card__foot span { display: inline-flex; align-items: center; gap: .35rem; }

.w-find-job {
	background: linear-gradient(135deg, #0F172A 0%, #142736 100%);
	color: #fff;
	border-radius: 0;
}
.w-find-job__inner {
	max-width: 1100px;
	text-align: center;
	margin: 0 auto;
}
.w-find-job p { max-width: none; }
.w-find-job h2 { color: #fff; font-size: clamp(1.8rem, 3.4vw, 2.6rem); margin-bottom: 1rem; }
.w-find-job p { color: rgba(255,255,255,.78); font-size: 1.05rem; margin-bottom: 2rem; }
.w-find-job .w-btn { display: inline-flex; }

.w-load-more-wrap { display: flex; justify-content: center; margin-top: 2rem; }

.w-automation__card {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 2rem;
	align-items: center;
	background: linear-gradient(135deg, var(--w-surface) 0%, var(--w-surface-2) 100%);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-lg);
	padding: 3rem;
}
.w-automation__card h2 { font-size: clamp(1.6rem, 2.8vw, 2.2rem); margin: 0 0 1rem; }

.w-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.75rem;
}
/* Blog index gets a slightly larger gap & generous bottom margin under the
   grid before pagination. Top margin gives clean breathing room from the
   page header's bottom border. */
.w-post-grid--blog { gap: 2rem; margin: 2.5rem 0 3rem; }

.w-post-card {
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	overflow: hidden;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
	display: flex;
	flex-direction: column;
}
.w-post-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--w-shadow-md);
	border-color: var(--w-border-strong);
}
.w-post-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	/* Hairline divider between image and body for visual rhythm. */
	border-bottom: 1px solid var(--w-border);
}
.w-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.w-post-card:hover .w-post-card__media img { transform: scale(1.05); }
.w-post-card__body {
	padding: 1.75rem 1.5rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: .65rem;
	flex: 1;
}
.w-post-card__meta {
	color: var(--w-muted);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
}
.w-post-card__meta a {
	color: var(--w-primary-dark);
	text-decoration: none;
}
.w-post-card__meta a:hover { color: var(--w-ink); }
.w-post-card__title {
	font-size: 1.2rem;
	margin: 0;
	line-height: 1.3;
}
.w-post-card__title a { color: var(--w-ink); }
.w-post-card__title a:hover { color: var(--w-primary-dark); }
.w-post-card__excerpt {
	color: var(--w-muted);
	margin: 0 0 1rem;
	flex: 1;
	font-size: .95rem;
	line-height: 1.6;
}

/* -------------------------------------------------------------------------
  13. SINGLE JOB
   ------------------------------------------------------------------------- */
.w-single-job__hero {
	background: linear-gradient(180deg, var(--w-surface) 0%, var(--w-bg) 100%);
	border-bottom: 1px solid var(--w-border);
	padding: 2.5rem 0 2.5rem;
}
.w-single-job__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: center;
}
.w-single-job__brand {
	display: flex;
	gap: 1.5rem;
	/* Center the logo with the full text block so it visually aligns
	   with the title + company name rather than the small "FULL TIME"
	   eyebrow that sits above. */
	align-items: center;
}
.w-single-job__brand .w-job-card__logo { width: 80px; height: 80px; border-radius: var(--w-radius); flex-shrink: 0; }
.w-single-job__category {
	display: inline-flex;
	padding: .3rem .65rem;
	border-radius: var(--w-radius-sm);
	background: color-mix(in srgb, var(--w-cat-color) 14%, transparent);
	color: color-mix(in srgb, var(--w-cat-color) 80%, #000);
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	margin-bottom: .75rem;
}
.w-single-job__title { font-size: clamp(1.8rem, 3.5vw, 2.6rem); margin: 0 0 .5rem; line-height: 1.15; }
.w-single-job__company { color: var(--w-ink-2); margin: 0 0 1rem; font-size: 1.05rem; }
.w-single-job__company a { color: var(--w-primary-dark); font-weight: 600; }

.w-single-job__cta {
	display: flex; flex-direction: column; align-items: flex-end; gap: .75rem;
}
.w-single-job__cta > .w-btn-primary,
.w-single-job__apply-row > .w-btn-primary { position: relative; }
.w-single-job__share { display: flex; gap: .5rem; position: relative; width: 100%; justify-content: center; }
.w-single-job__apply-row {
	display: inline-flex; align-items: center; gap: .65rem;
	flex-wrap: wrap;
}

/* --- Apply URL "may be broken" inline notice --- */
.w-apply-warn {
	display: inline-flex; align-items: center;
	position: relative;
	line-height: 1;
}
.w-apply-warn__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 30px; height: 30px;
	padding: 0;
	border: 1px solid #FCD34D;
	background: #FFFBEB;
	color: #B45309;
	border-radius: 999px;
	cursor: help;
	transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.w-apply-warn__icon:hover,
.w-apply-warn__icon:focus-visible {
	background: #FEF3C7;
	border-color: #F59E0B;
	color: #92400E;
	transform: translateY(-1px);
	outline: none;
}
.w-apply-warn__icon svg { display: block; }

/* Tooltip — appears on hover/focus, positioned above the icon. */
.w-apply-warn__tooltip {
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%) translateY(4px);
	max-width: 260px;
	width: max-content;
	padding: .55rem .75rem;
	background: #0F172A;
	color: #F8FAFC;
	font-size: .78rem;
	line-height: 1.45;
	font-weight: 500;
	border-radius: 8px;
	box-shadow: 0 8px 24px -8px rgba(15,23,42,.35);
	opacity: 0;
	pointer-events: none;
	transition: opacity .15s ease, transform .15s ease;
	z-index: 40;
	text-align: center;
}
.w-apply-warn__tooltip::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 6px solid transparent;
	border-top-color: #0F172A;
}
.w-apply-warn__icon:hover + .w-apply-warn__tooltip,
.w-apply-warn__icon:focus-visible + .w-apply-warn__tooltip {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* Right-anchored when the icon lives in the hero CTA stack (so tooltip
   doesn't overflow the viewport edge on the right side of the screen). */
.w-single-job__cta .w-apply-warn .w-apply-warn__tooltip {
	left: auto; right: 0;
	transform: translateY(4px);
}
.w-single-job__cta .w-apply-warn .w-apply-warn__tooltip::after {
	left: auto; right: 11px;
	transform: none;
}
.w-single-job__cta .w-apply-warn__icon:hover + .w-apply-warn__tooltip,
.w-single-job__cta .w-apply-warn__icon:focus-visible + .w-apply-warn__tooltip {
	transform: translateY(0);
}

/* --- Dark-mode treatment for the apply-warn icon ---
   The light-mode pill uses cream fill (#FFFBEB) + amber border, which reads
   like a chip of paper on a dark hero. In dark mode we want the icon to feel
   like part of the dark surface, not a sticker on top — so swap to a muted
   translucent amber tint with a softer border. The tooltip swaps to a light
   surface for contrast against the dark background. */
:root[data-theme="dark"] .w-apply-warn__icon {
	background: rgba( 251, 191, 36, .12 );
	border-color: rgba( 251, 191, 36, .35 );
	color: #FBBF24;
}
:root[data-theme="dark"] .w-apply-warn__icon:hover,
:root[data-theme="dark"] .w-apply-warn__icon:focus-visible {
	background: rgba( 251, 191, 36, .22 );
	border-color: rgba( 251, 191, 36, .65 );
	color: #FDE68A;
}
:root[data-theme="dark"] .w-apply-warn__tooltip {
	background: #F8FAFC;
	color: #0F172A;
	box-shadow: 0 10px 28px -10px rgba( 0, 0, 0, .55 );
}
:root[data-theme="dark"] .w-apply-warn__tooltip::after {
	border-top-color: #F8FAFC;
}

@media ( prefers-color-scheme: dark ) {
	:root[data-theme="auto"] .w-apply-warn__icon {
		background: rgba( 251, 191, 36, .12 );
		border-color: rgba( 251, 191, 36, .35 );
		color: #FBBF24;
	}
	:root[data-theme="auto"] .w-apply-warn__icon:hover,
	:root[data-theme="auto"] .w-apply-warn__icon:focus-visible {
		background: rgba( 251, 191, 36, .22 );
		border-color: rgba( 251, 191, 36, .65 );
		color: #FDE68A;
	}
	:root[data-theme="auto"] .w-apply-warn__tooltip {
		background: #F8FAFC;
		color: #0F172A;
		box-shadow: 0 10px 28px -10px rgba( 0, 0, 0, .55 );
	}
	:root[data-theme="auto"] .w-apply-warn__tooltip::after {
		border-top-color: #F8FAFC;
	}
}

/* Share popover (Twitter / Facebook / LinkedIn / WhatsApp / Copy link).
   Anchored to the share icon's wrapper; opens on click. */
.w-share-popover {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 60;
	min-width: 220px;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	box-shadow: var(--w-shadow-md);
	padding: 6px;
	display: flex; flex-direction: column;
	animation: w-share-pop-in .15s ease;
}
@keyframes w-share-pop-in {
	from { opacity: 0; transform: translateY(-4px); }
	to   { opacity: 1; transform: translateY(0); }
}
.w-share-popover__item {
	display: flex; align-items: center; gap: .75rem;
	padding: .55rem .7rem;
	margin: 0;
	border: 0;
	border-radius: var(--w-radius-sm);
	background: transparent;
	color: var(--w-ink);
	font-size: .92rem; font-weight: 500;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	width: 100%;
	transition: background-color .12s ease;
}
.w-share-popover__item:hover,
.w-share-popover__item:focus-visible { background: var(--w-surface); outline: none; }
.w-share-popover__item.is-done { color: var(--w-primary-dark); }
.w-share-popover__icon {
	width: 30px; height: 30px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 8px;
	background: var(--w-surface-2);
	color: var(--w-ink);
	flex-shrink: 0;
}
.w-share-popover__icon svg { width: 16px; height: 16px; }
.w-share-popover__icon--x  { background: #0F172A; color: #fff; }
.w-share-popover__icon--fb { background: #1877F2; color: #fff; }
.w-share-popover__icon--ln { background: #0A66C2; color: #fff; }
.w-share-popover__icon--wa { background: #25D366; color: #fff; }
.w-share-popover__icon--copy { background: var(--w-primary-soft); color: var(--w-primary-dark); }
.w-share-popover__label { flex: 1; }

@media (max-width: 480px) {
	.w-share-popover { right: auto; left: 50%; transform: translateX(-50%); }
}

.w-single-job__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 3rem;
	padding: 3rem 0;
}
.w-single-job__section { margin-bottom: 2.5rem; }
.w-single-job__section .w-section-title { font-size: 1.5rem; margin-bottom: 1rem; }

.w-single-job__apply-block {
	background: linear-gradient(135deg, var(--w-primary-soft), transparent);
	border: 1px solid var(--w-primary-soft);
	border-radius: var(--w-radius);
	padding: 2rem;
	text-align: center;
	margin-top: 3rem;
}
.w-single-job__apply-block h3 { margin: 0 0 .5rem; }
.w-single-job__apply-block p { color: var(--w-muted); margin-bottom: 1.5rem; }

.w-single-job__aside { display: flex; flex-direction: column; gap: 1.25rem; align-self: start; position: sticky; top: calc(var(--w-header-h) + 1rem); }
.w-single-job__summary h3 { margin: 0 0 calc(1rem + 2px); }
.w-single-job__summary dl { margin: 0; display: grid; gap: .85rem; }
.w-single-job__summary dl div { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .85rem; border-bottom: 1px solid var(--w-border); }
.w-single-job__summary dl div:last-child { border-bottom: 0; padding-bottom: 0; }
.w-single-job__summary dt { font-size: .82rem; color: var(--w-muted); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.w-single-job__summary dd { margin: 0; font-weight: 600; color: var(--w-ink); text-align: right; }

.w-single-job__company-head {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.25rem;
}
.w-single-job__company-head .w-job-card__logo {
	width: 64px;
	height: 64px;
	flex-shrink: 0;
	border-radius: var(--w-radius-sm);
	background: var(--w-surface);
}
/* Drop the global 4px inset for company-card / featured-card logos —
   in larger containers the padding eats too much of the available
   area for tall or wide logos (e.g. Solana, Wikimedia wordmark). */
.w-single-job__company-head .w-job-card__logo img,
.w-featured-card .w-job-card__logo img {
	padding: 0;
}
.w-single-job__company-head h3 {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.3;
}
.w-single-job__company-head p {
	margin: .15rem 0 0;
	font-size: .9rem;
	color: var(--w-muted);
}
.w-single-job__company-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .5rem; }
.w-single-job__company-links li { display: flex; align-items: center; gap: .5rem; font-size: .9rem; }

.w-sticky-apply {
	position: fixed; bottom: 0; left: 0; right: 0;
	background: rgba(255,255,255,.97);
	backdrop-filter: blur(14px);
	border-top: 1px solid var(--w-border);
	padding: .75rem 0;
	z-index: 30;
	box-shadow: 0 -8px 24px -8px rgba(15,23,42,.12);
}
.w-sticky-apply .w-container { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.w-sticky-apply strong { display: block; color: var(--w-ink); font-weight: 700; }
.w-sticky-apply span { color: var(--w-muted); font-size: .85rem; }

/* Dark mode — the bar inherited a hardcoded white background; flip it to
   the dark header surface (same tint as .w-header) so it reads as part of
   the chrome rather than a bright slab. */
:root[data-theme="dark"] .w-sticky-apply {
	background: rgba(11, 18, 32, .96);
	border-top-color: rgba(148, 163, 184, .15);
	box-shadow: 0 -10px 28px -10px rgba(0, 0, 0, .55);
}
@media (prefers-color-scheme: dark) {
	:root[data-theme="auto"] .w-sticky-apply {
		background: rgba(11, 18, 32, .96);
		border-top-color: rgba(148, 163, 184, .15);
		box-shadow: 0 -10px 28px -10px rgba(0, 0, 0, .55);
	}
}

.w-related-jobs { padding: 4rem 0; background: var(--w-surface); }
.w-related-jobs .w-section-title { margin-bottom: 1.75rem; }

/* -------------------------------------------------------------------------
  14. RESUME, COMPANY, DASHBOARD, POST
   ------------------------------------------------------------------------- */
.w-jobs-hero {
	padding: 3rem 0 2rem;
	background: linear-gradient(180deg, var(--w-surface) 0%, var(--w-bg) 100%);
	border-bottom: 1px solid var(--w-border);
	text-align: center;
}
.w-jobs-hero .w-eyebrow { justify-content: center; }
.w-jobs-hero__title { font-size: clamp(2rem, 3.6vw, 2.8rem); margin: .25rem 0 .75rem; }
.w-jobs-hero__subtitle { color: var(--w-muted); font-size: 1.05rem; max-width: 640px; margin: 0 auto 2rem; }
.w-jobs-hero .w-search-bar { margin: 0 auto; }
.w-jobs-hero .w-search-bar { box-shadow: var(--w-shadow-md); border: 1px solid var(--w-border); }

.w-jobs-archive { padding: 3rem 0 5rem; }
.w-jobs-archive__layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 2.5rem;
}
.w-jobs-archive__sidebar { display: flex; flex-direction: column; gap: 1.25rem; align-self: start; position: sticky; top: calc(var(--w-header-h) + 1rem); }
.w-jobs-archive__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.w-jobs-archive__heading { font-size: 1.4rem; margin: 0 0 .25rem; }
.w-jobs-archive__count { margin: 0; color: var(--w-muted); }

.w-filters {
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	padding: 1.25rem;
	display: flex; flex-direction: column; gap: 1rem;
}
.w-filters__head { display: flex; justify-content: space-between; align-items: center; padding-bottom: .5rem; border-bottom: 1px solid var(--w-border); }
.w-filters__head h3 { margin: 0; font-size: 1.05rem; }
.w-filters__group { border: 0; padding: 0; }
.w-filters__label {
	display: flex; align-items: center; justify-content: space-between; cursor: pointer;
	font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
	color: var(--w-ink); padding: .5rem 0;
}
.w-filters__options { display: flex; flex-direction: column; gap: 0; padding-top: .25rem; }
details[open] .w-filters__label .w-icon { transform: rotate(180deg); }
.w-filters__label .w-icon { transition: transform .15s ease; }

/* --------------------------------------------------------------------------
   WPJM Companies shortcode ([job_manager_companies]) — overrides the
   plugin's jQuery Masonry layout (which overlaps items when widths are
   missing) and styles the markup as a card grid with a polished sticky
   letter index.
   ------------------------------------------------------------------------ */
.w-page__wide-content .company-letters {
	position: sticky;
	top: calc(var(--w-header-h) + .75rem);
	z-index: 10;
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
	padding: .75rem 1rem;
	margin: 0 0 1.5rem;
	background: rgba(255,255,255,.92);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-pill);
	box-shadow: var(--w-shadow-sm);
}
.w-page__wide-content .company-letters a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px; height: 32px;
	border-radius: 50%;
	color: var(--w-muted);
	font-weight: 700;
	font-size: .82rem;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease, transform .1s ease;
}
.w-page__wide-content .company-letters a:hover {
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
	transform: translateY(-1px);
}

/* Override jQuery-Masonry positioning — force a CSS grid */
.w-page__wide-content ul.companies-overview {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
	gap: 1rem !important;
	position: static !important;
	height: auto !important;
	width: 100% !important;
}
.w-page__wide-content ul.companies-overview > li.company-group {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	width: auto !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 1.25rem 1.25rem 1rem !important;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	box-shadow: var(--w-shadow-xs);
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
	overflow: hidden;
}
.w-page__wide-content ul.companies-overview > li.company-group:hover {
	border-color: var(--w-border-strong);
	box-shadow: var(--w-shadow-md);
	transform: translateY(-2px);
}

.w-page__wide-content .company-letter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px; height: 36px;
	border-radius: var(--w-radius-sm);
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
	font-family: var(--w-font-display);
	font-size: 1.1rem;
	font-weight: 800;
	margin: 0 0 .85rem;
	scroll-margin-top: calc(var(--w-header-h) + 4rem);
}

.w-page__wide-content ul.companies-overview ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column;
}
.w-page__wide-content ul.companies-overview ul li.company-name {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.w-page__wide-content ul.companies-overview ul li.company-name a {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	gap: .75rem;
	padding: .5rem .25rem !important;
	color: var(--w-ink-2) !important;
	font-weight: 500;
	font-size: .92rem;
	text-decoration: none;
	border-bottom: 1px solid var(--w-border);
	transition: color .15s ease, padding .15s ease, background-color .15s ease;
	border-radius: 4px;
}
.w-page__wide-content ul.companies-overview ul li.company-name:last-child a { border-bottom: 0; }
.w-page__wide-content ul.companies-overview ul li.company-name a:hover {
	color: var(--w-primary-dark) !important;
	background: var(--w-surface);
	padding-left: .65rem !important;
}

/* The job count "(3)" — turn into a soft pill on the right */
.w-page__wide-content ul.companies-overview ul li.company-name a {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Belt-and-braces: kill the default disc/circle bullets WPJM relies on */
.w-page__wide-content ul.companies-overview,
.w-page__wide-content ul.companies-overview ul,
.w-page__wide-content ul.companies-overview li {
	list-style-type: none !important;
	list-style-image: none !important;
}
.w-page__wide-content ul.companies-overview li::before,
.w-page__wide-content ul.companies-overview li::marker { content: none !important; }

/* My own custom companies page template (page-templates/companies.php) */
.w-companies-page { padding: 3rem 0 5rem; }

/* --- Companies context block (intro + stats + top categories) --- */
.w-companies-context {
	margin-bottom: 2.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--w-border);
}
.w-companies-context__intro {
	margin: 0 0 1.5rem;
	font-size: 1.02rem;
	line-height: 1.6;
	color: var(--w-ink-2);
}

.w-companies-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem;
	margin-bottom: 1.75rem;
}
@media (max-width: 720px) {
	.w-companies-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.w-companies-stat {
	display: flex; flex-direction: column;
	padding: 1rem 1.15rem;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: 12px;
}
.w-companies-stat__num {
	font-size: 1.5rem; font-weight: 800; line-height: 1.1;
	color: var(--w-ink);
}
.w-companies-stat__label {
	margin-top: .25rem;
	font-size: .8rem;
	color: var(--w-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
	font-weight: 600;
}

.w-companies-cats__heading {
	margin: 0 0 .75rem;
	font-size: .82rem;
	color: var(--w-muted);
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 700;
}
.w-companies-cats__list {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-wrap: wrap; gap: .4rem;
}
.w-cat-pill {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .35rem .75rem;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: 999px;
	font-size: .85rem; font-weight: 600;
	color: var(--w-ink);
	text-decoration: none !important;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.w-cat-pill:hover {
	border-color: var(--w-primary);
	background: var(--w-primary-soft);
	color: var(--w-primary-strong, var(--w-primary-dark));
}
.w-cat-pill__count {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 22px; height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--w-bg-elev, #F1F5F9);
	color: var(--w-muted);
	font-size: .72rem; font-weight: 700;
}
.w-cat-pill:hover .w-cat-pill__count {
	background: var(--w-bg);
	color: var(--w-primary-strong, var(--w-primary-dark));
}

.w-letter-index { display: flex; flex-wrap: wrap; gap: .25rem; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--w-border); position: sticky; top: var(--w-header-h); background: var(--w-bg); z-index: 10; padding-top: 1rem; }
.w-letter-index a {
	display: inline-flex; width: 36px; height: 36px;
	align-items: center; justify-content: center;
	border-radius: var(--w-radius-pill);
	font-weight: 600; color: var(--w-muted);
	border: 1px solid transparent;
}
.w-letter-index a:hover { background: var(--w-primary-soft); color: var(--w-primary-dark); }
.w-company-group { margin-bottom: 3rem; }
.w-company-group__letter {
	font-size: 1rem;
	color: var(--w-primary-dark);
	text-transform: uppercase;
	letter-spacing: .12em;
	border-bottom: 2px solid var(--w-primary);
	padding-bottom: .5rem;
	margin-bottom: 1.25rem;
	display: inline-block;
}
.w-company-grid {
	list-style: none; padding: 0; margin: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem;
}
.w-company-card a {
	display: flex; align-items: center; gap: .7rem;
	padding: .7rem .85rem;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-sm);
	color: var(--w-ink);
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
	min-width: 0;
}
.w-company-card a:hover {
	background: var(--w-surface);
	border-color: var(--w-border-strong);
	color: var(--w-primary-dark);
	box-shadow: 0 2px 10px -4px rgba(15,23,42,.08);
}
.w-company-card__logo {
	flex: 0 0 32px;
	width: 32px; height: 32px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--w-bg-elev, #F1F5F9);
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--w-border);
}
.w-company-card__logo img {
	width: 100%; height: 100%;
	object-fit: contain;
	display: block;
}
.w-company-card__initial {
	display: inline-flex; align-items: center; justify-content: center;
	width: 100%; height: 100%;
	font-weight: 800; font-size: .9rem;
	line-height: 1;
}
.w-company-card__name {
	font-weight: 600;
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.w-company-card__count {
	color: var(--w-muted);
	font-size: .8rem;
	flex: 0 0 auto;
	white-space: nowrap;
}

.w-company-hero { padding: 3rem 0 2.5rem; background: var(--w-surface); border-bottom: 1px solid var(--w-border); }
.w-company-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: center;
}
/* Stack: [eyebrow above title]  →  [logo  |  title + tagline]  side by side
   The eyebrow gets the same left indent as the logo so it lines up
   horizontally with the title beneath it, not with the logo. */
.w-company-hero__brand {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	min-width: 0;
}
.w-company-hero__eyebrow {
	margin: 0;
	padding-left: calc(80px + 1.25rem); /* logo width + row gap */
}
.w-company-hero__row {
	display: flex;
	gap: 1.25rem;
	align-items: center;
	min-width: 0;
}
.w-company-hero__meta { min-width: 0; flex: 1; }
.w-company-hero__meta .w-company-hero__title { margin-top: 0; }
.w-company-hero__logo {
	width: 80px; height: 80px;
	border-radius: var(--w-radius);
	object-fit: contain;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	padding: 6px;
	box-sizing: border-box;
	flex-shrink: 0;
}
.w-company-hero__logo--fallback {
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--w-primary); color: #0a1a02;
	font-family: var(--w-font-display); font-weight: 800; font-size: 2rem;
	padding: 0;
}
.w-company-hero__title { font-size: clamp(1.8rem, 3.5vw, 2.6rem); margin: .25rem 0 .25rem; }
.w-company-hero__tagline { color: var(--w-muted); margin: 0; }
.w-company-hero__actions {
	display: flex;
	gap: .5rem;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.w-company-hero__actions .w-btn { white-space: nowrap; }
.w-company-hero__x svg { width: 16px; height: 16px; }
.w-company-hero__x span { font-weight: 600; }

.w-company-body {
	padding: 3rem 0 5rem;
}
.w-company-body__section + .w-company-body__section { margin-top: 3rem; }
.w-company-body__about {
	max-width: 760px; /* keep prose to a comfortable reading width */
}
.w-company-body .w-section-title { margin-bottom: 1.5rem; }

/* Inside a company profile every job card is from the same company —
   hide the redundant company name + tagline. The hero already shows
   them once at the top of the page. */
.w-company-body .w-job-card__company { display: none; }
/* …without the company line the title was sitting right on top of the
   meta row. Give them breathing room. */
.w-company-body .w-job-card__title { margin-bottom: 0.85rem; }

@media (max-width: 780px) {
	.w-company-hero__inner { grid-template-columns: 1fr; }
	.w-company-hero__actions { justify-content: flex-start; }
}

/* Resume cards */
.w-resume-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.w-resume-card {
	position: relative;
	display: flex; flex-direction: column;
	gap: 1.1rem;
	padding: 1.25rem;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.w-resume-card:hover { transform: translateY(-2px); box-shadow: var(--w-shadow-md); border-color: var(--w-border-strong); }
.w-resume-card__link { position: absolute; inset: 0; text-indent: -9999px; overflow: hidden; z-index: 1; }
.w-resume-card__top {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 1rem;
	align-items: flex-start;
}
.w-resume-card__avatar {
	width: 64px; height: 64px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--w-primary-soft); color: var(--w-primary-dark);
	font-family: var(--w-font-display); font-weight: 700; font-size: 1.5rem;
	overflow: hidden;
}
.w-resume-card__avatar img { width: 100%; height: 100%; object-fit: cover; }
.w-resume-card__body { min-width: 0; }
.w-resume-card__name { margin: 0; font-size: 1.05rem; }
.w-resume-card__title { color: var(--w-ink-2); margin: .15rem 0 .35rem; font-size: .92rem; }
.w-resume-card__meta {
	display: flex; flex-wrap: wrap; gap: .25rem .9rem;
	color: var(--w-muted); font-size: .85rem; margin: 0;
}
.w-resume-card__location,
.w-resume-card__nationality { display: inline-flex; align-items: center; gap: .35rem; }
.w-resume-card__skills { list-style: none; padding: 0; margin: .75rem 0 0; display: flex; flex-wrap: wrap; gap: .35rem; }
.w-resume-card__skills li { padding: .2rem .5rem; background: var(--w-surface); border: 1px solid var(--w-border); border-radius: var(--w-radius-sm); font-size: .75rem; color: var(--w-ink-2); }
.w-resume-card__foot {
	margin-top: auto;
	padding-top: .9rem;
	border-top: 1px solid var(--w-border);
	display: flex; justify-content: flex-end;
}
.w-resume-card__foot .w-link {
	display: inline-flex; align-items: center; gap: .35rem;
	color: var(--w-primary-dark);
	font-weight: 600; font-size: .9rem;
}
.w-resume-card:hover .w-resume-card__foot .w-link { gap: .55rem; }
.w-resume-card__foot .w-link .w-icon svg { width: 14px; height: 14px; transition: transform .15s ease; }
.w-resume-card:hover .w-resume-card__foot .w-link .w-icon svg { transform: translateX(2px); }

/* Resume hero */
.w-resume-hero { background: var(--w-surface); border-bottom: 1px solid var(--w-border); padding: 3rem 0; }
.w-resume-hero__inner { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 1.5rem; align-items: center; }
.w-resume-hero__avatar { width: 96px; height: 96px; border-radius: 50%; overflow: hidden; background: var(--w-primary-soft); color: var(--w-primary-dark); display: inline-flex; align-items: center; justify-content: center; font-family: var(--w-font-display); font-weight: 800; font-size: 2.4rem; }
.w-resume-hero__avatar img { width: 100%; height: 100%; object-fit: cover; }
.w-resume-hero__name { margin: 0; font-size: clamp(1.6rem, 3vw, 2.2rem); }
.w-resume-hero__title { color: var(--w-ink-2); margin: .25rem 0 .5rem; font-size: 1.05rem; }
.w-resume-hero__meta { color: var(--w-muted); margin: 0; display: inline-flex; align-items: center; gap: .35rem; }

/* Hero actions: stack the (small) Download button under Contact candidate. */
.w-resume-hero__cta { display: flex; flex-direction: column; align-items: flex-end; gap: .55rem; }
.w-resume-hero__download { padding: .5rem 1rem; font-size: .85rem; }
.w-resume-hero__download .w-icon svg { width: 15px; height: 15px; }

.w-skills { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.w-skills li {
	padding: .32rem .75rem;
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
	border-radius: var(--w-radius-pill);
	font-size: .82rem; font-weight: 600;
}

/* ---- Single resume: experience / education timeline ---- */
.w-timeline { display: flex; flex-direction: column; gap: 1.5rem; }
.w-timeline__item { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 1.25rem; }
.w-timeline__date { color: var(--w-muted); font-size: .82rem; font-weight: 600; padding-top: .15rem; }
.w-timeline__body {
	position: relative;
	border-left: 2px solid var(--w-border);
	padding-left: 1.3rem;
}
.w-timeline__body::before {
	content: ""; position: absolute; left: -6px; top: .35rem;
	width: 10px; height: 10px; border-radius: 50%;
	background: var(--w-primary);
	box-shadow: 0 0 0 3px var(--w-bg);
}
.w-timeline__title { margin: 0 0 .4rem; font-size: 1.02rem; }
.w-timeline__title span { color: var(--w-muted); font-weight: 500; }
.w-timeline__body .w-prose { color: var(--w-ink-2); font-size: .95rem; }

/* ---- Single resume: aside details card ---- */
.w-resume-aside__heading { margin: 0 0 1rem; font-size: 1.05rem; }
.w-resume-aside__dl { margin: 0; display: flex; flex-direction: column; gap: .85rem; }
.w-resume-aside__dl > div { display: flex; flex-direction: column; gap: .15rem; }
.w-resume-aside__dl dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--w-muted-2); font-weight: 700; }
.w-resume-aside__dl dd { margin: 0; color: var(--w-ink); font-weight: 500; }
.w-flag--inline {
	display: inline-block;
	width: 1.15em; height: auto;
	vertical-align: -0.15em;
	margin-right: .35em;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(15, 23, 42, .08);
}
.w-resume-aside__block { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--w-border); }
.w-resume-aside__block h4 { margin: 0 0 .7rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--w-muted-2); font-weight: 700; }
.w-resume-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .6rem; }
.w-resume-links li { display: flex; align-items: center; gap: .55rem; }
.w-resume-links .w-icon { color: var(--w-muted); flex-shrink: 0; }
.w-resume-links .w-icon svg { width: 16px; height: 16px; }
.w-resume-links a { color: var(--w-ink-2); font-weight: 500; font-size: .92rem; word-break: break-word; text-transform: capitalize; }
.w-resume-links a:hover { color: var(--w-primary-dark); }
.w-resume-aside__contact { width: 100%; justify-content: center; margin-top: 1.25rem; }

/* Form page (Post a Job / Resume) */
.w-page-header {
	padding: 2.25rem 0 1.5rem;
	background: linear-gradient(180deg, var(--w-surface), var(--w-bg));
	border-bottom: 1px solid var(--w-border);
	text-align: center;
}
.w-page-header .w-eyebrow { justify-content: center; }
.w-page-header__title { font-size: clamp(1.8rem, 3.2vw, 2.4rem); margin: 0 0 .5rem; }
.w-page-header__subtitle { color: var(--w-muted); max-width: 680px; margin: 0 auto; font-size: 1.05rem; }

/* Default breathing room between the page-header bottom border and the
   first block of page content. Wide/form variants override below. */
article.w-page { padding: 2.5rem 0 4rem; }
.w-page--wide { padding: 1.5rem 0 4rem; }

.w-form-page { padding: 3rem 0 5rem; }
.w-form-page__card {
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-lg);
	padding: 2.5rem;
	box-shadow: var(--w-shadow-sm);
}

/* Wrapper applied by page.php when the page contains a submit_*_form
   shortcode. Adds breathing room from the page header bottom border and
   gives the inner card its premium feel. */
.w-page--form {
	padding: 2.5rem 0 4rem;
}
.w-page--form > .w-container > .w-form-page__card {
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-lg);
	padding: 2.5rem;
	box-shadow: var(--w-shadow-md);
}

/* Wide page (page using [jobs], [resumes], [job_dashboard] etc.) */
.w-page__wide-content > * + * { margin-top: 1.5rem; }
.w-page__wide-content > div.job_listings,
.w-page__wide-content > div.resumes {
	margin-top: 1.5rem;
}

/* --------------------------------------------------------------------------
   WPJM [jobs] / [resumes] shortcode — form + chips + listings
   --------------------------------------------------------------------------
   NOTE: we use !important on the layout-critical properties because WPJM's
   own stylesheet and some extension plugins ship rules with the same or
   higher specificity that float the fields and force 50/100% widths. The
   override below is the single source of truth for filter-form layout.
*/
.workew-has-wpjm div.job_listings,
.workew-has-wpjm div.resumes {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}

body.workew-has-wpjm form.job_filters,
body.workew-has-wpjm form.resume_filters {
	background: var(--w-bg) !important;
	border: 1px solid var(--w-border) !important;
	border-radius: var(--w-radius-lg) !important;
	box-shadow: var(--w-shadow-md) !important;
	padding: .75rem !important;
	margin: 0 0 .25rem !important;
	overflow: visible !important;
	zoom: normal !important;
}

/* Fields row: keywords / location-or-region / submit */
body.workew-has-wpjm form.job_filters .search_jobs,
body.workew-has-wpjm form.resume_filters .search_resumes {
	display: grid !important;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto !important;
	gap: .5rem !important;
	align-items: stretch !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	box-sizing: border-box;
}

/* Each field — kill WPJM's float/width/padding rules */
body.workew-has-wpjm form.job_filters .search_jobs > div,
body.workew-has-wpjm form.resume_filters .search_resumes > div {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	float: none !important;
	width: auto !important;
	padding: .55rem .85rem !important;
	min-width: 0 !important;
	clear: none !important;
	position: relative;
	border-radius: var(--w-radius);
	box-sizing: border-box;
}
body.workew-has-wpjm form.job_filters .search_jobs > div + div:not(.search_submit) {
	border-left: 1px solid var(--w-border);
	border-radius: 0;
	padding-left: 1rem !important;
}

/* Hide the legacy "remote position" checkbox & strays we don't want */
body.workew-has-wpjm form.job_filters .search_jobs > .search_remote_position,
body.workew-has-wpjm form.job_filters .search_jobs > div[style*="clear"] { display: none !important; }

/* Bare <select.search_region> the Locations plugin emits before its JS
   moves it into .search_location — hide it to prevent a flash of an
   extra column during page load. */
body.workew-has-wpjm form.job_filters .search_jobs > select.search_region { display: none !important; }

/* The Locations plugin's JS empties .search_location and renames it to
   .search_region, wiping our PHP-rendered <label>. We re-render the
   "Region" eyebrow via CSS so it survives any reshuffle. The :is()
   targets both the original and the post-rename class. */
body.workew-has-wpjm form.job_filters .search_jobs > .search_location > label,
body.workew-has-wpjm form.job_filters .search_jobs > .search_region > label {
	display: none !important;
}
body.workew-has-wpjm form.job_filters .search_jobs > .search_location::before,
body.workew-has-wpjm form.job_filters .search_jobs > .search_region::before {
	content: "Region";
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--w-muted);
	margin: 0 0 .15rem;
	padding-left: 18px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235DA635' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/></svg>");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 13px 13px;
}

/* Labels */
body.workew-has-wpjm form.job_filters .search_jobs > div > label,
body.workew-has-wpjm form.resume_filters .search_resumes > div > label {
	display: inline-flex !important;
	align-items: center;
	gap: .35rem;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--w-muted);
	margin: 0 0 .15rem !important;
	cursor: text;
	float: none !important;
	width: auto !important;
}
body.workew-has-wpjm form.job_filters .search_jobs > div > label .w-icon,
body.workew-has-wpjm form.resume_filters .search_resumes > div > label .w-icon { color: var(--w-primary-dark); }

/* Inputs/selects inside fields */
body.workew-has-wpjm form.job_filters .search_jobs input[type="text"],
body.workew-has-wpjm form.job_filters .search_jobs select,
body.workew-has-wpjm form.resume_filters .search_resumes input[type="text"],
body.workew-has-wpjm form.resume_filters .search_resumes select {
	width: 100% !important;
	border: 0 !important;
	background: transparent !important;
	padding: .15rem 0 !important;
	font-size: 1rem !important;
	color: var(--w-ink) !important;
	min-height: auto !important;
	box-shadow: none !important;
	height: auto !important;
}
body.workew-has-wpjm form.job_filters .search_jobs input:focus,
body.workew-has-wpjm form.job_filters .search_jobs select:focus { outline: none; box-shadow: none !important; }

/* Submit button cell */
body.workew-has-wpjm form.job_filters .search_submit,
body.workew-has-wpjm form.resume_filters .search_submit {
	display: flex !important;
	align-items: stretch !important;
	padding: 0 !important;
}
body.workew-has-wpjm form.job_filters .search_submit .w-btn,
body.workew-has-wpjm form.job_filters .search_submit input[type="submit"],
body.workew-has-wpjm form.resume_filters .search_submit .w-btn,
body.workew-has-wpjm form.resume_filters .search_submit input[type="submit"] {
	width: 100% !important;
	min-width: 130px;
	border-radius: var(--w-radius-pill) !important;
	background: var(--w-primary) !important;
	color: #0a1a02 !important;
	font-weight: 700;
	padding: .9rem 1.4rem !important;
	border: 0 !important;
	cursor: pointer;
}
body.workew-has-wpjm form.job_filters .search_submit .w-btn:hover,
body.workew-has-wpjm form.job_filters .search_submit input[type="submit"]:hover { background: var(--w-primary-dark) !important; color: #fff !important; }

/* Job types chip row (from job-filter-job-types.php) */
ul.job_types {
	list-style: none;
	padding: .65rem .25rem 0 !important;
	margin: .55rem 0 0 !important;
	border-top: 1px solid var(--w-border);
	display: flex !important;
	flex-wrap: wrap;
	gap: .35rem;
}
ul.job_types li {
	margin: 0 !important;
	padding: 0 !important;
}
ul.job_types li label {
	display: inline-flex !important;
	align-items: center;
	gap: .35rem;
	padding: .28rem .75rem !important;
	background: var(--w-surface);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-pill);
	font-size: .8rem;
	font-weight: 600;
	color: var(--w-ink-2);
	cursor: pointer;
	letter-spacing: 0 !important;
	text-transform: none !important;
	margin: 0 !important;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
	float: none !important;
	width: auto !important;
}
ul.job_types li label:hover { background: var(--w-surface-2); border-color: var(--w-border-strong); }
ul.job_types li input[type="checkbox"] {
	margin: 0 !important;
	accent-color: var(--w-primary);
	width: 13px !important;
	height: 13px !important;
}
ul.job_types li label:has(input:checked) {
	background: var(--w-primary-soft);
	border-color: var(--w-primary);
	color: var(--w-primary-dark);
}

/* Showing-jobs status row (Reset / Add alert under the filter form) */
div.showing_jobs {
	margin: .75rem 0 1rem;
	color: var(--w-muted);
	font-size: .85rem;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	min-height: 1.5rem;
}
div.showing_jobs a {
	color: var(--w-muted);
	font-weight: 600;
	font-size: .85rem;
	padding: .3rem .6rem;
	border-radius: var(--w-radius-pill);
	transition: background-color .15s ease, color .15s ease;
}
div.showing_jobs a:hover { background: var(--w-primary-soft); color: var(--w-primary-dark); }
div.showing_jobs ul {
	list-style: none; padding: 0; margin: 0;
	display: flex; gap: .35rem; flex-wrap: wrap;
}

/* Alerts plugin: "Add alert / RSS" small action links */
.job_filters .job_alerts_actions,
.job_filters .job_filters_results,
.alert_signup_form,
.job-rss-link,
.add_alert {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .35rem .65rem;
	font-size: .82rem;
	font-weight: 600;
	color: var(--w-primary-dark);
	background: transparent;
	border-radius: var(--w-radius-sm);
}
.job_filters .job_alerts_actions:hover,
.job-rss-link:hover { background: var(--w-primary-soft); }

/* Container for the listings & wrapper div the [jobs] shortcode produces */
div.job_listings,
div.resumes {
	display: block;
	background: transparent;
	padding: 0;
	border: 0;
	box-shadow: none;
}

/* The actual <ul class="job_listings"> rendered between
   job-listings-start.php and job-listings-end.php */
ul.job_listings {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
	display: flex;
	flex-direction: column;
	gap: .75rem;
	border: 0; /* kill WPJM's stock `border-top: 1px solid #eee` which
	              is invisible on light bg but shows as an ugly white
	              line in dark mode */
}
div.job_listings { border: 0 !important; }

/* Load-more link rendered by WPJM's [jobs] shortcode. Block-level with
   margin auto so it actually centers horizontally (inline-flex + margin
   auto doesn't center for inline elements). */
a.load_more_jobs,
.load_more_jobs {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .35rem;
	width: max-content;
	padding: .85rem 1.75rem;
	margin: 2rem auto 0;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-pill);
	font-weight: 600;
	font-size: .95rem;
	color: var(--w-ink);
	text-decoration: none;
	transition: background-color .15s ease, border-color .15s ease, transform .1s ease;
}
a.load_more_jobs:hover {
	background: var(--w-primary-soft);
	border-color: var(--w-primary);
	color: var(--w-primary-dark);
	transform: translateY(-1px);
}
a.load_more_jobs strong { font-weight: 600; }

/* Select2 used inside the filter form */
.job_filters .select2-container,
.resume_filters .select2-container { width: 100% !important; }
.job_filters .select2-container--default .select2-selection--single,
.resume_filters .select2-container--default .select2-selection--single {
	height: auto;
	border: 0;
	background: transparent;
	padding: 0;
}
.job_filters .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: .15rem 0;
	line-height: 1.4;
	color: var(--w-ink);
}
.job_filters .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50%; right: 0; transform: translateY(-50%); height: auto;
}

/* --- Select2 TRIGGER (the visible control before the dropdown opens) ---
   These are GLOBAL — they apply everywhere Select2 is initialized: post
   job / post resume / edit job / account screens. The existing
   `.job_filters` and `.resume_filters` scoped overrides above are more
   specific so the filter form keeps its custom transparent-no-border look.
   Everywhere else, Select2 now matches the native form-input pill. */
.select2-container--default .select2-selection--single {
	height: auto;
	min-height: 46px;
	padding: .75rem 1rem;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-sm);
	color: var(--w-ink);
	transition: border-color .15s ease, box-shadow .15s ease;
	display: flex;
	align-items: center;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	color: var(--w-ink);
	line-height: 1.4;
	padding: 0;
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: var(--w-muted);
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: auto;
	top: 50%;
	right: .6rem;
	transform: translateY(-50%);
}
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
	border-color: var(--w-primary);
	box-shadow: 0 0 0 4px var(--w-primary-soft);
}

/* Multi-select trigger (Skills chip input on the Resume form, etc.) */
.select2-container--default .select2-selection--multiple {
	min-height: 46px;
	padding: .3rem .5rem;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-sm);
	color: var(--w-ink);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
	align-items: center;
}
.select2-container--default.select2-container--open .select2-selection--multiple,
.select2-container--default.select2-container--focus .select2-selection--multiple {
	border-color: var(--w-primary);
	box-shadow: 0 0 0 4px var(--w-primary-soft);
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
	background: var(--w-primary-soft);
	color: var(--w-primary-strong, var(--w-primary-dark));
	border: 1px solid var(--w-primary);
	border-radius: 999px;
	padding: .15rem .55rem;
	margin: .15rem .25rem .15rem 0;
	font-size: .85rem;
	display: inline-flex;
	align-items: center;
	gap: .35rem;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
	color: var(--w-primary-strong, var(--w-primary-dark));
	border: 0;
	background: transparent;
	font-weight: 700;
	cursor: pointer;
}
.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
	margin: 0;
	color: var(--w-ink);
}

/* --- Select2 OPEN DROPDOWN (appended to <body>, so selectors live at
       the document root). Theme it with the same surface tokens used by
       the rest of the form so light and dark both look intentional. --- */
.select2-dropdown {
	background: var(--w-bg);
	border-color: var(--w-border);
	color: var(--w-ink);
	box-shadow: 0 12px 32px -10px rgba(15, 23, 42, .14);
}
.select2-search--dropdown {
	padding: 8px;
	border-bottom: 1px solid var(--w-border);
}
.select2-search--dropdown .select2-search__field {
	background: var(--w-bg);
	color: var(--w-ink);
	border: 1px solid var(--w-border);
	border-radius: 8px;
	padding: .45rem .65rem;
	outline: none;
}
.select2-search--dropdown .select2-search__field:focus {
	border-color: var(--w-primary);
	box-shadow: 0 0 0 3px var(--w-primary-soft);
}
.select2-results__option {
	color: var(--w-ink);
	padding: .55rem .85rem;
	font-size: .92rem;
}
.select2-container--default .select2-results__option--selected,
.select2-container--default .select2-results__option[aria-selected="true"] {
	background: var(--w-bg-elev, #F1F5F9);
	color: var(--w-ink);
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted {
	background: var(--w-primary-soft);
	color: var(--w-primary-strong, var(--w-primary-dark));
}
.select2-results__option--disabled {
	color: var(--w-muted);
}

/* --- Dark-mode overrides for the Select2 TRIGGER ---
   Mirrors the dropdown panel treatment so single + multi selects feel
   like part of the dark chrome instead of bright pills. */
:root[data-theme="dark"] .select2-container--default .select2-selection--single,
:root[data-theme="dark"] .select2-container--default .select2-selection--multiple {
	background: rgba(15, 23, 42, .55);
	border-color: rgba(148, 163, 184, .22);
	color: #E2E8F0;
}
:root[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered,
:root[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
	color: #E2E8F0;
}
:root[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: rgba(148, 163, 184, .7);
}
:root[data-theme="dark"] .select2-container--default.select2-container--open .select2-selection--single,
:root[data-theme="dark"] .select2-container--default.select2-container--focus .select2-selection--single,
:root[data-theme="dark"] .select2-container--default.select2-container--open .select2-selection--multiple,
:root[data-theme="dark"] .select2-container--default.select2-container--focus .select2-selection--multiple {
	border-color: rgba(34, 197, 94, .65);
	box-shadow: 0 0 0 3px rgba(34, 197, 94, .15);
}
:root[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice {
	background: rgba(34, 197, 94, .18);
	color: #BBF7D0;
	border-color: rgba(34, 197, 94, .35);
}
:root[data-theme="dark"] .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
	color: #BBF7D0;
}
:root[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-top-color: #94A3B8;
}

/* The .w-select chevron is an embedded SVG (can't read CSS vars), so it
   needs a dark-mode replacement with a brighter slate stroke. We do NOT
   target bare <select> here — those have no no-repeat / position rule of
   their own and the SVG would tile across the input. Bare selects rely on
   the browser's native chevron (which adapts via color-scheme). */
:root[data-theme="dark"] .w-select {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");
}

/* --- Dark-mode overrides for the Select2 dropdown ---
   The dropdown panel needs an explicit darker surface, lighter text, and
   a softer hover tint so it reads like the rest of the dark chrome. */
:root[data-theme="dark"] .select2-dropdown {
	background: #0F172A;
	border-color: rgba(148, 163, 184, .18);
	color: #E2E8F0;
	box-shadow: 0 16px 40px -12px rgba(0, 0, 0, .55);
}
:root[data-theme="dark"] .select2-search--dropdown {
	border-bottom-color: rgba(148, 163, 184, .18);
}
:root[data-theme="dark"] .select2-search--dropdown .select2-search__field {
	background: rgba(15, 23, 42, .55);
	color: #E2E8F0;
	border-color: rgba(148, 163, 184, .25);
}
:root[data-theme="dark"] .select2-search--dropdown .select2-search__field:focus {
	border-color: rgba(34, 197, 94, .65);
	box-shadow: 0 0 0 3px rgba(34, 197, 94, .15);
}
:root[data-theme="dark"] .select2-results__option {
	color: #E2E8F0;
}
:root[data-theme="dark"] .select2-container--default .select2-results__option--selected,
:root[data-theme="dark"] .select2-container--default .select2-results__option[aria-selected="true"] {
	background: rgba(148, 163, 184, .08);
	color: #F8FAFC;
}
:root[data-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected],
:root[data-theme="dark"] .select2-container--default .select2-results__option--highlighted {
	background: rgba(34, 197, 94, .18);
	color: #BBF7D0;
}
:root[data-theme="dark"] .select2-results__option--disabled {
	color: rgba(148, 163, 184, .6);
}

@media (prefers-color-scheme: dark) {
	/* Trigger (single + multi) */
	:root[data-theme="auto"] .select2-container--default .select2-selection--single,
	:root[data-theme="auto"] .select2-container--default .select2-selection--multiple {
		background: rgba(15, 23, 42, .55);
		border-color: rgba(148, 163, 184, .22);
		color: #E2E8F0;
	}
	:root[data-theme="auto"] .select2-container--default .select2-selection--single .select2-selection__rendered,
	:root[data-theme="auto"] .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
		color: #E2E8F0;
	}
	:root[data-theme="auto"] .select2-container--default .select2-selection--single .select2-selection__placeholder {
		color: rgba(148, 163, 184, .7);
	}
	:root[data-theme="auto"] .select2-container--default.select2-container--open .select2-selection--single,
	:root[data-theme="auto"] .select2-container--default.select2-container--focus .select2-selection--single,
	:root[data-theme="auto"] .select2-container--default.select2-container--open .select2-selection--multiple,
	:root[data-theme="auto"] .select2-container--default.select2-container--focus .select2-selection--multiple {
		border-color: rgba(34, 197, 94, .65);
		box-shadow: 0 0 0 3px rgba(34, 197, 94, .15);
	}
	:root[data-theme="auto"] .select2-container--default .select2-selection--multiple .select2-selection__choice {
		background: rgba(34, 197, 94, .18);
		color: #BBF7D0;
		border-color: rgba(34, 197, 94, .35);
	}
	:root[data-theme="auto"] .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
		color: #BBF7D0;
	}
	:root[data-theme="auto"] .select2-container--default .select2-selection--single .select2-selection__arrow b {
		border-top-color: #94A3B8;
	}
	:root[data-theme="auto"] .w-select {
		background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");
	}

	/* Dropdown panel */
	:root[data-theme="auto"] .select2-dropdown {
		background: #0F172A;
		border-color: rgba(148, 163, 184, .18);
		color: #E2E8F0;
		box-shadow: 0 16px 40px -12px rgba(0, 0, 0, .55);
	}
	:root[data-theme="auto"] .select2-search--dropdown {
		border-bottom-color: rgba(148, 163, 184, .18);
	}
	:root[data-theme="auto"] .select2-search--dropdown .select2-search__field {
		background: rgba(15, 23, 42, .55);
		color: #E2E8F0;
		border-color: rgba(148, 163, 184, .25);
	}
	:root[data-theme="auto"] .select2-search--dropdown .select2-search__field:focus {
		border-color: rgba(34, 197, 94, .65);
		box-shadow: 0 0 0 3px rgba(34, 197, 94, .15);
	}
	:root[data-theme="auto"] .select2-results__option {
		color: #E2E8F0;
	}
	:root[data-theme="auto"] .select2-container--default .select2-results__option--selected,
	:root[data-theme="auto"] .select2-container--default .select2-results__option[aria-selected="true"] {
		background: rgba(148, 163, 184, .08);
		color: #F8FAFC;
	}
	:root[data-theme="auto"] .select2-container--default .select2-results__option--highlighted[aria-selected],
	:root[data-theme="auto"] .select2-container--default .select2-results__option--highlighted {
		background: rgba(34, 197, 94, .18);
		color: #BBF7D0;
	}
	:root[data-theme="auto"] .select2-results__option--disabled {
		color: rgba(148, 163, 184, .6);
	}
}

/* Responsive */
@media (max-width: 900px) {
	body.workew-has-wpjm form.job_filters .search_jobs,
	body.workew-has-wpjm form.resume_filters .search_resumes {
		grid-template-columns: 1fr !important;
	}
	body.workew-has-wpjm form.job_filters .search_jobs > div + div:not(.search_submit) {
		border-left: 0 !important;
		border-top: 1px solid var(--w-border);
		padding-left: .85rem !important;
		padding-top: .85rem !important;
		margin-top: .35rem;
	}
	body.workew-has-wpjm form.job_filters .search_submit { margin-top: .5rem; }
}

/* --------------------------------------------------------------------------
   About page
   ------------------------------------------------------------------------ */
.w-about-hero {
	padding: 4rem 0 3rem;
	background: linear-gradient(180deg, var(--w-surface) 0%, var(--w-bg) 100%);
	border-bottom: 1px solid var(--w-border);
	text-align: center;
}
.w-about-hero .w-eyebrow { justify-content: center; }
.w-about-hero__title { font-size: clamp(2.4rem, 4vw, 3.2rem); margin: 0 0 1rem; }
.w-about-hero__lede { color: var(--w-muted); font-size: 1.15rem; max-width: 720px; margin: 0 auto 2rem; }
.w-about-hero__actions { display: flex; justify-content: center; gap: .75rem; flex-wrap: wrap; }

.w-about-stats {
	padding: 2.5rem 0;
	background: var(--w-bg);
	border-bottom: 1px solid var(--w-border);
}
.w-about-stats dl {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
	margin: 0;
	text-align: center;
}
.w-about-stats dt {
	font-family: var(--w-font-display);
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	font-weight: 800;
	color: var(--w-primary-dark);
	letter-spacing: -0.02em;
}
.w-about-stats dd { margin: 0; color: var(--w-muted); font-size: .92rem; }

.w-about-mission { padding: 4rem 0; text-align: center; }
.w-about-mission .w-eyebrow { justify-content: center; }
.w-about-mission h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); margin: 0 0 1.5rem; }
.w-about-mission .w-prose { text-align: left; }

.w-about-pillars { padding: 0 0 5rem; }
.w-about-pillars__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}
.w-about-pillars__grid .w-card { text-align: center; padding: 2rem 1.5rem; }
.w-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px; height: 52px;
	border-radius: var(--w-radius-sm);
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
	margin-bottom: 1.25rem;
	font-size: 24px;
}
.w-card__icon .w-icon,
.w-card__icon .w-icon svg,
.w-card__icon svg {
	width: 24px !important;
	height: 24px !important;
	display: block;
}
.w-card__icon .w-icon svg { stroke-width: 2.25; }
.w-about-pillars__grid h3 { font-size: 1.15rem; margin: 0 0 .5rem; }
.w-about-pillars__grid p { color: var(--w-muted); margin: 0; }

/* --------------------------------------------------------------------------
   Pricing page (page-templates/pricing.php)
   ------------------------------------------------------------------------ */
.w-pricing-hero {
	padding: 3.5rem 0 2rem;
	background: linear-gradient(180deg, var(--w-surface) 0%, var(--w-bg) 100%);
	border-bottom: 1px solid var(--w-border);
	text-align: center;
}
.w-pricing-hero .w-eyebrow { justify-content: center; }
.w-pricing-hero__title {
	font-size: clamp(2.2rem, 4vw, 3rem);
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
}
.w-pricing-hero__lede {
	color: var(--w-muted);
	font-size: 1.15rem;
	max-width: 640px;
	margin: 0 auto;
	line-height: 1.55;
}

.w-pricing-card-wrap { padding: 3rem 0 4rem; }

.w-pricing-plan {
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-lg);
	box-shadow: var(--w-shadow-md);
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr;
	position: relative;
}
.w-pricing-plan::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--w-primary), var(--w-primary-dark));
}

.w-pricing-plan__head {
	padding: 3rem 2.5rem 2.5rem;
	text-align: center;
	background: linear-gradient(180deg, var(--w-primary-soft) 0%, transparent 80%);
	border-bottom: 1px solid var(--w-border);
}
.w-pricing-plan__badge {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .35rem .85rem;
	border-radius: var(--w-radius-pill);
	background: var(--w-bg);
	border: 1px solid var(--w-primary);
	color: var(--w-primary-dark);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: 1.25rem;
}
.w-pricing-plan__badge svg { width: 13px; height: 13px; }
.w-pricing-plan__title {
	font-size: clamp(1.5rem, 2.4vw, 1.85rem);
	margin: 0 0 1.5rem;
	color: var(--w-ink);
}
.w-pricing-plan__price {
	display: inline-flex;
	align-items: baseline;
	gap: .25rem;
	font-family: var(--w-font-display);
	color: var(--w-ink);
	margin-bottom: .75rem;
}
.w-pricing-plan__currency {
	font-size: 1.85rem;
	font-weight: 700;
	margin-right: .15rem;
	align-self: flex-start;
	margin-top: .55rem;
}
.w-pricing-plan__amount {
	font-size: clamp(3.5rem, 6vw, 5rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1;
}
.w-pricing-plan__period {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--w-muted);
	margin-left: .35rem;
}
.w-pricing-plan__sub {
	color: var(--w-muted);
	font-size: .92rem;
	margin: 0 0 1.5rem;
}
.w-pricing-plan__cta { min-width: 220px; }

.w-pricing-features {
	list-style: none;
	padding: 2.5rem;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 720px) {
	.w-pricing-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.w-pricing-features li {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
}
.w-pricing-features__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
	flex-shrink: 0;
	font-size: 22px; /* drives the inner .w-icon svg { 1em } sizing */
}
.w-pricing-features__icon .w-icon,
.w-pricing-features__icon .w-icon svg,
.w-pricing-features__icon svg {
	width: 22px !important;
	height: 22px !important;
	display: block;
}
.w-pricing-features__icon .w-icon svg { stroke-width: 2.25; }
.w-pricing-features li strong {
	display: block;
	font-weight: 700;
	color: var(--w-ink);
	font-size: 1rem;
	line-height: 1.3;
	margin: .3rem 0 .25rem;
}
.w-pricing-features li span {
	display: block;
	color: var(--w-muted);
	font-size: .92rem;
	line-height: 1.55;
}

/* Why-Workew trust block */
.w-pricing-trust { padding: 1rem 0 4rem; }
.w-pricing-trust__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}
.w-pricing-trust__grid .w-card { text-align: center; padding: 2rem 1.5rem; }
.w-pricing-trust__grid h3 { font-size: 1.15rem; margin: .25rem 0 .5rem; }
.w-pricing-trust__grid p { color: var(--w-muted); margin: 0; font-size: .95rem; line-height: 1.6; }

/* FAQ section reuses .w-faq from the Employer FAQ template. */
.w-pricing-faq { padding: 0 0 4rem; }
.w-pricing-faq__head {
	text-align: center;
	margin-bottom: 2rem;
}
.w-pricing-faq__head .w-eyebrow { justify-content: center; }
.w-pricing-faq__head h2 {
	font-size: clamp(1.75rem, 2.8vw, 2.2rem);
	margin: 0;
}

/* Editor prose section (renders only if the WP page has content) */
.w-pricing-prose { padding: 0 0 4rem; }

/* Final CTA strip */
.w-pricing-final-cta { padding: 0 0 5rem; }
.w-pricing-final-cta__card {
	background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
	border-radius: var(--w-radius-lg);
	padding: 2.5rem;
	color: #fff;
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 2rem;
	align-items: center;
	position: relative;
	overflow: hidden;
}
.w-pricing-final-cta__card::before {
	content: "";
	position: absolute;
	top: -50%;
	right: -10%;
	width: 60%;
	height: 200%;
	background: radial-gradient(circle, var(--w-primary-soft) 0%, transparent 60%);
	pointer-events: none;
}
.w-pricing-final-cta__card h2 {
	color: #fff;
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	margin: 0 0 .5em;
}
.w-pricing-final-cta__card p {
	color: #CBD5E1;
	margin: 0;
}
.w-pricing-final-cta__card .w-btn {
	justify-self: end;
	position: relative;
	z-index: 1;
}

@media (max-width: 760px) {
	.w-pricing-trust__grid { grid-template-columns: 1fr; }
	.w-pricing-final-cta__card { grid-template-columns: 1fr; padding: 2rem; }
	.w-pricing-final-cta__card .w-btn { justify-self: stretch; }
}

/* --------------------------------------------------------------------------
   Employer FAQ page
   ------------------------------------------------------------------------ */
.w-faq-page { padding: 3rem 0 5rem; }
.w-faq { display: flex; flex-direction: column; gap: .75rem; }
.w-faq__item {
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.w-faq__item:hover { border-color: var(--w-border-strong); }
.w-faq__item[open] { box-shadow: var(--w-shadow-sm); }
.w-faq__question {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: 1.15rem 1.5rem;
	font-weight: 600;
	font-size: 1.05rem;
	color: var(--w-ink);
	cursor: pointer;
	list-style: none;
}
.w-faq__question::-webkit-details-marker { display: none; }
.w-faq__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px; height: 32px;
	border-radius: 50%;
	background: var(--w-surface);
	color: var(--w-ink-2);
	transition: transform .15s ease, background-color .15s ease, color .15s ease;
	flex-shrink: 0;
}
.w-faq__icon svg { width: 16px; height: 16px; }
.w-faq__item[open] .w-faq__icon {
	transform: rotate(180deg);
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
}
.w-faq__answer {
	padding: 0 1.5rem 1.5rem;
	border-top: 1px solid var(--w-border);
	margin-top: -1px;
	padding-top: 1.25rem;
}
.w-faq__answer p { margin: 0; color: var(--w-ink-2); }

.w-faq-page__group + .w-faq-page__group { margin-top: 3rem; }
.w-faq-page__group-title {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 1rem;
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--w-border);
	color: var(--w-ink);
}

.w-faq-page__extra { margin-top: 3rem; }
.w-faq-page__contact {
	margin-top: 3rem;
	padding: 2rem;
	border-radius: var(--w-radius-lg);
	background: linear-gradient(135deg, var(--w-primary-soft), transparent);
	border: 1px solid rgba(123, 199, 76, .25);
	text-align: center;
}
.w-faq-page__contact h3 { margin: 0 0 .5rem; }
.w-faq-page__contact p { color: var(--w-muted); margin: 0 0 1.25rem; }

/* --------------------------------------------------------------------------
   Contact / Support page (page-templates/contact.php)
   -------------------------------------------------------------------------- */
.w-contact-page { padding: 3rem 0 5rem; }
.w-contact-page__intro { max-width: 56rem; margin: 0 auto 2rem; color: var(--w-ink-2); font-size: 1.05rem; line-height: 1.7; }
.w-contact-page__intro p { margin: 0 0 1rem; }

.w-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
	margin-top: 1.5rem;
}
@media (max-width: 880px) {
	.w-contact-grid { grid-template-columns: 1fr; gap: 1.25rem; }
}

/* --- Form card --- */
.w-contact-form {
	padding: 2rem 2.25rem;
}
.w-contact-form__title { margin: 0 0 .35rem; font-size: 1.35rem; font-weight: 700; color: var(--w-ink); }
.w-contact-form__sub   { margin: 0 0 1.5rem; color: var(--w-muted); font-size: .92rem; }

.w-contact-form__hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.w-contact-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
@media (max-width: 560px) {
	.w-contact-form__row { grid-template-columns: 1fr; }
	.w-contact-form { padding: 1.5rem 1.25rem; }
}

.w-contact-form__field { display: flex; flex-direction: column; gap: .4rem; margin-bottom: 1.05rem; }
.w-contact-form__field label {
	font-size: .82rem;
	font-weight: 600;
	color: var(--w-ink);
	letter-spacing: .005em;
}
.w-contact-form__field .w-req { color: #E11D48; font-weight: 600; }

.w-contact-form__field input,
.w-contact-form__field select,
.w-contact-form__field textarea {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	font-size: .95rem;
	color: var(--w-ink);
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: 10px;
	padding: .7rem .85rem;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.w-contact-form__field input::placeholder,
.w-contact-form__field textarea::placeholder { color: var(--w-muted); opacity: .85; }

.w-contact-form__field input:focus,
.w-contact-form__field select:focus,
.w-contact-form__field textarea:focus {
	outline: none;
	border-color: var(--w-primary);
	box-shadow: 0 0 0 4px rgba(123, 199, 76, .18);
	background: var(--w-bg-elev);
}
.w-contact-form__field textarea { resize: vertical; min-height: 7rem; }

.w-contact-form__field select {
	appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
	background-repeat: no-repeat;
	background-position: right .85rem center;
	background-size: 16px 16px;
	padding-right: 2.5rem;
}

.w-contact-form__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .75rem 1rem;
	margin-top: .5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--w-border);
}
.w-contact-form__submit { display: inline-flex; align-items: center; gap: .4rem; }
.w-contact-form__hint   { margin: 0; color: var(--w-muted); font-size: .8rem; }

/* --- Aside cards --- */
.w-contact-aside { display: flex; flex-direction: column; gap: 1rem; }

.w-contact-card { padding: 1.25rem 1.35rem; }
.w-contact-card__icon {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--w-primary-soft);
	color: var(--w-primary-strong, var(--w-ink));
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: .6rem;
}
.w-contact-card__icon svg { width: 18px; height: 18px; }
.w-contact-card h3 { margin: 0 0 .25rem; font-size: 1rem; font-weight: 700; color: var(--w-ink); }
.w-contact-card p  { margin: 0; color: var(--w-muted); font-size: .9rem; line-height: 1.55; }
.w-contact-card__link {
	display: inline-block;
	margin-top: .6rem;
	color: var(--w-ink);
	font-weight: 600;
	border-bottom: 1px dashed var(--w-border-strong);
}
.w-contact-card__link:hover { color: var(--w-primary-strong, var(--w-primary)); border-bottom-color: var(--w-primary); }
.w-contact-card__links { list-style: none; padding: 0; margin: .65rem 0 0; display: flex; flex-direction: column; gap: .3rem; }
.w-contact-card__links a { color: var(--w-ink); font-weight: 500; }
.w-contact-card__links a:hover { color: var(--w-primary-strong, var(--w-primary)); }

.w-contact-card--social {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: .25rem 1.35rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.w-contact-card--social p { margin: 0; color: var(--w-muted); font-size: .85rem; }
.w-contact-card__socials { display: inline-flex; gap: .5rem; }
.w-contact-card__socials a {
	width: 34px; height: 34px;
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--w-ink);
	background: var(--w-bg-elev);
	border: 1px solid var(--w-border);
	border-radius: 999px;
	transition: color .15s ease, border-color .15s ease, transform .15s ease;
}
.w-contact-card__socials a:hover { color: var(--w-primary-strong, var(--w-primary)); border-color: var(--w-primary); transform: translateY(-1px); }
.w-contact-card__socials svg { width: 16px; height: 16px; }

/* --------------------------------------------------------------------------
   Legal / Terms page
   ------------------------------------------------------------------------ */
.w-legal-page { padding: 2.5rem 0 5rem; }
.w-legal-page__meta {
	color: var(--w-muted);
	font-size: .9rem;
	margin: 0 0 2rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid var(--w-border);
}
.w-legal-page__content h2 {
	font-size: 1.35rem;
	margin: 2.5rem 0 .75rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--w-border);
}
.w-legal-page__content h2:first-child { padding-top: 0; border-top: 0; margin-top: 0; }
.w-legal-page__content h3 { font-size: 1.1rem; margin: 1.75rem 0 .5rem; }
.w-legal-page__content p { color: var(--w-ink-2); }

/* Dashboard */
.w-dashboard { padding: 2rem 0 5rem; }
.w-dashboard__inner {
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-lg);
	padding: 2rem;
}

/* =========================================================================
   ACCOUNT DASHBOARD PANEL
   A two-column shell (sidebar + main) that wraps the theme-owned sections
   (Overview / Profile / Password) AND every WP Job Manager screen so the
   whole "My Account" area shares one premium, cohesive look.
   ========================================================================= */

.w-account { padding: 2.5rem 0 5rem; }

/* Top bar: avatar + greeting, plus the mobile sidebar toggle. */
.w-account__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 2rem;
}
.w-account__id { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.w-account__avatar {
	width: 56px; height: 56px;
	border-radius: 50%;
	border: 2px solid var(--w-bg);
	box-shadow: var(--w-shadow-sm);
	flex-shrink: 0;
	/* object-fit so non-square photos (e.g. tall portraits) crop to fill
	   the circle instead of getting squished to 56×56. */
	object-fit: cover;
	object-position: center top;
}
.w-account__hello { margin: 0; color: var(--w-muted); font-size: .85rem; }
.w-account__name { margin: .1rem 0 0; font-size: clamp(1.4rem, 2.5vw, 1.9rem); line-height: 1.1; }
.w-account__menu-toggle { display: none; }

/* Layout grid. */
.w-account__layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
}

/* ---- Sidebar ---- */
.w-account__sidebar { position: sticky; top: calc(var(--w-header-h) + 1rem); }
.w-account-nav {
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-lg);
	padding: .75rem;
	box-shadow: var(--w-shadow-sm);
}
.w-account-nav__heading {
	margin: 1.1rem .75rem .35rem;
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .09em;
	font-weight: 700;
	color: var(--w-muted-2);
}
.w-account-nav__list { list-style: none; margin: 0 0 .25rem; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.w-account-nav__link {
	display: flex; align-items: center; gap: .7rem;
	padding: .6rem .75rem;
	border-radius: var(--w-radius-sm);
	color: var(--w-ink-2);
	font-weight: 500;
	font-size: .92rem;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}
.w-account-nav__link .w-icon { color: var(--w-muted); display: inline-flex; flex-shrink: 0; }
.w-account-nav__link .w-icon svg { width: 18px; height: 18px; }
.w-account-nav__link:hover { background: var(--w-surface); color: var(--w-ink); }
.w-account-nav__link:hover .w-icon { color: var(--w-ink-2); }
.w-account-nav__link.is-active {
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
	font-weight: 600;
}
.w-account-nav__link.is-active .w-icon { color: var(--w-primary-dark); }
.w-account-nav__logout {
	display: flex; align-items: center; gap: .7rem;
	margin-top: .5rem;
	padding: .6rem .75rem;
	border-top: 1px solid var(--w-border);
	border-radius: 0 0 var(--w-radius-sm) var(--w-radius-sm);
	color: var(--w-muted);
	font-weight: 500; font-size: .92rem;
	text-decoration: none;
	transition: color .15s ease, background-color .15s ease;
}
.w-account-nav__logout .w-icon svg { width: 18px; height: 18px; }
.w-account-nav__logout:hover { color: #dc2626; background: rgba(220,38,38,.06); }

/* ---- Main panel ---- */
.w-account__main { min-width: 0; display: flex; flex-direction: column; gap: 1.5rem; }
.w-account-screen {
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-lg);
	box-shadow: var(--w-shadow-sm);
	padding: 1.75rem;
}
.w-account-screen__title { margin: 0 0 .35rem; font-size: 1.35rem; }
.w-account-screen__intro { margin: 0 0 1.5rem; color: var(--w-muted); }
.w-account-screen--wpjm .w-account-screen__title { margin-bottom: 1.25rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--w-border); }

/* ---- Overview: stat tiles ---- */
/* Profile completeness card — sits above the Overview stats. */
.w-completeness {
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-left: 5px solid var(--w-muted-2);
	border-radius: var(--w-radius-lg);
	box-shadow: var(--w-shadow-sm);
	padding: 1.4rem 1.6rem;
	margin: 0 0 1.5rem;
}
.w-completeness--weak { border-left-color: #dc2626; }
.w-completeness--fair { border-left-color: #f59e0b; }
.w-completeness--good { border-left-color: var(--w-primary); }
.w-completeness__head {
	display: flex; justify-content: space-between; align-items: center;
	gap: 1.25rem;
	margin: 0 0 1rem;
}
.w-completeness__title { margin: 0 0 .15rem; font-size: 1.05rem; }
.w-completeness__resume { margin: 0 0 .3rem; font-size: .82rem; color: var(--w-muted-2); display: inline-flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.w-completeness__resume-name { color: var(--w-ink-2); font-weight: 600; }
.w-completeness__resume-person { color: var(--w-ink-2); }
.w-completeness__resume-sep { color: var(--w-muted-2); }
.w-completeness__resume-date { color: var(--w-muted); }
.w-completeness__msg { margin: 0; color: var(--w-muted); font-size: .9rem; }
.w-completeness__score strong {
	font-size: 2rem;
	font-weight: 800;
	line-height: 1;
	color: var(--w-ink);
}
.w-completeness--weak .w-completeness__score strong { color: #dc2626; }
.w-completeness--fair .w-completeness__score strong { color: #b45309; }
.w-completeness--good .w-completeness__score strong { color: var(--w-primary-dark); }
.w-completeness__bar {
	height: 8px;
	border-radius: 100px;
	background: var(--w-surface-2);
	overflow: hidden;
	margin: 0 0 1rem;
}
.w-completeness__bar > span {
	display: block;
	height: 100%;
	background: var(--w-primary);
	transition: width .4s ease;
}
.w-completeness--weak .w-completeness__bar > span { background: #dc2626; }
.w-completeness--fair .w-completeness__bar > span { background: #f59e0b; }
.w-completeness__missing {
	list-style: none;
	margin: 0 0 1.1rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}
.w-completeness__missing li { margin: 0; }
.w-completeness__missing a {
	display: inline-flex; align-items: center;
	gap: .35rem;
	padding: .3rem .65rem;
	background: var(--w-surface);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-pill);
	color: var(--w-ink-2);
	font-size: .82rem;
	font-weight: 500;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.w-completeness__missing a:hover {
	background: var(--w-primary-soft);
	border-color: var(--w-primary);
	color: var(--w-primary-dark);
}
.w-completeness__plus { color: var(--w-primary-dark); font-weight: 700; }
.w-completeness__actions { display: flex; gap: .6rem; flex-wrap: wrap; }

/* Verified employer badge */
.w-verified {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	vertical-align: middle;
	margin-left: .35rem;
	color: var(--w-primary);
	/* Force Inter regardless of context — when the badge sits inside the
	   h1 in a hero (display font), the label would otherwise inherit it. */
	font-family: var(--w-font-ui);
	font-size: .85rem;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}
.w-verified svg { width: 16px; height: 16px; flex-shrink: 0; }
.w-verified__label { color: var(--w-primary-dark); font-family: var(--w-font-ui) !important; font-size: .82rem !important; line-height: 1; letter-spacing: 0; font-weight: 600; }
.w-verified--icon { font-size: 0; gap: 0; }
.w-verified--icon svg { width: 14px; height: 14px; transform: translateY(-1px); /* small nudge only useful for body-text card context */ }

@media (max-width: 600px) {
	.w-completeness__head { flex-direction: column; align-items: flex-start; gap: .5rem; }
	.w-completeness__actions .w-btn { flex: 1; justify-content: center; }
}

.w-account-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1rem;
	margin-bottom: 2rem;
}
.w-account-stat {
	display: flex; flex-direction: column; gap: .15rem;
	padding: 1.25rem;
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	background: var(--w-surface);
	text-decoration: none;
	color: var(--w-ink);
	transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
a.w-account-stat:hover { transform: translateY(-2px); box-shadow: var(--w-shadow-md); border-color: var(--w-border-strong); }
.w-account-stat__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px;
	border-radius: 10px;
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
	margin-bottom: .5rem;
}
.w-account-stat__icon svg { width: 19px; height: 19px; }
.w-account-stat__value { font-size: 1.75rem; font-weight: 800; line-height: 1; }
.w-account-stat__label { color: var(--w-muted); font-size: .85rem; }

/* ---- Overview: quick actions ---- */
.w-account-quick__title { font-size: 1rem; margin: 0 0 1rem; }
.w-account-quick__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.w-account-quick__card {
	display: flex; align-items: center; gap: 1rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	background: var(--w-surface);
	text-decoration: none;
	color: var(--w-ink);
	transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.w-account-quick__card:hover { transform: translateY(-2px); box-shadow: var(--w-shadow-md); border-color: var(--w-primary); }
.w-account-quick__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; flex-shrink: 0;
	border-radius: 50%;
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
}
.w-account-quick__icon svg { width: 20px; height: 20px; }
.w-account-quick__text { display: flex; flex-direction: column; gap: .1rem; min-width: 0; flex: 1; }
.w-account-quick__text strong { font-size: .98rem; }
.w-account-quick__text small { color: var(--w-muted); font-size: .82rem; }
.w-account-quick__card > .w-icon { color: var(--w-muted-2); flex-shrink: 0; }
.w-account-quick__card:hover > .w-icon { color: var(--w-primary); }

/* ---- Theme-owned forms (profile / password) ---- */
.w-account-form { max-width: 620px; }
.w-account-form__avatar { display: flex; align-items: center; gap: 1.1rem; margin-bottom: 1.75rem; }
.w-account-form__avatar-preview { flex-shrink: 0; width: 96px; height: 96px; border-radius: 50%; overflow: hidden; background: var(--w-surface); display: inline-flex; align-items: center; justify-content: center; }
.w-account-form__avatar-preview img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block; }
.w-account-form__avatar-controls { min-width: 0; }
.w-account-form__avatar-hint { margin: 0 0 .65rem; color: var(--w-muted); font-size: .82rem; line-height: 1.45; }
.w-account-form__avatar-buttons { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; }
.w-account-form__avatar-remove {
	border: 0; background: none; padding: .35rem .55rem;
	color: var(--w-muted); font-size: .82rem; font-weight: 600;
	cursor: pointer; border-radius: var(--w-radius-sm);
	transition: background-color .12s ease, color .12s ease;
}
.w-account-form__avatar-remove:hover { background: rgba(220, 38, 38, .08); color: #dc2626; }
.w-account-form__avatar-filename {
	color: var(--w-ink-2); font-size: .82rem; font-weight: 500;
	max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.w-account-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.w-account-form__field { margin-bottom: 1.1rem; }
.w-account-form__field label {
	display: block; margin-bottom: .4rem;
	font-weight: 600; font-size: .85rem; color: var(--w-ink-2);
}
.w-account-form__field input,
.w-account-form__field textarea { width: 100%; }
.w-account-form__hint { color: var(--w-muted); font-size: .82rem; margin: -.4rem 0 1.1rem; }
.w-account-form__actions { margin-top: .5rem; display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }

/* Danger zone — account deletion card on the Profile screen. */
.w-account-danger {
	border: 1px solid rgba(220, 38, 38, .25);
	background: rgba(220, 38, 38, .03);
	border-left: 4px solid #dc2626;
}
.w-account-danger__title { color: #991b1b; margin: 0 0 .35rem; font-size: 1.05rem; }
.w-account-danger__intro { color: var(--w-muted); margin: 0 0 .5rem; }
.w-account-danger__list { margin: 0 0 1rem 1.25rem; color: var(--w-ink-2); font-size: .9rem; }
.w-account-danger__list li { margin: .15rem 0; }
.w-account-danger__locked { color: var(--w-ink-2); font-size: .9rem; margin: 0; }
.w-account-danger__details { margin: 0; }
.w-account-danger__details > summary { list-style: none; cursor: pointer; display: inline-flex; }
.w-account-danger__details > summary::-webkit-details-marker { display: none; }
.w-account-danger__open { color: #991b1b; border-color: rgba(220, 38, 38, .35); }
.w-account-danger__open:hover { background: rgba(220, 38, 38, .08); color: #7f1d1d; border-color: rgba(220, 38, 38, .55); }
.w-account-danger__form { margin-top: 1.1rem; padding-top: 1.1rem; border-top: 1px solid rgba(220, 38, 38, .15); max-width: 460px; }
.w-account-danger__form p { color: var(--w-ink-2); font-size: .92rem; margin: 0 0 .6rem; }
.w-account-danger__form input[type="text"] {
	border-color: rgba(220, 38, 38, .35);
	letter-spacing: .15em;
	font-weight: 700;
	text-align: center;
}
.w-account-danger__form input[type="text"]:focus {
	border-color: #dc2626;
	box-shadow: 0 0 0 4px rgba(220, 38, 38, .15);
}
.w-account-danger__submit {
	background: #dc2626;
	border-color: #dc2626;
	color: #fff;
}
.w-account-danger__submit:hover { background: #b91c1c; border-color: #b91c1c; color: #fff; transform: translateY(-1px); }

/* ---- Job alerts list ---- */
/* ---- Find candidates (employer talent search) ---- */
.w-find-candidates { margin: 0 0 1.5rem; }
.w-find-candidates__row {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto;
	gap: .75rem;
	align-items: end;
}
.w-find-candidates__field { min-width: 0; }
.w-find-candidates__field label {
	display: block;
	font-size: .72rem;
	font-weight: 700;
	color: var(--w-muted-2);
	text-transform: uppercase;
	letter-spacing: .06em;
	margin-bottom: .35rem;
}
.w-find-candidates__field input,
.w-find-candidates__field select { width: 100%; }
.w-find-candidates__field--submit .w-btn {
	width: 100%;
	justify-content: center;
	height: 46px;
	white-space: nowrap;
}
.w-find-candidates__reset { margin: .75rem 0 0; font-size: .85rem; }
.w-find-candidates__reset a { color: var(--w-muted); }
.w-find-candidates__reset a:hover { color: var(--w-primary-dark); }
.w-find-candidates__lock { margin: 0 0 1.25rem; }
.w-find-candidates__lock a { color: inherit; font-weight: 700; text-decoration: underline; }
.w-find-candidates__count { margin: 0 0 .85rem; color: var(--w-muted); font-size: .9rem; }
.w-find-candidates__results { margin: 0; }
.w-find-candidates__pagination { margin-top: 1.5rem; }
.w-find-candidates__pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 38px; height: 38px;
	padding: 0 .75rem;
	margin: 0 .15rem;
	border-radius: var(--w-radius-sm);
	border: 1px solid var(--w-border);
	background: var(--w-bg);
	color: var(--w-ink-2);
	font-size: .85rem; font-weight: 600;
	text-decoration: none;
}
.w-find-candidates__pagination .page-numbers:hover { background: var(--w-surface); border-color: var(--w-border-strong); }
.w-find-candidates__pagination .page-numbers.current {
	background: var(--w-primary); border-color: var(--w-primary); color: #0a1a02;
}
@media (max-width: 760px) {
	.w-find-candidates__row { grid-template-columns: 1fr; }
}

.w-alert-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .75rem; }
.w-alert-card {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	background: var(--w-surface);
}
.w-alert-card.is-paused { opacity: .7; }
.w-alert-card__main { min-width: 0; }
.w-alert-card__chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .4rem; }
.w-alert-chip {
	display: inline-flex; align-items: center;
	padding: .2rem .6rem;
	border-radius: var(--w-radius-pill);
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	font-size: .8rem; font-weight: 600; color: var(--w-ink-2);
}
.w-alert-chip--type { background: var(--w-primary-soft); border-color: transparent; color: var(--w-primary-dark); }
.w-alert-card__meta { margin: 0; color: var(--w-muted); font-size: .82rem; }
.w-alert-card__paused { color: #b45309; font-weight: 600; }
.w-alert-card__actions { display: flex; align-items: center; gap: .35rem; flex-shrink: 0; }
.w-alert-card__actions form { margin: 0; display: inline-flex; }
.w-icon-btn--danger:hover { background: rgba(220,38,38,.1); color: #dc2626; }

/* ---- Login gate ---- */
.w-account-gate { padding: 4rem 0 6rem; }
.w-account-gate__card {
	max-width: 420px; margin: 0 auto;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-lg);
	box-shadow: var(--w-shadow-md);
	padding: 2.5rem 2rem;
	text-align: center;
}
.w-account-gate__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 56px; height: 56px; margin-bottom: 1rem;
	border-radius: 50%;
	background: var(--w-primary-soft);
	color: var(--w-primary-dark);
}
.w-account-gate__icon svg { width: 26px; height: 26px; }
.w-account-gate__title { margin: 0 0 .35rem; font-size: 1.4rem; }
.w-account-gate__sub { margin: 0 0 1.75rem; color: var(--w-muted); font-size: .92rem; }
.w-account-gate form { text-align: left; }
.w-account-gate .login-username,
.w-account-gate .login-password { margin-bottom: 1rem; }
.w-account-gate label { display: block; margin-bottom: .4rem; font-weight: 600; font-size: .85rem; color: var(--w-ink-2); }
.w-account-gate input[type="text"],
.w-account-gate input[type="password"] { width: 100%; }
.w-account-gate .login-remember { font-weight: 400; color: var(--w-muted); font-size: .88rem; margin: .25rem 0 1.25rem; }
.w-account-gate .login-remember label { display: inline-flex; align-items: center; gap: .4rem; margin: 0; font-weight: 400; }
.w-account-gate .login-remember input { width: auto; }
.w-account-gate .login-submit .button,
.w-account-gate .login-submit input[type="submit"] {
	width: 100%;
	display: inline-flex; align-items: center; justify-content: center;
	padding: .75rem 1.4rem;
	border-radius: var(--w-radius-pill);
	background: var(--w-primary);
	color: #0a1a02;
	border: 1px solid var(--w-primary);
	font-weight: 700; font-size: .95rem;
	cursor: pointer;
	transition: background-color .15s ease, transform .1s ease;
}
.w-account-gate .login-submit .button:hover,
.w-account-gate .login-submit input[type="submit"]:hover {
	background: var(--w-primary-dark); border-color: var(--w-primary-dark); transform: translateY(-1px);
}
.w-account-gate__links { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; font-size: .88rem; }
.w-account-gate__links a { color: var(--w-muted); }
.w-account-gate__links a:hover { color: var(--w-primary-dark); }

/* Sign in / Create account tabs. */
.w-account-auth { text-align: left; }
.w-account-auth__tabs {
	display: flex;
	gap: .25rem;
	padding: .25rem;
	margin: 0 0 1.5rem;
	background: var(--w-surface-2);
	border-radius: var(--w-radius-pill);
}
.w-account-auth__tab {
	flex: 1;
	padding: .55rem 1rem;
	border: 0;
	border-radius: var(--w-radius-pill);
	background: transparent;
	color: var(--w-muted);
	font-weight: 600; font-size: .9rem;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.w-account-auth__tab.is-active {
	background: var(--w-bg);
	color: var(--w-ink);
	box-shadow: var(--w-shadow-xs);
}
.w-account-auth .w-notice { margin-bottom: 1.25rem; }
.w-account-auth__panel { text-align: left; }
.w-account-auth__panel .w-account-gate__sub { text-align: center; margin-bottom: 1.5rem; }
.w-account-auth__submit { width: 100%; justify-content: center; }
.w-account-auth__fineprint { margin: 1rem 0 0; text-align: center; color: var(--w-muted); font-size: .8rem; }
.w-account-auth__fineprint a { color: var(--w-muted); text-decoration: underline; }
.w-account-auth__fineprint a:hover { color: var(--w-primary-dark); }

/* Honeypot — visually hidden but present in the DOM for bots to trip on. */
.w-account-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Password strength meter (advisory). */
.w-pw-meter { display: flex; align-items: center; gap: .6rem; margin-top: .5rem; }
.w-pw-meter[hidden] { display: none; }
.w-pw-meter__bar {
	position: relative; flex: 1; height: 4px;
	border-radius: 2px; background: var(--w-surface-2); overflow: hidden;
}
.w-pw-meter__bar::after {
	content: ""; position: absolute; left: 0; top: 0; bottom: 0;
	width: 0; border-radius: 2px;
	transition: width .2s ease, background-color .2s ease;
}
.w-pw-meter.is-weak .w-pw-meter__bar::after { width: 33%; background: #dc2626; }
.w-pw-meter.is-fair .w-pw-meter__bar::after { width: 66%; background: #f59e0b; }
.w-pw-meter.is-strong .w-pw-meter__bar::after { width: 100%; background: var(--w-primary); }
.w-pw-meter__label { font-style: normal; font-size: .75rem; font-weight: 700; color: var(--w-muted); min-width: 44px; text-align: right; }
.w-pw-meter.is-weak .w-pw-meter__label { color: #dc2626; }
.w-pw-meter.is-fair .w-pw-meter__label { color: #b45309; }
.w-pw-meter.is-strong .w-pw-meter__label { color: var(--w-primary-dark); }

/* =========================================================================
   WP JOB MANAGER SCREENS INSIDE THE ACCOUNT PANEL
   Re-skin the raw plugin markup (submit forms, dashboards, applications,
   alerts) so embedded screens match the theme. Scoped to .w-account-screen.
   ========================================================================= */

/* Submit / edit forms. */
.w-account-screen .job-manager-form fieldset {
	border: 0; margin: 0 0 1.25rem; padding: 0;
	display: grid; grid-template-columns: 1fr; gap: .4rem;
}
.w-account-screen .job-manager-form fieldset > label {
	font-weight: 600; font-size: .85rem; color: var(--w-ink-2);
}
.w-account-screen .job-manager-form .field { margin: 0; }
.w-account-screen .job-manager-form .field small.description,
.w-account-screen .job-manager-form .description { display: block; color: var(--w-muted); font-size: .82rem; margin-top: .35rem; }
.w-account-screen .job-manager-form input[type="text"],
.w-account-screen .job-manager-form input[type="email"],
.w-account-screen .job-manager-form input[type="url"],
.w-account-screen .job-manager-form input[type="tel"],
.w-account-screen .job-manager-form input[type="password"],
.w-account-screen .job-manager-form input[type="number"],
.w-account-screen .job-manager-form input[type="date"],
.w-account-screen .job-manager-form select,
.w-account-screen .job-manager-form textarea { width: 100%; }
.w-account-screen .job-manager-form .required { color: #dc2626; }

/* Submit buttons + WPJM .button look like theme buttons. */
.w-account-screen .job-manager-form input[type="submit"],
.w-account-screen .job-manager-form button[type="submit"],
.w-account-screen input.button,
.w-account-screen a.button,
.w-account-screen button.button {
	display: inline-flex; align-items: center; justify-content: center;
	gap: .5rem;
	padding: .7rem 1.4rem;
	border-radius: var(--w-radius-pill);
	background: var(--w-primary);
	color: #0a1a02;
	border: 1px solid var(--w-primary);
	font-weight: 700; font-size: .95rem;
	cursor: pointer; text-decoration: none;
	transition: background-color .15s ease, transform .1s ease;
}
.w-account-screen .job-manager-form input[type="submit"]:hover,
.w-account-screen .job-manager-form button[type="submit"]:hover,
.w-account-screen input.button:hover,
.w-account-screen a.button:hover,
.w-account-screen button.button:hover { background: var(--w-primary-dark); border-color: var(--w-primary-dark); transform: translateY(-1px); }

/* Dashboard tables (jobs / resumes / applications). */
.w-account-screen table {
	width: 100%; border-collapse: collapse;
	font-size: .9rem;
}
.w-account-screen table th {
	text-align: left;
	padding: .65rem .75rem;
	font-size: .72rem; text-transform: uppercase; letter-spacing: .06em;
	color: var(--w-muted-2);
	border-bottom: 1px solid var(--w-border);
}
.w-account-screen table td {
	padding: .9rem .75rem;
	border-bottom: 1px solid var(--w-border);
	vertical-align: middle;
}
.w-account-screen table tr:hover td { background: var(--w-surface); }
.w-account-screen table .job-title,
.w-account-screen table .resume-title { font-weight: 600; }
.w-account-screen table .job-title a,
.w-account-screen table .resume-title a { color: var(--w-ink); }
.w-account-screen table .job-title a:hover,
.w-account-screen table .resume-title a:hover { color: var(--w-primary-dark); }

/* Row action links (Edit / Delete / Duplicate / Mark filled / Hide …).
   Includes the resume dashboard's per-row action list, forced visible
   (WPJM hides it until row-hover, which feels broken inside our panel). */
.w-account-screen .jm-dashboard-action,
.w-account-screen td.action a,
.w-account-screen .candidate-dashboard-actions a,
.w-account-screen .job-dashboard-actions a {
	display: inline-block;
	margin: .1rem .35rem .1rem 0;
	font-size: .82rem;
	font-weight: 600;
	color: var(--w-muted);
}
.w-account-screen .jm-dashboard-action:hover,
.w-account-screen td.action a:hover,
.w-account-screen .candidate-dashboard-actions a:hover,
.w-account-screen .job-dashboard-actions a:hover { color: var(--w-primary-dark); }
.w-account-screen .job-dashboard-action-delete:hover,
.w-account-screen td.action a.delete:hover,
.w-account-screen .candidate-dashboard-actions .delete:hover,
.w-account-screen .job-dashboard-actions .delete:hover { color: #dc2626; }
.w-account-screen .candidate-dashboard-actions,
.w-account-screen .job-dashboard-actions {
	list-style: none; margin: .55rem 0 0; padding: 0;
	display: flex; flex-wrap: wrap; gap: .25rem .9rem;
	max-height: none; visibility: visible; opacity: 1;
}
.w-account-screen .candidate-dashboard-actions li,
.w-account-screen .job-dashboard-actions li { margin: 0; }

/* "Add Resume" lives in the resume table's footer — make it a real button. */
.w-account-screen .resume-manager-resumes tfoot td { border-bottom: 0; padding-top: 1.25rem; }
.w-account-screen .resume-manager-resumes tfoot a {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .6rem 1.2rem;
	border-radius: var(--w-radius-pill);
	background: var(--w-primary); color: #0a1a02;
	border: 1px solid var(--w-primary);
	font-weight: 700; font-size: .9rem; text-decoration: none;
	transition: background-color .15s ease, transform .1s ease;
}
.w-account-screen .resume-manager-resumes tfoot a:hover { background: var(--w-primary-dark); border-color: var(--w-primary-dark); transform: translateY(-1px); }

/* Resume dashboard row actions: the plugin hides them until row-hover via an
   ID selector (beats our class rules) — force them visible inside our panel. */
#resume-manager-candidate-dashboard table ul.candidate-dashboard-actions { visibility: visible !important; }

/* -------------------------------------------------------------------------
   Repeatable-field "Remove" control (resume URLs / experience / education).
   The plugin renders it faint (#ccc) and shoved 1.25em into the right gutter,
   so it's nearly invisible on desktop and clipped off-screen on mobile.
   Replace it with a clear circular ✕ button inside the row.
   ------------------------------------------------------------------------- */
.resume-manager-data-row,
.job-manager-data-row { position: relative; }
.resume-manager-data-row .resume-manager-remove-row,
.job-manager-data-row .job-manager-remove-row {
	position: absolute !important;
	top: .1rem; right: .4rem; left: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 28px !important;
	height: 28px !important;
	overflow: visible !important;
	z-index: 4;
	display: inline-flex !important;
	align-items: center; justify-content: center;
	border-radius: 50%;
	background: var(--w-surface-2);
	border: 1px solid var(--w-border);
	color: var(--w-muted);
	font-size: 0 !important;          /* hide the "Remove" text */
	line-height: 1;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.resume-manager-data-row .resume-manager-remove-row::before,
.job-manager-data-row .job-manager-remove-row::before {
	content: "\2715" !important;      /* ✕ */
	position: static !important;
	width: auto !important;
	left: auto !important; top: auto !important;
	font-size: 13px;
	line-height: 1;
}
.resume-manager-data-row .resume-manager-remove-row:hover,
.job-manager-data-row .job-manager-remove-row:hover {
	background: rgba(220, 38, 38, .1);
	border-color: rgba(220, 38, 38, .4);
	color: #dc2626 !important;
}
/* Keep the first field's label clear of the button. */
.resume-manager-data-row > fieldset:first-child,
.resume-manager-data-row .field:first-child { padding-right: 2.5rem; }

/* Status pills used by the dashboards. */
.w-account-screen .status {
	display: inline-block;
	padding: .2rem .6rem;
	border-radius: var(--w-radius-pill);
	background: var(--w-surface-2);
	color: var(--w-ink-2);
	font-size: .72rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .04em;
}

/* WPJM notices → theme notice look. */
.w-account-screen .job-manager-message,
.w-account-screen .job-manager-info,
.w-account-screen .job-manager-error,
.w-account-screen .resume-manager-message {
	padding: 1rem 1.25rem; margin: 0 0 1.25rem;
	border-radius: var(--w-radius);
	border: 1px solid var(--w-border);
	background: var(--w-surface);
	list-style: none;
}
.w-account-screen .job-manager-message,
.w-account-screen .resume-manager-message { background: rgba(16,185,129,.08); border-color: rgba(16,185,129,.3); color: #047857; }
.w-account-screen .job-manager-error { background: rgba(220,38,38,.07); border-color: rgba(220,38,38,.3); color: #b91c1c; }

/* "Add Job / Add Resume" header button + empty states. */
.w-account-screen .add_new_job_button,
.w-account-screen .add_new_resume_button { margin-bottom: 1.25rem; }
.w-account-screen .account-sign-in,
.w-account-screen .no_job_listings_found,
.w-account-screen .no_resumes_found { color: var(--w-muted); }

/* WPJM pagination inside the panel. */
.w-account-screen .job-manager-pagination ul,
.w-account-screen nav.job-manager-pagination { margin-top: 1.5rem; }

/* -------------------------------------------------------------------------
  15. PAGINATION, COMMENTS, WIDGETS
   ------------------------------------------------------------------------- */
.w-pagination, .navigation.pagination, .pagination {
	display: flex; justify-content: center; gap: .35rem;
	margin: 2.5rem 0;
}
.w-pagination .page-numbers, .pagination .page-numbers, .navigation.pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px;
	padding: 0 .75rem;
	border-radius: var(--w-radius-sm);
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	font-weight: 600;
	color: var(--w-ink);
}
.w-pagination .page-numbers:hover, .pagination .page-numbers:hover { background: var(--w-surface); border-color: var(--w-border-strong); }
.w-pagination .page-numbers.current, .pagination .page-numbers.current {
	background: var(--w-primary); border-color: var(--w-primary); color: #0a1a02;
}

.w-comments { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--w-border); }
.w-comments__title { font-size: 1.3rem; margin-bottom: 1.5rem; }
.w-comments__list, .w-comments__list ol { list-style: none; padding: 0; margin: 0; }
.w-comments__list .comment { padding: 1.25rem; border: 1px solid var(--w-border); border-radius: var(--w-radius); background: var(--w-bg); margin-bottom: 1rem; }
.w-comments__list .children { margin-left: 1.5rem; margin-top: 1rem; }
.w-comments .comment-author { display: flex; align-items: center; gap: .5rem; }
.w-comments .comment-author img { width: 40px; height: 40px; border-radius: 50%; }
.w-comments .comment-meta { color: var(--w-muted); font-size: .82rem; }

.w-widget-area .widget { padding: 1.25rem; background: var(--w-bg); border: 1px solid var(--w-border); border-radius: var(--w-radius); }
.w-widget-area .widget + .widget { margin-top: 1.25rem; }
.w-widget-area .widget-title { font-size: .85rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; margin-bottom: 1rem; }
.w-widget-area ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .5rem; }

/* -------------------------------------------------------------------------
  16. MISC (404, breadcrumbs, prose, notices)
   ------------------------------------------------------------------------- */
.w-breadcrumbs { padding: 1rem 0 0; font-size: .85rem; color: var(--w-muted); }
.w-breadcrumbs ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.w-breadcrumbs li + li::before {
	content: "/"; margin-right: .5rem; color: var(--w-muted-2);
}
.w-breadcrumbs a { color: var(--w-muted); }
.w-breadcrumbs a:hover { color: var(--w-primary-dark); }
.w-breadcrumbs li[aria-current="page"] { color: var(--w-ink-2); font-weight: 500; }

/* Search results page */
.w-search-hero {
	padding: 3rem 0 2rem;
	background: linear-gradient(180deg, var(--w-surface) 0%, var(--w-bg) 100%);
	border-bottom: 1px solid var(--w-border);
	text-align: center;
}
.w-search-hero__title { font-size: clamp(2rem, 3.5vw, 2.6rem); margin: 0 0 .25rem; }
.w-search-hero__title em { font-style: normal; color: var(--w-primary-dark); }
.w-search-hero__count { color: var(--w-muted); margin: 0 0 1.5rem; }
.w-search-hero__form {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: .5rem;
	align-items: center;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-pill);
	padding: .35rem .35rem .35rem 1.1rem;
	box-shadow: var(--w-shadow-md);
	margin: 0 auto;
	max-width: 640px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.w-search-hero__form:focus-within {
	border-color: var(--w-primary);
	box-shadow: 0 0 0 5px var(--w-primary-soft), var(--w-shadow-md);
}
.w-search-hero__form-icon { display: inline-flex; color: var(--w-muted); }
.w-search-hero__form-icon svg { width: 20px; height: 20px; }
.w-search-hero__form input[type="search"] {
	border: 0;
	background: transparent;
	padding: .8rem 0;
	font-size: 1.05rem;
	color: var(--w-ink);
	min-height: auto;
	box-shadow: none;
}
.w-search-hero__form input:focus { outline: none; box-shadow: none; }
.w-search-hero__form .w-btn { padding: .75rem 1.4rem; }
.w-search-hero__quicklinks {
	display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
	gap: .5rem;
	margin-top: 1.25rem;
	font-size: .9rem;
	color: var(--w-muted);
}
.w-search-hero__quicklinks > span { font-weight: 600; }
.w-search-hero__quicklinks a {
	padding: .3rem .85rem;
	background: var(--w-surface);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-pill);
	color: var(--w-ink-2);
	font-weight: 500;
	font-size: .85rem;
}
.w-search-hero__quicklinks a:hover { background: var(--w-primary-soft); color: var(--w-primary-dark); border-color: var(--w-primary); }

.w-search-results { padding: 3rem 0 5rem; }
.w-search-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: .75rem;
	max-width: 880px;
	margin: 0 auto;
}
.w-search-result {
	position: relative;
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr) auto;
	gap: 1.25rem;
	align-items: center;
	padding: 1.25rem 1.5rem;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius);
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.w-search-result:hover { transform: translateY(-2px); box-shadow: var(--w-shadow-md); border-color: var(--w-border-strong); }
.w-search-result__link { position: absolute; inset: 0; text-indent: -9999px; overflow: hidden; }
.w-search-result__media {
	width: 80px; height: 80px;
	border-radius: var(--w-radius-sm);
	overflow: hidden;
	background: var(--w-surface);
}
.w-search-result__media img { width: 100%; height: 100%; object-fit: cover; }
.w-search-result__body { min-width: 0; }
.w-search-result__meta {
	display: flex; align-items: center; gap: .65rem;
	margin: 0 0 .35rem;
	color: var(--w-muted);
	font-size: .85rem;
}
.w-search-result__meta .w-pill { font-size: .7rem; padding: .2rem .55rem; }
.w-search-result__title { margin: 0 0 .35rem; font-size: 1.15rem; line-height: 1.3; }
.w-search-result__excerpt { color: var(--w-muted); margin: 0; font-size: .92rem; }
.w-search-result__action { color: var(--w-muted); position: relative; z-index: 2; }
.w-search-result:hover .w-search-result__action { color: var(--w-primary-dark); }

/* When jobs appear in search results, render the standard job card but
   keep it inside the centered .w-search-list rail. */
.w-search-list .w-job-card { max-width: none; }

.w-empty__actions { display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; margin-top: 1.5rem; }

.w-404 { padding: 6rem 0; text-align: center; }
.w-404 h1 { font-size: clamp(2rem, 4vw, 3rem); margin: 1rem 0; }
.w-404 p { color: var(--w-muted); max-width: 560px; margin: 0 auto 2rem; font-size: 1.05rem; }
.w-404__actions { display: flex; gap: .75rem; justify-content: center; flex-wrap: wrap; margin-bottom: 2.5rem; }
.w-404__search { max-width: 460px; margin: 0 auto; }

.w-prose { color: var(--w-ink-2); font-size: 1.02rem; line-height: 1.75; }
.w-prose h1, .w-prose h2, .w-prose h3, .w-prose h4 { color: var(--w-ink); margin-top: 2rem; }
.w-prose h2 { font-size: 1.6rem; }
.w-prose h3 { font-size: 1.25rem; }
.w-prose a { color: var(--w-primary-dark); text-decoration: underline; text-underline-offset: 3px; }
.w-prose ul, .w-prose ol { padding-left: 1.25rem; margin: 0 0 1.25rem; }
.w-prose li { margin-bottom: .35rem; }
.w-prose blockquote {
	border-left: 3px solid var(--w-primary);
	padding: .25rem 0 .25rem 1.25rem;
	color: var(--w-ink);
	font-style: italic;
	margin: 1.5rem 0;
}
.w-prose code { background: var(--w-surface); padding: .15rem .35rem; border-radius: 6px; font-size: .9em; }
.w-prose pre { background: var(--w-surface-2); padding: 1.25rem; border-radius: var(--w-radius); overflow-x: auto; }
.w-prose img { border-radius: var(--w-radius); margin: 1rem 0; }

.w-notice { padding: 1rem 1.25rem; border-radius: var(--w-radius); border: 1px solid var(--w-border); background: var(--w-surface); }
.w-notice--warn { background: rgba(245,158,11,.08); border-color: rgba(245,158,11,.3); color: #92400e; }
.w-notice--success { background: rgba(16,185,129,.08); border-color: rgba(16,185,129,.3); color: #047857; }

/* Post (single article) */
.w-post__hero { padding: 3rem 0 1.5rem; }
.w-post__title { font-size: clamp(2rem, 3.8vw, 2.8rem); margin: .5rem 0 1rem; }
.w-post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; color: var(--w-muted); font-size: .9rem; }
.w-post__meta img { width: 36px; height: 36px; border-radius: 50%; margin-right: .25rem; }
.w-post__media { margin: 0 auto 2rem; max-width: 1100px; }
.w-post__media img { width: 100%; height: auto; border-radius: var(--w-radius); }
.w-post__footer { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--w-border); }
.w-post__tags { display: flex; gap: .35rem; flex-wrap: wrap; }

.w-search-form { display: flex; gap: .5rem; }
.w-search-form__input { flex: 1; }
.w-search-form__btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 46px; height: 46px;
	background: var(--w-primary); color: #0a1a02;
	border: 0; border-radius: var(--w-radius-sm);
}
.w-search-form-wrap { max-width: 600px; margin: 0 auto 3rem; }

/* -------------------------------------------------------------------------
  17. RESPONSIVE
   ------------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.w-layout-with-sidebar { grid-template-columns: 1fr; }
	.w-jobs-archive__layout { grid-template-columns: 1fr; }
	.w-jobs-archive__sidebar { position: static; }
	.w-single-job__grid { grid-template-columns: 1fr; padding: 2rem 0; }
	/* On mobile, push the Job overview + Company card AFTER the role
	   description rather than before it. The hero already gives the
	   user the key headline + apply CTA; the body content is what
	   they came for. */
	.w-single-job__aside { position: static; order: 1; }
	.w-single-job__main { order: 0; }
	.w-featured-grid, .w-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.w-footer__grid { grid-template-columns: 1fr 1fr 1fr; }
	.w-footer__col--about { grid-column: 1 / -1; max-width: 100%; }
	.w-footer-cta__card { grid-template-columns: 1fr; padding: 2rem; }
	.w-footer-cta__card > div { min-width: 0; }
	.w-automation__card { grid-template-columns: 1fr; padding: 2rem; }
}

/* Prevent menu items from wrapping mid-link (e.g. "All Remote Jobs"
   breaking onto three lines as the screen narrows). */
.w-nav__link,
.w-nav__list > li > a { white-space: nowrap; }

/* Header items: between ~900-1180px the desktop nav stays visible but
   nav links + 4 action icons + Post-a-Job CTA all compete for the same
   row width, causing the menu items to wrap and the layout to feel
   crammed. We stage the breakpoints:
     - 1180px → hide social icons (Telegram / X) — they're decorative
     - 1024px → switch to burger menu (was 900) for proper breathing room
*/
@media (max-width: 1180px) {
	.w-header__social { display: none; }
}
@media (max-width: 1024px) {
	.w-nav--desktop { display: none; }
	.w-header__burger { display: inline-flex; }
}

@media (max-width: 900px) {
	.w-header__search-trigger { display: none; }
	.w-header__cta { display: none; }
	form.w-search-bar,
	.w-search-bar {
		grid-template-columns: 1fr;
		grid-template-areas:
			"keywords"
			"region"
			"category"
			"submit";
	}
	.w-search-bar__field + .w-search-bar__field { border-left: 0; border-top: 1px solid var(--w-border); }
	.w-search-bar__submit { width: 100%; }
	.w-single-job__hero-inner { grid-template-columns: 1fr; }
	.w-single-job__cta { flex-direction: row; flex-wrap: wrap; align-items: center; }
	.w-section-head { flex-direction: column; align-items: flex-start; }
	.w-company-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.w-resume-list { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
	.w-job-card { grid-template-columns: 48px 1fr; }
	.w-job-card__logo { width: 48px; height: 48px; }
	.w-job-card__side { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; min-width: 0; }
	.w-job-card__title { font-size: 1rem; }
	.w-featured-grid, .w-post-grid { grid-template-columns: 1fr; }
	.w-footer__grid { grid-template-columns: 1fr 1fr; }
	.w-hero__stats { grid-template-columns: 1fr 1fr; }
	.w-resume-hero__inner { grid-template-columns: 64px 1fr; }
	.w-resume-hero__cta { grid-column: 1 / -1; align-items: stretch; }
	.w-resume-hero__cta .w-btn { justify-content: center; }
	.w-resume-hero__avatar { width: 64px; height: 64px; font-size: 1.6rem; }
	.w-timeline__item { grid-template-columns: 1fr; gap: .25rem; }
	.w-timeline__date { padding-top: 0; }
	.w-single-job__brand { flex-direction: column; align-items: flex-start; gap: 1rem; }
	.w-form-page__card { padding: 1.5rem; }
}

@media (max-width: 480px) {
	.w-footer__grid { grid-template-columns: 1fr; }
	.w-hero { padding: 3rem 0; }
	.w-hero__actions .w-btn { flex: 1; }
}

/* Account panel — collapse the sidebar into a toggle on tablet/mobile. */
@media (max-width: 980px) {
	.w-account__layout { grid-template-columns: 1fr; }
	.w-account__sidebar { position: static; display: none; }
	.w-account__sidebar.is-open { display: block; margin-bottom: 1.25rem; animation: w-header-search-in .2s ease; }
	.w-account__menu-toggle { display: inline-flex; }
	.w-account-nav { display: flex; flex-wrap: wrap; gap: .25rem; }
	.w-account-nav__heading { flex-basis: 100%; }
	.w-account-nav__list { flex-direction: row; flex-wrap: wrap; }
	.w-account-nav__logout { width: 100%; }
}
@media (max-width: 760px) {
	.w-account-quick__grid { grid-template-columns: 1fr; }
	.w-account-form__row { grid-template-columns: 1fr; gap: 0; }
	.w-account-nav { display: block; }
	.w-account-nav__list { flex-direction: column; }
	/* Let wide WPJM dashboard tables scroll instead of breaking the card. */
	.w-account-screen--wpjm .w-account-screen__body { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.w-account-screen { padding: 1.25rem; }
}

/* --------------------------------------------------------------------------
   Mobile polish — narrow-viewport adjustments scoped to <900px
   ------------------------------------------------------------------------ */
@media (max-width: 900px) {
	/* Tighten header container padding and make the burger button hug
	   the right edge cleanly. The desktop nav/socials/search are hidden,
	   so the inner flex collapses to brand → burger → theme → CTA. */
	.w-container { padding: 0 1.1rem; }
	.w-header__inner { gap: .5rem; }
	/* The brand fills its natural width, then the action cluster
	   (burger + theme + Post a Job) rides margin-left:auto flush right. */
	.w-header__burger { margin-left: 0; }

	/* Wordmark a touch smaller next to the logo on phones so the brand
	   block doesn't crowd the burger. */
	.w-brand__name { font-size: 1.2rem; }

	/* Pricing plan — head + features stack vertically; padding tightens. */
	.w-pricing-plan__head { padding: 2rem 1.25rem; }
	.w-pricing-features { padding: 1.5rem 1.25rem; grid-template-columns: 1fr; }
	.w-pricing-plan__amount { font-size: 3.5rem; }
	.w-pricing-plan__cta { width: 100%; }

	/* Single-job hero — drop the side-by-side brand + apply CTA to a
	   single column so the title and the meta row don't get squeezed. */
	.w-single-job__hero { padding: 2rem 0; }
	.w-single-job__hero-inner { grid-template-columns: 1fr; gap: 1.5rem; }
	.w-single-job__cta { flex-direction: row; align-items: center; flex-wrap: wrap; }
	.w-single-job__cta .w-btn { flex: 1 1 auto; }

	/* Featured cards — already 1-col at 700px via earlier rule; tighten
	   the cover height on smaller phones so the card isn't dominated by
	   the image. */
	.w-featured-card { min-height: 0; }

	/* About / pricing trust grids → 1 column on phones */
	.w-about-stats dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.w-about-pillars__grid { grid-template-columns: 1fr; }

	/* FAQ accordions — full width, tighter padding */
	.w-faq__question { padding: 1rem 1.25rem; font-size: 1rem; }
	.w-faq__answer { padding: 1rem 1.25rem 1.25rem; }

	/* Hero CTAs stack full-width below 480 already; below 600 too. */
	.w-hero__actions { flex-direction: column; align-items: stretch; }
	.w-hero__actions .w-btn { width: 100%; justify-content: center; }
	.w-hero__chips { justify-content: flex-start; }

	/* Final dark CTA strip — stack the heading + button */
	.w-pricing-final-cta__card { grid-template-columns: 1fr; padding: 1.75rem; }
	.w-pricing-final-cta__card .w-btn { justify-self: stretch; width: 100%; }

	/* Hire CTA banner — drop the "It takes less than 5 min" subtitle on
	   phones (the secondary button gets too wide otherwise), tighten
	   card padding, full-width buttons, and shrink the wrapper padding
	   so the banner doesn't sit in an ocean of whitespace. */
	.w-footer-cta { padding: .5rem 0; }
	.w-footer-cta__card {
		padding: 1.5rem 1.25rem;
		gap: 1.25rem;
		border-radius: var(--w-radius);
	}
	/* Suppress the top-right radial glow on phones — at narrow widths
	   it covers ~50% of the card and creates a visible "left dark /
	   right tinted" split instead of an ambient highlight. */
	.w-footer-cta__card::before { display: none; }
	.w-footer-cta__card > div { min-width: 0; max-width: 100%; }
	.w-footer-cta__title { font-size: 1.35rem; }
	.w-footer-cta__subtitle { font-size: .95rem; }
	.w-footer-cta__actions { width: 100%; }
	.w-footer-cta__actions .w-btn {
		width: 100%;
		justify-content: center;
	}
	.w-btn .w-btn__sub { display: none; }
	.w-home-section.w-home-cta { padding: .5rem 0; }
	.w-pricing-final-cta { padding: 0 0 3rem; }
	.w-pricing-final-cta__card::before { display: none; }

	/* Hero stats wrap 2x2 already; tighten gap so it doesn't break early. */
	.w-hero__stats { grid-template-columns: 1fr 1fr; gap: 1.25rem; }
	.w-hero__stats dt { font-size: 1.8rem; }

	/* Form previews — column stack instead of side-by-side */
	.w-jm-preview-head { grid-template-columns: 1fr; padding: 1.25rem; }
	.w-jm-preview-head__actions { flex-direction: row; flex-wrap: wrap; }
	.w-jm-preview-head__actions .w-btn { flex: 1 1 140px; }
	.w-jm-preview-foot { flex-direction: column-reverse; align-items: stretch; padding: 1.25rem; }
	.w-jm-preview-foot .w-btn { width: 100%; justify-content: center; }
	.w-jm-preview-card { padding: .75rem 1rem 1.5rem; }
}

/* Phones < 480 — extra tightening */
@media (max-width: 480px) {
	.w-container { padding: 0 1rem; }
	.w-brand__name { display: none; } /* logo alone on smallest phones */

	/* Pricing summary big number */
	.w-pricing-plan__amount { font-size: 3rem; }

	/* Pricing trust cards & about stats become 1 column */
	.w-about-stats dl { grid-template-columns: 1fr; }
	.w-pricing-trust__grid { grid-template-columns: 1fr; }

	/* Page header titles dial down further */
	.w-page-header { padding: 1.5rem 0 1rem; }
	.w-page-header__title { font-size: 1.6rem; }

	/* Search hero (search results page) */
	.w-search-hero__form { grid-template-columns: 1fr; padding: .75rem; border-radius: var(--w-radius); }
	.w-search-hero__form .w-btn { width: 100%; }
}

/* =========================================================================
   CANDIDATE CONTACT MODAL — message a candidate without exposing their email.
   ========================================================================= */
.w-contact-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 1.25rem; }
.w-contact-modal[hidden] { display: none; }
.w-contact-modal__backdrop {
	position: absolute; inset: 0;
	background: rgba(15, 23, 42, .55);
	backdrop-filter: blur(2px); -webkit-backdrop-filter: blur(2px);
}
.w-contact-modal__panel {
	position: relative; z-index: 1;
	width: 100%; max-width: 480px;
	max-height: calc(100vh - 2.5rem); overflow-y: auto;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: var(--w-radius-lg);
	box-shadow: var(--w-shadow-lg);
	padding: 1.75rem;
	animation: w-header-search-in .2s ease;
}
.w-contact-modal__close {
	position: absolute; top: .9rem; right: .9rem;
	width: 34px; height: 34px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%; border: 1px solid var(--w-border);
	background: var(--w-bg); color: var(--w-muted); cursor: pointer;
}
.w-contact-modal__close:hover { background: var(--w-surface); color: var(--w-ink); }
.w-contact-modal__close svg { width: 16px; height: 16px; }
.w-contact-modal__title { margin: 0 2rem .35rem 0; font-size: 1.3rem; }
.w-contact-modal__sub { margin: 0 0 1.25rem; color: var(--w-muted); font-size: .92rem; }
.w-contact-form textarea { width: 100%; min-height: 120px; }
.w-contact-form__foot { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: .25rem; }
.w-contact-form__status { margin: 0; font-size: .88rem; font-weight: 600; }
.w-contact-form__status.is-error { color: #dc2626; }
.w-contact-form__status.is-success { color: var(--w-primary-dark); }
.w-contact-form.is-sending .w-contact-form__submit { opacity: .6; pointer-events: none; }
.w-contact-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 520px) { .w-contact-modal__panel { padding: 1.4rem 1.1rem; } }

/* =========================================================================
   PRINT — render the candidate profile as a clean, ATS-friendly resume.
   Triggered by the "Download PDF" button (window.print → Save as PDF).
   ========================================================================= */
.w-print-only { display: none; }

@media print {
	/* Strip everything that isn't the resume document. */
	#w-masthead, .w-header, #w-colophon, .w-footer, .w-footer-cta,
	.w-breadcrumbs, .w-sticky-apply, .w-related-jobs, .w-skip-link,
	.w-mobile-nav, .w-header-search,
	.w-resume-hero__cta, .w-resume-aside__contact,
	.w-resume-hero__avatar, .w-resume-hero .w-eyebrow,
	.w-resume-links .w-icon, .w-resume-hero__meta .w-icon { display: none !important; }

	html, body { background: #fff !important; color: #111 !important; font-size: 11.5pt; }
	#w-page, .w-site, .w-main, .w-single-resume { margin: 0 !important; padding: 0 !important; }
	.w-container { max-width: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
	a { color: #111 !important; text-decoration: none !important; }

	@page { margin: 1.4cm; }

	/* Hero → document header */
	.w-resume-hero {
		background: none !important;
		border: 0 !important;
		border-bottom: 2px solid #111 !important;
		padding: 0 0 .35cm !important;
		margin: 0 0 .5cm !important;
	}
	.w-resume-hero__inner { display: block !important; }
	.w-resume-hero__name { font-size: 21pt !important; margin: 0 0 1pt !important; color: #111 !important; }
	.w-resume-hero__title { font-size: 12.5pt !important; color: #333 !important; margin: 0 0 3pt !important; }
	.w-resume-hero__meta { color: #444 !important; font-size: 10pt; margin: 0; }
	.w-print-only { display: block !important; }
	.w-resume-hero__contact-print { color: #444 !important; font-size: 10pt; margin: 2pt 0 0; }

	/* Single-column document body */
	.w-single-job__grid { display: block !important; }
	.w-single-job__main, .w-single-job__aside { width: auto !important; max-width: none !important; min-width: 0 !important; }
	.w-single-job__aside { margin-top: .4cm !important; position: static !important; }
	.w-card, .w-resume-aside { border: 0 !important; box-shadow: none !important; background: none !important; padding: 0 !important; }

	.w-section-title, .w-resume-aside__heading {
		font-size: 12.5pt !important;
		border-bottom: 1px solid #ccc;
		padding-bottom: 3pt;
		margin: .45cm 0 .25cm !important;
		page-break-after: avoid;
	}

	/* Timeline → flat, ink-on-white, never split a role across pages */
	.w-timeline { gap: .35cm !important; }
	.w-timeline__item { grid-template-columns: 3.4cm 1fr !important; gap: .35cm !important; page-break-inside: avoid; }
	.w-timeline__body { border-left: 0 !important; padding-left: 0 !important; }
	.w-timeline__body::before { display: none !important; }
	.w-timeline__date { color: #555 !important; }
	.w-timeline__title { font-size: 11.5pt !important; }

	/* Skills → outlined chips (no fill, prints clean) */
	.w-resume-aside__dl { display: block !important; }
	.w-resume-aside__dl > div { display: inline-block; margin: 0 1.2cm .15cm 0; }
	.w-resume-aside__block { border-top: 0 !important; padding-top: 0 !important; margin-top: .35cm !important; }
	.w-skills li { background: none !important; color: #111 !important; border: 1px solid #999 !important; }
	.w-resume-links a { color: #111 !important; }

	section, .w-single-job__section, .w-resume-aside__block { page-break-inside: avoid; }
}

/* --------------------------------------------------------------------------
   Account → AI Career Assistant embed
   --------------------------------------------------------------------------
   The chat shortcode normally full-bleeds via `width: 100vw` + negative
   margins so it fills the viewport on its own page. Inside the account
   panel that escape would break the layout — these overrides keep the
   chat contained in the right column and sized for the embedded context.
   -------------------------------------------------------------------------- */
.w-account-ai-embed {
	border-radius: var(--w-radius-lg, 16px);
	overflow: hidden;
	border: 1px solid var(--w-border);
	background: var(--w-bg);
}

/* Override the plugin's full-bleed at every breakpoint — chat stays inside
   its panel column. Also clamp the height so the page itself doesn't
   become a 90vh chat embed; the chat scrolls internally. */
.w-account-ai-embed .wai-chat {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	min-height: 540px !important;
	max-height: calc(100vh - 200px) !important;
	border-radius: 0 !important;
}

/* --------------------------------------------------------------------------
   Manage Jobs (WPJM job-dashboard.php override)
   -------------------------------------------------------------------------- */
.w-manage-jobs { display: flex; flex-direction: column; gap: 1.5rem; }

/* --- Header --- */
.w-manage-jobs__head {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 1rem;
}
.w-manage-jobs__title { margin: 0 0 .25rem; font-size: 1.5rem; font-weight: 800; color: var(--w-ink); }
.w-manage-jobs__sub   { margin: 0; color: var(--w-muted); font-size: .95rem; }

/* --- Stats strip --- */
.w-manage-jobs__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: .85rem;
}
.w-mj-stat {
	background: var(--w-bg-elev);
	border: 1px solid var(--w-border);
	border-radius: 12px;
	padding: .9rem 1.1rem;
	display: flex; flex-direction: column;
}
.w-mj-stat__label { font-size: .7rem; font-weight: 700; color: var(--w-muted); text-transform: uppercase; letter-spacing: .06em; }
.w-mj-stat__value { font-size: 1.55rem; font-weight: 800; color: var(--w-ink); line-height: 1.1; margin-top: .25rem; }
.w-mj-stat__sub   { font-size: .75rem; color: var(--w-muted); margin-top: 2px; }

/* --- Toolbar (filters + post-job CTA) --- */
.w-manage-jobs__toolbar {
	display: flex; align-items: center; justify-content: space-between;
	gap: 1rem; flex-wrap: wrap;
	border-bottom: 1px solid var(--w-border);
	padding-bottom: .5rem;
}
.w-manage-jobs__filters {
	display: flex; flex-wrap: wrap; gap: .35rem;
}
.w-mj-filter {
	font-size: .87rem;
	font-weight: 600;
	color: var(--w-ink-2);
	padding: .45rem .85rem;
	border-radius: 8px;
	text-decoration: none !important;
	transition: background .15s ease, color .15s ease;
}
.w-mj-filter:hover { background: var(--w-bg-elev); color: var(--w-ink); }
.w-mj-filter.is-active { background: var(--w-primary-soft); color: var(--w-primary-strong, var(--w-primary)); }

/* --- Empty state --- */
.w-manage-jobs__empty {
	background: var(--w-bg-elev);
	border: 1px dashed var(--w-border-strong);
	border-radius: 14px;
	padding: 2.5rem 1.5rem;
	text-align: center;
	color: var(--w-ink-2);
}
.w-manage-jobs__empty p { margin: 0 0 .75rem; }

/* --- Card list --- */
.w-manage-jobs__list { display: flex; flex-direction: column; gap: .75rem; }

.w-mj-card {
	display: grid;
	grid-template-columns: 64px 1fr auto;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.15rem;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: 14px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.w-mj-card:hover { border-color: var(--w-border-strong); box-shadow: 0 4px 18px -6px rgba(15,23,42,.08); }
.w-mj-card[data-status="filled"]   { border-left: 3px solid #6366F1; }
.w-mj-card[data-status="expired"]  { opacity: .85; }
.w-mj-card[data-status="pending"]  { background: linear-gradient(180deg, #FFFBEB 0%, var(--w-bg) 100%); }

@media (max-width: 720px) {
	.w-mj-card { grid-template-columns: 48px 1fr; }
	.w-mj-card__actions { grid-column: 1 / -1; justify-content: flex-end; padding-top: .25rem; }
}

.w-mj-card__logo {
	width: 56px; height: 56px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--w-bg-elev);
	border: 1px solid var(--w-border);
	display: inline-flex; align-items: center; justify-content: center;
}
.w-mj-card__logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.w-mj-card__logo .w-brand__mark, .w-mj-card__logo .w-initial { font-weight: 800; color: var(--w-ink); font-size: 1.1rem; }

.w-mj-card__main { min-width: 0; display: flex; flex-direction: column; gap: .35rem; }

.w-mj-card__title-row {
	display: flex; align-items: center; flex-wrap: wrap; gap: .5rem;
}
.w-mj-card__title {
	margin: 0; font-size: 1.05rem; font-weight: 700;
	color: var(--w-ink); line-height: 1.25;
	overflow: hidden; text-overflow: ellipsis;
}
.w-mj-card__title a { color: inherit; }
.w-mj-card__title a:hover { color: var(--w-primary-strong, var(--w-primary)); }

/* --- Pills --- */
.w-mj-pill {
	display: inline-flex; align-items: center;
	font-size: .68rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .04em;
	padding: 3px 8px; border-radius: 999px;
	line-height: 1.3;
	white-space: nowrap;
}
.w-mj-pill--active   { background: #DCFCE7; color: #166534; }
.w-mj-pill--pending  { background: #FEF3C7; color: #92400E; }
.w-mj-pill--filled   { background: #E0E7FF; color: #4338CA; }
.w-mj-pill--expired  { background: #F1F5F9; color: #64748B; }
.w-mj-pill--draft    { background: #F1F5F9; color: #64748B; }
.w-mj-pill--featured { background: #FDF4FF; color: #86198F; }
.w-mj-pill--paid     { background: #ECFDF5; color: #047857; }

.w-mj-card__meta {
	display: flex; flex-wrap: wrap; gap: .85rem;
	font-size: .82rem; color: var(--w-muted);
}
.w-mj-card__expires.is-warn { color: #B45309; font-weight: 600; }
.w-mj-card__expires.is-bad  { color: #B91C1C; font-weight: 600; }

.w-mj-card__metrics {
	display: flex; flex-wrap: wrap; gap: 1.1rem;
	font-size: .85rem; color: var(--w-ink-2);
}
.w-mj-metric { display: inline-flex; align-items: baseline; gap: .25rem; }
.w-mj-metric strong { font-size: .95rem; font-weight: 700; color: var(--w-ink); }

/* --- Actions + dropdown --- */
.w-mj-card__actions { display: inline-flex; align-items: center; gap: .35rem; position: relative; }

.w-mj-menu { position: relative; }
.w-mj-menu summary { list-style: none; cursor: pointer; }
.w-mj-menu summary::-webkit-details-marker { display: none; }
.w-mj-menu__btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 34px; height: 34px;
	border-radius: 8px;
	color: var(--w-ink-2);
	background: transparent;
	border: 1px solid transparent;
	transition: background .15s ease, border-color .15s ease;
}
.w-mj-menu[open] .w-mj-menu__btn,
.w-mj-menu__btn:hover { background: var(--w-bg-elev); border-color: var(--w-border); color: var(--w-ink); }

.w-mj-menu__list {
	position: absolute; right: 0; top: calc(100% + 6px);
	min-width: 180px;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: 12px;
	box-shadow: 0 14px 32px -8px rgba(15,23,42,.14);
	padding: .35rem;
	list-style: none;
	margin: 0;
	z-index: 30;
}
.w-mj-menu__item {
	display: block;
	padding: .55rem .75rem;
	font-size: .9rem;
	color: var(--w-ink);
	text-decoration: none !important;
	border-radius: 8px;
}
.w-mj-menu__item:hover { background: var(--w-bg-elev); }
.w-mj-menu__item--delete { color: #B91C1C; }
.w-mj-menu__item--delete:hover { background: #FEF2F2; }

/* Pagination */
.w-manage-jobs__pagination {
	display: flex; flex-wrap: wrap; gap: .35rem;
	margin-top: 1rem;
}
.w-manage-jobs__pagination .pagination,
.w-manage-jobs__pagination .job-manager-pagination { display: flex; gap: .35rem; flex-wrap: wrap; }
.w-manage-jobs__pagination a,
.w-manage-jobs__pagination > span,
.w-manage-jobs__pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 36px; height: 36px;
	padding: 0 .65rem;
	border: 1px solid var(--w-border); border-radius: 8px;
	color: var(--w-ink-2); text-decoration: none !important;
	font-size: .85rem; font-weight: 600;
	background: var(--w-bg);
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.w-manage-jobs__pagination a:hover,
.w-manage-jobs__pagination .page-numbers:hover {
	border-color: var(--w-primary);
	color: var(--w-primary-strong, var(--w-primary));
}
.w-manage-jobs__pagination .current,
.w-manage-jobs__pagination .page-numbers.current {
	background: var(--w-primary-soft);
	border-color: var(--w-primary);
	color: var(--w-primary-strong, var(--w-primary));
}
.w-manage-jobs__pagination .page-numbers.dots {
	border: 0; background: transparent; color: var(--w-muted);
}
.w-manage-jobs__page-info {
	margin: .35rem 0 0;
	color: var(--w-muted);
	font-size: .8rem;
	flex-basis: 100%;
}

/* =========================================================================
   APPLY-BY-EMAIL MODAL
   Opens from the "Apply for this job" button on email-based listings.
   ========================================================================= */

.w-apply-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.w-apply-modal[hidden] { display: none; }
.w-apply-modal__backdrop {
	position: absolute; inset: 0;
	background: rgba(15, 23, 42, .6);
	backdrop-filter: blur(4px);
	animation: w-apply-fade .15s ease;
}
.w-apply-modal__dialog {
	position: relative;
	width: min(640px, 100%);
	max-height: calc(100dvh - 2rem);
	overflow-y: auto;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: 16px;
	box-shadow: 0 24px 64px -12px rgba(15, 23, 42, .3);
	padding: 1.5rem 1.75rem 1.75rem;
	animation: w-apply-pop .2s cubic-bezier(.16, 1, .3, 1);
}
.w-apply-modal__close {
	position: absolute; top: .6rem; right: .85rem;
	width: 36px; height: 36px;
	display: inline-flex; align-items: center; justify-content: center;
	background: transparent; border: 0;
	color: var(--w-ink-2);
	font-size: 1.6rem; line-height: 1;
	cursor: pointer;
	border-radius: 999px;
	transition: background .15s ease;
}
.w-apply-modal__close:hover { background: var(--w-bg-elev, #F1F5F9); color: var(--w-ink); }
.w-apply-modal__title { margin: 0 0 .25rem; font-size: 1.45rem; font-weight: 800; color: var(--w-ink); line-height: 1.2; }
.w-apply-modal__subtitle { margin: 0 0 1.25rem; color: var(--w-muted); font-size: .92rem; }
.w-apply-modal__form { display: flex; flex-direction: column; gap: 1rem; }
.w-apply-modal__row { display: flex; flex-direction: column; gap: .35rem; }
/* Name + email share a row on wider screens, stack on narrow. */
.w-apply-modal__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 540px) {
	.w-apply-modal__grid { grid-template-columns: 1fr; }
}
.w-apply-modal__label { font-weight: 600; font-size: .9rem; color: var(--w-ink); }
.w-apply-modal__label .w-req { color: #DC2626; font-weight: 700; }
.w-apply-modal__label .w-opt { color: var(--w-muted); font-weight: 500; font-size: .82rem; }
.w-apply-modal__hint { margin: .25rem 0 0; color: var(--w-muted); font-size: .8rem; }
.w-apply-modal__source { border: 0; padding: 0; display: flex; flex-direction: column; gap: .35rem; }
.w-apply-modal__radio {
	display: flex; align-items: center; gap: .5rem;
	padding: .55rem .75rem;
	background: var(--w-surface);
	border: 1px solid var(--w-border);
	border-radius: 10px;
	cursor: pointer;
	font-size: .92rem;
	transition: border-color .15s ease, background .15s ease;
}
.w-apply-modal__radio:hover { border-color: var(--w-border-strong); }
.w-apply-modal__radio input { width: auto; min-height: auto; margin: 0; }
.w-apply-modal__radio:has(input:checked) {
	border-color: var(--w-primary);
	background: var(--w-primary-soft);
}
.w-apply-modal__file { margin-top: .35rem; padding-left: 1.85rem; }
.w-apply-modal__file input[type="file"] { padding: .5rem; }
.w-apply-modal__actions {
	display: flex; align-items: center; gap: .65rem; flex-wrap: wrap;
	margin-top: .25rem;
}
.w-apply-modal__submit { flex: 1; min-width: 200px; }
.w-apply-modal__legal { margin: .5rem 0 0; color: var(--w-muted); font-size: .78rem; line-height: 1.45; }

/* Lock body scroll while the modal is open (added by JS). */
body.is-w-apply-open { overflow: hidden; }

@keyframes w-apply-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes w-apply-pop  { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }

/* --- Status banner (after redirect-back from form handler) --- */
.w-apply-banner {
	padding: .9rem 1.1rem;
	border-radius: 10px;
	margin: 0 0 1rem;
	font-size: .95rem;
	line-height: 1.5;
	border: 1px solid transparent;
}
.w-apply-banner--ok    { background: #DCFCE7; color: #166534; border-color: #BBF7D0; }
.w-apply-banner--error { background: #FEE2E2; color: #991B1B; border-color: #FECACA; }

/* --- Dark mode --- */
:root[data-theme="dark"] .w-apply-modal__radio { background: var(--w-surface); }
:root[data-theme="dark"] .w-apply-banner--ok    { background: rgba(34, 197, 94, .15); color: #BBF7D0; border-color: rgba(34, 197, 94, .35); }
:root[data-theme="dark"] .w-apply-banner--error { background: rgba(239, 68, 68, .15); color: #FECACA; border-color: rgba(239, 68, 68, .35); }
@media (prefers-color-scheme: dark) {
	:root[data-theme="auto"] .w-apply-modal__radio { background: var(--w-surface); }
	:root[data-theme="auto"] .w-apply-banner--ok    { background: rgba(34, 197, 94, .15); color: #BBF7D0; border-color: rgba(34, 197, 94, .35); }
	:root[data-theme="auto"] .w-apply-banner--error { background: rgba(239, 68, 68, .15); color: #FECACA; border-color: rgba(239, 68, 68, .35); }
}

/* Tighten the modal on small screens. */
@media (max-width: 540px) {
	.w-apply-modal__dialog { padding: 1.25rem 1.1rem 1.25rem; border-radius: 14px; }
	.w-apply-modal__title { font-size: 1.25rem; }
}

/* =========================================================================
   EMPLOYER APPLICATIONS SCREEN (account dashboard → Applications)
   ========================================================================= */
.w-account-screen__lead { color: var(--w-muted); margin: -.25rem 0 1.25rem; font-size: .95rem; }

.w-apps-stats { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.w-apps-stat {
	flex: 1; min-width: 150px;
	padding: .9rem 1.1rem;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: 12px;
}
.w-apps-stat__value { display: block; font-size: 1.6rem; font-weight: 800; line-height: 1.1; color: var(--w-ink); }
.w-apps-stat__label { display: block; margin-top: .2rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; font-weight: 600; color: var(--w-muted); }

.w-apps-filter { display: flex; align-items: center; gap: .6rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.w-apps-filter label { font-weight: 600; font-size: .9rem; color: var(--w-ink); }
.w-apps-filter .w-select { max-width: 320px; }

.w-apps-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .85rem; }
.w-apps-card {
	padding: 1.1rem 1.25rem;
	background: var(--w-bg);
	border: 1px solid var(--w-border);
	border-radius: 14px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.w-apps-card:hover { border-color: var(--w-border-strong); box-shadow: 0 4px 18px -6px rgba(15,23,42,.08); }
.w-apps-card.is-reviewed { opacity: .82; }
.w-apps-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.w-apps-card__name { margin: 0; font-size: 1.1rem; font-weight: 700; color: var(--w-ink); line-height: 1.25; }
.w-apps-card__meta { margin: .25rem 0 0; font-size: .85rem; color: var(--w-muted); }
.w-apps-card__meta a { color: var(--w-primary-dark, var(--w-primary)); font-weight: 600; }

.w-apps-pill {
	flex: 0 0 auto;
	font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
	padding: 3px 9px; border-radius: 999px; white-space: nowrap;
}
.w-apps-pill--new  { background: #DCFCE7; color: #166534; }
.w-apps-pill--done { background: #F1F5F9; color: #64748B; }

.w-apps-card__note {
	margin: .85rem 0 0;
	padding: .8rem 1rem;
	background: var(--w-surface);
	border: 1px solid var(--w-border);
	border-radius: 10px;
	font-size: .92rem;
	line-height: 1.55;
	color: var(--w-ink-2);
	white-space: pre-wrap;
	word-break: break-word;
}

.w-apps-card__actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: 1rem; }
.w-apps-card__actions .w-btn-sm { display: inline-flex; align-items: center; gap: .35rem; }
.w-apps-card__actions .w-icon { width: 15px; height: 15px; }
.w-apps-card__toggle { display: inline-flex; margin: 0; margin-left: auto; }

.w-apps-empty {
	padding: 2rem 1.5rem; text-align: center;
	background: var(--w-bg); border: 1px dashed var(--w-border); border-radius: 14px;
	color: var(--w-ink-2);
}
.w-apps-empty p { margin: 0 0 .75rem; }

.w-apps-pagination { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: 1.25rem; }
.w-apps-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 36px; height: 36px; padding: 0 .65rem;
	border: 1px solid var(--w-border); border-radius: 8px;
	color: var(--w-ink-2); text-decoration: none !important; font-size: .85rem; font-weight: 600;
	background: var(--w-bg);
}
.w-apps-pagination .page-numbers.current { background: var(--w-primary-soft); border-color: var(--w-primary); color: var(--w-primary-strong, var(--w-primary)); }
.w-apps-pagination a.page-numbers:hover { border-color: var(--w-primary); }

/* Dark mode pill tints */
:root[data-theme="dark"] .w-apps-pill--new  { background: rgba(34,197,94,.18); color: #BBF7D0; }
:root[data-theme="dark"] .w-apps-pill--done { background: rgba(148,163,184,.15); color: #CBD5E1; }
@media (prefers-color-scheme: dark) {
	:root[data-theme="auto"] .w-apps-pill--new  { background: rgba(34,197,94,.18); color: #BBF7D0; }
	:root[data-theme="auto"] .w-apps-pill--done { background: rgba(148,163,184,.15); color: #CBD5E1; }
}

@media (max-width: 540px) {
	.w-apps-card__toggle { margin-left: 0; }
}

.w-myapps-intro { color: var(--w-muted); margin: 0 0 1.25rem; font-size: .95rem; line-height: 1.55; }
.w-myapps-list .w-apps-card__name a { color: var(--w-ink); }
.w-myapps-list .w-apps-card__name a:hover { color: var(--w-primary-strong, var(--w-primary)); }

.w-apply-modal__row input[readonly] { background: var(--w-surface); color: var(--w-muted); cursor: not-allowed; }

.w-myapps-source { margin: .65rem 0 0; font-size: .85rem; color: var(--w-muted); }
.w-myapps-source__how { color: var(--w-ink-2); font-weight: 600; }
.w-myapps-source a { color: var(--w-primary-strong, var(--w-primary)); font-weight: 600; margin-left: .35rem; }
.w-myapps-note__label { display: block; text-transform: uppercase; letter-spacing: .05em; font-size: .7rem; font-weight: 700; color: var(--w-muted); margin-bottom: .3rem; }

/* My Applications — note box: compact, left-aligned, no stray whitespace height. */
.w-myapps-list .w-apps-card__note {
	margin-top: .75rem;
	padding: .7rem .9rem;
	text-align: left;
	white-space: normal;
}
.w-myapps-note__text { display: block; color: var(--w-ink-2); font-size: .92rem; line-height: 1.5; white-space: pre-wrap; word-break: break-word; }


/* === Application status pills (pipeline) === */
.w-apps-pill--review    { background: #FEF3C7; color: #92400E; }  /* Reviewing  */
.w-apps-pill--contacted { background: #E0F2FE; color: #075985; }  /* Contacted  */
.w-apps-pill--interview { background: #E0E7FF; color: #3730A3; }  /* Interviewed*/
.w-apps-pill--offer     { background: #CCFBF1; color: #115E59; }  /* Offer sent */
.w-apps-pill--hired     { background: #BBF7D0; color: #14532D; }  /* Hired      */

:root[data-theme="dark"] .w-apps-pill--review    { background: rgba(245,158,11,.18);  color: #FDE68A; }
:root[data-theme="dark"] .w-apps-pill--contacted { background: rgba(14,165,233,.18);  color: #BAE6FD; }
:root[data-theme="dark"] .w-apps-pill--interview { background: rgba(99,102,241,.20);  color: #C7D2FE; }
:root[data-theme="dark"] .w-apps-pill--offer     { background: rgba(20,184,166,.20);  color: #99F6E4; }
:root[data-theme="dark"] .w-apps-pill--hired      { background: rgba(34,197,94,.22);   color: #BBF7D0; }
@media (prefers-color-scheme: dark) {
	:root[data-theme="auto"] .w-apps-pill--review    { background: rgba(245,158,11,.18);  color: #FDE68A; }
	:root[data-theme="auto"] .w-apps-pill--contacted { background: rgba(14,165,233,.18);  color: #BAE6FD; }
	:root[data-theme="auto"] .w-apps-pill--interview { background: rgba(99,102,241,.20);  color: #C7D2FE; }
	:root[data-theme="auto"] .w-apps-pill--offer     { background: rgba(20,184,166,.20);  color: #99F6E4; }
	:root[data-theme="auto"] .w-apps-pill--hired     { background: rgba(34,197,94,.22);   color: #BBF7D0; }
}

/* Status <select> in the employer Applicants actions row */
.w-apps-card__statusform { margin: 0 0 0 auto; display: inline-flex; }
.w-apps-statusselect { min-height: 36px; padding: .35rem .75rem; font-size: .85rem; font-weight: 600; max-width: 180px; }
@media (max-width: 540px) { .w-apps-card__statusform { margin-left: 0; width: 100%; } .w-apps-statusselect { max-width: none; width: 100%; } }

.w-account-form__pending { margin: .5rem 0 0; padding: .6rem .8rem; font-size: .85rem; line-height: 1.5; color: #92400E; background: #FEF3C7; border: 1px solid #FDE68A; border-radius: 8px; }
:root[data-theme="dark"] .w-account-form__pending { color: #FDE68A; background: rgba(245,158,11,.14); border-color: rgba(245,158,11,.3); }
@media (prefers-color-scheme: dark) { :root[data-theme="auto"] .w-account-form__pending { color: #FDE68A; background: rgba(245,158,11,.14); border-color: rgba(245,158,11,.3); } }


/* =========================================================================
   Manage Resumes — polished dashboard
   The candidate dashboard is a raw WPJM Resume Manager table; we restyle it
   (scoped) into a cleaner, card-like row layout with real action buttons.
   ========================================================================= */
/* Lead text spacing */
.w-account-screen .resume-manager-resumes { border-collapse: separate; border-spacing: 0; width: 100%; }

/* Header: lighter, tighter */
.w-account-screen .resume-manager-resumes thead th {
	padding: .25rem .85rem .6rem;
	font-size: .68rem; letter-spacing: .07em;
}

/* Each row reads as a soft card */
.w-account-screen .resume-manager-resumes tbody tr {
	background: var(--w-bg);
}
.w-account-screen .resume-manager-resumes tbody td {
	padding: 1rem .85rem;
	border-bottom: 1px solid var(--w-border);
	vertical-align: top;
}
.w-account-screen .resume-manager-resumes tbody tr:hover td { background: var(--w-surface); }

/* Resume title — bigger, clickable */
.w-account-screen .resume-manager-resumes .resume-title > a:first-child,
.w-account-screen .resume-manager-resumes td.resume-title a {
	font-size: 1.02rem; font-weight: 700; color: var(--w-ink);
}
.w-account-screen .resume-manager-resumes td.resume-title a:hover { color: var(--w-primary-strong, var(--w-primary-dark)); }

/* Category as a subtle pill */
.w-account-screen .resume-manager-resumes td.category {
	color: var(--w-ink-2);
}

/* Empty location cell — show an em-dash so the column doesn't look broken */
.w-account-screen .resume-manager-resumes td.location:empty::before { content: "—"; color: var(--w-muted); }

/* --- Action buttons (Edit / Hide / Delete) --- */
.w-account-screen .resume-manager-resumes .candidate-dashboard-actions {
	gap: .4rem;
	margin-top: .65rem;
}
.w-account-screen .resume-manager-resumes .candidate-dashboard-actions a {
	display: inline-flex; align-items: center;
	margin: 0;
	padding: .34rem .8rem;
	border: 1px solid var(--w-border);
	border-radius: 8px;
	background: var(--w-bg);
	color: var(--w-ink-2);
	font-size: .8rem; font-weight: 600;
	text-decoration: none !important;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.w-account-screen .resume-manager-resumes .candidate-dashboard-actions a:hover {
	border-color: var(--w-primary);
	background: var(--w-primary-soft);
	color: var(--w-primary-strong, var(--w-primary-dark));
}
.w-account-screen .resume-manager-resumes .candidate-dashboard-actions a.delete {
	color: #B91C1C; border-color: var(--w-border);
}
.w-account-screen .resume-manager-resumes .candidate-dashboard-actions a.delete:hover {
	color: #B91C1C; border-color: #FECACA; background: #FEF2F2;
}
/* Hide any stray chevron/arrow glyph the plugin appends after action links */
.w-account-screen .resume-manager-resumes .candidate-dashboard-actions a br { display: none; }

/* Dark-mode delete button */
:root[data-theme="dark"] .w-account-screen .resume-manager-resumes .candidate-dashboard-actions a.delete { color: #FCA5A5; }
:root[data-theme="dark"] .w-account-screen .resume-manager-resumes .candidate-dashboard-actions a.delete:hover { background: rgba(239,68,68,.14); border-color: rgba(239,68,68,.4); color: #FCA5A5; }
@media (prefers-color-scheme: dark) {
	:root[data-theme="auto"] .w-account-screen .resume-manager-resumes .candidate-dashboard-actions a.delete { color: #FCA5A5; }
	:root[data-theme="auto"] .w-account-screen .resume-manager-resumes .candidate-dashboard-actions a.delete:hover { background: rgba(239,68,68,.14); border-color: rgba(239,68,68,.4); color: #FCA5A5; }
}

/* --- Responsive: stack into cards on small screens --- */
@media (max-width: 720px) {
	.w-account-screen .resume-manager-resumes,
	.w-account-screen .resume-manager-resumes tbody,
	.w-account-screen .resume-manager-resumes tbody tr,
	.w-account-screen .resume-manager-resumes tbody td { display: block; width: 100%; }
	.w-account-screen .resume-manager-resumes thead { display: none; }
	.w-account-screen .resume-manager-resumes tbody tr {
		border: 1px solid var(--w-border);
		border-radius: 12px;
		margin-bottom: .85rem;
		padding: .35rem .25rem;
	}
	.w-account-screen .resume-manager-resumes tbody td { border-bottom: 0; padding: .35rem .85rem; }
	.w-account-screen .resume-manager-resumes tbody td.title::before  { content: "Title"; }
	.w-account-screen .resume-manager-resumes tbody td.category::before { content: "Category"; }
	.w-account-screen .resume-manager-resumes tbody td.date::before { content: "Posted"; }
	.w-account-screen .resume-manager-resumes tbody td.title::before,
	.w-account-screen .resume-manager-resumes tbody td.category::before,
	.w-account-screen .resume-manager-resumes tbody td.date::before {
		display: block; font-size: .66rem; text-transform: uppercase; letter-spacing: .06em;
		color: var(--w-muted); font-weight: 700; margin-bottom: .15rem;
	}
}

/* Report-this-job flag icon */
.w-single-job__share [data-w-report-open]:hover { color: #B45309; border-color: #FCD34D; }
:root[data-theme="dark"] .w-single-job__share [data-w-report-open]:hover { color: #FBBF24; border-color: rgba(251,191,36,.5); }

.w-opt, .w-contact-form .w-opt { color: var(--w-muted); font-weight: 500; font-size: .82rem; }
.w-contact-form .w-select { min-height: 46px; }


/* === Manage Resumes — editable profile URL === */
.w-resume-slug { margin-top: .6rem; }
.w-resume-slug__toggle {
	display: inline-flex; align-items: center; gap: .3rem;
	font-size: .82rem; font-weight: 600; color: var(--w-primary-strong, var(--w-primary-dark));
	cursor: pointer; list-style: none; width: max-content;
}
.w-resume-slug__toggle::-webkit-details-marker { display: none; }
.w-resume-slug__toggle::before { content: "✎"; font-size: .9em; }
.w-resume-slug__form { margin-top: .55rem; }
.w-resume-slug__row {
	display: flex; align-items: stretch; flex-wrap: wrap; gap: .4rem;
	max-width: 520px;
}
.w-resume-slug__prefix {
	display: inline-flex; align-items: center;
	padding: 0 .55rem; max-width: 200px;
	background: var(--w-surface); border: 1px solid var(--w-border); border-right: 0;
	border-radius: 8px 0 0 8px;
	color: var(--w-muted); font-size: .82rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.w-resume-slug__input {
	flex: 1 1 120px; min-width: 0;
	min-height: 38px; padding: .4rem .65rem;
	border-radius: 0 8px 8px 0 !important;
	font-size: .9rem;
}
.w-resume-slug__row .w-btn { flex: 0 0 auto; }
.w-resume-slug__hint { margin: .45rem 0 0; font-size: .78rem; color: var(--w-muted); line-height: 1.5; }
@media (max-width: 540px) {
	.w-resume-slug__prefix { border-right: 1px solid var(--w-border); border-radius: 8px; max-width: none; flex-basis: 100%; }
	.w-resume-slug__input { border-radius: 8px !important; flex-basis: 100%; }
}

/* Contact modal reuses the apply-modal shell — neutralize the standalone
   contact-page card padding so it doesn't double up inside the dialog. */
.w-apply-modal .w-contact-form { padding: 0; background: none; border: 0; box-shadow: none; }
.w-apply-modal .w-contact-form__status { margin: .5rem 0 0; }


/* Resume card — slug edit panel (revealed from the ⋯ menu) */
.w-mj-card__slug {
	grid-column: 1 / -1;
	margin-top: .9rem;
	padding-top: .9rem;
	border-top: 1px solid var(--w-border);
}
.w-resume-slug__heading { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; color: var(--w-muted); margin-bottom: .45rem; }
/* menu item rendered as a <button> needs the link reset */
button.w-mj-menu__item { width: 100%; text-align: left; background: transparent; border: 0; cursor: pointer; font: inherit; }

/* Resume profile — share button (anchors the share popover) */
.w-resume-hero__share { position: relative; display: inline-flex; align-items: center; }
.w-resume-hero__cta { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }

/* Resume profile — icon action row (download / share / report) */
.w-resume-hero__icons { display: inline-flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.w-resume-hero__icons .w-resume-hero__share { display: inline-flex; }
.w-resume-hero__icons [data-w-report-open]:hover { color: #B45309; border-color: #FCD34D; }
:root[data-theme="dark"] .w-resume-hero__icons [data-w-report-open]:hover { color: #FBBF24; border-color: rgba(251,191,36,.5); }
