/* Alignment pass (19 Oct 2026, owner feedback: search icon and text not on one line; check every box).
   Loaded last. Layout-only fixes; no copy, fee or data changes. */

/* Home search: the global input[type=search] rule added margin-top:7px, padding and a 48px min-height,
   which pushed the placeholder 7px below the icon and widened the icon gap. */
.hp-search label{gap:10px;padding:0 16px}
.hp-search input[type=search]{margin:0;padding:0;min-height:0;height:52px;line-height:normal;border:0;border-radius:0;background:transparent}
.hp-search button{display:inline-flex;align-items:center;justify-content:center;line-height:1}

/* Home audience paths: desktop chips stay inline; on phones three equal tiles instead of a strip that cut the 2nd chip. */
.hp-paths .hp-pt b{font-weight:inherit}
.hp-paths .hp-pt small{font-size:inherit;color:inherit;font-weight:inherit;margin:0}
@media(max-width:899px){
  main .hp-paths{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;margin:0 0 14px;padding:0}
  main .hp-paths a{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;min-height:88px;padding:12px 6px;border-radius:14px;min-width:0}
  main .hp-paths a svg{flex:none}
  .hp-paths .hp-pt{display:flex;flex-direction:column;align-items:center;gap:2px}
  .hp-paths .hp-pt b{display:block;font-size:15px;line-height:1.3;font-weight:700}
  .hp-paths .hp-pt small{display:block;font-size:12.5px;line-height:1.35;color:#4f635b;font-weight:500}
  .hp-paths .hp-colon{display:none}
}

/* Five-college cards: values sit on one baseline per row even when one label wraps to two lines. */
.hp-card dl>div{display:flex;flex-direction:column;justify-content:space-between;gap:2px}
.hp-card dl dd{margin:0}

/* Home trust row (phones): every item reads label on top, value below (first item had the value first). */
@media(max-width:650px){main .trust>span:first-child{display:flex;flex-direction:column-reverse;justify-content:flex-end}}

/* Directory: checkbox centred on its text; sort field full width like the other fields on phones. */
main label.fees-filter{display:flex!important;align-items:center;gap:10px}
main label.fees-filter input{margin:0;flex:none}
@media(max-width:650px){main label:has(>#directory-sort){display:block;width:100%}main #directory-sort{width:100%}}

/* Budget / compare boxes: no doubled top/bottom space inside the panel; space between stacked fields. */
main .panel>.controls:first-child,main .panel>label.search:first-child{margin-top:0}
main .panel>.controls:last-child{margin-bottom:0}
main .panel .controls{gap:16px}
@media(max-width:650px){main #choices .choice{display:flex;margin:0 0 10px}}

/* College pages: "Swipe to see all columns" no longer touches the button above it. */
main .table-scroll-hint{margin:12px 0 8px!important}

/* "Read full section" / FAQ toggle: SVG chevron centred with the text (the ⌄ glyph sat below the line). */
.ch-more{gap:8px}
.ch-more .ch-chev{flex:none;transition:transform .2s}
.ch-more[aria-expanded="true"] .ch-chev{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.ch-more .ch-chev{transition:none}}
/* Source links: the ↗ stays with the last word instead of wrapping alone. */
.ch-nowrap{white-space:nowrap}
/* Compare choices: checkbox no longer shrinks with long names (was 13–16px, uneven text start). */
main #choices .choice input{flex:none;width:20px;height:20px;margin:0}
/* Desktop: an earlier label rule switched the search label to display:block, putting the icon above the text. */
main .hp-search label{display:flex!important;flex-direction:row;align-items:center;flex-wrap:nowrap}
main .hp-search button{min-height:54px;height:auto;align-self:stretch}
/* Menu drawer search: same inherited input margin pushed the field 3.5px below the icon. */
.site-drawer .sd-search{display:flex;align-items:center}
.site-drawer .sd-search input[type=search]{margin:0;align-self:center}
/* Closing-rank round rule: note under "—" for a middle round the college did not take part in. */
.nd-rnote{display:block;margin-top:2px;font-size:12px;line-height:1.35;font-weight:500;color:#5d6b66;white-space:normal}

/* College layout template: clear "to be added" box for facts not yet verified (no placeholder numbers). */
.nd-pending{margin:14px 0;padding:14px 16px;border:1px dashed #b9c4b6;border-radius:12px;background:#f6f7f1;color:#4f635b;font-size:15px;line-height:1.6}
.nd-pending p{margin:0}.nd-pending strong{color:#183d35}

/* Hero fee cards on small phones (5 Nov 2026): the label and the amount share a line only when both fit; otherwise the amount drops
   to its own line, so a long total (paise included) never runs into the label. Reviewer measured -0.8 to -32.5px at 320px. */
@media(max-width:899px){
  body.ch-compact .editorial-snapshot.ch-in-hero>article{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:baseline;justify-content:space-between;column-gap:12px;row-gap:4px}
  body.ch-compact .editorial-snapshot.ch-in-hero>article>h3{flex:1 1 min-content;min-width:0}
  body.ch-compact .editorial-snapshot.ch-in-hero>article>strong{flex:0 0 auto;max-width:100%;margin-left:auto!important}
  body.ch-compact .editorial-snapshot.ch-in-hero>article>p{flex:0 0 100%}
}

/* Small phones (5 Nov 2026, measured at 320–390px): long web addresses and medical words wrap inside their cells; the short hero
   cue wraps instead of being cut; the course total keeps its size while the box gives it room; dropdown values stay readable. */
#budget .nd-cf-note,main[data-nd-layout] :is(#course,#clinical,#facilities) td{overflow-wrap:anywhere}
@media(max-width:600px){
  main[data-nd-layout] :is(#facilities,#identity) .contact-address{display:inline;white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:359px){
  body.ch-compact .ch-next .ch-next-short{white-space:normal;overflow:visible}
  #budget .overall-budget{padding:20px 14px}
  main #budget .overall-budget strong{font-size:26px}
  main :is(.controls,.nd-fee-select,.nd-fee-code,.college-hero,.schedule-top,.comparison) select:not(.ch-h-select){padding-left:12px;padding-right:44px}
}

/* One Fees section (ten pages): old #budget links land on the fee breakdown below the sticky tabs. */
main .nd-fee-plan{scroll-margin-top:var(--reading-offset,140px)}

/* Top actions and source details on the ten one-Fees pages (7 Nov 2026). */
.nd-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0 8px;align-items:stretch}
.nd-quick>a,.nd-quick>button,.nd-quick-off{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:8px 12px;text-align:center;line-height:1.25;white-space:normal}
.nd-quick-off{border:1px dashed #b9c6bd;border-radius:12px;color:#596b65;font-size:14px}
.nd-quick-status{grid-column:1/-1;margin:0;font-size:14px}
@media(max-width:359px){.nd-quick{grid-template-columns:1fr 1fr}.nd-quick>a,.nd-quick>button,.nd-quick-off{padding:8px;font-size:14px}}
.nd-source-details{margin:16px 0}
.nd-source-details ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:12px}
.nd-source-details li{display:grid;gap:2px;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.nd-source-details li span{color:#47574f}
