/* Reference typography and domain-specific table layout. */
.route-kpis dt{font-size:.78rem;font-weight:650}
.route-kpis dd{font-size:clamp(1.25rem,1.8vw,1.62rem);font-weight:700;letter-spacing:-.025em}
.route-kpis small{font-size:.72rem}
.route-kpis .kpi-time{white-space:nowrap}
.route-kpis>div{min-width:0;padding-inline:12px}
.route-kpis>div:first-child{padding-left:0}
.route-kpis{grid-template-columns:.8fr 1.35fr 1.15fr}
.route-motion-v8 .route-road .route-bus{animation:route-bus-cycle-v11 36s linear infinite}
@keyframes passenger-exit-destination-v11{0%,55%{opacity:1}55.01%,60%{opacity:0}60.01%,100%{opacity:1}}
.routes-table-v8 .route-cell--arrival>strong{white-space:nowrap}
.arrival-next-day{position:static;display:inline-block;margin-left:4px;font-size:.48em;line-height:1;vertical-align:super;font-weight:400;white-space:nowrap;color:#8290a3}
.routes-table-v8 .route-cell--price>strong{white-space:nowrap}
.routes-table-v8 .comfort-list{display:flex;flex-wrap:wrap;gap:5px;margin:0;padding:0;list-style:none}
.routes-table-v8 .table-icon-chip{flex:none}
.routes-table-v8 .route-row-cta{display:inline-flex;align-items:center;justify-content:center;min-width:40px;width:40px;height:40px;min-height:40px;padding:9px}
.routes-table-v8 .route-row-cta .icon{width:18px;height:18px;flex:none}
.route-filter select,.route-comfort-picker>summary{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23405775' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px;padding-right:36px}
.route-filter select{appearance:none;-webkit-appearance:none}
.route-comfort-picker>summary:after{display:none}
.route-comfort-picker>summary::marker{content:""}
.route-comfort-picker>summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
@media(min-width:901px){
  .routes-table-v8 table{table-layout:fixed;min-width:1040px}
  .routes-table-v8 .col-departure{width:22%}
  .routes-table-v8 .col-arrival{width:21%}
  .routes-table-v8 .col-duration{width:11%}
  .routes-table-v8 .col-schedule{width:10%}
  .routes-table-v8 .col-price{width:14%}
  .routes-table-v8 .col-ticket{width:6%}
  .routes-table-v8 .col-comfort{width:10%}
  .routes-table-v8 .col-action{width:6%}
  .routes-table-v8 .route-cell small{overflow-wrap:anywhere}
  .routes-table-v8 .route-sort{gap:5px;max-width:100%}
}
@media(max-width:760px){.route-kpis{grid-template-columns:1fr}.route-kpis>div{padding-inline:0}}
@media(max-width:900px){
  .routes-table-v8 tr[data-route-row]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .routes-table-v8 td{min-width:0}
  .routes-table-v8 .route-cell--departure{grid-column:1;grid-row:1}
  .routes-table-v8 .route-cell--arrival{grid-column:2;grid-row:1}
  .routes-table-v8 .route-cell--duration{grid-column:1/-1;grid-row:2;display:flex;align-items:baseline;gap:8px;text-align:left}
  .routes-table-v8 .route-cell--duration>strong{white-space:nowrap}
  .routes-table-v8 .route-cell--schedule{grid-column:1;grid-row:3}
  .routes-table-v8 .route-cell--price{grid-column:2;grid-row:3}
  .routes-table-v8 .route-cell--ticket{grid-column:1;grid-row:4;align-items:center}
  .routes-table-v8 .route-cell--comfort{grid-column:2;grid-row:4;display:grid;justify-items:end}
  .routes-table-v8 .comfort-list{justify-content:flex-end}
  .routes-table-v8 .route-cell--action{grid-column:1/-1;grid-row:5;justify-content:flex-end}
  .routes-table-v8 .route-row-cta{width:40px}
  .routes-table-v8 .route-cell--departure>strong,.routes-table-v8 .route-cell--arrival>strong{font-size:1.15rem}
}
@media(prefers-reduced-motion:reduce){.route-motion-v8 .route-road .route-bus,.route-motion-v8 .route-bus__passengers i,.route-motion-v8 .route-stop__marker{animation:none!important}}
