/* Hike-day cockpit: timetable cards + daylight strip. */

.tt-card { display: flex; flex-direction: column; gap: var(--s-3); }

.tt-head { display: flex; gap: var(--s-3); align-items: flex-start; }
.tt-glyph { flex: none; margin-top: 2px; color: var(--text-2); }
.tt-head-text { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tt-title { font: var(--fs-title-3) / var(--lh-title-3) var(--font-serif); }
.tt-route { overflow-wrap: anywhere; }

/* Caveat note doubles as its own expand control. */
.tt-caveat {
  border: 0; text-align: left; cursor: pointer; width: 100%;
  font: inherit; min-height: var(--tap-min);
}
.tt-caveat .note-text { min-width: 0; }
.tt-caveat[aria-expanded='false'] .note-text { overflow-wrap: anywhere; }

/* Departure rows: time | arrive | LAST, note on a second indented line. */
.tt-rows { display: flex; flex-direction: column; }
.tt-row {
  display: grid;
  grid-template-columns: max-content max-content 1fr;
  column-gap: var(--s-3);
  align-items: baseline;
  padding: var(--s-2) 0;
}
.tt-row + .tt-row { border-top: 1px solid var(--line); }
.tt-time { font-variant-numeric: tabular-nums; }
.tt-arr { justify-self: start; }
.tt-last { justify-self: end; letter-spacing: 0.08em; font-weight: 600; }
.tt-note { grid-column: 1 / -1; margin-top: 1px; }
.tt-empty { margin: 0; }

.tt-next {
  border-top: 1px solid var(--line);
  padding-top: var(--s-2);
  display: flex; gap: 2px; align-items: baseline;
}

/* Daylight strip: one quiet row, no card. */
.hike-strip {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: var(--s-2) var(--s-4);
  padding: var(--s-2) 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font: var(--fs-small) / var(--lh-small) var(--font-sans);
}
.hike-cell { display: inline-flex; align-items: center; gap: var(--s-1); color: var(--text); }
.hike-cell svg { color: var(--text-3); }
.hike-guide { margin-left: auto; }
@media (max-width: 420px) {
  .hike-guide { margin-left: 0; flex-basis: 100%; }
}
