/* =============================================================================
   Jobs theme — matches the CoreHRx Job demo (job-portal-demo/).
   Presentation only: no markup, id, handler or Smarty change depends on this
   file. Loaded last (after style.css and jobs-ui.css) and scoped under
   body.jb-page so it outranks the 2–3 class selectors used in style.css.
   ============================================================================= */

body.jb-page {
  --t-bg: #FFFFFF;
  --t-surface: #FFFFFF;
  --t-surface-2: #F5F6F7;
  --t-surface-3: #E9EBED;
  --t-ink: #0F2340;
  --t-ink-2: #36506F;
  --t-muted: #63778F;
  --t-line: #E2E4E7;
  --t-line-strong: #C9CDD2;
  --t-brand: #1F6FC5;
  --t-brand-hover: #185DA8;
  --t-brand-tint: #E3EFFB;
  --t-brand-text: #1A5FAA;
  --t-accent: #F07A55;
  --t-accent-tint: #FDE8E0;
  --t-accent-text: #A93A17;
  --t-good: #16784A;
  --t-good-tint: #DDF2E5;
  --t-banner-dot: rgba(16, 24, 40, .13);
  --t-banner-edge: rgba(16, 24, 40, .09);
  --t-shadow-1: 0 1px 2px rgba(15, 35, 64, .06);
  --t-shadow-2: 0 1px 2px rgba(15, 35, 64, .05), 0 10px 24px -8px rgba(15, 35, 64, .14);
  --t-shadow-3: 0 2px 6px rgba(15, 35, 64, .07), 0 24px 48px -16px rgba(15, 35, 64, .24);
  --t-r-lg: 18px;
  --t-r: 14px;
  --t-r-sm: 10px;
  --t-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --t-body: "Instrument Sans", "Segoe UI", system-ui, -apple-system, sans-serif;

  background: var(--t-bg);
  color: var(--t-ink);
  font-family: var(--t-body);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

body.jb-page h1,
body.jb-page h2,
body.jb-page h3,
body.jb-page h4,
body.jb-page h5 {
  font-family: var(--t-display);
  letter-spacing: -.015em;
  line-height: 1.18;
  color: var(--t-ink);
  text-wrap: balance;
}
body.jb-page a { color: inherit; }
body.jb-page p { color: var(--t-ink-2); }
body.jb-page :focus-visible { outline: 2px solid var(--t-accent); outline-offset: 2px; }
body.jb-page ::selection { background: var(--t-brand-tint); }

/* ---------- buttons ---------------------------------------------------- */

body.jb-page .btn-ap,
body.jb-page .primary-btn-onbody,
body.jb-page .apply-now,
body.jb-page .apply-btn,
body.jb-page .view-btn-div-as a,
body.jb-page .view-btn-div-as button,
body.jb-page .jb-btn-solid {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: var(--t-brand);
  color: #FFFFFF;
  font-family: var(--t-body);
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
  transition: background-color .15s, border-color .15s, color .15s;
}
body.jb-page .btn-ap:hover,
body.jb-page .primary-btn-onbody:hover,
body.jb-page .apply-now:hover,
body.jb-page .apply-btn:hover,
body.jb-page .view-btn-div-as a:hover,
body.jb-page .jb-btn-solid:hover { background: var(--t-brand-hover); color: #FFFFFF; }

body.jb-page .jb-btn-ghost,
body.jb-page .save-job,
body.jb-page .open-filters,
body.jb-page .backp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--t-line-strong);
  border-radius: 10px;
  background: var(--t-surface);
  color: var(--t-ink-2);
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: background-color .15s, border-color .15s, color .15s;
}
body.jb-page .jb-btn-ghost:hover,
body.jb-page .save-job:hover,
body.jb-page .open-filters:hover,
body.jb-page .backp:hover { background: var(--t-surface-2); border-color: var(--t-ink-2); color: var(--t-ink); }
body.jb-page .backp { width: 40px; padding: 0; }

/* ---------- top bar ---------------------------------------------------- */

body.jb-page .nk-header-wrapper {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--t-surface);
  border-bottom: 1px solid var(--t-line);
  box-shadow: none;
}
body.jb-page .nk-header {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 64px;
  padding-inline: 20px;
}
body.jb-page .nk-nav a,
body.jb-page .nk-nav > li > a {
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14.5px;
  color: var(--t-ink-2);
  text-decoration: none;
}
body.jb-page .nk-nav a:hover { background: var(--t-surface-2); color: var(--t-ink); }
body.jb-page .nk-nav a.active,
body.jb-page .nk-nav .active > a { background: var(--t-brand-tint); color: var(--t-brand-text); }
body.jb-page .nk-search,
body.jb-page .nk-center form {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 6px 4px 14px;
  border: 1px solid var(--t-line-strong);
  border-radius: 12px;
  background: var(--t-surface);
}
body.jb-page .nk-search input {
  border: 0;
  outline: none;
  background: transparent;
  min-height: 38px;
  font-size: 14.5px;
}
body.jb-page .nk-search i { color: var(--t-muted); }

/* ---------- page bands, headings --------------------------------------- */

body.jb-page .results-header,
body.jb-page .page-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
  padding: 16px 20px;
  margin-bottom: 18px;
  border: 1px solid var(--t-line);
  border-radius: var(--t-r);
  background: var(--t-surface);
  box-shadow: var(--t-shadow-1);
}
body.jb-page .results-header .sh-result {
  font-family: var(--t-display);
  font-weight: 700;
  font-size: 19px;
  color: var(--t-ink);
}
body.jb-page .results-header .sh-result span { color: var(--t-brand-text); font-variant-numeric: tabular-nums; }
body.jb-page .results-controls { display: flex; align-items: center; gap: 10px; margin-left: auto; }
body.jb-page .sort-select { display: flex; align-items: center; gap: 8px; }
body.jb-page .sort-select .label { font-size: 13.5px; color: var(--t-muted); }
body.jb-page .custom-select,
body.jb-page .sort-select select {
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--t-line-strong);
  border-radius: 10px;
  background: var(--t-surface);
  font-weight: 600;
  font-size: 14px;
  color: var(--t-ink);
}

/* ---------- job card --------------------------------------------------- */

body.jb-page .job-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--t-line);
  border-radius: var(--t-r);
  background: var(--t-surface);
  box-shadow: var(--t-shadow-1);
  transition: border-color .15s, box-shadow .15s;
}
body.jb-page .job-card:hover { border-color: var(--t-line-strong); box-shadow: var(--t-shadow-2); }
body.jb-page .job-card + .job-card { margin-top: 12px; }
body.jb-page .job-main-c { display: flex; align-items: flex-start; gap: 14px; }
body.jb-page .job-main { flex: 1; min-width: 0; text-decoration: none; }
body.jb-page .job-title {
  font-family: var(--t-display);
  font-weight: 650;
  font-size: 16.5px;
  line-height: 1.3;
  color: var(--t-ink);
  margin: 0;
}
body.jb-page .job-card:hover .job-title { color: var(--t-brand-text); }
body.jb-page .job-c { margin-top: 4px; font-size: 14px; color: var(--t-ink-2); }
body.jb-page .job-logo {
  order: -1;
  flex: none;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 6px;
  border: 1px solid var(--t-line);
  border-radius: 12px;
  background: var(--t-surface);
  overflow: hidden;
}
body.jb-page .job-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
body.jb-page ul.job-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  color: var(--t-ink-2);
}
body.jb-page ul.job-meta li { display: inline-flex; align-items: center; gap: 6px; }
body.jb-page ul.job-meta li i { color: var(--t-muted); font-size: 14px; }
body.jb-page .job-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
body.jb-page .job-tags li,
body.jb-page .job-tags .tag,
body.jb-page .jb-tag,
body.jb-page .tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border: 0;
  border-radius: 999px;
  background: var(--t-surface-2);
  color: var(--t-ink-2);
  font-size: 12.5px;
  font-weight: 500;
}
body.jb-page .job-footer,
body.jb-page .job-footer1 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px dashed var(--t-line);
  font-size: 13px;
  color: var(--t-muted);
}
body.jb-page .job-footer .posted,
body.jb-page .job-footer1 .posted { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--t-muted); }
body.jb-page .job-footer .save-job,
body.jb-page .job-actions { margin-left: auto; }
body.jb-page .save-job { min-height: 34px; padding: 0 12px; font-size: 13.5px; }
body.jb-page .save-job.saved,
body.jb-page .save-job.active { background: var(--t-accent-tint); border-color: transparent; color: var(--t-accent-text); }

/* ---------- filter rail ------------------------------------------------ */

body.jb-page .filter-section {
  position: relative;
  padding: 16px 18px;
  border: 1px solid var(--t-line);
  border-radius: var(--t-r);
  background: var(--t-surface);
  box-shadow: var(--t-shadow-1);
}
body.jb-page .filter-section + .filter-section { margin-top: 12px; }
body.jb-page .filter-section h4 {
  margin: 0 0 12px;
  font-family: var(--t-body);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--t-muted);
}
body.jb-page .filter-section label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 0;
  font-size: 14.5px;
  color: var(--t-ink-2);
  cursor: pointer;
}
body.jb-page .filter-section input[type="checkbox"],
body.jb-page .filter-section input[type="radio"] {
  width: 17px;
  height: 17px;
  margin: 0;
  flex: none;
  accent-color: var(--t-brand);
}
body.jb-page .filter-section .count,
body.jb-page .filter-section .n { margin-left: auto; font-size: 12.5px; color: var(--t-muted); }

/* ---------- company list ----------------------------------------------- */

body.jb-page .company-list-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid var(--t-line);
  border-radius: var(--t-r);
  background: var(--t-surface);
  box-shadow: var(--t-shadow-1);
  text-decoration: none;
  transition: border-color .15s, box-shadow .15s, transform .15s;
}
body.jb-page .company-list-item + .company-list-item { margin-top: 12px; }
body.jb-page .company-list-item:hover { border-color: var(--t-line-strong); box-shadow: var(--t-shadow-2); transform: translateY(-1px); }
body.jb-page .company-logo {
  flex: none;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  padding: 6px;
  border: 1px solid var(--t-line);
  border-radius: 14px;
  background: var(--t-surface);
  overflow: hidden;
}
body.jb-page .company-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
body.jb-page .company-info { flex: 1; min-width: 0; }
body.jb-page .company-name { margin: 0; font-size: 16.5px; font-weight: 650; }
body.jb-page .company-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 6px; }
body.jb-page .company-tags .meta { font-size: 13.5px; color: var(--t-muted); }
body.jb-page .company-action { flex: none; color: var(--t-muted); }
body.jb-page .company-list-item:hover .company-action { color: var(--t-brand-text); }
body.jb-page .industry-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--t-line);
  border-radius: var(--t-r);
  background: var(--t-surface);
  box-shadow: var(--t-shadow-1);
  transition: border-color .15s, transform .15s, box-shadow .15s;
}
body.jb-page .industry-card:hover { border-color: var(--t-brand); transform: translateY(-2px); box-shadow: var(--t-shadow-2); }

/* ---------- panels / detail pages -------------------------------------- */

body.jb-page .card,
body.jb-page .about-us,
body.jb-page .company-listing-sec-CListing.company-tabs > .card {
  padding: 22px;
  border: 1px solid var(--t-line);
  border-radius: var(--t-r);
  background: var(--t-surface);
  box-shadow: var(--t-shadow-1);
}
body.jb-page .card h2,
body.jb-page .card h3 { font-size: 18px; margin-top: 0; }
body.jb-page .card + .card { margin-top: 16px; }
body.jb-page .about-us p,
body.jb-page .card p { color: var(--t-ink-2); max-width: 72ch; }
body.jb-page .about-us ul li,
body.jb-page .card ul li { color: var(--t-ink-2); }
body.jb-page .related-job-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--t-line);
  border-radius: 12px;
  background: var(--t-surface);
  transition: border-color .15s, background-color .15s;
}
body.jb-page .related-job-item + .related-job-item { margin-top: 10px; }
body.jb-page .related-job-item:hover { border-color: var(--t-line-strong); background: var(--t-surface-2); }
body.jb-page .related-job-title { font-weight: 650; font-size: 14.5px; color: var(--t-ink); }
body.jb-page .related-job-company { font-size: 13px; color: var(--t-ink-2); }

/* ---------- company detail tabs ---------------------------------------- */

body.jb-page .tab-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: none;
  font-weight: 600;
  color: var(--t-muted);
  cursor: pointer;
}
body.jb-page .tab-link:hover { color: var(--t-ink); }
body.jb-page .tab-link.active,
body.jb-page .tab-link[aria-selected="true"] { border-bottom-color: var(--t-brand); color: var(--t-ink); }

/* ---------- auth: register / login (style only) ------------------------ */

body.jb-page .naukri-wrapper-RS {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 24px;
  padding-block: 32px 48px;
}
body.jb-page .left-info-RS {
  padding: 28px;
  border: 1px solid var(--t-line);
  border-radius: var(--t-r-lg);
  background: var(--t-surface-2);
}
body.jb-page .left-info-RS h3 { font-size: 20px; margin-bottom: 14px; }
body.jb-page .left-info-RS ul { list-style: none; display: grid; gap: 12px; padding: 0; margin: 0; }
body.jb-page .left-info-RS li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14.5px;
  color: var(--t-ink-2);
}
body.jb-page .left-info-RS li i,
body.jb-page .verified { color: var(--t-good); }
body.jb-page .form-card-RS {
  padding: 28px;
  border: 1px solid var(--t-line);
  border-radius: var(--t-r-lg);
  background: var(--t-surface);
  box-shadow: var(--t-shadow-2);
}
body.jb-page .form-card-RS h2 { font-size: 24px; }
body.jb-page .sub-RS { margin-top: 6px; font-size: 14.5px; color: var(--t-muted); }
body.jb-page .input-box-RS { display: grid; gap: 6px; margin-top: 18px; }
body.jb-page .input-box-RS label,
body.jb-page .label-title-RS { font-size: 13.5px; font-weight: 600; color: var(--t-ink); }
body.jb-page .input-box-RS input,
body.jb-page .input-box-RS select,
body.jb-page .form-group-onbody input,
body.jb-page .otp-input {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid var(--t-line-strong);
  border-radius: 10px;
  background: var(--t-surface);
  font-size: 15px;
  color: var(--t-ink);
}
body.jb-page .input-box-RS input:focus,
body.jb-page .form-group-onbody input:focus,
body.jb-page .otp-input:focus {
  outline: none;
  border-color: var(--t-brand);
  box-shadow: 0 0 0 3px var(--t-brand-tint);
}
body.jb-page .otp-box-jb { display: flex; gap: 10px; }
body.jb-page .otp-input { width: 52px; text-align: center; font-weight: 650; font-size: 18px; }
body.jb-page .work-status-RS { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 10px; }
body.jb-page .work-status-RS label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--t-line-strong);
  border-radius: 12px;
  cursor: pointer;
  font-size: 14.5px;
}
body.jb-page .work-status-RS label:hover { border-color: var(--t-brand); background: var(--t-brand-tint); }
body.jb-page .login-card-onbody {
  padding: 26px;
  border: 1px solid var(--t-line);
  border-radius: var(--t-r-lg);
  background: var(--t-surface);
}
body.jb-page .login-step-onbody { display: grid; gap: 14px; }
body.jb-page .primary-btn-onbody { width: 100%; margin-top: 18px; }
body.jb-page .status-box-RS {
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--t-good-tint);
  color: var(--t-good);
  font-size: 13.5px;
}

/* ---------- footer ------------------------------------------------------ */

body.jb-page .footerSection {
  margin-top: 64px;
  padding-block: 40px 24px;
  border-top: 1px solid var(--t-line);
  background: var(--t-surface-2);
  color: var(--t-ink-2);
  font-size: 14px;
}
body.jb-page .footerSection h4,
body.jb-page .footerSection h5 {
  font-family: var(--t-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--t-muted);
}
body.jb-page .footerSection a { color: var(--t-ink-2); text-decoration: none; }
body.jb-page .footerSection a:hover { color: var(--t-brand-text); }

/* ---------- empty data: never render an empty shell --------------------- */

body.jb-page .job-tags:empty,
body.jb-page .job-meta:empty,
body.jb-page .company-tags:empty,
body.jb-page .job-footer:empty,
body.jb-page .card:empty,
body.jb-page .about-us:empty,
body.jb-page .jb-tag:empty,
body.jb-page .tag:empty,
body.jb-page .meta:empty,
body.jb-page .posted:empty,
body.jb-page .job-c:empty,
body.jb-page .company-name:empty,
body.jb-page .related-job-company:empty,
body.jb-page .filter-section:empty,
body.jb-page .sh-result:empty,
body.jb-page p:empty,
body.jb-page li:empty,
body.jb-page dd:empty { display: none !important; }

/* ---------- responsive -------------------------------------------------- */

@media (max-width: 991px) {
  body.jb-page .naukri-wrapper-RS { grid-template-columns: 1fr; }
  body.jb-page .left-info-RS { order: 2; }
}
@media (max-width: 767px) {
  body.jb-page { font-size: 14.5px; }
  body.jb-page .nk-header { min-height: 58px; padding-inline: 14px; gap: 12px; }
  body.jb-page .results-header { padding: 14px; }
  body.jb-page .results-controls { width: 100%; margin-left: 0; }
  body.jb-page .job-card,
  body.jb-page .company-list-item,
  body.jb-page .card,
  body.jb-page .form-card-RS,
  body.jb-page .left-info-RS { padding: 16px; border-radius: 12px; }
  body.jb-page .job-logo { width: 44px; height: 44px; border-radius: 10px; }
  body.jb-page .company-logo { width: 48px; height: 48px; border-radius: 12px; }
  body.jb-page .job-title { font-size: 15.5px; }
  body.jb-page .work-status-RS { grid-template-columns: 1fr; }
  body.jb-page .otp-input { width: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  body.jb-page *, body.jb-page *::before, body.jb-page *::after { transition: none !important; animation: none !important; }
}

/* =============================================================================
   Page palettes.
   recruitment_job_listing / _job_detail / _company_detail / _index each define
   their own variable set (--jl-*, --jd-*, --co-*, --jb-*) with the old orange
   accent. Redefining those variables here re-skins every rule that uses them —
   no template rule is fought, nothing is !important.
   ============================================================================= */

body.jb-page {
  --jl-bg: #FFFFFF; --jl-surface: #FFFFFF; --jl-border: #E2E4E7; --jl-text: #0F2340;
  --jl-muted: #63778F; --jl-accent: #1F6FC5; --jl-accent-dark: #185DA8;
  --jl-shadow-sm: var(--t-shadow-1); --jl-shadow-md: var(--t-shadow-2);

  --jd-bg: #FFFFFF; --jd-surface: #FFFFFF; --jd-border: #E2E4E7; --jd-text: #0F2340;
  --jd-muted: #63778F; --jd-accent: #1F6FC5; --jd-accent-dark: #185DA8;
  --jd-shadow-sm: var(--t-shadow-1); --jd-shadow-md: var(--t-shadow-2);

  --co-bg: #FFFFFF; --co-surface: #FFFFFF; --co-border: #E2E4E7; --co-text: #0F2340;
  --co-muted: #63778F; --co-accent: #1F6FC5; --co-accent-dark: #185DA8;
  --co-shadow-sm: var(--t-shadow-1); --co-shadow-md: var(--t-shadow-2); --co-shadow-lg: var(--t-shadow-3);
}

/* ---------- header actions --------------------------------------------- */

body.jb-page .btn-without-login {
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid var(--t-line-strong);
  border-radius: 10px;
  background: var(--t-surface);
  color: var(--t-ink);
  font-weight: 600;
  font-size: 14px;
}
body.jb-page .btn-without-login:hover { background: var(--t-surface-2); border-color: var(--t-ink-2); }
body.jb-page .btn-without-login.fullfill-btn,
body.jb-page .fullfill-btn {
  border-color: transparent;
  background: var(--t-brand);
  color: #FFFFFF;
}
body.jb-page .btn-without-login.fullfill-btn:hover,
body.jb-page .fullfill-btn:hover { background: var(--t-brand-hover); color: #FFFFFF; }

/* ---------- job detail: apply + tags ----------------------------------- */

body.jb-page .apply-job-btn,
body.jb-page .indexpage-contantJP1 .apply-job-btn {
  min-height: 46px;
  padding: 0 22px;
  border: 0;
  border-radius: 12px;
  background: var(--t-brand);
  color: #FFFFFF;
  font-family: var(--t-body);
  font-weight: 600;
  font-size: 15px;
  box-shadow: none;
}
body.jb-page .apply-job-btn:hover,
body.jb-page .indexpage-contantJP1 .apply-job-btn:hover { background: var(--t-brand-hover); }
body.jb-page .job-tags li,
body.jb-page .job-tags a,
body.jb-page .job-tags span,
body.jb-page .jd-chip,
body.jb-page .chip {
  background: var(--t-surface-2);
  border: 1px solid var(--t-line);
  color: var(--t-ink-2);
  border-radius: 999px;
  font-weight: 500;
}

/* ---------- company detail: cover + tabs -------------------------------- */

body.jb-page .company-hero::before {
  background: linear-gradient(115deg, rgba(9, 22, 45, .82) 0%, rgba(16, 45, 88, .68) 48%, rgba(31, 111, 197, .5) 100%);
}
body.jb-page .company-hero { min-height: 260px !important; }
body.jb-page .tab-link,
body.jb-page .tab-link:hover,
body.jb-page .tab-link.active,
body.jb-page .tab-link[aria-selected="true"] {
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: none;
  box-shadow: none;
  font-size: 14.5px;
}
body.jb-page .tab-link { color: var(--t-muted); }
body.jb-page .tab-link:hover { color: var(--t-ink); }
body.jb-page .tab-link.active,
body.jb-page .tab-link[aria-selected="true"] { border-bottom-color: var(--t-brand); color: var(--t-ink); }

/* ---------- home ------------------------------------------------------- */

body.jb-page .jb-home {
  --jb-ink: #0F2340; --jb-ink-2: #36506F; --jb-muted: #63778F; --jb-faint: #8FA0B5;
  --jb-line: #E2E4E7; --jb-edge: #E2E4E7; --jb-edge-hover: #C9CDD2;
  --jb-accent: #1F6FC5; --jb-accent-2: #4E95E0; --jb-accent-dark: #185DA8;
  --jb-lav: #1F6FC5; --jb-lav-soft: #E3EFFB; --jb-peach: #F5F6F7;
  --jb-glow: var(--t-shadow-1); --jb-glow-lg: var(--t-shadow-2);
  background: var(--t-bg);
  font-family: var(--t-body);
}

/* White banner band with the demo's dot texture, behind the hero copy only. */
body.jb-page .jb-home .job-hero-indRS .job-hero-overlay-indRS {
  background:
    radial-gradient(var(--t-banner-dot) 1.4px, transparent 1.5px) 0 0 / 22px 22px,
    radial-gradient(820px 440px at 88% -30%, rgba(31, 111, 197, .05), transparent 60%),
    linear-gradient(135deg, #FFFFFF 0%, #FBFCFE 54%, #F4F7FB 100%);
  border-bottom: 1px solid var(--t-banner-edge);
  height: 384px;
  inset: 0 0 auto 0;
}
body.jb-page .jb-home .jb-hl {
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: var(--t-brand);
  color: var(--t-brand);
}
body.jb-page .jb-home .job-hero-indRS .job-search-box-indRS .search-btn-indRS {
  background: var(--t-brand);
  border-radius: 12px;
  color: #FFFFFF;
  font-family: var(--t-body);
  font-weight: 600;
  box-shadow: none;
}
body.jb-page .jb-home .job-hero-indRS .job-search-box-indRS .search-btn-indRS:hover { background: var(--t-brand-hover); }
body.jb-page .jb-home .jb-eyebrow {
  border-color: var(--t-line-strong);
  background: var(--t-surface);
  color: var(--t-brand-text);
}
body.jb-page .jb-home .jb-jc,
body.jb-page .jb-home .jb-cc,
body.jb-page .jb-home .jb-step,
body.jb-page .jb-home .jb-join { border-radius: var(--t-r); box-shadow: var(--t-shadow-1); }
body.jb-page .jb-home .jb-jc:hover,
body.jb-page .jb-home .jb-cc:hover { box-shadow: var(--t-shadow-2); }
body.jb-page .jb-home .jb-jc-title,
body.jb-page .jb-home .jb-cc-name { font-family: var(--t-display); letter-spacing: -.01em; }
body.jb-page .jb-home .jb-chip,
body.jb-page .jb-home .jb-tag { background: var(--t-surface-2); color: var(--t-ink-2); border-color: var(--t-line); }
@media (max-width: 760px) {
  body.jb-page .jb-home .job-hero-indRS .job-hero-overlay-indRS { height: 372px; }
}

/* =============================================================================
   Specificity matches.
   style.css styles a few elements through 4–5 class descendant chains. These
   rules repeat the same chain with the body.jb-page prefix so the theme wins
   on specificity instead of on !important.
   ============================================================================= */

/* header: Login / Register */
body.jb-page .nk-header-wrapper .nk-header .nk-right .withoutloginbtnwrapper .btn-without-login {
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid var(--t-line-strong);
  border-radius: 10px;
  background: var(--t-surface);
  color: var(--t-ink);
  font-family: var(--t-body);
  font-weight: 600;
  font-size: 14px;
}
body.jb-page .nk-header-wrapper .nk-header .nk-right .withoutloginbtnwrapper .btn-without-login:hover {
  background: var(--t-surface-2);
  border-color: var(--t-ink-2);
  color: var(--t-ink);
}
body.jb-page .nk-header-wrapper .nk-header .nk-right .withoutloginbtnwrapper .btn-without-login.fullfill-btn {
  border-color: transparent;
  background: var(--t-brand);
  color: #FFFFFF;
}
body.jb-page .nk-header-wrapper .nk-header .nk-right .withoutloginbtnwrapper .btn-without-login.fullfill-btn:hover {
  background: var(--t-brand-hover);
}

/* register / login: layout + controls (flow and handlers untouched) */
body.jb-page .naukri-wrapper-RS {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  width: min(1180px, 94%);
  margin: 24px auto 48px;
  padding: 0 16px;
  background: transparent;
  min-height: 0;
}
body.jb-page .naukri-wrapper-RS .left-info-RS {
  width: 34%;
  padding: 26px;
  border: 1px solid var(--t-line);
  border-radius: var(--t-r-lg);
  background: var(--t-surface-2);
}
body.jb-page .naukri-wrapper-RS .left-info-RS h3 { font-size: 19px; }
body.jb-page .naukri-wrapper-RS .left-info-RS ul li { font-size: 14.5px; color: var(--t-ink-2); }
body.jb-page .naukri-wrapper-RS .form-card-RS {
  flex: 1;
  min-width: 0;
  padding: 28px;
  border: 1px solid var(--t-line);
  border-radius: var(--t-r-lg);
  background: var(--t-surface);
  box-shadow: var(--t-shadow-2);
}
body.jb-page .naukri-wrapper-RS .form-card-RS form .work-status-RS { gap: 12px; margin-bottom: 20px; }
body.jb-page .naukri-wrapper-RS .form-card-RS form .work-status-RS .status-box-RS {
  padding: 14px 16px;
  border: 1px solid var(--t-line-strong);
  border-radius: 12px;
  background: var(--t-surface);
}
body.jb-page .naukri-wrapper-RS .form-card-RS form .work-status-RS .status-box-RS h4 { font-size: 15.5px; margin-bottom: 4px; }
body.jb-page .naukri-wrapper-RS .form-card-RS form .work-status-RS .status-box-RS p { font-size: 13.5px; color: var(--t-muted); }
body.jb-page .naukri-wrapper-RS .form-card-RS form .work-status-RS .status-box-RS:hover {
  border-color: var(--t-brand);
  background: var(--t-brand-tint);
}
body.jb-page .naukri-wrapper-RS .form-card-RS form .work-status-RS .status-box-RS.active-RS {
  border-color: var(--t-brand);
  background: var(--t-brand-tint);
}
body.jb-page .register-btn-RS,
body.jb-page .naukri-wrapper-RS .form-card-RS form .register-btn-RS {
  width: 100%;
  min-height: 48px;
  margin-top: 8px;
  border: 0;
  border-radius: 12px;
  background: var(--t-brand);
  color: #FFFFFF;
  font-family: var(--t-body);
  font-weight: 600;
  font-size: 15.5px;
}
body.jb-page .register-btn-RS:hover { background: var(--t-brand-hover); }
body.jb-page .login-link-RS,
body.jb-page .naukri-wrapper-RS a { color: var(--t-brand-text); }
body.jb-page .nk-right a,
body.jb-page .nk-header a.login-here,
body.jb-page .nk-header .nk-right span a { color: var(--t-brand-text); }
@media (max-width: 991px) {
  body.jb-page .naukri-wrapper-RS { flex-direction: column; width: min(720px, 94%); }
  body.jb-page .naukri-wrapper-RS .left-info-RS { width: 100%; order: 2; }
}

/* The page ships two logo slots per card (one for desktop, one for mobile);
   style.css hides .job-dn on phones. Keep a single logo at every width. */
body.jb-page .job-logo.job-dn { display: none !important; }

/* ---------- remaining brand spots -------------------------------------- */

/* header search submit */
body.jb-page .nk-search button,
body.jb-page .nk-center form button,
body.jb-page .nk-search .search-btn {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 9px;
  background: var(--t-brand);
  color: #FFFFFF;
  cursor: pointer;
}
body.jb-page .nk-search button:hover { background: var(--t-brand-hover); }

/* company-listing hero: dark scrim + legible title over the photo */
body.jb-page .company-hero-slider,
body.jb-page .hero-CListing {
  position: relative;
  isolation: isolate;
}
body.jb-page .company-hero-slider::after,
body.jb-page .hero-CListing::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(115deg, rgba(9, 22, 45, .82) 0%, rgba(16, 45, 88, .66) 48%, rgba(31, 111, 197, .48) 100%);
}
body.jb-page .company-hero-title {
  color: #FFFFFF;
  text-shadow: 0 2px 22px rgba(3, 14, 32, .45);
}
body.jb-page .company-hero-inner > p,
body.jb-page .company-hero-inner > .sub { color: rgba(255, 255, 255, .86); }
body.jb-page .company-hero-inner .industry-card p,
body.jb-page .industry-card p { color: var(--t-muted); }

/* job-detail tag pills */
body.jb-page .job-tags-l a,
body.jb-page .job-tags-l span,
body.jb-page .job-tags-l li {
  background: var(--t-brand-tint);
  border: 0;
  border-radius: 999px;
  color: var(--t-brand-text);
  font-weight: 600;
  font-size: 12.5px;
  padding: 4px 12px;
  text-decoration: none;
}
body.jb-page .job-tags-l a:hover { background: var(--t-surface-3); color: var(--t-ink); }

/* header search submit — matches style.css's own chain */
body.jb-page .nk-header-wrapper .nk-header .nk-center .nk-search button {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 9px;
  background: var(--t-brand);
  color: #FFFFFF;
}
body.jb-page .nk-header-wrapper .nk-header .nk-center .nk-search button:hover { background: var(--t-brand-hover); }
body.jb-page .nk-header-wrapper .nk-header .nk-center .nk-search button i { color: #FFFFFF; }

/* A meta/tag list whose items are all blank (a job with no city, no tags…)
   still reserved a row. Drop the wrapper, not just the item. */
/* Each of these is its own rule: one invalid selector in a list drops them all. */
body.jb-page .job-meta li:has(> i:only-child) { display: none !important; }
body.jb-page .job-meta li:empty { display: none !important; }
body.jb-page .job-tags:not(:has(li, a, span)) { display: none !important; }
body.jb-page .job-tags-l:not(:has(li, a, span)) { display: none !important; }
body.jb-page .company-tags:not(:has(span, .tag, .meta)) { display: none !important; }
body.jb-page .job-meta:not(:has(li)) { display: none !important; }
