.tx-route-booking {
  margin: 1.5rem 0;
  padding: 1.25rem;
  border-radius: var(--tx-radius, 16px);
  background: linear-gradient(135deg, color-mix(in srgb, var(--color-primary) 8%, var(--color-surface)), var(--color-surface));
  border: 1px solid var(--color-border);
}
.tx-route-booking-inner { display: grid; gap: 1rem; }
.tx-route-booking--mobile .tx-route-booking-inner {
  grid-template-columns: 1fr;
}
@media (min-width: 640px) and (max-width: 959px) {
  .tx-route-booking--mobile .tx-route-booking-inner {
    grid-template-columns: auto 1fr auto;
    align-items: center;
  }
}
.tx-route-booking--sidebar {
  display: none;
  margin: 0 0 1.25rem;
}
.tx-route-booking--sidebar .tx-route-booking-inner {
  grid-template-columns: 1fr;
}
.tx-route-booking--sidebar .tx-btn {
  width: 100%;
  justify-content: center;
}
@media (min-width: 960px) {
  .tx-route-booking--mobile { display: none; }
  .tx-route-booking--sidebar {
    display: block;
    position: sticky;
    top: calc(var(--header-h, 4rem) + 0.75rem);
    z-index: 5;
  }
}
.tx-price-from { font-size: 2rem; font-weight: 700; color: var(--color-primary); }
.tx-route-booking--sidebar .tx-price-from { font-size: 1.75rem; }
.tx-route-departures h3 {
  font-size: 0.9375rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.tx-dep-list { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; }
.tx-dep-list li { padding: 0.35rem 0.75rem; background: var(--color-bg); border-radius: 999px; font-size: 0.875rem; }
