.bus-table {
  max-width: 1000px;   /* ограничение */
  margin: 1.5rem auto; /* центрирование */
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--bg, #fffef9);
  color: var(--ink, #412d18);
  border: 1px solid var(--gold, #e0c187);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.bus-table th {
  text-align: center;
  vertical-align: middle;
}


.bus-table thead th {
  background: #fffbe7;
  color: var(--cherry, #633402);
  font-weight: 700;
  text-transform: uppercase;
  font-size: .8rem;
  padding: .9rem .8rem;
  border-bottom: 1px solid var(--gold, #e0c187);
  text-align: left;
}

.bus-table tbody td,
.bus-table tbody th {
  padding: .9rem .8rem;
  border-bottom: 1px solid var(--gold, #e0c187);
  font-size: .95rem;
  vertical-align: top;
}

.bus-table tbody tr:nth-child(odd) td,
.bus-table tbody tr:nth-child(odd) th {
  background:  #fffef9;
}

.bus-table tbody tr:last-child td,
.bus-table tbody tr:last-child th {
  border-bottom: 0;
}

.bus-table .row-item {
  margin: .25rem 0;
  font-variant-numeric: tabular-nums;
  
}

.bus-table .time {
  font-weight: 600;
  color: var(--ink, #412d18);
}

.routes__title {
  font-size: 1rem;       /* компактный размер */
  font-weight: 600;
  color:  #573d1f;
  text-transform: uppercase;
  letter-spacing: .02em;

  border: none;          /* убираем нижнюю линию от глобального h2 */
  padding: 0;
}

.with-gap {
  color: var(--chocolate-brown); /* тёмно-коричнево-бордовый оттенок */
}
/* ===== row-list ===== */
.row-list {
  display: flex;
  flex-wrap: wrap;   /* чтобы переносилось, если не влезает */
  gap: 10px;
}
.row-item { margin: 0; } /* сбросить лишние отступы */

.row-list {
  display: flex;
  flex-wrap: wrap;   /* если не влезают — переносятся */
  gap: 8px;          /* расстояние между временем */
  justify-content: flex-start; /* можно center, если хочешь по центру */
}

.row-item {
  padding: 2px 6px;
  background: #f5f1e6;   /* лёгкий фон (можно убрать) */
  border-radius: 4px;
  font-weight: 600;
}

.row-item .time {
  font-size: 0.95rem;
  color: #5a4633;
}

/* ========================== Мобильная адаптация — всегда внизу ========================== */
@media (max-width: 768px) {
  .bus-table th:first-child,
  .bus-table td:first-child {
    display: none;
  }

  .bus-date-mobile {
    margin: 1rem 0 .5rem;
    display: block;
    font-weight: bold;
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
    color: var(--chocolate-brown); /* тёмно-коричнево-бордовый оттенок */
    text-align: center;
  }
}

/* На десктопе показываем как обычную колонку */
@media (min-width: 769px) {
  .bus-date-mobile {
    display: none;
  }
}

@media (max-width: 768px) {
  .bus-table caption {
    display: none;
  }
}