/* Route-specific refinements. Animation timing matches the reference. */
.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-motion-v8 .route-road .route-bus{animation:et-bus 36s linear infinite}
.route-motion-v8 .route-road .route-stop:nth-child(2) .route-stop__marker{animation:et-stop-one 36s linear infinite!important}
.route-motion-v8 .route-road .route-stop:nth-child(3) .route-stop__marker{animation:et-stop-two 36s linear infinite!important}
.route-motion-v8 .route-road .route-stop:nth-child(4) .route-stop__marker{animation:et-stop-three 36s linear infinite!important}
.route-motion-v8 .route-bus__passengers i:nth-child(1){animation:et-passenger-one 36s linear infinite}
.route-motion-v8 .route-bus__passengers i:nth-child(2){animation:et-passenger-two 36s linear infinite}
.route-motion-v8 .route-bus__passengers i:nth-child(3){animation:et-passenger-three 36s linear infinite}
.route-motion-v8 .route-bus__passengers i:nth-child(4){animation:et-passenger-end 36s linear infinite}
.route-motion-v8 .route-road .route-stop--terminal img{object-fit:contain}
.routes-table-v8 .route-cell--price>strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.routes-table-v8 .route-cell--arrival>strong{white-space:nowrap}
.arrival-next-day{display:inline-block;margin-left:.35em;font-size:.55em;line-height:1;vertical-align:super;font-weight:600;letter-spacing:0;color:var(--muted)}
.routes-table-v8 .route-row-cta{width:44px;min-width:44px;min-height:44px;padding:10px}
.routes-table-v8 .route-cell--action{justify-content:flex-end}
.routes-table-v8 .comfort-list{gap:8px;max-width:none}
.routes-table-v8 .comfort-unknown{display:inline-flex;color:var(--muted)}
.source-row--link-only .text-link-v2{flex-shrink:1;white-space:normal}
.route-filterbar-v8 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='%2321344d' 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-filterbar-v8 select{appearance:none;-webkit-appearance:none}
.route-comfort-picker>summary:after{content:none}
@media(min-width:1121px){
  .routes-table-v8 table{table-layout:fixed}
  .routes-table-v8 thead th:nth-child(1){width:21%}
  .routes-table-v8 thead th:nth-child(2){width:21%}
  .routes-table-v8 thead th:nth-child(3){width:9%}
  .routes-table-v8 thead th:nth-child(4){width:11%}
  .routes-table-v8 thead th:nth-child(5){width:13%}
  .routes-table-v8 thead th:nth-child(6){width:7%}
  .routes-table-v8 thead th:nth-child(7){width:10%}
  .routes-table-v8 thead th:nth-child(8){width:8%}
  .routes-table-v8 td{overflow-wrap:anywhere}
  .routes-table-v8 .route-cell--action{text-align:right}
}
@media(max-width:420px){
  .routes-table-v8 .route-cell--departure{grid-column:1/7}
  .routes-table-v8 .route-cell--duration{grid-column:1/13}
  .routes-table-v8 .route-cell--arrival{grid-column:7/13}
}
@media(prefers-reduced-motion:reduce){
  .route-motion-v8 .route-road .route-bus{animation:none!important}
  .route-motion-v8 .route-road .route-stop:nth-child(n) .route-stop__marker{animation:none!important;background:#fff!important}
  .route-motion-v8 .route-bus__passengers i:nth-child(n){animation:none!important;opacity:1!important}
}
@keyframes et-bus{0%,5%{left:0;transform:translate(-50%,-50%) scaleX(1)}18%,21%{left:30.7%;transform:translate(-50%,-50%) scaleX(1)}30%,33%{left:53%;transform:translate(-50%,-50%) scaleX(1)}43%,46%{left:80.2%;transform:translate(-50%,-50%) scaleX(1)}55%{left:100%;transform:translate(-50%,-50%) scaleX(1)}60%{left:100%;transform:translate(-50%,-50%) scaleX(-1)}69%,72%{left:80.2%;transform:translate(-50%,-50%) scaleX(-1)}80%,83%{left:53%;transform:translate(-50%,-50%) scaleX(-1)}91%,94%{left:30.7%;transform:translate(-50%,-50%) scaleX(-1)}100%{left:0;transform:translate(-50%,-50%) scaleX(-1)}}
@keyframes et-stop-one{0%,20.5%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}20.51%,93.5%{background:var(--accent);box-shadow:0 0 0 3px #1769e033,0 5px 12px #0b1f3a26}93.51%,100%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}}
@keyframes et-stop-two{0%,32.5%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}32.51%,82.5%{background:var(--accent);box-shadow:0 0 0 3px #1769e033,0 5px 12px #0b1f3a26}82.51%,100%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}}
@keyframes et-stop-three{0%,45.5%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}45.51%,71.5%{background:var(--accent);box-shadow:0 0 0 3px #1769e033,0 5px 12px #0b1f3a26}71.51%,100%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}}
@keyframes et-passenger-one{0%,19.5%{opacity:1}19.51%,93.5%{opacity:0}93.51%,100%{opacity:1}}
@keyframes et-passenger-two{0%,31.5%{opacity:1}31.51%,82.5%{opacity:0}82.51%,100%{opacity:1}}
@keyframes et-passenger-three{0%,44.5%{opacity:1}44.51%,71.5%{opacity:0}71.51%,100%{opacity:1}}
@keyframes et-passenger-end{0%,55%{opacity:1}55.01%,100%{opacity:0}}
