/* Single Job Page — astra-child (v2). Reuses global --adv-* tokens from
   site-chrome.css; only page-scoped tokens are defined here. System fonts only. */

/* Self-contained base reset. Astra's stylesheet is fully dequeued on single job
   pages (inc/debloat.php), so this page supplies its own base layer. The chrome
   renders outside .amed-single-job, so these rules are intentionally global. */

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
}

/* Visually-hidden helper for the chrome's skip link. Astra/core normally supply
   `.screen-reader-text`, but both are dequeued on these pages (see inc/debloat.php),
   so we restore the canonical WordPress pattern: hidden visually, still reachable by
   screen readers, and revealed on keyboard focus (don't replace with display:none). */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  position: absolute !important;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  clip: auto !important;
  clip-path: none;
  display: block;
  top: 5px;
  left: 5px;
  width: auto;
  height: auto;
  padding: 15px 23px 14px;
  background-color: #fff;
  color: var(--adv-ink);
  font-size: 14px;
  line-height: normal;
  text-decoration: none;
  z-index: 100000;
}

.amed-single-job {
  /* New tokens with no global equivalent (scoped to this page). */
  --pay: #e0601f;
  --pay-d: #c24e14;
  --green: #119a63;
  --green-soft: #e2f5ec;
  --gold1: #c2901e;
  --gold2: #946c0a;
  --gold-soft: #faf1da;
  --line-2: #eef2f6;
  --card: #fff;
  --r: 14px;
  /* Matches the mockup's effective card shadow (== global --adv-shadow). */
  --shadow: 0 6px 22px rgba(15, 23, 34, 0.1);
  --shadow-lg: 0 16px 48px rgba(15, 23, 34, 0.18);

  background: var(--adv-panel);
  color: var(--adv-ink);
  font-family: system-ui, "Verdana", sans-serif;
  font-size: 16px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}

/* Form controls don't inherit font-family by default. */
.amed-single-job input,
.amed-single-job select,
.amed-single-job textarea,
.amed-single-job button {
  font-family: inherit;
}

/* Replace Astra's a:focus{outline:thin dotted} with an accessible focus-visible ring. */
.amed-single-job a:focus,
.amed-single-job button:focus {
  outline: none;
}

.amed-single-job a:focus-visible,
.amed-single-job button:focus-visible {
  outline: 2px solid var(--adv-teal);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ── Shell + grid ────────────────────────────────────────── */

.amed-single-job__shell {
  width: min(1340px, calc(100% - 40px));
  margin: 0 auto;
  padding: 22px 0 60px;
}

.amed-single-job__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 26px;
  align-items: start;
}

.amed-single-job__main {
  min-width: 0;
}

/* ── Breadcrumbs ─────────────────────────────────────────── */

.amed-job-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 6px;
  align-items: center;
  color: var(--adv-muted);
  font-size: 12.5px;
  margin-bottom: 12px;
}

.amed-job-breadcrumbs a {
  color: var(--adv-teal-d);
  font-weight: 600;
  text-decoration: none;
}

.amed-job-breadcrumbs a:hover {
  color: var(--adv-ink);
}

.amed-job-breadcrumbs span {
  color: #c3ccd6;
}

/* ── Header (title + facility) ───────────────────────────── */

.amed-job-header {
  margin-bottom: 16px;
}

.amed-job-title {
  font-size: 30px;
  line-height: 1.12;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--adv-ink);
  margin: 0 0 8px;
}

.amed-job-facility {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  align-items: center;
  font-size: 14.5px;
  color: var(--adv-slate);
}

.amed-job-facility__name {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  /* Reference renders the facility name as a teal link. */
  color: var(--adv-teal-d);
}

.amed-job-facility__loc {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.amed-job-facility svg {
  width: 15px;
  height: 15px;
  color: var(--adv-teal-d);
  flex: none;
}

/* ── Stat band ───────────────────────────────────────────── */

.amed-statband {
  background: var(--card);
  border: 1px solid var(--adv-line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  margin-bottom: 14px;
}

.amed-statband__urg {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  background: var(--gold-soft);
  border-bottom: 1px solid #ebdfbe;
  /* No overflow:hidden on the band (it clips the pay tooltip), so round the
     strip's own top corners to match the rounded band. */
  border-radius: calc(var(--r) - 1px) calc(var(--r) - 1px) 0 0;
  padding: 8px 18px;
  font-size: 12.5px;
  font-weight: 700;
  color: #7a5b12;
}

.amed-statband__urg svg {
  width: 14px;
  height: 14px;
  flex: none;
}

/* Keep the clock icon attached to the "Posted…" text when it wraps. */
.amed-statband__posted {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.amed-statband__posted svg {
  margin-top: 1px;
}

.amed-statband__open {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--green);
  font-weight: 700;
}

.amed-statband__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 3px var(--green-soft);
}

.amed-statband__sep {
  color: #d8c79a;
}

.amed-statband__stats {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
}

.amed-stat {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 15px 18px;
  border-right: 1px solid var(--line-2);
}

.amed-stat:last-child {
  border-right: none;
}

/* Title + Start Date stats are part of the mobile stat-band layout only. */
.amed-stat--m {
  display: none;
}

.amed-stat__l {
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--adv-muted);
  display: flex;
  align-items: center;
  gap: 4px;
}

.amed-stat__l .classic-tooltip {
  display: inline-flex;
  align-items: center;
}

.amed-stat__l .classic-tooltip svg {
  width: 12px;
  height: 12px;
}

.amed-stat__l .tooltip-content {
  text-transform: none;
  letter-spacing: normal;
}

.amed-single-job .amed-stat__l .classic-tooltip.tooltip-right .tooltip-content {
  width: 220px;
  right: -16px;
  transform: translateX(0);
}

.amed-stat__v {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.1;
  color: var(--adv-ink);
}

.amed-stat__sub {
  font-size: 12px;
  line-height: 1;
  color: var(--adv-muted);
}

.amed-stat--pay {
  background: linear-gradient(180deg, #fff7f2, #fff);
  /* Match the band's rounded bottom-left now that overflow no longer clips it. */
  border-bottom-left-radius: calc(var(--r) - 1px);
}

.amed-stat--pay .amed-stat__v {
  font-size: 27px;
  color: var(--pay);
  padding: 10px 0 6px;
}

/* ── Hero "I'm Interested" (mobile) + Ask row ────────────── */

.amed-heroapply {
  display: none;
  width: 100%;
  margin: 0 0 14px;
  background: linear-gradient(135deg, var(--gold1), var(--gold2));
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  padding: 13px;
  border-radius: 11px;
  text-align: center;
  text-decoration: none;
}

.amed-heroapply:hover {
  color: #fff;
  filter: brightness(1.05);
}

.amed-askrow {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 16px;
  font-size: 13.5px;
  color: var(--adv-slate);
}

.amed-askrow__btn,
.amed-ask-rail {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1.5px solid var(--adv-teal);
  color: var(--adv-teal-d);
  background: #fff;
  font-weight: 700;
  font-size: 13.5px;
  padding: 8px 15px;
  border-radius: 999px;
  cursor: pointer;
}

.amed-askrow__btn:hover,
.amed-ask-rail:hover {
  background: var(--adv-teal-soft);
}

.amed-askrow__btn svg,
.amed-ask-rail svg {
  width: 15px;
  height: 15px;
}

.amed-ask-rail {
  display: flex;
  width: fit-content;
  justify-content: center;
  margin: 12px auto 0;
  padding: 8px 16px;
  font-size: 14px;
  border-radius: 999px;
}

/* ── Section tabs — sticky segmented control + indicator ─── */

.amed-section-tabs {
  position: sticky;
  /* Clears the sticky site-chrome header (~76px desktop). */
  top: 84px;
  z-index: 120;
  display: flex;
  width: max-content;
  gap: 2px;
  max-width: 100%;
  margin: 0 0 18px;
  padding: 5px;
  background: #eef2f6;
  border: 1px solid var(--adv-line);
  border-radius: 999px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.amed-section-tabs::-webkit-scrollbar {
  display: none;
}

.amed-seg-ind {
  position: absolute;
  z-index: 1;
  top: 5px;
  bottom: 5px;
  left: 0;
  width: 0;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 1px 3px rgba(15, 23, 34, 0.14);
  transition:
    left 0.3s cubic-bezier(0.5, 0.05, 0.2, 1),
    width 0.3s cubic-bezier(0.5, 0.05, 0.2, 1);
}

.amed-section-tabs a {
  position: relative;
  z-index: 2;
  padding: 9px 16px;
  font-weight: 700;
  font-size: 14px;
  line-height: normal;
  color: var(--adv-slate);
  white-space: nowrap;
  border-radius: 999px;
  text-decoration: none;
  transition: color 0.2s;
}

.amed-section-tabs a:hover {
  color: var(--adv-ink);
}

.amed-section-tabs a.is-active {
  color: var(--adv-teal-d);
}

/* ── Content cards ───────────────────────────────────────── */

.amed-card {
  scroll-margin-top: 140px;
  background: var(--card);
  border: 1px solid var(--adv-line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  padding: 22px 24px;
  margin-bottom: 16px;
}

/* ── Tab-section dividers ─────────────────────────────────
   A 1px hairline floats in the gap above every tab section after the
   first (Overview). position:relative is safe here — these cards have no
   absolutely-positioned descendants anchored to them. */
#tab-requirements,
#tab-facility,
#tab-similar-jobs,
#tab-faqs,
#tab-job-search,
#tab-helpful-info {
  position: relative;
  margin-top: 40px;
}

#tab-requirements::before,
#tab-facility::before,
#tab-similar-jobs::before,
#tab-faqs::before,
#tab-job-search::before,
#tab-helpful-info::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -22px;
  height: 1px;
  background: var(--adv-line);
}

.amed-card h2 {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.01em;
  color: var(--adv-ink);
  margin: 0 0 12px;
}

.amed-copy-section p,
.amed-location p,
.amed-about p {
  font-size: 14.5px;
  line-height: 1.7;
  color: #36424f;
  margin: 0 0 12px;
}

.amed-copy-section p:last-child {
  margin-bottom: 0;
}

.amed-contact-note a,
.amed-location a,
.amed-about a {
  color: var(--adv-teal-d);
  text-decoration: none;
  font-weight: 600;
}

.amed-contact-note a:hover,
.amed-location a:hover {
  color: var(--adv-ink);
}

/* Secondary "guide" sections use the reference's smaller heading (h2.sm = 16px). */
.amed-location h2,
.amed-faq h2 {
  font-size: 16px;
}

/* The location shortcode emits a bare <div>, not <p>, so match the reference
   .prose body type (14.5px / #36424f / 1.7) on the wrapper and any inner <p>. */
.amed-location .location-summary,
.amed-location .location-summary p {
  font-size: 14.5px;
  line-height: 1.7;
  color: #36424f;
}

.amed-location .location-summary p {
  margin: 0 0 12px;
}

.amed-location .location-summary p:last-child {
  margin-bottom: 0;
}

.amed-job-details-section {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line-2);
}

/* ── Facility panel (matches reference: smaller heading, location line, disc list) ── */
#tab-facility h2 {
  font-size: 16px;
}

.amed-facloc {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  color: var(--adv-teal-d);
  margin: -6px 0 12px;
}

.amed-facloc svg {
  width: 15px;
  height: 15px;
}

#tab-facility ul {
  list-style: disc;
  padding-left: 26px;
  margin-top: 14px;
}

#tab-facility ul li {
  margin-bottom: 9px;
  font-size: 14px;
  line-height: 1.55;
  color: #36424f;
}

#tab-facility ul li::marker {
  color: var(--adv-ink);
}

#tab-facility ul li:last-child {
  margin-bottom: 0;
}

/* ── Licensing callout (compact NJ-board replacement from the reference) ── */
.amed-licensing h2 {
  font-size: 16px;
}

.amed-callout {
  display: flex;
  gap: 14px;
  align-items: center;
  background: var(--adv-teal-soft);
  border: 1px solid var(--adv-teal-line);
  border-radius: 12px;
  padding: 15px 40px 15px 15px;
}

.amed-callout svg {
  width: 26px;
  height: 26px;
  flex: none;
  color: var(--adv-teal-d);
}

.amed-callout__t {
  font-size: 13.5px;
  line-height: 1.6;
  color: #2a3b49;
}

.amed-callout__t b {
  color: var(--adv-ink);
}

.amed-callout__t a {
  font-weight: 700;
  color: var(--adv-teal-d);
  text-decoration: none;
}

.amed-callout__t a:hover {
  color: var(--adv-ink);
}

/* ── Check list ──────────────────────────────────────────── */

.amed-check-list {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
}

.amed-check-list li {
  position: relative;
  padding: 6px 0 6px 28px;
  font-size: 14px;
  color: #36424f;
  line-height: 1.5;
}

.amed-check-list li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--green-soft);
  color: var(--green);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}

.amed-check-list li strong {
  color: var(--adv-ink);
}

/* ── Similar jobs (simgrid / simcard) ────────────────────── */

.simgrid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.simcard {
  display: flex;
  gap: 16px;
  border: 1px solid var(--adv-line);
  border-radius: 12px;
  background: #fff;
  padding: 14px 16px;
  transition: 0.15s;
}

.simcard:hover {
  box-shadow: var(--shadow);
  border-color: var(--adv-teal-line);
}

.simbody {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.simbody a.st {
  font-weight: 700;
  font-size: 16px;
  color: var(--adv-teal-d);
  line-height: 1.25;
  text-decoration: none;
}

.simbody a.st:hover {
  color: var(--adv-navy);
}

.simbody .sf {
  font-size: 12.5px;
  color: var(--adv-muted);
}

.simdist {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 6px;
  color: var(--adv-ink);
  font-weight: 700;
  font-size: 14px;
  margin-top: 6px;
}

.simdist svg {
  width: 15px;
  height: 15px;
  color: var(--adv-teal-d);
  flex: none;
}

.simdist__sep {
  color: var(--adv-muted);
  font-weight: 700;
}

.simdist__rad {
  color: var(--adv-slate);
  font-size: 13px;
  font-weight: 700;
}

.simbottom {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 6px 13px;
  margin-top: 8px;
}

.simbottom .dot {
  color: var(--adv-line);
  font-weight: 700;
}

.simshift {
  font-size: 13.5px;
  color: var(--adv-slate);
  font-weight: 600;
}

.simpay {
  font-weight: 700;
  font-size: 20px;
  color: var(--pay);
}

.simpay small {
  font-size: 12px;
  color: var(--adv-muted);
  font-weight: 700;
}

.simside {
  flex: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
}

.simside .viewjob {
  font-size: 16px;
  font-weight: 700;
  color: var(--adv-teal-d);
  white-space: nowrap;
  text-decoration: none;
}

.simside .viewjob:hover {
  color: var(--adv-navy);
}

.simside .qapply {
  background: linear-gradient(135deg, var(--gold1), var(--gold2));
  color: #fff;
  font-weight: 700;
  font-size: 12.5px;
  padding: 7px 13px;
  border-radius: 9px;
  white-space: nowrap;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(148, 108, 10, 0.3);
}

.simside .qapply.is-disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.simside .qapply.is-disabled:hover {
  filter: none;
}

.simside .qapply:hover {
  color: #fff;
  filter: brightness(1.05);
}

.amed-similar__heading {
  margin-top: 4px;
}

.amed-similar__heading + .simgrid {
  margin-bottom: 18px;
}

/* ── Secondary button (View all / View Job Search) ───────── */

.secondary-button,
.view-all-similar-jobs {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: var(--adv-teal-soft);
  color: var(--adv-teal-d);
  border: none;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  cursor: pointer;
  transition: 0.18s;
}

.secondary-button:hover {
  background: var(--adv-teal-line);
  color: var(--adv-teal-d);
}

.view-all-similar-jobs {
  margin-top: 14px;
}

/* "View Similar" sidebar button — hidden on tablet/mobile */
.view-similar-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--pay);
  padding: 9px 22px;
  margin-bottom: 18px;
  border: 1px solid var(--pay);
  border-radius: 10px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  transition: 0.2s;
}

.view-similar-btn:hover {
  background: var(--pay);
  color: #fff;
}

/* ── Job search fields + market strip + chips ────────────── */

.amed-job-search__fields {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

/* Floating-label anchor selects (clone of the reference .fanchor). */
.amed-fanchor {
  position: relative;
  flex: 1;
  min-width: 150px;
}

.amed-fanchor label {
  position: absolute;
  top: 7px;
  left: 14px;
  z-index: 1;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--adv-muted);
  pointer-events: none;
}

/* The native select and the advSelect trigger that replaces it share one
   skin so the floating label, chevron and check line up over either. */
.amed-fanchor select,
.amed-fanchor .advs-trigger {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  padding: 22px 36px 9px 14px;
  border: 1.8px solid var(--adv-line);
  border-radius: 12px;
  background: #fff;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--adv-muted);
  cursor: pointer;
  transition: 0.15s;
}

.amed-fanchor select:hover,
.amed-fanchor .advs-trigger:hover {
  border-color: var(--adv-slate);
}

.amed-fanchor select:focus,
.amed-fanchor .advs-trigger:focus-visible,
.amed-fanchor .advs-trigger.is-open {
  outline: none;
  border-color: var(--adv-teal);
  box-shadow: 0 0 0 3px var(--adv-teal-soft);
}

.amed-fanchor__chev {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  color: var(--adv-slate);
  pointer-events: none;
}

.amed-fanchor__check {
  position: absolute;
  right: 34px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: var(--adv-teal-d);
  display: none;
}

.amed-fanchor.is-filled select,
.amed-fanchor.is-filled .advs-trigger {
  border-color: var(--adv-teal);
  background: var(--adv-teal-soft);
  color: var(--adv-teal-d);
  font-weight: 700;
}

.amed-fanchor.is-filled label,
.amed-fanchor.is-filled .amed-fanchor__chev {
  color: var(--adv-teal-d);
}

.amed-fanchor.is-filled .amed-fanchor__check {
  display: block;
}

/* Category with no specialties (e.g. LPN, CNA): filter is inert, not clickable. */
.amed-fanchor.is-disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.amed-fanchor.is-disabled select,
.amed-fanchor.is-disabled .advs-trigger {
  cursor: not-allowed;
  background: #f4f6f8;
  pointer-events: none;
}

/* Orange "change the State filter" hint under the search selects. */
.amed-js-tip {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  margin: 0 0 2px;
  padding: 10px 13px;
  background: #fff7ec;
  border: 1px solid #f3d9a6;
  border-radius: 10px;
  font-size: 13px;
  color: #6b4e16;
  line-height: 1.4;
}

.amed-js-tip svg {
  width: 16px;
  height: 16px;
  flex: none;
  color: #c77e12;
  margin-top: 1px;
}

.amed-js-tip b {
  color: #5a4110;
  font-weight: 800;
}

.amed-fchips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}

/* Chips now sit above the submit button — give it breathing room. */
#amed-job-search-submit {
  margin-top: 16px;
}

.amed-fchip {
  border: 1.5px solid var(--adv-line);
  background: #fff;
  color: var(--adv-slate);
  font-weight: 600;
  font-size: 13px;
  padding: 8px 13px;
  border-radius: 999px;
  text-decoration: none;
  transition: 0.12s;
}

.amed-fchip:hover {
  border-color: var(--adv-teal);
  background: var(--adv-teal-soft);
  color: var(--adv-teal-d);
}

/* ── FAQ accordion (details/summary) ─────────────────────── */

.amed-faq__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.amed-faq__head h2 {
  margin: 0;
}

.amed-faq__head--end {
  justify-content: flex-end;
}

.amed-faq__expand-all {
  appearance: none;
  -webkit-appearance: none;
  flex: none;
  white-space: nowrap;
  background: none;
  border: 0;
  padding: 8px 4px;
  font-family: inherit;
  font-weight: 700;
  font-size: 13px;
  color: var(--adv-teal-d);
  cursor: pointer;
}

.amed-faq__expand-all:hover {
  text-decoration: underline;
}

.amed-faq__expand-all:focus-visible {
  outline: 2px solid var(--adv-teal);
  outline-offset: 2px;
  border-radius: 6px;
}

/* Keep it flat on hover/focus (Astra themes all <button>s). */
button.amed-faq__expand-all:hover,
button.amed-faq__expand-all:focus {
  background: none;
  color: var(--adv-teal-d);
  box-shadow: none;
}

button.amed-faq__expand-all:hover {
  text-decoration: underline;
}

.amed-faq__item {
  border-top: 1px solid var(--adv-line);
}

.amed-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  padding: 15px 2px;
  font-weight: 700;
  font-size: 15px;
  color: var(--adv-ink);
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.amed-faq__question::-webkit-details-marker {
  display: none;
}

/* Toggle box: bordered rounded square with a plus that fills teal (→ ×) on open. */
.amed-faq__question::after {
  content: "";
  flex: none;
  box-sizing: border-box;
  width: 21px;
  height: 21px;
  border: 1.5px solid var(--adv-line);
  border-radius: 6px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.6'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")
    center / 12px 12px no-repeat;
  transition:
    transform 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease;
}

details[open] .amed-faq__question::after {
  border-color: var(--adv-teal);
  background: var(--adv-teal)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.6'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E")
    center / 12px 12px no-repeat;
  transform: rotate(45deg);
}

.amed-faq__answer {
  padding: 0 2px 16px;
  font-size: 14px;
  line-height: 1.6;
  color: #36424f;
}

/* Multi-paragraph answers ship explicit <p> wrappers; drop the leading gap so
   they start flush with the question like the single-paragraph answers do. */

.amed-faq__answer p {
  margin-top: 0;
}

.amed-faq__answer p:last-child {
  margin-bottom: 0;
}

/* State-license / faq-question-container (from {state_license_jobs} tag) */

.faq-question-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 800px;
}

.faq-question-container .left {
  width: 60%;
}

.faq-question-container .right {
  width: 35%;
}

.faq-question-container .title {
  width: 100%;
  color: var(--adv-ink);
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 10px;
}

.faq-question-container .section-title {
  color: var(--adv-ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  margin: 12px 0 8px;
}

.faq-question-container .sub-heading {
  font-weight: 600;
  margin-bottom: 5px;
  color: var(--adv-ink);
}

.faq-question-container .text {
  color: #36424f;
  margin: 5px 0;
  font-size: 14.5px;
}

.faq-question-container .link {
  color: var(--adv-teal-d);
  text-decoration: none;
  font-weight: 600;
  word-wrap: break-word;
}

.faq-question-container .link:hover {
  color: var(--adv-navy);
}

.faq-question-container .list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.faq-question-container .list li {
  margin: 5px 0;
}

/* ── About → gold-card (dark promo) ──────────────────────── */

.amed-gold-card {
  background: var(--card);
  border: 1px solid var(--adv-line);
  color: var(--adv-ink);
}

.amed-gold-card h2 {
  font-size: 24px;
  color: var(--adv-ink);
}

.amed-gold-card p {
  color: #36424f;
  font-size: 14px;
  line-height: 1.7;
}

.amed-about a.amed-gold-standard-link {
  position: relative;
  font-weight: 700;
  text-decoration: none;
  /* Gold gradient text (same gradient as the Quick Apply submit button). */
  color: var(--gold2);
  background: linear-gradient(135deg, var(--gold1), var(--gold2));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Gradient underline that wipes in on hover, replacing the plain underline. */
.amed-about a.amed-gold-standard-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(135deg, var(--gold1), var(--gold2));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s ease;
}

.amed-about a.amed-gold-standard-link:hover::after {
  transform: scaleX(1);
}

/* ── Sidebar / apply rail ────────────────────────────────── */

.amed-single-job__side {
  min-width: 0;
  height: 100%;
}

.amed-side-sticky {
  position: sticky;
  top: 84px;
  display: flex;
  flex-direction: column;
}

.amed-quick-apply {
  background: var(--card);
  border: 1px solid var(--adv-line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  padding: 20px;
  margin-bottom: 14px;
  /* Clears the sticky header when the "I'm Interested" buttons scroll here. */
  scroll-margin-top: 84px;
}

.amed-alertcard {
  background: var(--adv-teal-soft);
  border: 1px solid var(--adv-teal-line);
  border-radius: var(--r);
  padding: 16px 18px;
  margin-bottom: 14px;
}

.amed-alertcard h3 {
  font-size: 15px;
  font-weight: 700;
  color: var(--adv-ink);
  margin: 0;
}

.amed-alertcard p {
  font-size: 12.5px;
  color: #2a3b49;
  margin: 5px 0 11px;
}

.amed-alertrow {
  display: flex;
  gap: 8px;
}

.amed-alertrow input {
  flex: 1;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--adv-teal-line);
  border-radius: 9px;
  font-size: 13px;
  background: #fff;
  color: var(--adv-ink);
}

.amed-alertrow input:focus {
  outline: none;
  border-color: var(--adv-teal);
  box-shadow: 0 0 0 3px var(--adv-teal-soft);
}

.amed-alertrow__btn {
  flex: none;
  background: var(--adv-teal-d);
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  padding: 0 16px;
  border: none;
  border-radius: 9px;
  white-space: nowrap;
  cursor: pointer;
}

.amed-alertrow__btn:hover {
  filter: brightness(1.05);
}

/* Apply-rail supporting copy (micro / trust / legal) */
.amed-apply-micro {
  text-align: center;
  font-size: 11.5px;
  color: var(--adv-muted);
  margin: 9px 0 0;
}

/* Inline error shown by interest-modal.js when the lead API call fails. */
.amed-apply-error {
  margin: 12px 0 0;
  padding: 10px 12px;
  border: 1px solid #f1b4b4;
  border-radius: 8px;
  background: #fdf2f2;
  color: #b32d2e;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
}

.amed-apply-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 7px;
  margin: 12px 0 0;
  padding-block: 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--adv-ink);
  text-align: center;
}

.amed-apply-trust svg {
  width: 14px;
  height: 14px;
  color: var(--gold1);
  flex: none;
}

.amed-apply-legal {
  font-size: 10px;
  line-height: 1.4;
  color: #aab4bf;
  margin: 10px 0 0;
}

.amed-apply-legal a {
  color: #8a97a5;
  text-decoration: underline;
}

.amed-call-us {
  margin: 14px 0 0;
  text-align: center;
  font-size: 12.5px;
  color: var(--adv-slate);
}

.amed-call-us a {
  color: var(--adv-teal-d);
  font-weight: 700;
  text-decoration: none;
}

.amed-call-us a:hover {
  color: var(--adv-ink);
}

/* ── Apply success panel (shown after submit / ?debug=true) ──
   No display rule here: visibility is toggled via the [hidden]
   attribute in interest-modal.js (a class rule would beat [hidden]). */
.amed-apply-success {
  /* Same card chrome as .amed-quick-apply so the panel reads as its replacement. */
  background: var(--card);
  border: 1px solid var(--adv-line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  margin-bottom: 14px;
  padding: 20px;
  text-align: center;
}

.amed-apply-success__badge {
  width: 52px;
  height: 52px;
  margin: 6px auto 12px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green-soft);
  color: var(--green);
}

.amed-apply-success__badge svg {
  width: 28px;
  height: 28px;
}

.amed-apply-success h2 {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--adv-ink);
}

.amed-apply-success > p {
  margin: 8px 0 16px;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--adv-slate);
}

.amed-apply-success__more {
  display: block;
  width: 100%;
  margin-top: 20px;
  padding: 14px;
  border: none;
  border-radius: 11px;
  background: var(--adv-cta);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(28, 138, 210, 0.35);
  transition: filter 0.2s ease;
}

.amed-apply-success__more:hover {
  filter: brightness(1.05);
}

/* Child selector needed to outrank `.amed-apply-success > p` above. */
.amed-apply-success > .amed-apply-success__help {
  margin: 20px 0 0;
}

.amed-apply-success__finish {
  display: block;
  width: 100%;
  padding: 11px;
  border: 1.5px solid var(--adv-teal);
  border-radius: 11px;
  background: #fff;
  color: var(--adv-teal-d);
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

.amed-apply-success__finish:hover {
  background: var(--adv-teal-soft);
}

/* Filled-job sidebar overview card */

.amed-side-overview {
  background: var(--card);
  border: 1px solid var(--adv-line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  padding: 24px 20px;
  margin-bottom: 14px;
}

.amed-side-overview__label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--adv-teal-d);
  margin: 0 0 4px;
}

.amed-side-overview__title {
  font-size: 19px;
  line-height: 1.3;
  font-weight: 700;
  color: var(--adv-ink);
  margin: 0 0 14px;
}

.amed-side-overview__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.amed-side-overview__list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  font-size: 14.5px;
  line-height: 1.5;
  color: #36424f;
}

.amed-side-overview__list svg {
  flex-shrink: 0;
  color: var(--adv-teal-d);
}

/* ── Contact Form 7 inside the apply rail / modal ────────── */

.amed-quick-apply .wpcf7,
.contact-question-modal .wpcf7 {
  margin: 0;
}

.amed-quick-apply .wpcf7 p,
.contact-question-modal .wpcf7 p {
  margin: 0 0 12px;
}

.amed-quick-apply .wpcf7 form > div,
.amed-quick-apply .wpcf7 form > p,
.contact-question-modal .wpcf7 form > div,
.contact-question-modal .wpcf7 form > p {
  margin-bottom: 0;
}

.amed-quick-apply
  .wpcf7
  input.wpcf7-form-control:not([type="submit"]):not([type="checkbox"]),
.amed-quick-apply .wpcf7 textarea.wpcf7-form-control,
.contact-question-modal
  .wpcf7
  input.wpcf7-form-control:not([type="submit"]):not([type="checkbox"]),
.contact-question-modal .wpcf7 textarea.wpcf7-form-control {
  width: 100%;
  min-height: 48px;
  padding: 11px 14px;
  border: 1px solid var(--adv-line);
  border-radius: 10px;
  font: inherit;
  font-size: 14px;
  color: var(--adv-ink);
  background: #fff;
}

.amed-quick-apply .wpcf7 input.wpcf7-form-control:not([type="submit"]):focus,
.amed-quick-apply .wpcf7 textarea.wpcf7-form-control:focus,
.contact-question-modal
  .wpcf7
  input.wpcf7-form-control:not([type="submit"]):focus,
.contact-question-modal .wpcf7 textarea.wpcf7-form-control:focus {
  outline: none;
  border-color: var(--adv-teal);
  box-shadow: 0 0 0 3px var(--adv-teal-soft);
}

/* Apply CTA stays gold; the contact modal's "send" button is teal (reference .modal .send). */
.amed-quick-apply input[type="submit"],
.amed-quick-apply input.interest-button-submit,
.amed-quick-apply button[type="submit"],
.amed-quick-apply .wpcf7-submit,
.contact-question-modal input[type="submit"],
.contact-question-modal button[type="submit"],
.contact-question-modal .wpcf7-submit {
  color: #fff !important;
  width: 100% !important;
  max-width: 100% !important;
  border: none !important;
  border-radius: 11px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  line-height: normal !important;
  text-align: center;
  transition: filter 0.2s ease !important;
}

.amed-quick-apply input[type="submit"],
.amed-quick-apply input.interest-button-submit,
.amed-quick-apply button[type="submit"],
.amed-quick-apply .wpcf7-submit {
  background: linear-gradient(135deg, var(--gold1), var(--gold2)) !important;
  padding: 14px !important;
  font-size: 18px !important;
  box-shadow: 0 4px 14px rgba(148, 108, 10, 0.35) !important;
}

.contact-question-modal input[type="submit"],
.contact-question-modal button[type="submit"],
.contact-question-modal .wpcf7-submit {
  background: var(--adv-teal) !important;
  padding: 13px !important;
  font-size: 15px !important;
}

.amed-quick-apply input[type="submit"]:hover,
.amed-quick-apply input.interest-button-submit:hover,
.amed-quick-apply button[type="submit"]:hover,
.amed-quick-apply .wpcf7-submit:hover {
  filter: brightness(1.05) !important;
}

.contact-question-modal input[type="submit"]:hover,
.contact-question-modal button[type="submit"]:hover,
.contact-question-modal .wpcf7-submit:hover {
  background: var(--adv-teal-d) !important;
}

/* CF7 wraps the submit in a centered .submit-button-wrapper > p; force that
   chain full-width so the gold "Apply Now" button spans the card. */
.amed-quick-apply .submit-button-wrapper,
.contact-question-modal .submit-button-wrapper {
  display: block;
}

.amed-quick-apply .submit-button-wrapper p,
.contact-question-modal .submit-button-wrapper p {
  display: block;
  width: 100%;
  margin: 0;
}

/* ── CF7 validation feedback ─────────────────────────────── */

/* Per-field error tip */
.amed-quick-apply .wpcf7-not-valid-tip,
.contact-question-modal .wpcf7-not-valid-tip {
  display: block;
  margin-top: 5px;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.35;
  color: #c0392b;
}

/* Invalid field outline */
.amed-quick-apply .wpcf7-form-control.wpcf7-not-valid,
.contact-question-modal .wpcf7-form-control.wpcf7-not-valid {
  border-color: #e08a83 !important;
  box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.1) !important;
}

/* Form-level response banner (defaults to the error look) */
.amed-quick-apply .wpcf7-response-output,
.contact-question-modal .wpcf7-response-output {
  margin: 14px 0 0 !important;
  padding: 10px 14px !important;
  border: 1px solid #e08a83 !important;
  border-radius: 9px;
  font-size: 12.5px;
  line-height: 1.45;
  color: #8a2a1f;
  background: #fdecea;
}

/* Hide the empty placeholder banner CF7 prints before submit */
.amed-quick-apply .wpcf7-response-output:empty,
.contact-question-modal .wpcf7-response-output:empty {
  display: none;
}

/* Success state (CF7 adds .sent on the form) */
.amed-quick-apply .wpcf7-form.sent .wpcf7-response-output,
.contact-question-modal .wpcf7-form.sent .wpcf7-response-output {
  border-color: rgba(17, 154, 99, 0.45) !important;
  background: var(--green-soft);
  color: #0f5132;
}

#primary .interested-form-wrap h2 {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  margin: 0 0 7px;
  color: var(--adv-ink);
}

.interested-form-wrap .sub-heading {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  color: var(--adv-slate);
  margin: 4px 0 14px;
  padding-bottom: 5px;
}

/* Two-up field rows (replaces the form's old inline flex styles) */
.interested-form-wrap .amed-ff-row {
  display: flex;
  gap: 9px;
}

.interesred-form {
  flex: 1;
  min-width: 0;
}

.interested-form-wrap .amed-optin-wrap {
  margin: 4px 0 14px;
}

.interested-form-wrap .italic-text {
  display: inline-block;
}

.interested-form-wrap .italic-text br {
  display: none;
}

.interested-form-wrap .opt-in-checkbox .wpcf7-list-item-label {
  font-size: 11px;
  line-height: 1.4;
  color: #7c7c7c;
  font-weight: 500;
}

.interested-form-wrap .opt-in-checkbox input[type="checkbox"] {
  width: 13px;
  height: 13px;
}

@media (min-width: 768px) {
  .interested-form-wrap .fields-wrap-1 {
    margin: 0;
  }
}

/* Hide loading spinner on allied open jobs */
body.job-allied-open .wpcf7-spinner {
  display: none;
}

/* ── Facility tags (radius/RN cards) ─────────────────────── */

.facility-tags-container {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.facility-tags-container .classic-tooltip {
  margin: 0;
}

.facility-tags-container .tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 2;
  font-weight: 500;
  color: #000;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: all 0.3s ease;
}

.facility-tags-container .tag:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

body.job-allied-open .facility-tags-container {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* ── Classic tooltip ─────────────────────────────────────── */

.classic-tooltip {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

.classic-tooltip:has(.tooltip-content) {
  cursor: pointer;
}

.classic-tooltip .tooltip-content {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  z-index: 130;
  transition: opacity 0.3s ease;
  pointer-events: none;
  bottom: 130%;
  left: 50%;
  transform: translateX(-50%);
  background: var(--adv-ink);
  color: #fff;
  padding: 12px 18px;
  border-radius: 8px;
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.5;
  width: 280px;
  max-width: 30ch;
  text-align: center;
  margin: 0;
  white-space: normal;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.classic-tooltip .tooltip-content::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -8px;
  border-width: 8px;
  border-style: solid;
  border-color: var(--adv-ink) transparent transparent transparent;
}

.classic-tooltip:hover .tooltip-content,
.classic-tooltip.active .tooltip-content {
  visibility: visible;
  opacity: 1;
}

.classic-tooltip:has(.tooltip-content) strong {
  text-decoration: underline dotted;
  text-underline-offset: 4px;
}

.classic-tooltip .tooltip-content ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.classic-tooltip .tooltip-content ul li {
  font-size: 13.5px;
  color: #fff;
  text-align: left;
  margin: 0 0 3px;
  padding: 0;
}

.classic-tooltip .tooltip-content ul li::before {
  display: none;
}

.classic-tooltip.tooltip-left .tooltip-content {
  left: 0;
  transform: translateX(0);
}

.classic-tooltip.tooltip-left .tooltip-content::after {
  left: 20px;
  right: auto;
}

.classic-tooltip.tooltip-right .tooltip-content {
  left: auto;
  right: 0;
  transform: translateX(0);
}

.amed-single-job .classic-tooltip.tooltip-right .tooltip-content {
  transform: translateX(20px);
}

.classic-tooltip.tooltip-right .tooltip-content::after {
  left: auto;
  right: 20px;
}

.classic-tooltip.tooltip-top .tooltip-content {
  bottom: auto;
  top: 130%;
}

.classic-tooltip.tooltip-top .tooltip-content::after {
  top: auto;
  bottom: 100%;
  border-color: transparent transparent var(--adv-ink) transparent;
}

.tooltip-content .close-btn {
  display: none;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
}

/* ── Read-more toggles (overview + facility, mobile) ─────── */

.overview-expandable-content {
  display: none;
}

.overview-read-more-toggle,
.overview-read-less-toggle,
.amed-facility-read-toggle {
  display: inline;
  font-weight: 600;
  color: var(--adv-teal-d);
  text-decoration: none;
}

.overview-read-more-toggle:hover,
.overview-read-less-toggle:hover,
.amed-facility-read-toggle:hover {
  color: var(--adv-navy);
}

.amed-facility-read-toggle {
  display: none;
}

@media (min-width: 768px) {
  .overview-expandable-content {
    display: block !important;
  }

  .overview-read-more-toggle,
  .overview-read-less-toggle {
    display: none !important;
  }
}

/* ── Contact question modal (→ v2 modal look) ────────────── */

.contact-question-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(15, 23, 34, 0.55);
  padding: 20px;
  justify-content: center;
  align-items: center;
}

.contact-question-modal.is-open {
  display: flex;
}

.contact-question-modal__dialog {
  position: relative;
  background: #fff;
  border-radius: 18px;
  box-shadow: var(--shadow-lg);
  width: 100%;
  max-width: 480px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 26px;
  animation: amed-modal-pop 0.2s ease;
}

@keyframes amed-modal-pop {
  from {
    transform: translateY(10px);
    opacity: 0;
  }
  to {
    transform: none;
    opacity: 1;
  }
}

.contact-question-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  background: none;
  border: none;
  border-radius: 50%;
  color: var(--adv-muted);
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.contact-question-modal__close:hover {
  background: var(--adv-panel);
  color: var(--adv-ink);
}

.contact-question-modal__close svg {
  display: block;
  width: 18px;
  height: 18px;
}

/* Modal header rendered by the template (job-context pill needs live data). */
.contact-question-modal__title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--adv-ink);
  margin: 0;
}

.contact-question-modal__sub {
  font-size: 13.5px;
  color: var(--adv-slate);
  line-height: 1.4;
  margin: 3px 0 4px;
}

.contact-question-modal__ctx {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 8px 0 16px;
  padding: 5px 10px;
  background: var(--adv-teal-soft);
  color: var(--adv-teal-d);
  font-size: 12px;
  font-weight: 700;
  border-radius: 999px;
}

.contact-question-modal__ctx svg {
  width: 13px;
  height: 13px;
  flex: none;
}

/* ── Gold Standard YouTube modal ─────────────────────────── */

.amed-video-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.85);
  justify-content: center;
  align-items: center;
}

.amed-video-modal.is-open {
  display: flex;
}

.amed-video-modal__dialog {
  position: relative;
  width: 90%;
  max-width: 640px;
}

.amed-video-modal__close {
  position: absolute;
  top: -40px;
  right: 0;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  line-height: 0;
}

.amed-video-modal__embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #000;
}

.amed-video-modal__embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ── Mobile sticky bottom apply bar ──────────────────────── */

.amed-mbar {
  display: none;
}

/* Visitor already applied to this job (interest-modal.js adds this body
   class when the success panel shows): retire the apply CTAs entirely.
   display:none beats the mobile .amed-mbar { display: flex } and
   .amed-mbar.is-visible reveal, whose translateY/opacity hide can still
   leave the bar's edge peeking at the viewport bottom. */
body.amed-job-applied .amed-heroapply,
body.amed-job-applied .amed-mbar {
  display: none;
}

/* Honor reduced-motion: reveal the mobile bar without the slide. */
@media (prefers-reduced-motion: reduce) {
  .amed-mbar {
    transition: opacity 0.2s ease !important;
    transform: none !important;
  }
}

/* ── Filled job notice ───────────────────────────────────── */

.amed-job-filled-notice {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--adv-teal-soft);
  border-color: var(--adv-teal-line);
  box-shadow: none;
}

.amed-job-filled-notice h2 {
  margin: 0 0 5px;
  text-transform: uppercase;
  color: var(--pay-d);
}

.amed-job-filled-notice p {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

/* ── Filled job: "Update Job Preferences" + filters canvas ── */

.job-criteria-container {
  position: sticky;
  top: 84px;
  z-index: 110;
  width: 100%;
  margin-bottom: 18px;
  padding: 12px 0;
  background: var(--adv-panel);
  display: none;
}

.job-criteria-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 16px;
  background: var(--adv-teal-soft);
  border: none;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  color: var(--adv-teal-d);
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.job-criteria-button:hover {
  transform: translateY(-1px);
  color: var(--adv-teal-d);
}

.job-criteria-button .search-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.filters-canvas-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}

.filters-canvas-overlay.active {
  opacity: 1;
  visibility: visible;
}

.filters-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 340px;
  max-width: 85vw;
  height: 100%;
  z-index: 9999;
  background: #fff;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  box-shadow: 2px 0 12px rgba(0, 0, 0, 0.15);
}

.filters-canvas.open {
  transform: translateX(0);
}

.filters-canvas-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid var(--adv-line);
}

.filters-canvas-header h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

.filters-canvas-close {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  background: none;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.2s;
}

.filters-canvas-close:hover {
  background: var(--adv-panel);
}

.filters-canvas-body {
  padding: 24px 24px 0;
  overflow-y: auto;
}

.filters-canvas-field {
  margin-bottom: 16px;
}

.filters-canvas-field label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.filters-canvas-field select {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--adv-line);
  border-radius: 10px;
  background: #fff;
  color: var(--adv-ink);
  font-size: 14px;
  padding: 0 12px;
}

.filters-canvas-footer {
  padding: 10px 24px 24px;
}

.canvas-search-btn {
  width: 100%;
  justify-content: center;
}

body.filters-canvas-open {
  overflow: hidden;
}

/* ── Recommended Reading blog cards ──────────────────────── */

.dynamic-blogs-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: 1.5rem 0 0;
}

.dynamic-blogs-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid var(--adv-line);
  border-radius: var(--r);
  overflow: hidden;
  box-shadow: var(--shadow);
}

.dynamic-blogs-image {
  width: 100%;
  height: 200px !important;
  object-fit: cover;
  object-position: center;
}

.dynamic-blogs-content {
  padding: 1.25rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.dynamic-blogs-title a {
  font-size: 18px;
  font-weight: 700;
  color: var(--adv-ink);
  line-height: 1.4;
}

.dynamic-blogs-title a:hover {
  color: var(--adv-teal-d);
}

.dynamic-blogs-excerpt {
  flex-grow: 1;
  margin: 8px 0 20px;
  font-size: 14px;
  color: #36424f;
}

.dynamic-blogs-categories {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin: 0.5rem 0 1rem;
}

.dynamic-blogs-categories a {
  display: inline-block;
  color: var(--adv-teal-d);
  text-decoration: none;
  background: var(--adv-teal-soft);
  padding: 0 6px;
  border-radius: 6px;
  font-size: 13px;
}

.dynamic-blogs-button {
  width: fit-content;
  margin-top: auto;
  padding: 10px 20px;
  border: none;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  background: var(--adv-teal-d);
  color: #fff;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.dynamic-blogs-button:hover {
  background: var(--adv-teal);
  color: #fff;
}

/* ── Responsive ──────────────────────────────────────────── */

/* Tablet + below: single column, rail moves above main, no minibar. */
@media (max-width: 1024px) {
  .amed-single-job__grid {
    grid-template-columns: 1fr;
  }

  /* No-JS fallback position (inert once the rail has been relocated into the
     main column). The pre-paint hide that stops it flashing here is inlined in
     wp_head — see the advantis-qa-relocate block in functions.php. */
  .amed-single-job__side {
    order: -1;
  }

  .amed-side-sticky {
    position: static;
  }

  .amed-minibar {
    display: none;
  }

  .view-similar-btn {
    display: none;
  }
}

/* Desktop only: Quick Apply scroll tab hidden (form is in the rail). */
@media (min-width: 1025px) {
  .amed-section-tabs a[href="#amed-quick-apply-form"] {
    display: none;
  }
}

@media (max-width: 768px) {
  .amed-single-job__shell {
    width: min(100% - 32px, 1180px);
    padding-top: 16px;
  }

  .amed-job-title {
    font-size: 22px;
  }

  .amed-job-facility {
    display: none;
  }

  /* Tighter card padding suits the narrower screen (was 22px 24px). */
  .amed-card,
  .amed-quick-apply,
  .amed-apply-success {
    padding: 16px 20px;
  }

  /* Break the tab bar out of the inset shell to full viewport width. The sliding
     indicator stays aligned — it's placed from the active tab's offsetLeft,
     which already accounts for the 16px inline padding. */
  .amed-section-tabs {
    top: 69px;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    padding: 5px 16px;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
  }

  /* Keep the clock icon on the first line of the wrapping "Posted…" text. */
  .amed-statband__posted {
    align-items: flex-start;
  }

  /* Quick Apply / "I'm Interested" must clear BOTH sticky bars (header 69 + tabs 48)
     plus a small gap so the form's top edge isn't flush against the tab bar. */
  .amed-quick-apply {
    scroll-margin-top: 130px;
  }

  .amed-statband__stats {
    grid-template-columns: 1fr 1fr;
  }

  .amed-stat {
    border-bottom: 1px solid var(--line-2);
  }

  /* Reveal the mobile-only Title and Start Date stats. */
  .amed-stat--m {
    display: flex;
  }

  /* Mobile order: title (full width) → specialty/shift → start/contract → pay
     (full width, last). Title is first in the DOM; only pay needs reordering. */
  .amed-stat--title,
  .amed-stat--pay {
    grid-column: span 2;
  }

  .amed-stat--title .amed-stat__l {
    color: var(--adv-teal-d);
    margin-bottom: 5px;
  }

  .amed-stat--pay {
    order: 1;
    text-align: center;
    align-items: center;
  }

  .amed-stat--pay .amed-stat__v {
    font-size: 32px;
    padding: 6px 0;
  }

  /* Equal-height cells, content top-aligned (not space-between) so values stay
     on one row even though Specialty's sub is hidden below. */
  .amed-stat--specialty,
  .amed-stat--start,
  .amed-stat:not(.amed-stat--m):not(.amed-stat--pay):not(
      .amed-stat--specialty
    ) {
    justify-content: flex-start;
    gap: 7px;
    min-height: 84px;
  }

  /* Specialty's "Travel · RN" sub is redundant beside the new Title stat. */
  .amed-stat--specialty .amed-stat__sub {
    display: none;
  }

  .amed-heroapply {
    display: block;
    margin: 0 0 20px;
  }

  /* Stack the filter selects full-width so values don't truncate. */
  .amed-job-search__fields {
    flex-direction: column;
    align-items: stretch;
  }

  .amed-fanchor {
    flex: 1 1 100%;
    min-width: 0;
  }

  /* Match the dropdown panel to its (full-width) anchor, as on the archive. */
  .amed-job-search__fields .advs-panel {
    width: 100%;
    max-width: 100%;
  }

  .simcard {
    flex-direction: column;
    gap: 10px;
  }

  .simside {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .amed-gold-card,
  .dynamic-blogs-grid {
    grid-template-columns: 1fr;
  }

  .amed-gold-card h2 {
    font-size: 19px;
  }

  /* Full-width mobile sticky bar — sits outside the inset shell, so no
     negative margin (that was pinning the pay to the screen edge). */
  .amed-mbar {
    display: flex;
    position: sticky;
    bottom: 0;
    z-index: 200;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 11px 16px;
    background: #fff;
    border-top: 1px solid var(--adv-line);
    box-shadow: 0 -6px 20px rgba(15, 23, 34, 0.08);
    /* Hidden until the hero "I'm Interested" button scrolls out of view
       (toggled by single-job.js via IntersectionObserver). */
    transform: translateY(120%);
    opacity: 0;
    visibility: hidden;
    transition:
      transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
      opacity 0.32s ease,
      visibility 0s linear 0.32s;
  }

  .amed-mbar.is-visible {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    transition:
      transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
      opacity 0.32s ease;
  }

  .amed-mbar__pay {
    flex: none;
    font-weight: 700;
    font-size: 19px;
    color: var(--pay);
    line-height: 1.05;
  }

  .amed-mbar__pay small {
    display: block;
    margin-top: 2px;
    font-size: 11px;
    color: var(--adv-muted);
    font-weight: 700;
  }

  .amed-mbar__cta {
    flex: 1;
    padding: 13px;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    background: linear-gradient(135deg, var(--gold1), var(--gold2));
    color: #fff;
    border-radius: 11px;
  }

  .faq-question-container .left,
  .faq-question-container .right {
    width: 100%;
  }

  /* Comfortable touch targets for the small pill controls. */
  .amed-section-tabs a {
    padding: 10px 18px;
  }

  .amed-fchip {
    padding: 12px 16px;
  }

  /* Touch: tooltips become tappable + show a close button. */
  .classic-tooltip .tooltip-content {
    pointer-events: all;
  }

  /* Keep the tooltip anchored to its trigger (as on desktop / workscout-child)
     so it scrolls out of view with the page instead of being pinned to the
     viewport centre. The JS adds tooltip-left/right/top to keep it on-screen. */
  .amed-single-job .classic-tooltip:hover .tooltip-content,
  .amed-single-job .classic-tooltip.active .tooltip-content {
    width: min(240px, calc(100vw - 32px));
    max-width: none;
  }

  /* tooltip-right anchors its right edge to the trigger then nudges +20px
     (desktop rule above); at 280px wide that pushed the left edge past the
     viewport edge on narrow screens. Narrower width + a bigger rightward
     nudge keeps a minimum left-side margin. */
  .amed-single-job .classic-tooltip.tooltip-right .tooltip-content {
    transform: translateX(40px);
  }

  .amed-single-job .classic-tooltip.tooltip-left .tooltip-content {
    left: 16px;
    transform: translateX(0);
  }

  .classic-tooltip .tooltip-content::after {
    display: none;
  }

  .tooltip-content .close-btn {
    display: block;
    position: absolute;
    top: 8px;
    right: 10px;
    font-size: 16px;
    padding: 0;
    line-height: 1;
  }

  /* Facility list collapse on mobile (read-more toggle reveals the rest). */
  #tab-facility .amed-facility-read-toggle {
    display: inline;
    margin-left: 4px;
  }

  #tab-facility.amed-facility-list-collapsible.is-collapsed
    ul:first-of-type
    > li:nth-child(n + 2) {
    display: none;
  }
}

/* ── Accessibility: reduced motion ───────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .amed-seg-ind,
  .simcard,
  .filters-canvas,
  .filters-canvas-overlay {
    transition-duration: 0.01ms !important;
  }

  .amed-modal__dialog,
  .contact-question-modal__dialog {
    animation-duration: 0.01ms !important;
  }
}

/* Uniform 18px h2s. Scoped to #primary so it beats per-component sizes
   (incl. the ID-specificity #tab-facility h2) without !important. */
#primary h2 {
  font-size: 18px;
}
