.route-city-letter {
  color: #1769e0 !important;
  font-size: .9rem !important;
  font-weight: 850;
}

.season-bar--unknown i,
.season-bar--unknown.is-current i {
  min-height: 70px;
  background: linear-gradient(180deg, #dce5ef, #a9b9ca);
  filter: saturate(.4);
}

@media (max-width: 420px) {
  .page-hero__grid > *,
  .page-hero h1,
  .page-hero .lead {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

.station-map__unknown {
  display: grid;
  min-height: 390px;
  place-content: center;
  gap: 8px;
  padding: 28px;
  color: var(--muted);
  background: linear-gradient(135deg, #eef4fb, #dce8f5);
  text-align: center;
}

.station-map__unknown strong {
  color: var(--heading);
}

.route-show-more[hidden] {
  display: none;
}

@media (max-width: 680px) {
  .station-map__unknown {
    min-height: 320px;
  }
}

/* mobile-seasonality-visibility-2026-09-07 */
@media (max-width: 760px) {
  #season-chart {
    display: none !important;
  }

  #main-nav a[href="/#season-chart"] {
    display: none !important;
  }
}

/* route-motion-and-tickets-2026-09-19 */
.route-filter {
  position: relative;
}

.route-filter select {
  appearance: none;
  -webkit-appearance: none;
  background-image: none;
}

.route-filter::after,
.route-comfort-picker > summary::after {
  content: "";
  width: 7px;
  height: 7px;
  border: 0;
  border-right: 2px solid var(--brand);
  border-bottom: 2px solid var(--brand);
  transform: rotate(45deg);
  pointer-events: none;
}

.route-filter::after {
  position: absolute;
  right: 17px;
  bottom: 18px;
}

.route-comfort-picker > summary::after {
  flex: none;
  margin: -4px 4px 0 0;
}

.routes-table-v8 .route-cell--arrival > strong {
  white-space: nowrap;
}

.routes-table-v8 .arrival-next-day {
  margin-left: 4px;
  color: var(--muted);
  font-size: .7rem;
  font-weight: 600;
  line-height: 1;
  vertical-align: super;
  white-space: nowrap;
}

.routes-table-v8 .route-cell--price > strong {
  white-space: nowrap;
}

.routes-table-v8 .route-cell--comfort .comfort-list {
  gap: 4px;
}

.routes-table-v8 .route-cell--comfort .table-icon-chip {
  width: 26px;
  height: 26px;
}

.routes-table-v8 .route-row-cta {
  width: 40px;
  min-width: 40px;
  height: 40px;
  padding: 0;
}

.routes-table-v8 .route-row-cta .icon {
  width: 18px;
  height: 18px;
}

@media (min-width: 901px) {
  .routes-table-v8 table {
    min-width: 1120px;
    table-layout: fixed;
  }

  .route-col--departure,
  .route-col--arrival { width: 16%; }
  .route-col--duration { width: 10%; }
  .route-col--schedule { width: 11%; }
  .route-col--price { width: 17%; }
  .route-col--ticket { width: 8%; }
  .route-col--comfort { width: 13%; }
  .route-col--action { width: 9%; }
}

@media (max-width: 900px) {
  .routes-table-v8 colgroup {
    display: none;
  }

  .routes-table-v8 .route-cell--action {
    justify-content: flex-end;
  }

  .routes-table-v8 .route-row-cta {
    width: 40px;
    min-width: 40px;
    min-height: 40px;
  }

  .routes-table-v8 .route-cell--duration { grid-column: 6 / 9; }
  .routes-table-v8 .route-cell--arrival { grid-column: 9 / 13; }
  .routes-table-v8 .route-cell--duration > strong { white-space: nowrap; }
}

@media (max-width: 420px) {
  .routes-table-v8 .route-cell--duration { grid-column: 6 / 9; }
  .routes-table-v8 .route-cell--arrival { grid-column: 9 / 13; }
  .routes-table-v8 .route-cell--arrival > strong {
    position: relative;
    padding-top: 12px;
  }

  .routes-table-v8 .arrival-next-day {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
  }
}
