/* Shared visual system from the supplied homepage.
 * The homepage retains its exact source; these styles adapt the existing
 * public pages and workspaces without changing their layout or actions. */
:root {
  --prs-navy-deep: #071426;
  --prs-navy: #0B1E36;
  --prs-blue: #1A6FB0;
  --prs-blue-light: #F0F6FC;
  --prs-orange: #FF6B35;
  --prs-orange-dark: #E8590C;
  --prs-text-primary: #0B1E36;
  --prs-text-muted: #5A6E85;
  --prs-surface-light: #F8FAFC;
  --prs-surface-subtle: #F1F5F9;
  --border-clinical: #E2E8F0;
  --site-max-width: 1180px;
  --navy: var(--prs-navy-deep);
  --navy-2: var(--prs-navy);
  --ink: var(--prs-text-primary);
  --muted: var(--prs-text-muted);
  --line: var(--border-clinical);
  --bg: var(--prs-surface-light);
  --blue: var(--prs-blue);
  --orange: var(--prs-orange);
  --orange-2: var(--prs-orange-dark);
  --radius: 4px;
  --shadow: none;
}
body, body.pv, input, select, textarea, button, h1, h2, h3, h4, .pv-btn, .pv-tabs button {
  font-family: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}
body, body.pv { background: var(--prs-surface-light) !important; color: var(--prs-text-primary) !important; }
body { line-height: 1.6; }
h1, h2, h3 { letter-spacing: -.02em; }
a, button, input, select, textarea { transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--prs-blue); outline-offset: 3px; }
img { object-fit: contain; }

/* Public navigation: same navy, compact wordmark and orange action. */
.seo-header, .jobs-page-shell .topbar {
  background: var(--prs-navy-deep) !important;
  color: #fff !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  min-height: 76px;
  padding: 16px 48px;
}
.seo-brand, .jobs-page-shell .brand { gap: 12px; }
.seo-brand img, .jobs-page-shell .brand-mark, .jobs-page-shell .brand-mark img {
  width: 28px !important; height: 28px !important;
  border-radius: 0 !important; background: transparent !important; padding: 0 !important;
}
.seo-brand strong, .jobs-page-shell .brand-copy strong {
  font-size: 14px !important; font-weight: 700 !important; letter-spacing: .08em !important;
}
.seo-brand small, .jobs-page-shell .brand-copy small {
  font-size: 11px !important; letter-spacing: .06em; text-transform: uppercase; color: #64748B;
}
.seo-header nav, .jobs-page-shell .desktop-nav { font-size: 12.5px !important; font-weight: 500 !important; gap: 32px; }
.seo-header nav a:hover, .jobs-page-shell .desktop-nav a:hover { color: var(--prs-orange); }
.seo-button, .jobs-page-shell :is(.orange-button,.blue-3d-button,.ghost-3d-button) {
  min-height: 42px; border-radius: 2px !important; padding: 10px 20px;
  font-size: 13px; font-weight: 600 !important; letter-spacing: .02em;
  text-transform: uppercase; box-shadow: none !important; transform: none !important;
  background: var(--prs-orange) !important; color: #fff !important;
}
.seo-button:hover, .jobs-page-shell .orange-button:hover { background: var(--prs-orange-dark) !important; }
.jobs-page-shell .blue-3d-button { background: var(--prs-blue) !important; }
.jobs-page-shell .blue-3d-button:hover { background: var(--prs-navy) !important; }
.jobs-page-shell .ghost-3d-button { background: transparent !important; border: 1px solid var(--border-clinical) !important; color: var(--prs-navy) !important; }

/* Public content follows the white clinical sections in the homepage. */
.seo-container { width: min(var(--site-max-width), calc(100% - 48px)); }
.seo-hero { background: #fff !important; color: var(--prs-navy-deep) !important; padding: 64px 0; border-bottom: 1px solid var(--border-clinical); }
.seo-hero h1, .blog-article h1 { font-size: clamp(32px,4vw,46px); color: var(--prs-navy-deep); font-weight: 700; }
.seo-hero p { color: var(--prs-text-muted) !important; font-size: 15px; }
.seo-back { color: var(--prs-blue); }
.seo-kicker { color: var(--prs-blue); font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; }
.seo-detail, .seo-job, .seo-empty, .blog-card, .reset-card {
  background: #fff; border: 1px solid var(--border-clinical) !important;
  border-radius: 4px !important; box-shadow: none !important;
}
.seo-job:hover, .blog-card:hover { border-color: var(--prs-blue) !important; box-shadow: none !important; transform: none !important; }
.seo-job h3, .blog-card h2 { font-size: 20px; }
.seo-detail p, .legal-content p, .blog-card p, .blog-body { color: var(--prs-text-muted); }
.seo-footer { background: var(--prs-navy-deep) !important; color: #94A3B8 !important; border-top: 1px solid rgba(255,255,255,.08) !important; }
.reset-card input { border-radius: 2px; border-color: var(--border-clinical); }

/* Existing public job board, including cards created by its API renderer. */
.jobs-page-shell .listing-hero { background: var(--prs-navy-deep) !important; }
.jobs-page-shell .listing-kicker { color: var(--prs-orange) !important; letter-spacing: .2em; }
.jobs-page-shell .listing-hero h1 { font-size: clamp(32px,4vw,46px) !important; font-weight: 700 !important; }
.jobs-page-shell :is(.listing-search-card,.filter-panel,.listing-job-card,.listing-empty,.listing-sample-note) {
  border-radius: 4px !important; box-shadow: none !important; border-color: var(--border-clinical) !important;
}
.jobs-page-shell .listing-job-card:hover { transform: none !important; border-color: var(--prs-blue) !important; box-shadow: none !important; }
/* Vacancy cards: a clear heading, plain facts, and one primary action. */
.jobs-page-shell .listing-job-card { display: flex; flex-direction: column; min-width: 0; padding: 24px !important; border-color: #e5ebf2 !important; border-radius: 8px !important; }
.jobs-page-shell .listing-job-card:hover { border-color: #cbd8e5 !important; }
.jobs-page-shell .listing-job-card-top { justify-content: space-between; align-items: flex-start; flex-wrap: nowrap; gap: 8px; }
.jobs-page-shell .listing-job-status { display: flex; flex: 1; min-width: 0; flex-wrap: wrap; gap: 8px; }
.jobs-page-shell .listing-job-card :is(.role-chip, .prs-req-badge, .fresher-badge) { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 8px !important; border: 0 !important; border-radius: 6px !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.4; box-shadow: none; }
.jobs-page-shell .listing-job-card :is(.role-chip, .prs-req-badge) { color: var(--prs-blue) !important; background: var(--prs-blue-light) !important; }
.jobs-page-shell .listing-job-card .prs-req-badge { flex-shrink: 0; margin-left: auto; gap: 4px; font-weight: 400 !important; text-align: right; }
.jobs-page-shell .listing-job-card .prs-req-badge b { color: #15803d; font-size: inherit !important; font-weight: 700 !important; }
.jobs-page-shell .listing-job-card .fresher-badge { color: #166534 !important; background: #f0fdf4 !important; }
.jobs-page-shell .listing-company-row { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 0; margin: 20px 0 0; }
.jobs-page-shell .listing-company-row > div { min-width: 0; }
.jobs-page-shell .listing-company-row h2 { color: var(--prs-navy) !important; font-size: 18px !important; font-weight: 600 !important; line-height: 1.45 !important; margin: 0 0 8px !important; overflow-wrap: anywhere; }
.jobs-page-shell .listing-company-row strong { display: block; color: var(--prs-text-muted) !important; font-size: 14px !important; font-weight: 400 !important; line-height: 1.6; overflow-wrap: anywhere; }
.jobs-page-shell .listing-location { align-items: flex-start; gap: 6px; margin-top: 6px; color: var(--prs-text-muted); font-size: 13px; line-height: 1.5; }
.jobs-page-shell .listing-location svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; }
.jobs-page-shell .listing-job-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; list-style: none; padding: 16px; margin: 20px 0; border: 0; border-radius: 6px; background: var(--prs-surface-subtle); }
.jobs-page-shell .listing-job-details li { display: flex; align-items: flex-start; gap: 8px; min-width: 0; color: var(--prs-text-muted); font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.jobs-page-shell .listing-job-details svg { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 1px; }
.jobs-page-shell .listing-job-detail-text { flex: 1; min-width: 0; }
.jobs-page-shell .listing-job-detail-text b { color: var(--prs-navy); font-size: 13px !important; font-weight: 600; }
.jobs-page-shell .listing-job-footer { display: flex; justify-content: space-between; align-items: center; margin-top: auto; gap: 12px; padding: 0; }
.jobs-page-shell .listing-job-footer a { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; gap: 6px; min-width: 0; min-height: 40px; padding: 8px 12px; border-radius: 2px; font-size: 13px !important; font-weight: 600; line-height: 1.4; text-decoration: none; text-transform: none; white-space: nowrap; box-shadow: none; }
.jobs-page-shell .listing-job-view { border: 1px solid var(--prs-navy-deep); background: #fff; color: var(--prs-navy-deep); }
.jobs-page-shell .listing-job-view:hover { background: var(--prs-blue-light); }
.jobs-page-shell .listing-job-apply { border: 1px solid var(--prs-orange); background: var(--prs-orange); color: #fff; }
.jobs-page-shell .listing-job-apply:hover { background: var(--prs-orange-dark); }
.jobs-page-shell .listing-job-apply svg { flex: 0 0 16px; }
@media (max-width: 680px) {
  .jobs-page-shell .listing-job-card { padding: 20px !important; }
  .jobs-page-shell .listing-company-row h2 { font-size: 18px !important; }
  .jobs-page-shell .listing-job-details { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .jobs-page-shell .listing-job-footer a { min-height: 44px; }
}
@media (max-width: 380px) {
  .jobs-page-shell .listing-job-footer a { padding-inline: 8px; }
  .jobs-page-shell .listing-job-apply svg { display: none; }
}
.jobs-page-shell :is(.listing-search-field input,.listing-search-field select,.filter-group select,.filter-options button,.role-tabs button) {
  border-radius: 2px !important; font-family: inherit !important;
}
.jobs-page-shell .filter-options button.selected { background: var(--prs-blue-light) !important; color: var(--prs-blue) !important; border-color: var(--prs-blue) !important; }
.jobs-page-shell .role-tabs button.active { background: var(--prs-navy-deep) !important; color: #fff !important; }
.jobs-page-shell .role-tabs button.active b { color: var(--prs-navy-deep) !important; }
.jobs-page-shell .filter-trust { border-radius: 4px !important; background: var(--prs-blue-light) !important; color: var(--prs-blue) !important; }
.jobs-page-shell .listing-footer { background: var(--prs-navy-deep) !important; }
.jobs-page-shell .listing-main, .jobs-page-shell .listing-hero-inner { max-width: var(--site-max-width); }

/* Workspace navigation and data UI: one shared theme for every role. */
.pv-side { background: var(--prs-navy-deep); }
.pv-brand { font-size: 14px; letter-spacing: .04em; font-weight: 700; padding: 24px 20px; }
.pv-brand img { width: 28px; height: 28px; border-radius: 0; background: transparent; padding: 0; }
.pv-brand small { font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; color: #94A3B8; }
.pv-nav { gap: 4px; padding: 16px 12px; }
.pv-nav a { border-radius: 2px; font-size: 12.5px; padding: 12px; }
.pv-nav a.active { background: var(--prs-orange); }
.pv-top { border-color: var(--border-clinical); padding-inline: 24px; }
.pv-top h1 { font-size: 18px; font-weight: 700; }
.pv-content { max-width: var(--site-max-width); padding: 24px; }
.pv-card { padding: 24px; margin-bottom: 24px; }
.pv-card, .pv-stat, .pv-tablewrap, .pv-modal, .pv-job, .pv-empty { border-radius: 4px; box-shadow: none; }
.pv-card > h2, .pv-card > .pv-head > h2 { font-size: 18px; font-weight: 700; }
.pv-grid { gap: 16px; }
.pv-head { margin-bottom: 16px; gap: 12px; }
.pv-stat { padding: 20px; border-color: var(--border-clinical); }
.pv-stat b { font-size: 28px; font-weight: 700; }
.pv-stat small { font-size: 11px; letter-spacing: .04em; }
.pv-stat .pv-ico { border-radius: 2px; background: var(--prs-blue-light); color: var(--prs-blue); }
.pv-hero { background: var(--prs-navy-deep); border-radius: 4px; padding: 32px; margin-bottom: 24px; }
.pv-hero h1, .pv-hero h2 { color: #fff; }
.pv-hero p { color: #CBD5E1; }
.pv-btn { min-height: 42px; border-radius: 2px; padding: 10px 20px; font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.pv-btn.sm { border-radius: 2px; min-height: 34px; padding: 6px 12px; font-size: 11px; }
.pv-btn.navy { background: var(--prs-blue); }
.pv-btn.navy:hover { background: var(--prs-navy); }
/* Button pair standard: orange primary + navy outline secondary, same height, same font. */
.pv-btn { font-size: 13px; }
.pv-btn.sm { font-size: 12px; }
.pv-btn.ghost { background: #fff; border-color: var(--prs-navy-deep); color: var(--prs-navy-deep) !important; }
.pv-btn.ghost:hover { border-color: var(--prs-navy-deep); background: var(--prs-navy-deep); color: #fff !important; }
.pv-btn.ghost + .pv-btn.navy, .pv-btn.navy:has(+ .pv-btn.ghost) { background: var(--prs-orange); }
.pv-btn.ghost + .pv-btn.navy:hover, .pv-btn.navy:has(+ .pv-btn.ghost):hover { background: var(--prs-orange-dark); }
.pv-tabs { gap: 0; border-bottom: 1px solid var(--border-clinical); padding-bottom: 0; margin-bottom: 24px; }
.pv-tabs button { border: 0; border-bottom: 2px solid transparent; background: transparent; border-radius: 0; padding: 12px 16px; font-size: 12px; }
.pv-tabs button.on { background: transparent; color: var(--prs-navy); border-color: var(--prs-orange); }
.pv input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), .pv select, .pv textarea {
  border-radius: 2px; border-color: var(--border-clinical); font-size: 13px;
}
.pv-field > span { font-size: 12px; font-weight: 600; }
.pv-field { gap: 8px; }
.pv-form, .pv-fields { gap: 16px; }
.pv-table th { background: var(--prs-surface-subtle); color: var(--prs-text-muted); font-size: 10.5px; letter-spacing: .08em; padding: 12px 16px; }
.pv-table td { padding: 12px 16px; border-color: var(--border-clinical); }
.pv-table tr:hover td { background: var(--prs-blue-light); }
.pv-modal { border: 1px solid var(--border-clinical); padding: 24px; }
.pv-modal-bg { background: rgba(7,20,38,.65); }
.pv-bell { border-radius: 2px; border: 1px solid var(--border-clinical); background: #fff; }
.pv-bell i { font-family: inherit; }
.pv-alert { border-radius: 4px; }
.auth { background: var(--prs-surface-light); padding: 48px 24px; border-top: 8px solid var(--prs-navy-deep); }
.auth .pv-card { padding: 32px; max-width: 520px; border-top: 3px solid var(--prs-orange); }
.auth-brand { color: var(--prs-navy-deep); font-size: 16px; letter-spacing: .02em; margin-bottom: 24px; }
.auth-brand img { width: 28px; height: 28px; }
.protected-gate { background: var(--prs-surface-light) !important; color: var(--prs-navy-deep); }
.protected-gate-card { border-radius: 4px !important; border: 1px solid var(--border-clinical) !important; background: #fff !important; box-shadow: none !important; }
.protected-gate .blue-3d-button { background: var(--prs-orange) !important; border-radius: 2px !important; box-shadow: none !important; }
.protected-gate h1 { color: var(--prs-navy-deep) !important; }
.jobs-page-shell .listing-hero p { color: #CBD5E1 !important; }

@media (max-width: 1100px) {
  .jobs-page-shell .topbar { padding-inline: 24px; }
  .jobs-page-shell .desktop-nav { gap: 16px; }
}
@media (max-width: 900px) {
  .pv-content { padding: 20px 16px 88px; }
  .pv-top { padding-inline: 12px; }
  .pv-card { padding: 20px; margin-bottom: 20px; }
  .pv-hero { padding: 24px; }
}
@media (max-width: 700px) {
  .seo-header, .jobs-page-shell .topbar { padding: 16px 24px; }
  .jobs-page-shell .topbar { padding: 12px 16px !important; gap: 8px !important; }
  .jobs-page-shell .topbar .brand { min-width: 0 !important; flex: 1 1 0; gap: 8px; }
  .jobs-page-shell .topbar .brand-copy { min-width: 0; grid-template-columns: minmax(0, 1fr); }
  .jobs-page-shell .topbar .brand-copy strong { font-size: clamp(12px, 3.2vw, 13px) !important; letter-spacing: .01em !important; white-space: nowrap; }
  .jobs-page-shell .topbar .brand-copy small { font-size: 8px !important; white-space: normal; }
  .jobs-page-shell .topbar .header-actions { flex-shrink: 0; gap: 2px !important; }
  .jobs-page-shell .topbar .header-actions .pvs-btn { margin: 0 !important; }
  .jobs-page-shell .topbar .header-actions .text-button { height: 42px !important; min-height: 42px !important; padding: 0 12px !important; white-space: nowrap; }
  .seo-header nav { gap: 8px; }
  .seo-header nav a { border-radius: 2px; font-size: 12px; }
  .seo-container { width: min(var(--site-max-width), calc(100% - 32px)); }
  .seo-hero { padding: 48px 0; }
  .seo-detail, .reset-card { padding: 24px; }
  .seo-list-head { flex-wrap: wrap; }
  .seo-stats { gap: 16px; }
  .auth { padding: 24px 16px; }
  .auth .pv-card { padding: 24px; }
  .pv-btn { min-height: 44px; }
  .pv-btn.sm { min-height: 40px; }
  .pv-tabs button { padding: 12px; }
  .pv-hero { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Shared header/footer variants from app/layout/. */
.layout-auth-header { margin: 0; }
.layout-account-header { padding: 24px; text-align: center; background: #fff; border-bottom: 1px solid var(--border-clinical); }
.layout-account-header a { display: inline-flex; align-items: center; gap: 12px; color: var(--prs-navy-deep); text-decoration: none; font-size: 15px; }
.layout-account-header img { object-fit: contain; }
.layout-account-footer, .layout-workspace-footer { padding: 24px; text-align: center; font-size: 12px; color: var(--prs-text-muted); border-top: 1px solid var(--border-clinical); background: #fff; }
.layout-account-footer nav, .layout-workspace-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 20px; margin-bottom: 8px; }
.layout-account-footer a, .layout-workspace-footer a { color: var(--prs-blue); text-decoration: none; }
.layout-account-footer a:hover, .layout-workspace-footer a:hover { text-decoration: underline; }
.layout-account-footer small, .layout-workspace-footer small { font-size: 11px; }
body.layout-account-page { display: flex; flex-direction: column; min-height: 100vh; margin: 0; }
.layout-account-page > main { margin: 40px auto; width: calc(100% - 32px) !important; }
.layout-account-page .layout-account-footer { margin-top: auto; }
@media (max-width:900px) { .layout-workspace-footer { padding-bottom: 88px; } }

/* accessibility: decorative eyebrow / kicker / tag text never below 11px (was 8-10.5px) */
.brand-copy > small, .eyebrow-text, .prs-preview-label, .prs-mode-tag, .prs-score-label, .prs-gold-badge > span, .banner-subhead, .grid-eyebrow, .rubric-card > span, .role-code, .role-card > small, .filter-row > span, .mini-gold, .mini-silver, .learning-kicker, .listing-search-field > label, .seo-kicker { font-size: 11px; }
.flow-tabs-wrap > div > span, .rubric-inner > div > span, .rubric-cards > .rubric-card > span, .role-section > div > span, .role-grid > .role-card > small, .employer-inner > div > span, .employer-inner > div > div > small, .faq-wrap > div > span, .final-cta > div > span, a.brand > .brand-copy > small, .listing-search-card > .listing-search-field > label { font-size: 11px !important; }
.talent-console > div > div > small, .topbar a.brand > .brand-copy > small { font-size: 11px !important; }

/* accessibility: touch-sized controls on tablets / phones; footer links; footer small print */
@media (max-width: 1024px), (pointer: coarse) { #expAny, #expFresher, #expExperienced, .listing-search-card button { min-height: 44px; } }
.seo-footer nav a, .layout-workspace-footer nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; }
.seo-footer small, .layout-workspace-footer small { font-size: 11px; }
.seo-footer small { font-size: 11px !important; }
@media (max-width: 1024px), (pointer: coarse) { button[onclick="resetFilters()"] { min-height: 44px; } }
header strong + small { font-size: 11px !important; }
strong + small { font-size: 11px !important; }

/* ---- hover feedback for every clickable element that had none (site-wide scan, 2 Oct 2026) ---- */
/* brand / logo links */
a.brand, a.seo-brand, a.auth-brand, a.pv-brand { transition: opacity .18s ease; }
a.brand:hover, a.seo-brand:hover, a.auth-brand:hover, a.pv-brand:hover { opacity: .8; }
/* hamburger, search, close, sign-out, bell */
.menu-button, .pvn-burger, .pvs-btn, .pvn-drawer-head button, .pv-burger, .pv-bell, .pv-out { transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
.menu-button:hover, .pvn-burger:hover, .pvs-btn:hover, .pvn-drawer-head button:hover, .pv-burger:hover { color: #ff6b35; border-color: #ff6b35; }
.pv .pv-bell:hover { background: #fff1ea; color: #ff6b35; }
.pv .pv-out:hover { color: #fff; background: rgba(255,255,255,.12); border-radius: 8px; }
/* workspace tabs, step buttons, dashboard stat cards, kanban names, mobile bottom bar */
.pv .pv-tabs button { transition: color .18s ease, border-color .18s ease; }
.pv .pv-tabs button:not(.on):hover { color: #ff6b35; border-bottom-color: #ffc4ad; }
.pv .pv-tabs button.on:hover { color: #ff6b35; }
.pv .pv-steps button { transition: border-color .18s ease, color .18s ease; }
.pv .pv-steps button:hover { border-color: #ff6b35; color: #062b63; }
.pv a.pv-stat, .pv button.pv-stat { transition: border-color .18s ease, box-shadow .18s ease; }
.pv a.pv-stat:hover, .pv button.pv-stat:hover { border-color: #ff6b35; box-shadow: 0 4px 14px rgba(6,43,99,.10); }
.pv .kb-name:hover { color: #ff6b35; text-decoration: underline; }
.pv .pv-bottom a:hover { color: #ff6b35 !important; }
/* public page controls */
.flow-tab-btn { transition: color .18s ease, border-color .18s ease, background-color .18s ease; }
.flow-tab-btn:not(.active):hover { color: #ff6b35; border-color: #ff6b35; }
.flow-tab-btn.active:hover { background: #0d4689; border-color: #0d4689; }
.filter-options button, .filter-panel-head button { transition: color .18s ease, border-color .18s ease; }
.filter-options button:not(.selected):hover, .filter-panel-head button:hover { color: #ff6b35; border-color: #ff6b35; }
.filter-options button.selected:hover { filter: brightness(.94); }
.text-button:hover, .seo-back:hover { color: #ff6b35; }
.pvn-drawer-cta:hover { filter: brightness(.93); }
/* generic fallbacks: low specificity (:where) so every existing, more specific hover style still wins */
:where(details) > summary { cursor: pointer; transition: color .18s ease; }
:where(details) > summary:hover { color: #ff6b35; }
:where(.quick-links, .seo-pager, .seo-footer, .layout-workspace-footer, .listing-breadcrumb, .pv-content, .pv-modal, .auth, .pvn-drawer, .pvn-acc) a:where(:not(.pv-btn, .orange-button, .blue-3d-button, .ghost-3d-button, .seo-button, .pvn-drawer-cta)):hover { color: #ff6b35; }

/* Company identity in vacancy cards: compact logo and a discreet verification check. */
.pv-job-company-heading{display:flex;align-items:flex-start;gap:12px;min-width:0}
.pv-job-company-heading>div{min-width:0;overflow-wrap:anywhere}
.pv-company-logo{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border-radius:8px;background:#f5f7fa;vertical-align:middle}
.pv-company-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px;padding:4px}
.pv-company-logo-fallback{color:#8390a2;display:flex;align-items:center;justify-content:center}
.pv-company-logo-fallback svg{width:22px;height:22px}
.pv-company-logo-check{position:absolute;right:-3px;bottom:-3px;display:flex;align-items:center;justify-content:center;width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:#16a34a;color:#fff}
.pv-company-logo-check svg{width:9px;height:9px;stroke-width:3}
.listing-job-card .listing-company-row{display:flex;align-items:flex-start;gap:12px!important}
.listing-company-row>div{min-width:0;overflow-wrap:anywhere}
