/* Home v2 (31 Oct 2026, js/homelayout.js): the important stuff first. Only under .hv2 (the console's home_v2 switch, default ON); no class = the old order.
   1 greeting · 2 the ONE now-card · 3 Where to? + Directions + places · 4 buses near you · 5 quiet extras. Home is already a flex column (revamp-home.css), so this is order + calmer extras. */
#home #home-inner.hv2 { gap: var(--s3); }
#home #home-inner.hv2 > .h-top { order: 0; }
/* the weather: one small line under the greeting (not a card). Its "Weather © HERE" credit stays in the line. */
#home #home-inner.hv2 > #h-day.hx-day { order: 0; background: none; border: 0; padding: 0 2px; margin: -4px 0 0; gap: var(--s2); align-items: center; color: var(--muted); }
#home #home-inner.hv2 > #h-day .hx-dayi .i { width: 18px; height: 18px; }
#home #home-inner.hv2 > #h-day > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--s2); min-width: 0; }
#home #home-inner.hv2 > #h-day b { display: inline; font-size: var(--rv-t-small); font-weight: var(--rv-w-strong); color: var(--text); }
#home #home-inner.hv2 > #h-day span { font-size: 12px; color: var(--muted); }
/* what's live comes first: a service alert or update, a pick-up, a family trip, an invite */
#home #home-inner.hv2 > #h-update, #home #home-inner.hv2 > #h-alert { order: 1; }
#home #home-inner.hv2 > :is(#h-pickup, #h-invites, #h-fam) { order: 2; }
/* the now-card: a trip card for today / a trip going, else Next bus home when you're away from home */
#home #home-inner.hv2[data-trip='card'] > #h-trip { order: 4; margin-top: 0; }
#home #home-inner.hv2[data-trip='ahead'] > #h-trip { order: 4; margin-top: 0; min-height: 0; }   /* (update 236) the next day's trip, one row, at the top */
#home #home-inner.hv2[data-trip='quiet'] > #h-trip, #home #home-inner.hv2[data-trip='none'] > #h-trip { order: 11; margin-top: 0; min-height: 0; }
#home #home-inner.hv2[data-now='home'] > #h-daily { order: 4; margin: 0; }
#home #home-inner.hv2[data-now='home'] #h-daily .dl-home { padding: var(--s4); border-radius: var(--rv-r-card); border-color: color-mix(in srgb, var(--accent) 45%, var(--line)); background: var(--surface); }
#home #home-inner.hv2[data-now='home'] #h-daily .dl-home b { font-size: var(--rv-t-body); }
#home #home-inner.hv2[data-now='home'] #h-daily .dl-home .ico { color: var(--accent); background: color-mix(in srgb, var(--accent) 14%, transparent); }
#home #home-inner.hv2:not([data-now='home']) > #h-daily { order: 12; margin: 0; }
/* Where to? + Directions + the places chips */
#home #home-inner.hv2 > .searchrow, #home #home-inner.hv2 > .fs-helper, #home #home-inner.hv2 > #fs-terms { order: 3; }
#home #home-inner.hv2 > #h-dir { order: 5; }
#home #home-inner.hv2 > .h-quick { order: 3; }
/* then: what's nearby, and the rest of today */
#home #home-inner.hv2 > #h-near { order: 8; }
#home #home-inner.hv2 > #h-recent { order: 9; }
#home #home-inner.hv2 > #h-gethome { order: 9; }
#home #home-inner.hv2 > #h-later { order: 10; }
#home #home-inner.hv2 > :is(#h-first, #h-wizard) { order: 11; }
#home #home-inner.hv2 > #h-notice { order: 12; }
#home #home-inner.hv2 > :is(#h-cal) { order: 13; }
#home #home-inner.hv2 > :is(#h-grow, #h-last, #h-widget) { order: 14; }
#home #home-inner.hv2 > #h-meet { order: 15; }
#home #home-inner.hv2 > .an-fb { order: 16; margin: var(--s2) auto 0; }
/* the next day's trip, one line: a little quieter than a card */
#home #home-inner.hv2 .h-ahead-row .ico { background: var(--surface-2); }
#home #home-inner.hv2 .h-ahead-row b { font-size: var(--rv-t-body); }
#home #home-inner.hv2 .h-ahead-row small { white-space: normal; }
#home #home-inner.hv2 .h-ahead-warn { color: var(--warn, #c77700); font-weight: 600; }
/* buses near you: a touch more room above its title, since it now follows the chips */
#home #home-inner.hv2 > #h-near .h-sec { margin-top: var(--s2); }
/* (update 236) Home's "Couldn't load your trips yet" line (signinresume.js): first on the page, with its Retry button */
#home #home-inner > #h-sync { order: 1; }
#h-sync[hidden] { display: none; }
#h-sync .h-sync-note { display: flex; align-items: center; gap: 12px; margin: 0; }
#h-sync .h-sync-note small { display: block; color: var(--muted); }
#h-sync .h-sync-note .btn { flex: none; }
#h-sync .cloud-spin { flex: none; display: inline-flex; }
/* (update 236) the "By continuing you agree to the Terms…" block is a small, muted footer under the content, not a paragraph in the middle of Home */
#home #home-inner.hv2 > #fs-terms { order: 17; margin: var(--s2) 0 0; font-size: 12px; line-height: 1.45; color: var(--muted); text-align: center; }
#home #home-inner.hv2 > #fs-terms a, #home #home-inner.hv2 > #fs-terms button { color: var(--muted); text-decoration: underline; text-underline-offset: 2px; font-size: inherit; }
#home #home-inner.hv2 > #fs-terms:empty { display: none; }

/* ---- (home-1102) Isaac's 2 Nov screenshots ---- */
/* the banner ("Live data delayed...") can wrap to two lines: the screen starts below its real height (home.js sets --offline-h), so it never covers the trip card */
body:has(> #offline:not([hidden]):not(.leaving)) .screen:not(.full) { top: calc(var(--safe-top) + var(--offline-h, 36px) + 16px); }
/* the "Next 384 · 8:11 am · every 15 min" widget chip: its own full-width row under the place buttons, whole text, never over a chip */
#home #home-inner.hv2 .h-quick { flex-wrap: wrap; row-gap: var(--s2); }
#home #home-inner.hv2 .h-quick .tv-home { flex: 1 0 100%; order: 3; width: 100%; max-width: 100%; margin: var(--s2) 0 0; }
#home #home-inner.hv2 .h-quick .tv-home .tv-tile { flex: 1 1 100%; width: 100%; max-width: 100%; min-height: 44px; flex-direction: row; align-items: center; justify-content: flex-start; gap: var(--s3); overflow: visible; padding: 6px var(--s3); text-align: left; }
#home #home-inner.hv2 .h-quick .tv-home .tv-tile b { white-space: normal; overflow-wrap: anywhere; font-size: 15px; }
#home #home-inner.hv2 .h-quick .tv-home .tv-tile small { flex: none; }
#home #home-inner.hv2 .h-quick.h-hide-next .tv-home { display: none; }
/* two secondary buttons at most under Start trip, both in the same style; Full screen and Change today are small icons in the card's top row */
#h-hero .h-chips .h-more { color: var(--text); }
#h-hero .h-kick .iconbtn.sm { flex: none; width: 36px; height: 36px; margin: -8px 0; color: var(--muted); background: none; border: 0; }
#h-hero .h-kick .iconbtn.sm .i { width: 18px; height: 18px; }
/* no dangling separators: the dot between a service tag and the status is hidden (the tags are chips already); "Live · 3 min late" reads as one phrase */
#home .nr small .svc-tag + span[aria-hidden="true"] { display: none; }
#home .nr small .svc-tag { margin-right: 6px; }
.h-st .h-st-d { margin-left: -3px; }
#h-hero .h-fallback { margin-top: 2px; }

/* (activation_v1, 2 Nov) Home's top, in every state: a one-line "Where to? Ask GoAus" row and the Home / School quick buttons FIRST (order 3, in the page's own
   order), then the trip card (order 4) or the "Set your usual trip" card. Directions and the rest follow. */
#home #home-inner.hv2 > #act-usual-card { order: 4; }
#home #home-inner.hv2 > .searchrow .searchbar { padding: var(--s3) var(--s4); min-height: 0; }
#home #home-inner.hv2 > .searchrow .searchbar .hint { display: none; }
#home #home-inner.hv2 > .searchrow .searchbar .ask-spark { width: 32px; height: 32px; border-radius: 10px; }
#home #home-inner.hv2 > .fs-helper { display: none; }

/* (u247c) the tight warning flows full width: icon + text on one line block, the "Next: …" link on its own line below (390 and 360 px) */
.h-st.h-tight { flex-wrap: wrap; align-items: flex-start; column-gap: 6px; row-gap: 4px; }
.h-st.h-tight > .i { flex: none; margin-top: 2px; }
.h-st.h-tight > .h-tight-t, .h-st.h-tight > span:not(.i) { flex: 1 1 calc(100% - 24px); min-width: 0; overflow-wrap: anywhere; line-height: 1.35; }
.h-st.h-tight > .link { flex: 1 1 100%; margin: 0 0 0 22px; padding: 2px 0; text-align: left; line-height: 1.35; }
/* (u247c) "Not leaving from Home today?" and "Hide this trip on Tuesdays?" */
.h-away .h-away-q { display: block; font-size: 22px; line-height: 1.2; margin: 8px 0 4px; }
.h-away-btns { display: flex; gap: 10px; margin-top: 12px; }
.h-away-btns .btn { flex: 1 1 auto; min-width: 0; white-space: nowrap; padding-left: 12px; padding-right: 12px; }
@media (max-width: 339px) { .h-away-btns { flex-direction: column; } .h-away-btns .btn { flex: 1 1 100%; width: 100%; } }
#home #home-inner.hv2 > #h-hideask { order: 4; }
#h-hideask:not(:empty) { margin-top: 14px; }
.h-hideask { margin-bottom: 10px; padding: 14px 16px; }
.h-hideask .sub { margin: 4px 0 0; }

/* (u248a) the card holds its place with a spinner while the timetable comes in (1.5 s at most), and a better bus is one quiet line, never a swap */
.h-wait { min-height: 150px; }
.h-suggest { display: flex; align-items: center; gap: 4px; flex-wrap: nowrap; margin: 8px 0 0; padding: 2px 4px; min-height: 44px; font-size: var(--fs-sub, 14px); color: var(--text-2, var(--text)); }
.h-suggest .grow { flex: 0 1 auto; min-width: 0; }
.h-suggest .link { white-space: nowrap; }
.h-suggest .link { min-height: 44px; padding: 0 6px; font-weight: 600; color: var(--accent); }
