.nearby-transit { padding: 1rem; margin-bottom: 1rem; border: 1px solid var(--line); border-radius: 1rem; background: linear-gradient(125deg,var(--paper),var(--blue-50)); }
.nearby-transit__head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.nearby-transit__head h2 { margin: 0; font-size: 1rem; }
.nearby-transit__head p { margin: .25rem 0 0; color: var(--ink-2); font-size: .76rem; }
.nearby-transit__head .btn { flex-shrink: 0; min-height: 44px; font-size: .82rem; }
.nearby-transit__message { margin: .65rem 0 0; font-size: .8rem; color: var(--ink-2); }
.nearby-transit__message:empty { display: none; }
.nearby-transit__results { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .8rem 1.1rem; margin-top: 1rem; }
.nearby-transit__results[hidden] { display: none; }
.nearby-transit__results > section { min-width: 0; }
.nearby-transit__results h3 { margin: 0 0 .5rem; font-size: .88rem; }
.nearby-transit__results ol { list-style: none; padding: 0; margin: 0; }
.nearby-transit__results li + li { border-top: 1px solid var(--line); }
.nearby-transit__results li a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .2rem .7rem; padding: .75rem .2rem; color: var(--ink); min-height: 44px; }
.nearby-transit__results strong { min-width: 0; font-size: .95rem; overflow-wrap: break-word; }
.nearby-transit__results li span { color: var(--blue-d); font-variant-numeric: tabular-nums; font-size: .85rem; }
.nearby-transit__results small { grid-column: 1/-1; color: var(--ink-2); font-size: .76rem; line-height: 1.65; overflow-wrap: break-word; }
.nearby-transit__empty { color: var(--ink-2); font-size: .82rem; }
.nearby-transit__source { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 0 1rem; margin: 0; font-size: .7rem; color: var(--ink-2); }
.nearby-transit__source a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.nearby-transit a:focus-visible,.nearby-transit button:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.transit-station-picker { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: 0 0 1rem; }
.transit-station-picker label { font-size: .85rem; font-weight: 700; }
.transit-station-picker select { flex: 1; min-width: 8rem; min-height: 44px; font: inherit; font-size: 16px; padding: .5rem; border: 1px solid var(--line-2); border-radius: .65rem; color: var(--ink); background: var(--paper); }
.transit-station-picker .btn { min-height: 44px; font-size: .85rem; }
@media (max-width: 700px) {
  .nearby-transit { padding: .85rem; }
  .nearby-transit__head { flex-wrap: wrap; gap: .65rem; }
  .nearby-transit__head .btn { width: 100%; }
  .nearby-transit__results { grid-template-columns: minmax(0,1fr); }
  .nearby-transit__results > section + section { border-top: 1px solid var(--line); padding-top: .8rem; }
}
