/* Scoped OD additions to the unchanged run-05 public stylesheet. */
.direct-journey .title-en { display: block; font-size: .62em; font-weight: 500; line-height: 1.45; margin-top: .45rem; }
.direct-journey h1, .direct-journey .journey-table th, .direct-journey .fare { word-break: keep-all; }
.direct-journey .secondary { display: block; font-size: .86em; line-height: 1.5; color: #4c5a65; }
.direct-journey .station-links { display: flex; flex-wrap: wrap; gap: .35rem .7rem; }
.direct-journey .weekday-note { padding-left: 1rem; border-left: 3px solid #b2c4d0; }
.direct-journey .weekday-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.4rem 0; }
.direct-journey .weekday-nav a { border: 1px solid #cad5de; border-radius: 4px; padding: .4rem .6rem; text-decoration: none; background: #f8fafb; }
.direct-journey .weekday-nav a:hover, .direct-journey .weekday-nav a:focus-visible { background: #e8f0f5; outline-offset: 3px; }
.direct-journey .time-note { font-size: .9rem; }
.direct-journey .journey-table { table-layout: fixed; font-variant-numeric: tabular-nums; }
.direct-journey .journey-table .train-col { width: 34%; }
.direct-journey .journey-table .time-col { width: 21%; }
.direct-journey .journey-table .fare-col { width: 24%; }
.direct-journey .journey-table th, .direct-journey .journey-table td { min-width: 0; vertical-align: middle; }
.direct-journey .journey-table th .secondary { font-weight: 400; }
.direct-journey .train-main { font-weight: 600; }
.direct-journey .train-en { width: fit-content; font-size: .78em; }
.direct-journey .origin-time, .direct-journey .destination-time, .direct-journey .fare { white-space: nowrap; }
.direct-journey .fare .secondary { white-space: normal; }
.direct-journey .back-to-days { text-align: right; font-size: .86rem; }
.direct-journey .weekday-section { scroll-margin-top: 1rem; }
.direct-journey .public-document-metadata td:first-child { width: 32%; }
@media (max-width: 600px) {
  .direct-journey .journey-table { font-size: .83rem; }
  .direct-journey .journey-table th, .direct-journey .journey-table td { padding: .6rem .4rem; }
  .direct-journey .journey-table th { font-size: .78rem; overflow-wrap: anywhere; }
  .direct-journey .journey-table th .secondary { font-size: .9em; }
  .direct-journey .train-en { overflow-wrap: anywhere; }
  .direct-journey .fare { white-space: normal; }
}

.direct-journey .journey-navigation { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; margin-bottom: 1.6rem; font-size: .85rem; }
.direct-journey .journey-directory { padding-left: 1.4rem; }
.direct-journey .journey-directory li { margin-bottom: .85rem; }
.direct-journey .destination-count { font-size: .85rem; color: #4c5a65; }
