/* Trip builder column beside the dates & prices table; hidden until a date is chosen. */
.tb-aside[hidden] {
  display: none !important;
}
.tb-aside {
  margin-top: 1.5rem;
}
.tb-aside iframe {
  display: block;
  width: 100%;
  border: 0;
  height: 900px;
  border-radius: 0.75rem;
}
.tb-selected {
  outline: 2px solid #c8502a;
  outline-offset: -2px;
  border-radius: 0.5rem;
}
@media (min-width: 1024px) {
  .tb-row {
    display: flex;
    align-items: flex-start;
  }
  .tb-row > :not(.tb-aside) {
    flex: 1 1 0;
    min-width: 0;
  }
  .tb-aside {
    flex: 0 0 400px;
    position: sticky;
    top: 184px;
    margin-top: 2rem;
  }
  .tb-aside iframe {
    max-height: calc(100dvh - var(--tb-top, 184px) - 16px);
  }
}
@keyframes tb-slide-up {
  from { opacity: 0; transform: translateY(60px); }
  to { opacity: 1; transform: none; }
}
.tb-enter {
  animation: tb-slide-up 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.tb-row .tb-selected,
.tb-row [data-tb-departure] {
  scroll-margin-top: 184px;
}
@media (prefers-reduced-motion: reduce) {
  .tb-enter { animation: none; }
}
[data-tb-departure] {
  white-space: nowrap;
}
a.tb-btn-selected,
a.tb-btn-selected:hover {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: var(--color-white) !important;
}
