/* ============================================================
   LABBRARY TELEHEALTH AND CARE PROGRAM STYLESHEET
   Additive layer for the first telehealth slice: access journey
   strip, offering card, pathway label,
   access tables, and the three first slice page templates.
   Loads after intellehealth.css, intellehealth-expansion.css,
   intellehealth-dynamic.css, intellehealth-provider-directory.css,
   and intellehealth-test-detail.css. Redefines no approved
   selector. Declares no new color, font, radius, shadow, or
   spacing value. Every value references an approved custom
   property or inherits from an approved class.

   Sections
   01 Fixture flag
   02 Lane tag on records
   03 Access journey strip
   05 Offering card (extends .intelle-pdir-card)
   06 Pathway label (extends .intelle-evidence)
   07 Provider note beneath a pending value
   08 Access tables (extend .intelle-hub-table)
   09 Page composition helpers
   10 Reduced motion and print
   ============================================================ */

/* ------------------------------------------------------------
   01 FIXTURE FLAG
   The server never emits draft_candidate or needs_human_qa
   records on public URLs. This rule is a second guard: with the
   flag off, any element still marked as fixture or unreviewed
   disappears from the rendered page.
   ------------------------------------------------------------ */
html[data-intelle-fixtures="off"] [data-fixture],
html[data-intelle-fixtures="off"] [data-qa-state="draft_candidate"],
html[data-intelle-fixtures="off"] [data-qa-state="needs_human_qa"] {
  display: none !important;
}

/* ------------------------------------------------------------
   02 LANE TAG ON RECORDS
   The eyebrow that names the record type. Extends
   .intelle-eyebrow; the lane name is text, never a color.
   ------------------------------------------------------------ */
.intelle-lane-tag { margin-bottom: 6px; }
.intelle-lane-tag[data-lane="care"]::before { background: var(--intelle-blue); }
.intelle-lane-tag[data-lane="therapy"]::before { background: var(--intelle-warm); }
.intelle-on-dark .intelle-lane-tag,
.intelle-pdir-hero .intelle-lane-tag,
.intelle-x-section--dark .intelle-lane-tag { color: var(--intelle-muted-dark); }

/* ------------------------------------------------------------
   03 ACCESS JOURNEY STRIP
   An ordered factual sequence. Named .intelle-access because
   .intelle-journey is an approved selector with a different
   contract. Steps carry a state marker that reuses the approved
   .intelle-x-status shapes: confirmed, conditional, unconfirmed.
   Horizontal at width, vertical below 760px.
   ------------------------------------------------------------ */
.intelle-access {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: intelle-access;
  display: grid;
  gap: var(--intelle-space-2);
  position: relative;
}
@media (min-width: 760px) {
  .intelle-access { gap: 0; }
  .intelle-access--steps-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .intelle-access--steps-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .intelle-access--steps-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .intelle-access::before {
    content: "";
    position: absolute;
    top: 20px;
    height: 5px;
    border-radius: 2px;
    background: var(--intelle-spectrum);
    opacity: 1;
    z-index: 0;
  }
  .intelle-access--steps-3::before { left: 16.6667%; right: 16.6667%; }
  .intelle-access--steps-4::before { left: 12.5%; right: 12.5%; }
  .intelle-access--steps-5::before { left: 10%; right: 10%; }
}
.intelle-access__step {
  position: relative;
  display: grid;
  gap: 6px;
  padding: 0 0 0 46px;
  min-width: 0;
}
@media (min-width: 760px) {
  .intelle-access__step {
    justify-items: center;
    padding: 62px 10px 0;
    text-align: center;
  }
}
.intelle-access__num {
  counter-increment: intelle-access;
  position: absolute;
  left: 0;
  top: 0;
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--intelle-ink);
  color: var(--intelle-paper);
  font-weight: 800;
  font-size: 0.9rem;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 0 0 4px var(--intelle-panel-light);
  z-index: 1;
}
.intelle-access__num::before { content: counter(intelle-access); }
.intelle-section--canvas .intelle-access__num,
.intelle-x-section .intelle-access__num { box-shadow: 0 0 0 4px var(--intelle-canvas); }
.intelle-section--paper .intelle-access__num { box-shadow: 0 0 0 4px var(--intelle-paper); }
@media (max-width: 759.98px) {
  .intelle-access { gap: 0; }
  .intelle-access::before {
    content: "";
    position: absolute;
    left: 19px;
    top: 22px;
    bottom: 22px;
    width: 6px;
    border-radius: 2px;
    background: linear-gradient(180deg, var(--intelle-violet) 0%, var(--intelle-blue) 24%, var(--intelle-mint) 48%, var(--intelle-warm) 72%, var(--intelle-coral) 100%);
    opacity: 1;
    z-index: 0;
  }
  .intelle-access__step {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 20px;
    row-gap: 6px;
    align-items: start;
    min-height: 118px;
    padding: 0 0 24px;
    text-align: left;
  }
  .intelle-access__step:last-child {
    min-height: 0;
    padding-bottom: 0;
  }
  .intelle-access__num {
    position: relative;
    grid-column: 1;
    grid-row: 1 / span 2;
    left: auto;
    top: auto;
  }
  .intelle-access__label { grid-column: 2; grid-row: 1; padding-top: 2px; }
  .intelle-access__value { grid-column: 2; grid-row: 2; min-width: 0; }
  .intelle-access__step::before { display: none; }
}
.intelle-access__label {
  margin: 0;
  font-weight: 800;
  font-size: 0.98rem;
  line-height: 1.3;
}
.intelle-access__value {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.55;
  color: var(--intelle-muted-light);
  overflow-wrap: anywhere;
}
@media (min-width: 760px) {
  .intelle-access__num {
    left: 50%;
    transform: translateX(-50%);
  }
  .intelle-access__value { max-width: 24ch; }
}
.intelle-access__value .intelle-dyn-pending { margin-top: 2px; }
.intelle-access__state { margin-top: 2px; }
.intelle-access__note {
  margin: var(--intelle-space-2) 0 0;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--intelle-muted-light);
  line-height: 1.55;
}
.intelle-access--explain .intelle-access__value { color: var(--intelle-muted-dark); }
.intelle-access--record .intelle-access__value { color: var(--intelle-muted-light); }

/* ------------------------------------------------------------
   05 OFFERING CARD
   Extends .intelle-pdir-card. Carries a lane tag, a status
   line, a fact ledger, and one internal action. No rating, no
   My Fit, no score of any kind.
   ------------------------------------------------------------ */
.intelle-offering { grid-template-rows: auto auto auto 1fr auto; }
.intelle-offering__badges { margin: 0; }
.intelle-offering__facts { margin: 0; }
.intelle-offering__facts > div { padding: 9px 0; font-size: 0.88rem; }
.intelle-offering__facts dd { font-weight: 700; }
.intelle-offering__facts .intelle-dyn-pending { vertical-align: middle; }
.intelle-offering[data-qa-state="draft_candidate"],
.intelle-offering[data-qa-state="needs_human_qa"] {
  background: var(--intelle-canvas);
  border-style: dashed;
}
.intelle-offering__grid {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 760px) {
  .intelle-offering__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 22px; }
}
@media (min-width: 1080px) {
  .intelle-offering__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .intelle-offering__grid > .intelle-pdir-card { height: 100%; }
}

/* ------------------------------------------------------------
   06 PATHWAY LABEL
   Extends .intelle-evidence. Six descriptive values with six
   distinct marker shapes. Unclear uses the approved pending
   treatment. The label describes how a product reaches the
   consumer and makes no efficacy or safety claim.
   ------------------------------------------------------------ */
.intelle-pathway--branded::before { background: var(--intelle-violet); border-radius: 3px; }
.intelle-pathway--generic::before { background: var(--intelle-blue); border-radius: 50%; }
.intelle-pathway--compounded::before { background: var(--intelle-mint); clip-path: polygon(50% 0, 100% 100%, 0 100%); border-radius: 0; }
.intelle-pathway--offlabel::before { background: var(--intelle-coral); clip-path: polygon(50% 0, 100% 38%, 82% 100%, 18% 100%, 0 38%); border-radius: 0; }
.intelle-pathway--investigational::before { background: var(--intelle-warm); border-radius: 2px; transform: rotate(45deg); }
.intelle-pathway--unclear { border-style: dashed; color: var(--intelle-muted-light); }
.intelle-pathway--unclear::before { background: var(--intelle-border-light); }
.intelle-pathway__tip {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--intelle-muted-light);
  margin-top: 6px;
  line-height: 1.5;
}

/* ------------------------------------------------------------
   07 PROVIDER NOTE
   A provider scope claim shown beneath a pending record value.
   Never inside the value itself.
   ------------------------------------------------------------ */
.intelle-provider-note {
  display: block;
  margin: 6px 0 0;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.5;
  color: var(--intelle-muted-light);
}
.intelle-provider-note b { font-weight: 800; color: var(--intelle-ink); }

/* ------------------------------------------------------------
   08 ACCESS TABLES
   Extend .intelle-hub-table. The first column stays sticky via
   the approved tbody th rule. Wider minimum so eight to eleven
   columns do not crush on desktop; below 760px the approved
   wrapper scrolls horizontally.
   ------------------------------------------------------------ */
.intelle-access-table { min-width: 960px; }
.intelle-access-table--care { min-width: 1180px; }
.intelle-access-table caption {
  caption-side: top;
  text-align: left;
  padding: 12px 14px;
  font-size: 0.84rem;
  font-weight: 700;
  color: var(--intelle-muted-light);
  background: var(--intelle-paper);
  border-bottom: 1px solid var(--intelle-border-light);
}
.intelle-access-table tbody th { min-width: 200px; }
.intelle-access-table td .intelle-dyn-pending { white-space: nowrap; }
.intelle-access-table td .intelle-independent-review__score { gap: 8px; }
.intelle-access-table td .intelle-independent-review__letter {
  width: 40px;
  min-width: 40px;
  height: 40px;
  border-radius: 11px;
  font-size: 0.95rem;
}
.intelle-access-table__cell-note {
  display: block;
  margin-top: 4px;
  font-size: 0.8rem;
  color: var(--intelle-muted-light);
}
.intelle-access-table__count {
  margin: 0 0 12px;
  font-size: 0.9rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------
   09 PAGE COMPOSITION HELPERS
   Internal two column composition inside a full width section.
   The section owns its background edge to edge; only the inner
   grid splits.
   ------------------------------------------------------------ */
.intelle-tlh-split { display: grid; gap: var(--intelle-space-3); align-items: start; }
@media (min-width: 900px) {
  .intelle-tlh-split { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--intelle-space-4); }
}
.intelle-tlh-grid--four { display: grid; gap: 18px; }
@media (min-width: 760px) {
  .intelle-tlh-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
}
@media (min-width: 1080px) {
  .intelle-tlh-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.intelle-tlh-grid--four .intelle-x-panel { display: grid; gap: 10px; align-content: start; }
.intelle-tlh-grid--four .intelle-x-state { padding: 16px; }
[data-intelle-tlh] .intelle-x-panel {
  border-color: var(--intelle-border);
  background: var(--intelle-panel);
  color: var(--intelle-canvas);
}
[data-intelle-tlh] .intelle-x-panel summary,
[data-intelle-tlh] .intelle-x-panel h3 { color: var(--intelle-canvas); }
[data-intelle-tlh] .intelle-x-panel p { color: var(--intelle-muted-dark); }
.intelle-tlh-questions { display: grid; gap: 18px; }
@media (min-width: 760px) {
  .intelle-tlh-questions { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
}
.intelle-tlh-questions .intelle-article-callout { margin: 0; }
.intelle-tlh-section-intro { max-width: 60ch; }
.intelle-tlh-section-intro .intelle-lede { margin-top: 10px; }
.intelle-tlh-hero-single { grid-template-columns: minmax(0, 1fr); }
.intelle-tlh-hero-single > div { max-width: 72ch; }
.intelle-tlh-hero-actions { margin-top: 26px; }
.intelle-tlh-hero-note {
  margin: 14px 0 0;
  color: var(--intelle-muted-dark);
  font-size: 0.86rem;
}
.intelle-tlh-faq { display: grid; gap: 12px; }
.intelle-tlh-faq > .intelle-x-kicker,
.intelle-tlh-faq > .intelle-x-h2 { margin-bottom: 0; }
.intelle-tlh-faq details { padding: 0; }
.intelle-tlh-faq summary {
  padding: 18px 20px;
  color: var(--intelle-ink);
  cursor: pointer;
  font-weight: 800;
}
.intelle-tlh-faq details p {
  max-width: none;
  margin: 0;
  padding: 0 20px 20px;
  color: var(--intelle-muted-light);
}
.intelle-online-icon {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  flex: none;
}
.intelle-online-icon svg { display: block; width: 52px; height: 52px; }
.intelle-online-route-grid .intelle-x-panel {
  justify-items: center;
  text-align: center;
  padding: 20px;
  gap: 10px;
}
.intelle-online-route-grid .intelle-x-panel h3,
.intelle-online-route-grid .intelle-x-panel p { margin: 0; }
.intelle-online-route-grid .intelle-inline-link { margin-top: 2px; }
.intelle-online-entry-grid { width: 100%; }
.intelle-online-entry-grid .intelle-x-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  align-content: start;
  gap: 10px;
  min-width: 0;
}
.intelle-online-entry-grid .intelle-x-card h3,
.intelle-online-entry-grid .intelle-x-card p { margin: 0; }
.intelle-online-comparison-table { min-width: 640px; }
.intelle-online-comparison-table tbody th,
.intelle-online-comparison-table tbody td { color: var(--intelle-ink); }
.intelle-tlh-compare-stack {
  display: grid;
  gap: var(--intelle-space-3);
}
@media (max-width: 759.98px) {
  .intelle-online-comparison-wrap {
    border: 0;
    background: transparent;
  }
  .intelle-online-comparison-table + .intelle-mobile-table .intelle-mobile-table__card {
    border-color: var(--intelle-border);
    background: var(--intelle-panel);
    color: var(--intelle-canvas);
    box-shadow: none;
  }
  .intelle-online-comparison-table + .intelle-mobile-table .intelle-mobile-table__card::before { display: none; }
  .intelle-online-comparison-table + .intelle-mobile-table .intelle-mobile-table__title {
    padding-inline: 18px;
    border-color: var(--intelle-border);
  }
  .intelle-online-comparison-table + .intelle-mobile-table .intelle-mobile-table__value {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    padding-inline: 18px;
    border-color: var(--intelle-border);
  }
  .intelle-online-comparison-table + .intelle-mobile-table .intelle-mobile-table__label { color: var(--intelle-muted-dark); }
  .intelle-online-comparison-table + .intelle-mobile-table .intelle-mobile-table__content {
    width: 100%;
    margin: 0;
    color: var(--intelle-canvas);
  }
}
.intelle-tlh-final-cta { max-width: 76ch; }
.intelle-care-category-final { margin-top: var(--intelle-space-4); }
.intelle-care-category-final .intelle-btn { display: inline-flex; }
.intelle-online-comparison-table td small {
  display: inline-block;
  margin-top: 6px;
  color: var(--intelle-muted-light);
  line-height: 1.5;
}
.intelle-pdir-hero .intelle-breadcrumbs a,
.intelle-pdir-hero .intelle-breadcrumbs [aria-current="page"] { color: var(--intelle-muted-dark); }
.intelle-pdir-hero .intelle-breadcrumbs a:hover,
.intelle-pdir-hero .intelle-breadcrumbs a:focus-visible {
  color: var(--intelle-canvas);
  text-decoration: underline;
}
.intelle-pdir-hero .intelle-breadcrumbs a:focus-visible {
  border-radius: 4px;
  outline: none;
  box-shadow: var(--intelle-focus);
}
.intelle-tlh-provider-lane { margin-top: var(--intelle-space-4); }
.intelle-tlh-provider-lane:first-child { margin-top: 0; }

/* ------------------------------------------------------------
   10 SHARED CARE PROGRAM CATALOG
   ------------------------------------------------------------ */
.intelle-care-toolbar {
  margin-bottom: var(--intelle-space-3);
}
.intelle-care-toolbar .intelle-pdir-search { align-items: flex-end; }
.intelle-care-toolbar .intelle-pdir-search > .intelle-btn {
  min-height: 44px;
  padding: 0 18px;
  font-size: 0.92rem;
}
.intelle-care-toolbar[data-care-enhanced="true"] .intelle-directory-noscript-submit { display: none; }
.intelle-care-results-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--intelle-space-3);
  margin-bottom: var(--intelle-space-3);
}
.intelle-care-results-head p { color: var(--intelle-muted-dark); }
.intelle-care-card .intelle-pdir-card__foot {
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.intelle-care-compare-pick {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--intelle-canvas);
  font-size: 0.86rem;
  font-weight: 800;
  cursor: pointer;
}
.intelle-care-compare-pick input {
  margin: 0;
}
.intelle-care-compare-tray {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: var(--intelle-space-3);
  padding: 14px;
  border: 1px solid var(--intelle-border);
  border-radius: var(--intelle-radius-sm);
  background: var(--intelle-panel);
}
.intelle-care-compare-tray[hidden] { display: none !important; }
/* Sticky compare bar: pinned to the viewport bottom as soon as a program is selected, mirroring the panel directory tray behavior. */
.intelle-care-compare-tray:not([hidden]) {
  position: fixed;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 140;
  width: min(920px, calc(100% - 32px));
  margin-top: 0;
  box-shadow: var(--intelle-shadow-card-dark);
}
.intelle-care-compare-tray p { flex: 1; margin: 0; color: var(--intelle-canvas); }
.intelle-care-compare-tray p span { display: block; margin-top: 3px; color: var(--intelle-muted-dark); font-size: 0.84rem; }
.intelle-care-empty { max-width: 760px; }
.intelle-care-scope {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--intelle-muted-dark);
  font-size: 0.9rem;
  line-height: 1.6;
}
.intelle-section--paper .intelle-care-scope { color: var(--intelle-muted-light); }
.intelle-care-profile__identity {
  display: flex;
  align-items: center;
  gap: var(--intelle-space-3);
}
.intelle-care-profile__identity > div { min-width: 0; }
.intelle-care-profile__identity .intelle-pdir-hero__title { overflow-wrap: anywhere; }
.intelle-care-profile__documentation {
  padding: 18px;
}
.intelle-care-profile__documentation > :first-child { margin-top: 0; }
.intelle-care-profile__documentation > :last-child { margin-bottom: 0; }
.intelle-care-profile__documentation p {
  margin: 0 0 12px;
  font-size: 0.95rem;
  line-height: 1.6;
}
.intelle-care-profile__documentation h3 {
  margin: 18px 0 6px;
  font-size: 1rem;
  line-height: 1.35;
}
.intelle-care-compare-wrap {
  border: 0;
  border-radius: 0;
  background: transparent;
}
.intelle-care-compare-table,
.intelle-care-compare-table caption,
.intelle-care-compare-table thead th,
.intelle-care-compare-table tbody th,
.intelle-care-compare-table tbody td {
  border-color: var(--intelle-border);
  background: transparent;
}
.intelle-care-compare-table caption,
.intelle-care-compare-table thead th,
.intelle-care-compare-table tbody th small {
  color: var(--intelle-muted-dark);
}
.intelle-care-compare-table tbody th,
.intelle-care-compare-table tbody td {
  color: var(--intelle-canvas);
}
.intelle-access-table--care th small {
  display: block;
  margin-top: 4px;
  color: var(--intelle-muted-light);
  font-weight: 700;
}
@media (max-width: 640px) {
  .intelle-care-results-head { display: block; }
  .intelle-care-profile__identity { align-items: flex-start; flex-direction: column; }
  .intelle-care-card .intelle-pdir-card__foot { align-items: flex-start; flex-direction: column; }
  .intelle-care-compare-tray { align-items: stretch; flex-direction: column; }
  .intelle-care-compare-tray .intelle-btn { width: 100%; justify-content: center; }
  [data-care-results] { margin-top: 28px; }
}
@media (max-width: 759.98px) {
  .intelle-care-compare-wrap {
    border: 0;
    background: transparent;
  }
  .intelle-care-compare-table + .intelle-mobile-table .intelle-mobile-table__card {
    border-color: var(--intelle-border);
    background: var(--intelle-panel);
    color: var(--intelle-canvas);
    box-shadow: none;
  }
  .intelle-care-compare-table + .intelle-mobile-table .intelle-mobile-table__card::before { display: none; }
  .intelle-care-compare-table + .intelle-mobile-table .intelle-mobile-table__title,
  .intelle-care-compare-table + .intelle-mobile-table .intelle-mobile-table__value {
    border-color: var(--intelle-border);
  }
  .intelle-care-compare-table + .intelle-mobile-table .intelle-mobile-table__title,
  .intelle-care-compare-table + .intelle-mobile-table .intelle-mobile-table__value {
    padding-inline: 18px;
  }
  .intelle-care-compare-table + .intelle-mobile-table .intelle-mobile-table__value {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }
  .intelle-care-compare-table + .intelle-mobile-table .intelle-mobile-table__label { color: var(--intelle-muted-dark); }
  .intelle-care-compare-table + .intelle-mobile-table .intelle-mobile-table__content {
    width: 100%;
    margin: 0;
    color: var(--intelle-canvas);
  }
}

/* ------------------------------------------------------------
   11 REDUCED MOTION AND PRINT
   ------------------------------------------------------------ */
@media print {
  .intelle-offering { break-inside: avoid; }
  .intelle-access::before, .intelle-access__step::before { display: none; }
}
