/* NRH Sponsored Jobs 1.2.0 - presentation only, zero important-flags. Native look, clear "Sponsored" label. */

/* ---------- shared ---------- */
.nrh-job-logo.nrh-sj-logo--52 { --nrh-logo-size: 52px; }
.nrh-job-logo.nrh-sj-logo--42 { --nrh-logo-size: 42px; }
.nrh-sj-tags { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }
.nrh-sj-label {
  display: inline-block;
  padding: 1px 7px;
  border: 1px solid #d1d5db;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.5;
  color: #4b5563;
  background: #f8fafc;
}
.nrh-sj-new {
  display: inline-block;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.5;
  color: #ffffff;
  background: #15803d;
}
.nrh-sj-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.nrh-sj-cta {
  display: inline-block;
  padding: 7px 14px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  color: #ffffff;
  background: #0056b3;
  transition: background .16s ease;
}

/* ---------- big card (jobs list) ---------- */
.nrh-sj-card { position: relative; cursor: pointer; }
.nrh-sj-card .nrh-sj-stretch { color: inherit; text-decoration: none; }
.nrh-sj-card .nrh-sj-stretch::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.nrh-sj-card .nrh-listing-aside { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.nrh-sj-card:hover .nrh-sj-cta,
.nrh-sj-card:focus-within .nrh-sj-cta { background: #0b3d91; }
.nrh-sj-card:focus-within { outline: 2px solid #0056b3; outline-offset: 2px; }

/* ---------- rows (homepage, similar jobs, articles) ---------- */
.nrh-sj-rows { display: grid; gap: 10px; }
a.nrh-job-row.nrh-sj-row,
.nrh-sj-rows a.nrh-sj-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  color: inherit;
  text-decoration: none;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
a.nrh-job-row.nrh-sj-row:hover,
a.nrh-job-row.nrh-sj-row:focus {
  border-color: #c3d4ee;
  transform: translateY(-2px);
  box-shadow: 0 8px 22px -12px rgba(11, 61, 145, .32);
  text-decoration: none;
}
a.nrh-job-row.nrh-sj-row:hover .nrh-sj-cta,
a.nrh-job-row.nrh-sj-row:focus .nrh-sj-cta { background: #0b3d91; }
.nrh-sj-row .nrh-job-row-body { min-width: 0; }
.nrh-sj-row .nrh-job-row-title {
  font-size: 15.5px;
  font-weight: 700;
  line-height: 1.3;
  color: #0b3d91;
}
.nrh-sj-row .nrh-job-row-meta {
  display: block;
  margin-top: 3px;
  font-size: 13.5px;
  color: #4b5563;
}

/* ---------- blocks (articles, no results, closed fallback) ---------- */
.nrh-sj-block { margin: 32px 0; }
.nrh-sj-block .nrh-sj-head { margin-bottom: 12px; }
.nrh-sj-heading { margin: 0; font-size: 1.2rem; font-weight: 700; line-height: 1.3; color: #0b3d91; }
.nrh-sj-foot { margin: 10px 0 0; font-size: 12.5px; color: #6b7280; }
.nrh-sj-mid { margin: 24px 0; }

/* ---------- phones: full-width tap targets ---------- */
@media (max-width: 900px) {
  a.nrh-job-row.nrh-sj-row,
  .nrh-sj-rows a.nrh-sj-row { grid-template-columns: 36px minmax(0, 1fr); }
  .nrh-job-logo.nrh-sj-logo--42 { --nrh-logo-size: 36px; }
  .nrh-sj-row .nrh-sj-cta { grid-column: 1 / -1; justify-self: stretch; text-align: center; padding: 9px 14px; }
  .nrh-sj-card .nrh-listing-aside { align-items: stretch; }
  .nrh-sj-card .nrh-sj-cta { text-align: center; padding: 9px 14px; }
}
