@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 animation: three waypoints and passenger drop-off / pick-up. */
.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:route-passenger-one-v12 48s linear infinite!important}
.route-motion-v8 .route-road .route-bus__passengers i:nth-child(2){animation:route-passenger-two-v12 48s linear infinite!important}
.route-motion-v8 .route-road .route-bus__passengers i:nth-child(3){animation:route-passenger-three-v12 48s linear infinite!important}
.route-motion-v8 .route-road .route-bus__passengers i:nth-child(4){animation:route-passenger-terminal-v12 48s linear infinite!important}
.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:26%;transform:translate(-50%,-50%) scaleX(1)}
  23%,27%{left:52%;transform:translate(-50%,-50%) scaleX(1)}
  34%,38%{left:78%;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:78%;transform:translate(-50%,-50%) scaleX(-1)}
  73%,77%{left:52%;transform:translate(-50%,-50%) scaleX(-1)}
  84%,88%{left:26%;transform:translate(-50%,-50%) scaleX(-1)}
  95%,100%{left:0;transform:translate(-50%,-50%) scaleX(-1)}
}
@keyframes route-passenger-one-v12{0%,13.99%{opacity:1}14%,85.99%{opacity:0}86%,100%{opacity:1}}
@keyframes route-passenger-two-v12{0%,24.99%{opacity:1}25%,74.99%{opacity:0}75%,100%{opacity:1}}
@keyframes route-passenger-three-v12{0%,35.99%{opacity:1}36%,63.99%{opacity:0}64%,100%{opacity:1}}
@keyframes route-passenger-terminal-v12{0%,46.99%{opacity:1}47%,100%{opacity:0}}
@keyframes route-stop-one-v12{
  0%,13.99%,86.01%,100%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}
  14%,86%{background:var(--accent);box-shadow:0 0 0 5px #f59e0b2e,0 5px 12px #0b1f3a26}
}
@keyframes route-stop-two-v12{
  0%,24.99%,75.01%,100%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}
  25%,75%{background:var(--accent);box-shadow:0 0 0 5px #f59e0b2e,0 5px 12px #0b1f3a26}
}
@keyframes route-stop-three-v12{
  0%,35.99%,64.01%,100%{background:#fff;box-shadow:0 0 0 3px #1769e055,0 5px 12px #0b1f3a26}
  36%,64%{background:var(--accent);box-shadow:0 0 0 5px #f59e0b2e,0 5px 12px #0b1f3a26}
}
@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:52%!important;transform:translate(-50%,-50%)!important}
  .route-motion-v8 .route-road .route-bus__passengers i:nth-child(n){animation:none!important;opacity:1!important}
  .route-motion-v8 .route-road .route-stop__marker{animation:none!important}
}

/* doneck-volgograd-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}}

.station-contact-card dd,.source-card,.prose{overflow-wrap:anywhere}
.section-heading-v2--single>div{width:100%}
@media(min-width:901px){
  .routes-table-v8{overflow-x:visible}
  .routes-table-v8 table{min-width:0;table-layout:fixed}
  .routes-table-v8 th,.routes-table-v8 td{padding-inline:7px;overflow-wrap:anywhere}
  .routes-table-v8 th:nth-child(1),.routes-table-v8 th:nth-child(2){width:14%}
  .routes-table-v8 th:nth-child(3){width:9%}
  .routes-table-v8 th:nth-child(4){width:12%}
  .routes-table-v8 th:nth-child(5){width:15%}
  .routes-table-v8 th:nth-child(6){width:7%}
  .routes-table-v8 th:nth-child(7){width:17%}
  .routes-table-v8 th:nth-child(8){width:12%}
  .routes-table-v8 .route-cell--price strong{white-space:nowrap;overflow-wrap:normal}
  .routes-table-v8 .comfort-list{flex-wrap:wrap}
}
.routes-table-v8 .route-cell--arrival .arrival-time{display:inline-flex;align-items:flex-start;gap:4px;white-space:nowrap}
.routes-table-v8 .route-cell--arrival .arrival-time sup,.route-reference-table .next-day-sup{position:relative;top:-.18em;color:#8993a2;font-size:9px;font-weight:400;line-height:1;white-space:nowrap}
.routes-table-v8 .route-row-cta{min-width:40px;min-height:40px;padding:8px;justify-content:center}
.routes-table-v8 .route-row-cta svg{flex:none;margin:0}
.route-filter{position:relative}
.route-filter select{appearance:none;-webkit-appearance:none;background-image:none}
.route-filter::after,.route-comfort-picker>summary::after{content:"";display:block;width:8px;height:8px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg);pointer-events:none}
.route-filter::after{position:absolute;right:16px;bottom:19px}
.route-comfort-picker>summary::after{position:static;flex:none;margin-left:2px;margin-right:5px;transform:translateY(-2px) rotate(45deg)}
.route-comfort-picker[open]>summary::after{transform:translateY(3px) rotate(225deg)}
.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}
@media(max-width:900px){
  .transport-table{overflow:visible}
  .transport-table table,.transport-table tbody,.transport-table tr,.transport-table th,.transport-table td{display:block;width:100%;min-width:0}
  .transport-table thead{display:none}
  .transport-table tbody{display:grid;gap:12px}
  .transport-table tr{padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}
  .transport-table th,.transport-table td{padding:6px 0;border:0;background:transparent!important}
}
@media(max-width:600px){
  .routes-table-v8 .route-cell--departure{grid-column:1/7}
  .routes-table-v8 .route-cell--arrival{grid-column:7/13}
  .routes-table-v8 .route-cell--duration{grid-column:1/13;display:flex;align-items:baseline;justify-content:center;gap:7px;text-align:center}
  .routes-table-v8 .route-cell--duration .route-cell__label{margin:0}
  .routes-table-v8 .route-cell--duration strong{white-space:nowrap}
}

/* Full-width reference pages and dated route tables. */
.wide-page-content{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.wide-page-content>.prose{max-width:none;min-width:0}
.wide-page-content>.source-card{position:static;max-width:none}
.wide-page-content .prose>h2:first-child{margin-top:0}
.wide-page-content .route-reference-table{margin:24px 0 34px;overflow-x:auto}
.route-reference-table table{width:100%;min-width:0;table-layout:fixed}
.route-reference-table caption{padding:12px 16px;text-align:left;color:#405775;font-size:.83rem;line-height:1.45}
.route-reference-table th,.route-reference-table td{padding:12px 14px;vertical-align:top;overflow-wrap:anywhere}
.route-reference-table th{white-space:normal}
.route-reference-table td:first-child{font-weight:700;color:var(--ink)}
.route-reference-table .arrival-time{display:inline-flex;align-items:flex-start;gap:4px;white-space:nowrap}
.route-reference-table .next-day-sup{display:inline-block}
.route-reference-table--schedule th:nth-child(1){width:11%}
.route-reference-table--schedule th:nth-child(2){width:25%}
.route-reference-table--schedule th:nth-child(3){width:12%}
.route-reference-table--schedule th:nth-child(4){width:27%}
.route-reference-table--schedule th:nth-child(5){width:12%}
.route-reference-table--schedule th:nth-child(6){width:13%}
.route-reference-table--prices th:nth-child(1){width:22%}
.route-reference-table--prices th:nth-child(2){width:58%}
.route-reference-table--prices th:nth-child(3){width:20%}
.route-reference-table--prices td:first-child{font-variant-numeric:tabular-nums}
.route-reference-table--prices td:last-child{white-space:nowrap;font-weight:700}
.route-reference-table .route-pair{display:grid;gap:3px}
.route-reference-table .route-pair span+span::before{content:"→ ";color:var(--brand)}
@media(max-width:760px){
  .wide-page-content{gap:20px}
  .wide-page-content .route-reference-table{overflow:visible}
  .route-reference-table table,.route-reference-table tbody,.route-reference-table tr,.route-reference-table td{display:block;width:100%;min-width:0}
  .route-reference-table thead{display:none}
  .route-reference-table tbody{display:grid;gap:12px}
  .route-reference-table tr{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}
  .route-reference-table td{display:grid;grid-template-columns:minmax(110px,35%) minmax(0,1fr);gap:10px;padding:7px 0;border:0;background:transparent!important}
  .route-reference-table td::before{content:attr(data-label);font-size:.78rem;font-weight:600;color:#667791}
  .route-reference-table--prices td:last-child{white-space:normal}
}
@media(max-width:420px){.route-reference-table td{grid-template-columns:1fr;gap:2px}}
