@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-v11 36s linear infinite}
.route-motion-v8 .route-road .route-stop:nth-child(2) .route-stop__marker{animation:route-stop-berdyansk-v11 36s linear infinite}
.route-motion-v8 .route-road .route-stop:nth-child(3) .route-stop__marker{animation:route-stop-mariupol-v11 36s linear infinite}
.route-motion-v8 .route-road .route-stop:nth-child(4) .route-stop__marker{animation:route-stop-taganrog-v11 36s linear infinite}
@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:53%!important;transform:translate(-50%,-50%)!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}}

/* krasnodar-sevastopol-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}}


/* krasnodar-responsive-qa */
@media(max-width:760px){
 .demand-history-section{display:none!important}
 .main-nav a[href="/#season-chart"]{display:none}
}
.transport-table table{width:100%;min-width:0;table-layout:fixed}
.transport-table th,.transport-table td,.routes-table-v8 th,.routes-table-v8 td{font-family:inherit;font-size:.875rem;line-height:1.5}
.transport-table th,.transport-table td{overflow-wrap:anywhere}
.transport-table small{font-size:.75rem}
@media(max-width:1140px){.route-filterbar-v8{grid-template-columns:1fr 1fr}.route-comfort-picker fieldset{width:min(320px,calc(100vw - 54px))}.routes-table-v8{overflow:visible}.routes-table-v8 table,.routes-table-v8 tbody{display:block;min-width:0}.routes-table-v8 caption{display:block;margin-bottom:12px;border-radius:12px}.routes-table-v8 thead{display:none}.routes-table-v8 tbody{display:grid;gap:12px}.routes-table-v8 tr[data-route-row]{display:grid;grid-template-columns:repeat(12,1fr);gap:0;padding:16px;border:1px solid #d9e5f2;border-radius:16px;background:#fff;box-shadow:0 8px 24px #16345c0e;filter:none!important}.routes-table-v8 tr[data-route-row][hidden]{display:none!important}.routes-table-v8 td{padding:7px 8px;border:0!important;border-radius:0!important;background:transparent!important}.routes-table-v8 .route-cell__label{display:block;margin-bottom:3px;color:var(--muted);font-size:.75rem}.routes-table-v8 .route-cell--departure{grid-column:1/6}.routes-table-v8 .route-cell--duration{grid-column:6/8;text-align:center}.routes-table-v8 .route-cell--arrival{grid-column:8/13;text-align:right}.routes-table-v8 .route-cell--departure>strong,.routes-table-v8 .route-cell--arrival>strong{font-size:1.35rem}.routes-table-v8 .route-cell--schedule{grid-column:1/7;margin-top:8px;border-top:1px solid var(--line)!important}.routes-table-v8 .route-cell--price{grid-column:7/13;margin-top:8px;border-top:1px solid var(--line)!important;text-align:right}.routes-table-v8 .route-cell--price>strong{font-size:1.2rem}.routes-table-v8 .route-cell--ticket{grid-column:1/3;display:flex;align-items:end;gap:8px;margin-top:5px}.routes-table-v8 .route-cell--comfort{grid-column:3/8;display:flex;align-items:end;gap:8px;margin-top:5px}.routes-table-v8 .route-cell--action{grid-column:8/13;display:flex;align-items:end;margin-top:5px}.routes-table-v8 .route-row-cta{width:100%;min-height:44px;justify-content:center}.routes-table-v8 .ticket-format-icon{margin:0}.routes-table-v8 .comfort-list{max-width:none}.routes-table-v8 .route-empty:not([hidden]){display:block;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.routes-table-v8 .route-empty td{display:block}.source-row--link-only{justify-content:flex-start}}
@media(max-width:760px){
 .transport-table{overflow:visible;border:0;background:none}
 .transport-table table,.transport-table tbody{display:block;width:100%;min-width:0}
 .transport-table thead{display:none}
 .transport-table tr{display:block;margin-bottom:14px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
 .transport-table td,.transport-table tbody th{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:14px;padding:12px 14px;white-space:normal;font-size:.875rem;text-align:left}
 .transport-table td:before,.transport-table tbody th:before{content:attr(data-label);color:var(--muted);font-weight:500}
.transport-table small{grid-column:2;margin-top:0}
}

/* krasnodar-sevastopol-route-table-refinement-2026-09-19 */
.route-filter select{
  appearance:none;
  padding-right:34px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%23405775' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.7'/%3E%3C/svg%3E");
  background-position:right 14px center;
  background-repeat:no-repeat;
  background-size:12px 12px;
}
.route-comfort-picker>summary:after{
  content:"";
  display:block;
  flex:0 0 12px;
  width:12px;
  height:12px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m2 4 4 4 4-4' fill='none' stroke='%23405775' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.7'/%3E%3C/svg%3E") center/12px 12px no-repeat;
}
.route-comfort-picker[open]>summary:after{transform:rotate(180deg)}
.routes-table-v8 .route-cell--arrival>strong{white-space:nowrap}
.routes-table-v8 .arrival-next-day{
  position:relative;
  top:-.05em;
  margin-left:4px;
  color:var(--muted);
  font-size:.56em;
  font-weight:650;
  letter-spacing:0;
  white-space:nowrap;
}
.routes-table-v8 .route-cell--price>strong{white-space:nowrap}
.routes-table-v8 .table-icon-chip:after{display:none}
.routes-table-v8 .table-icon-chip:is(:hover,:focus-visible):after{display:block}
.routes-table-v8 .route-row-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
}
.routes-table-v8 .route-row-cta svg{width:18px;height:18px}
@media(min-width:1141px){
  .routes-table-v8 table{table-layout:fixed}
  .routes-table-v8 th:nth-child(1){width:10%}
  .routes-table-v8 th:nth-child(2){width:15%}
  .routes-table-v8 th:nth-child(3){width:10%}
  .routes-table-v8 th:nth-child(4){width:16%}
  .routes-table-v8 th:nth-child(5){width:17%}
  .routes-table-v8 th:nth-child(6){width:8%}
  .routes-table-v8 th:nth-child(7){width:14%}
  .routes-table-v8 th:nth-child(8){width:10%}
}
@media(max-width:1140px){
  .routes-table-v8 .route-row-cta{width:100%}
}
@media(max-width:420px){
  .routes-table-v8 .route-cell--departure{grid-column:1/5}
  .routes-table-v8 .route-cell--duration{grid-column:5/7;padding-inline:2px}
  .routes-table-v8 .route-cell--arrival{grid-column:7/13}
  .routes-table-v8 .route-cell--ticket .route-cell__label{display:none}
  .routes-table-v8 .route-cell--ticket{grid-column:1/3;gap:0;justify-content:center;padding-inline:4px}
  .routes-table-v8 .route-cell--comfort{grid-column:3/10;gap:0;justify-content:center;padding-inline:4px}
  .routes-table-v8 .route-cell--comfort .route-cell__label{display:none}
  .routes-table-v8 .route-cell--action{grid-column:10/13;padding-inline:4px}
  .routes-table-v8 .comfort-list{flex-wrap:nowrap;gap:4px}
  .routes-table-v8 .comfort-list .table-icon-chip{flex:0 0 28px;width:28px;height:28px}
  .routes-table-v8 .table-icon-chip:is(:hover,:focus-visible):after{display:none}
}
