@media(max-width:420px){
  .routes-table-v8 .route-cell--comfort{min-width:0}
  .routes-table-v8 .comfort-list{max-width:100%;flex-wrap:wrap;justify-content:flex-end;row-gap:4px}
}
@media(max-width:360px){
  .page-hero__grid>*{min-width:0}
  .page-hero h1{overflow-wrap:anywhere}
}
.season-method{margin:16px 0 0;color:#64748b;font-size:13px;line-height:1.55}

/* route-stop-snap-v12-2026-08-30 */
.route-motion-v8 .route-motion__top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.route-motion-v8 .route-motion__hint{color:#647792;font-size:.68rem;font-weight:600;line-height:1.3;text-align:right}
.route-motion-v8 .route-stop:not(.route-stop--terminal) .route-stop__label strong{color:#405775;font-size:.72rem;font-weight:700}
.route-motion-v8 .route-stop:not(.route-stop--terminal) .route-stop__label small{margin-top:3px;color:#7a8da7;font-size:.58rem;font-weight:550}
.route-motion-v8 .route-road .route-bus{animation:route-bus-cycle-v12 48s linear infinite}
.route-motion-v8 .route-road .route-bus__passengers i:nth-child(1){animation:passenger-akimovka-v13 48s linear infinite}
.route-motion-v8 .route-road .route-bus__passengers i:nth-child(2){animation:passenger-genichesk-v13 48s linear infinite}
.route-motion-v8 .route-road .route-bus__passengers i:nth-child(3){animation:passenger-chongar-v13 48s linear infinite}
.route-motion-v8 .route-road .route-bus__passengers i:nth-child(4){animation:passenger-dzhankoy-v13 48s linear infinite}
.route-motion-v8 .route-road .route-stop:nth-child(2) .route-stop__marker{animation:route-stop-one-v12 48s linear infinite}
.route-motion-v8 .route-road .route-stop:nth-child(3) .route-stop__marker{animation:route-stop-two-v12 48s linear infinite}
.route-motion-v8 .route-road .route-stop:nth-child(4) .route-stop__marker{animation:route-stop-three-v12 48s linear infinite}
@keyframes route-bus-cycle-v12{
  0%,5%{left:0;transform:translate(-50%,-50%) scaleX(1)}
  12%,16%{left:28%;transform:translate(-50%,-50%) scaleX(1)}
  23%,27%{left:56%;transform:translate(-50%,-50%) scaleX(1)}
  34%,38%{left:80%;transform:translate(-50%,-50%) scaleX(1)}
  45%,49.99%{left:100%;transform:translate(-50%,-50%) scaleX(1)}
  50.01%,55%{left:100%;transform:translate(-50%,-50%) scaleX(-1)}
  62%,66%{left:80%;transform:translate(-50%,-50%) scaleX(-1)}
  73%,77%{left:56%;transform:translate(-50%,-50%) scaleX(-1)}
  84%,88%{left:28%;transform:translate(-50%,-50%) scaleX(-1)}
  95%,100%{left:0;transform:translate(-50%,-50%) scaleX(-1)}
}
@keyframes route-stop-one-v12{
  0%,11.99%,16.01%,83.99%,88.01%,100%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}
  12%,16%,84%,88%{background:var(--accent);box-shadow:0 0 0 5px #f59e0b2e,0 5px 12px #0b1f3a26}
}
@keyframes route-stop-two-v12{
  0%,22.99%,27.01%,72.99%,77.01%,100%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}
  23%,27%,73%,77%{background:var(--accent);box-shadow:0 0 0 5px #f59e0b2e,0 5px 12px #0b1f3a26}
}
@keyframes route-stop-three-v12{
  0%,33.99%,38.01%,61.99%,66.01%,100%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}
  34%,38%,62%,66%{background:var(--accent);box-shadow:0 0 0 5px #f59e0b2e,0 5px 12px #0b1f3a26}
}
@keyframes passenger-akimovka-v13{0%,13.5%{opacity:1}13.51%,86.5%{opacity:0}86.51%,100%{opacity:1}}
@keyframes passenger-genichesk-v13{0%,24.5%{opacity:1}24.51%,75.5%{opacity:0}75.51%,100%{opacity:1}}
@keyframes passenger-chongar-v13{0%,35.5%{opacity:1}35.51%,64.5%{opacity:0}64.51%,100%{opacity:1}}
@keyframes passenger-dzhankoy-v13{0%,47%{opacity:1}47.01%,52.5%{opacity:0}52.51%,100%{opacity:1}}
@media(max-width:920px) and (min-width:761px){
  .route-motion-v8 .route-stop:not(.route-stop--terminal) .route-stop__label small{display:none}
}
@media(prefers-reduced-motion:reduce){
  .route-motion-v8 .route-road .route-bus{animation:none!important;left:56%!important;transform:translate(-50%,-50%)!important}
  .route-motion-v8 .route-road .route-bus__passengers i{animation:none!important;opacity:1!important}
  .route-motion-v8 .route-road .route-stop__marker{animation:none!important}
}

/* Ticket table and filter refinements, 2026-09-19. */
.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}
.routes-table-v8 table{min-width:1100px;table-layout:fixed}
.routes-table-v8 th:nth-child(1){width:16%}
.routes-table-v8 th:nth-child(2){width:16%}
.routes-table-v8 th:nth-child(3){width:11%}
.routes-table-v8 th:nth-child(4){width:12%}
.routes-table-v8 th:nth-child(5){width:16%}
.routes-table-v8 th:nth-child(6){width:14%}
.routes-table-v8 th:nth-child(7){width:9%}
.routes-table-v8 th:nth-child(8){width:6%}
.routes-table-v8 .route-cell--price>strong{white-space:nowrap}
.routes-table-v8 .route-cell--comfort{padding-inline:8px}
.routes-table-v8 .comfort-list{gap:4px;margin:0;padding:0;list-style:none}
.routes-table-v8 .route-cell--action{text-align:center}
.routes-table-v8 .route-row-cta{display:inline-flex;align-items:center;justify-content:center;width:40px;min-width:40px;height:40px;padding:0}
.routes-table-v8 .route-row-cta .icon{width:16px;height:16px}
.routes-table-v8 .route-cell--arrival .route-next-day,.schedule-data-table .route-next-day{display:inline-block;margin-left:3px;color:#7b8795;font-size:.48rem;font-weight:400;line-height:1;letter-spacing:0;white-space:nowrap;vertical-align:super}
.route-filterbar-v8 .route-filter{position:relative}
.route-filterbar-v8 .route-filter select{appearance:none;-webkit-appearance:none}
.route-filterbar-v8 .route-filter:after,.route-comfort-picker>summary:after{content:"";display:block;width:7px;height:7px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg)}
.route-filterbar-v8 .route-filter:after{position:absolute;right:17px;bottom:19px;pointer-events:none}
.route-comfort-picker>summary:after{flex:none;margin:-4px 4px 0 2px;font-size:0}
.route-comfort-picker[open]>summary:after{margin-top:4px;transform:rotate(225deg)}
@media(max-width:1120px){
  .routes-table-v8 table{min-width:0;table-layout:auto}
  .routes-table-v8 .route-cell--action{text-align:inherit}
  .routes-table-v8 .route-row-cta{width:44px;min-height:44px}
}
@media(max-width:600px){
  .routes-table-v8 .route-cell--departure{grid-column:1/5}
  .routes-table-v8 .route-cell--duration{grid-column:5/9}
  .routes-table-v8 .route-cell--arrival{grid-column:9/13}
  .routes-table-v8 .route-cell--duration>strong{font-size:.8125rem;line-height:1.3}
  .routes-table-v8 .route-cell--ticket{grid-column:1/13;display:block;margin-top:6px}
  .routes-table-v8 .route-cell--comfort{grid-column:1/8;display:block;margin-top:6px}
  .routes-table-v8 .route-cell--action{grid-column:8/13;display:flex;justify-content:flex-end;align-items:end;margin-top:6px}
  .routes-table-v8 .route-row-cta{width:44px;min-width:44px}
}

/* melitopol-dghankoy-demand-history-v1 */
.demand-history-section{border-top:1px solid var(--line);background:linear-gradient(180deg,#f7faff 0,#eef4fb 100%)}
.season-card--demand{overflow:hidden}
.demand-season-chart .season-bar i{min-height:2px}
.demand-season-chart .season-bar:focus-visible{outline:0}
.demand-season-chart .season-bar:focus-visible i{box-shadow:inset 0 1px #ffffff80,0 0 0 3px #ff8a1f66}
.season-card--demand .season-card__meta{justify-content:flex-start}
.season-card--demand .season-card__meta output{font-weight:600}
.season-card--demand .season-method{max-width:1040px}
@media(max-width:760px){.demand-season-chart{grid-template-columns:repeat(12,56px);height:250px}.season-card--demand .season-card__meta{display:grid;gap:10px}.season-card--demand .chart-legend{gap:10px}}
@media(max-width:760px){.demand-history-section,.main-nav a[href$="#season-chart"]{display:none!important}}

/* Full-width route reference pages and evidence-backed transport comparison, 2026-09-21. */
.page--schedule .page-hero .lead,.page--prices .page-hero .lead,.page--stops .page-hero .lead{max-width:none}
.page--prices .page-hero__grid{grid-template-columns:minmax(0,1fr);gap:24px}
.page--prices .page-hero__aside{width:100%}
.page--prices .content-grid{grid-template-columns:minmax(0,1fr);gap:32px}
.page--prices .content-grid .prose{max-width:none;width:100%}
.page--prices .content-grid .source-card{width:100%}
.page--stops .station-columns{grid-template-columns:minmax(0,1fr)}
.page--stops .station-columns article{width:100%}
.page--stops .station-link__content{min-width:0;overflow-wrap:anywhere}
.data-table-intro{max-width:none;margin:0 0 24px;color:var(--muted)}
.data-table-wrap{width:100%;overflow:visible}
.route-data-table{width:100%;min-width:0;table-layout:fixed}
.route-data-table th,.route-data-table td{padding:16px 18px;overflow-wrap:anywhere}
.route-data-table thead th{font-size:.78rem;line-height:1.3}
.route-data-table tbody td{font-size:.86rem;line-height:1.5}
.route-data-table tbody td strong{color:var(--heading);font-weight:700;white-space:nowrap}
.route-data-table tbody tr:last-child td{border-bottom:0}
.schedule-data-table th:nth-child(1){width:14%}
.schedule-data-table th:nth-child(2){width:18%}
.schedule-data-table th:nth-child(3){width:14%}
.schedule-data-table th:nth-child(4){width:20%}
.schedule-data-table th:nth-child(5){width:14%}
.schedule-data-table th:nth-child(6){width:20%}
.price-data-table th:nth-child(1){width:30%}
.price-data-table th:nth-child(2){width:18%}
.price-data-table th:nth-child(3){width:20%}
.price-data-table th:nth-child(4){width:14%}
.price-data-table th:nth-child(5){width:18%}
.transport-table td[data-label]{overflow-wrap:anywhere}
.transport-note{max-width:none;line-height:1.55}
@media(max-width:900px){
  .route-data-table,.route-data-table tbody{display:block;width:100%}
  .route-data-table thead{display:none}
  .route-data-table tbody{padding:12px}
  .route-data-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}
  .route-data-table tbody tr+tr{margin-top:12px}
  .route-data-table tbody td{display:block;min-width:0;padding:0;border:0;overflow-wrap:anywhere}
  .route-data-table tbody td::before{content:attr(data-label);display:block;margin-bottom:3px;color:var(--muted);font-size:.69rem;font-weight:600;line-height:1.25}
  .route-data-table tbody td strong{white-space:normal}
  .price-data-table tbody td:first-child,.schedule-data-table tbody td:last-child{grid-column:1/-1}
  .transport-table{overflow:visible}
  .transport-table table,.transport-table tbody{display:block;width:100%;min-width:0}
  .transport-table thead{display:none}
  .transport-table tbody{padding:12px}
  .transport-table tbody tr{display:block;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}
  .transport-table tbody tr+tr{margin-top:12px}
  .transport-table tbody th,.transport-table tbody td{display:block;padding:5px 0;border:0}
  .transport-table tbody td::before{content:attr(data-label);display:block;margin-bottom:2px;color:var(--muted);font-size:.69rem;font-weight:600}
  .transport-table tbody tr:first-child td:nth-child(2)::before{content:"Время в пути"}
  .transport-table tbody tr:first-child td:nth-child(3)::before{content:"Стоимость на одного"}
  .transport-table tbody tr:first-child td:nth-child(4)::before{content:"Статус данных"}
}

/* melitopol-dghankoy-demand-history-v1 */
.demand-history-section{border-top:1px solid var(--line);background:linear-gradient(180deg,#f7faff 0,#eef4fb 100%)}
.season-card--demand{overflow:hidden}
.demand-season-chart .season-bar i{min-height:2px}
.demand-season-chart .season-bar:focus-visible{outline:0}
.demand-season-chart .season-bar:focus-visible i{box-shadow:inset 0 1px #ffffff80,0 0 0 3px #ff8a1f66}
.season-card--demand .season-card__meta{justify-content:flex-start}
.season-card--demand .season-card__meta output{font-weight:600}
.season-card--demand .season-method{max-width:1040px}
@media(max-width:760px){.demand-season-chart{grid-template-columns:repeat(12,56px);height:250px}.season-card--demand .season-card__meta{display:grid;gap:10px}.season-card--demand .chart-legend{gap:10px}}
@media(max-width:760px){.demand-history-section,.main-nav a[href$="#season-chart"]{display:none!important}}
