/* /services/iv-therapy only. Each rule is something a shared component can't do yet;
   the matching shared asks are in the build record (scrollcraft/builds/services/pages/iv-therapy.md). */

/* Chapter 2: the live page's three numbered paragraphs (01–03). They have no headings,
   so Tiles (which needs a title) can't carry them, and the next chapter's personas are
   Tiles: set them as three numbered columns of body text under the bars instead. */
.iv-points { list-style: none; margin: var(--sc-8) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sc-6) clamp(1.5rem, 3.5vw, 3.5rem); }
.iv-points > li { display: grid; align-content: start; gap: var(--sc-3); }
.iv-points .label { margin: 0; color: var(--sc-ink-soft); font-variant-numeric: lining-nums tabular-nums; }
.iv-points p:not(.label) { margin: 0; color: var(--sc-ink); text-wrap: pretty; }
/* design pass (Sept 23): three columns only from 1101px; at 961-1100 they ran ~32ch a line. */
@media (max-width: 1100px) { .iv-points { grid-template-columns: minmax(0, 1fr); max-width: 64ch; } }

/* Chapter 4: the line after the menu. */
.iv-unsure { margin-top: var(--sc-7); }

/* At a Glance: the display line is a full sentence lifted from the intro (13 words).
   At the component's display size it ran to three lines; one step down it sits on two. */
#glance .ch-head .display { font-size: clamp(2.2rem, 1.2rem + 3.2vw, 4rem); }

/* Chapter 5, the time map: Wrap-Up is the last and thinnest segment (3 of 60 minutes),
   and its name broke at the hyphen. Set its label on one line, flush with the bar's right
   end, so it reads into the free space under the drip bar. The single track is held to the
   segment's width so the end-aligned label overflows leftward, not past the column edge.
   Phones stack the map, so desktop only. */
@media (min-width: 721px) {
  #visit .tmap__seg:last-child { grid-template-columns: minmax(0, 1fr); justify-items: end; text-align: right; }
  #visit .tmap__seg:last-child .tmap__name, #visit .tmap__seg:last-child .tmap__dur { white-space: nowrap; }
}

/* Chapter 7: the closing paragraph and the chapter's booking button on one line, under the plates' rule
   (the page's Payoff lines are for one-line conclusions; this is 45 words). */
.iv-coda { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--sc-5) clamp(2rem, 6vw, 6rem); align-items: end; margin-top: var(--sc-8); }
.iv-coda p { margin: 0; font-size: var(--sc-t-lg); line-height: 1.5; color: var(--sc-ink); max-width: 56ch; text-wrap: pretty; }
/* design pass (Sept 23): stacked from 860px down (at 721-860 the 45 words ran in a ~410px column
   beside the button); on phones the button goes full width like every other primary (.cta-row, 520px). */
@media (max-width: 860px) { .iv-coda { grid-template-columns: minmax(0, 1fr); align-items: start; } .iv-coda .btn { justify-self: start; } }
@media (max-width: 520px) { .iv-coda .btn { justify-self: stretch; } }

/* Chapter 6: the source H2 is 11 words; on phones the component's size set it on five lines. */
@media (max-width: 720px) { #safety .ch-head .display { font-size: var(--sc-t-2xl); } }

/* ---- review pass (Sept 22) ---- */

/* Chapter 2: its two chart rules went with the chart (Oct 5, 2026; iv-therapy.astro header). */

/* Chapter 4: the menu note is the page's statement of the IV condition ("subject to
   clinical assessment and eligibility"); it reads at body size in ink, not as fine print. */
#drips .menu-note { font-size: var(--sc-t-base); color: var(--sc-ink); }

/* Chapter 5, the time map at desktop: "Arrival and Intake" wraps in its narrow segment and
   pushed its duration a line below the other three. Durations sit first, in one row under
   the bar; the names hang below them. */
@media (min-width: 721px) { #visit .tmap__dur { order: -1; } }

/* Chapter 6: the four H3s name each note, so the callouts carry no tracked label (empty
   label = removed). The first two H3s are the start of their own sentences ("Common Side
   Effects / are mild…", "Talk to your Doctor / if you have…"): close the gap so each reads
   straight into its body. */
#safety .callout__label:empty { display: none; }
#safety .callout:nth-child(-n+2) { gap: var(--sc-1); }
#safety .ch-head .display { text-wrap: balance; }

/* Chapter 3: five personas, full width (the photo moved to a Plate in ch5). Five columns
   ran the text at ~25 characters a line; set them 3 + 2 on a six-track grid instead, so
   there is no empty cell and every line keeps a readable measure. Below 1100px the
   shared tiles--5 rule (2 + 2 + 1, the last spanning) takes over. */
@media (min-width: 1101px) {
  #who .tiles--5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  #who .tiles--5 > .tile { grid-column: span 2; }
  #who .tiles--5 > .tile:nth-child(n+4) { grid-column: span 3; }
}

/* Chapter 5: the Plate (photo 43) closes Your Visit, the room the Setup step describes. On
   phones it is a short strip (the height prop: 14rem at 390) with less air above it, because
   the chapter was already ~3 screens there before the photo was added. */
@media (max-width: 720px) { #visit .plate { margin-top: var(--sc-7); } }

/* ---- audit pass (Sept 22, night) ---- */

/* At a Glance, the Eligibility fact: Jane's IV disclaimer follows Jane's assessment line.
   It is set like the ch4 menu note (body size, in ink), so it reads as the condition it
   is: not as a second display-size fact, and not as fine print. */
#glance .iv-fact-note { display: block; margin-top: var(--sc-3); font-family: var(--sc-font-text); font-size: var(--sc-t-base); line-height: 1.55; letter-spacing: 0; color: var(--sc-ink); }

/* ---- design pass (Sept 23) ---- */

/* Chapter 4: the booking button under the priced menu (and the line after it). */
#drips .iv-drips-cta { margin-top: var(--sc-6); }

/* Oct 2: Details "Cost" lists the email's menu, one drip per line, with level digits. */
.iv-prices span { display: block; }
.iv-prices { font-variant-numeric: lining-nums tabular-nums; }
