.tb-home-v2 {
  background: #fff;
  overflow: clip;
}

.tb-home-photo-credits { margin-block: 0 1rem; }
.tb-home-photo-credits a { align-items: center; color: var(--tb-color-muted); display: inline-flex; font-size: 0.875rem; min-height: 44px; text-underline-offset: 0.2em; }

.tb-home-v2 .tb-section-label {
  color: var(--tb-color-coral-text);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
}

.tb-home-v2 .tb-section-heading {
  margin-bottom: clamp(1.75rem, 4vw, 3rem);
}

.tb-home-v2 .tb-section-heading h2,
.tb-home-search__heading h2 {
  color: var(--tb-color-navy);
  font-size: clamp(2rem, 4vw, 3.6rem);
  letter-spacing: -0.04em;
  line-height: 1.08;
  margin: 0;
  text-wrap: balance;
}

.tb-home-v2 .tb-section-heading--row {
  align-items: end;
  display: grid;
  gap: 1.5rem 3rem;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.55fr);
}

.tb-home-v2 .tb-section-heading--row > p,
.tb-home-search__heading > p {
  color: var(--tb-color-muted);
  line-height: 1.65;
  margin: 0;
}

.tb-home-v2 .tb-section-heading--row > a {
  color: var(--tb-color-navy);
  font-weight: 750;
  justify-self: end;
  text-underline-offset: 0.25em;
}

.tb-home-v2 .tb-home-hero {
  background: var(--tb-color-deep-navy);
  color: #fff;
  height: min(44rem, calc(100svh - 5rem));
  min-height: 34rem;
  overflow: clip;
  position: relative;
}

.tb-home-v2 .tb-home-hero__slides,
.tb-home-v2 .tb-home-hero__slide,
.tb-home-v2 .tb-home-hero__media,
.tb-home-v2 .tb-home-hero__media picture {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.tb-home-v2 .tb-home-hero__slide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 600ms var(--tb-ease-out);
}

.tb-home-v2 .tb-home-hero__slide[data-active] {
  opacity: 1;
  pointer-events: auto;
  z-index: 2;
}

.tb-home-v2 .tb-home-hero__media::after {
  background:
    linear-gradient(90deg, rgb(0 18 54 / 88%) 0%, rgb(0 18 54 / 62%) 42%, rgb(0 18 54 / 8%) 78%),
    linear-gradient(0deg, rgb(0 18 54 / 44%) 0%, transparent 42%);
  content: "";
  inset: 0;
  position: absolute;
}

.tb-home-v2 .tb-home-hero__image {
  height: 100%;
  object-fit: cover;
  object-position: var(--tb-hero-position, center center);
  transform: scale(1.015);
  transition: transform 9s linear;
  width: 100%;
}

.tb-home-v2 .tb-home-hero__slide[data-active] .tb-home-hero__image {
  transform: scale(1.055);
}

.tb-home-v2 .tb-home-hero__frame {
  align-items: center;
  display: flex;
  height: 100%;
  padding-bottom: 6rem;
  position: relative;
  z-index: 3;
}

.tb-home-v2 .tb-home-hero__copy {
  max-width: 39rem;
  padding-block: 3rem;
}

.tb-home-v2 .tb-home-hero__kicker {
  color: #ffc0b8;
  font-size: clamp(1.5rem, 2.4vw, 2.25rem);
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1.25;
  margin: 0 0 1.1rem;
  text-transform: uppercase;
}

.tb-home-v2 .tb-home-hero h1,
.tb-home-v2 .tb-home-hero h2 {
  color: #fff;
  font-size: clamp(2.15rem, 3.3vw, 3.25rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.08;
  margin: 0;
  max-width: 22ch;
  text-wrap: balance;
}

.tb-home-v2 .tb-home-hero__lead {
  color: rgb(255 255 255 / 90%);
  font-size: clamp(1rem, 1.35vw, 1.125rem);
  line-height: 1.65;
  margin: 1.35rem 0 2rem;
  max-width: 31rem;
}

.tb-home-v2 .tb-home-hero .tb-action {
  border: 1px solid transparent;
  border-radius: 0.75rem;
  font-size: 1rem;
  font-weight: 700;
  gap: 1.75rem;
  justify-content: space-between;
  line-height: 1.25;
  min-height: 3.5rem;
  min-width: 13rem;
  padding: 0.9rem 1.4rem;
}

.tb-home-v2 .tb-home-hero .tb-action svg {
  fill: none;
  flex-shrink: 0;
  height: 1.15rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 1.15rem;
}

.tb-home-v2 .tb-home-hero__navigation {
  align-items: center;
  bottom: 0;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(4rem, 1fr) auto auto;
  left: 50%;
  padding-bottom: 2rem;
  position: absolute;
  transform: translateX(-50%);
  z-index: 5;
}

.tb-home-v2 .tb-home-hero__progress {
  background: rgb(255 255 255 / 30%);
  border-radius: 999px;
  height: 4px;
  max-width: 24rem;
  overflow: hidden;
}

.tb-home-v2 .tb-home-hero__progress span {
  background: var(--tb-color-coral);
  display: block;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left;
}

.tb-home-v2 .tb-home-hero__progress span.is-running {
  animation: tb-hero-progress var(--tb-hero-duration, 9000ms) linear forwards;
}

.tb-home-v2 .tb-home-hero[data-paused] .tb-home-hero__progress span,
.tb-home-v2 .tb-home-hero[data-interaction-paused] .tb-home-hero__progress span {
  animation-play-state: paused;
}

@keyframes tb-hero-progress { to { transform: scaleX(1); } }

.tb-home-v2 .tb-home-hero__counter {
  align-items: baseline;
  display: flex;
  font-variant-numeric: tabular-nums;
  gap: 0.3rem;
  margin: 0;
}

.tb-home-v2 .tb-home-hero__counter strong { font-size: 1.05rem; font-weight: 700; }
.tb-home-v2 .tb-home-hero__counter span { color: rgb(255 255 255 / 80%); font-size: 0.9rem; }
.tb-home-v2 .tb-home-hero__controls {
  background: var(--tb-color-deep-navy);
  border: 1px solid rgb(255 255 255 / 30%);
  border-radius: 999px;
  display: flex;
  gap: 0.25rem;
  padding: 0.3rem;
}

.tb-home-v2 .tb-home-hero__controls button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  height: 3rem;
  justify-content: center;
  padding: 0;
  transition: background-color 160ms var(--tb-ease-out), color 160ms var(--tb-ease-out);
  width: 3rem;
}

.tb-home-v2 .tb-home-hero__controls button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.tb-home-v2 .tb-home-hero__controls svg { fill: none; height: 1.1rem; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; width: 1.1rem; }
.tb-home-v2 .tb-home-hero__pause-icon { border-left: 2px solid currentColor; border-right: 2px solid currentColor; height: 0.85rem; width: 0.55rem; }
.tb-home-v2 .tb-home-hero[data-paused] .tb-home-hero__pause-icon { border: 0; border-bottom: 0.46rem solid transparent; border-left: 0.7rem solid currentColor; border-top: 0.46rem solid transparent; height: 0; margin-left: 0.14rem; width: 0; }
.tb-home-v2 .tb-home-hero[data-instant] .tb-home-hero__slide { transition: none; }

.tb-home-v2 .tb-home-search {
  background: var(--tb-color-warm);
  padding-block: clamp(4rem, 7vw, 6rem);
  scroll-margin-top: 5rem;
}

.tb-home-search__heading {
  align-items: end;
  display: grid;
  gap: 1.5rem 4rem;
  grid-template-columns: minmax(0, 1.2fr) minmax(19rem, 0.65fr);
  margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}

.tb-home-search__planner {
  background: transparent;
}

.tb-home-v2 .tb-position--slideshow {
  background: transparent;
  padding: 0;
}

.tb-home-v2 .tb-position--slideshow > .tb-component {
  max-width: none;
}

.tb-home-v2 .tb-position--slideshow .tb-booking-tabs {
  font-size: 1rem;
  max-width: none;
}

.tb-home-v2 .tb-position--slideshow .tb-booking-tabs__list {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.tb-home-v2 .tb-position--slideshow .tb-booking-tabs__tab {
  align-items: center;
  background: #fff;
  border: 1px solid var(--tb-color-border-subtle);
  border-radius: 1rem;
  color: var(--tb-color-navy);
  display: flex;
  font-size: 1rem;
  height: auto;
  justify-content: flex-start;
  min-height: 10rem;
  overflow: hidden;
  padding: 2rem;
  position: relative;
  text-align: left;
  transition: background-color 180ms var(--tb-ease-out), border-color 180ms var(--tb-ease-out), box-shadow 180ms var(--tb-ease-out), color 180ms var(--tb-ease-out), transform 120ms var(--tb-ease-out);
  width: 100%;
}

.tb-home-v2 .tb-position--slideshow .tb-booking-tabs__tab[aria-selected="true"] {
  background: var(--tb-color-navy);
  border-color: var(--tb-color-navy);
  box-shadow: none;
  color: #fff;
}

.tb-home-v2 .tb-position--slideshow .tb-booking-tabs__tab + .tb-booking-tabs__tab {
  background: var(--tb-color-cruise-surface);
  border-left: 1px solid var(--tb-color-border-subtle);
  border-radius: 1rem;
}

.tb-home-v2 .tb-position--slideshow .tb-booking-tabs__tab + .tb-booking-tabs__tab[aria-selected="true"] {
  background: var(--tb-color-cruise-surface);
  border-color: var(--tb-color-navy);
  border-left-color: var(--tb-color-navy);
  color: var(--tb-color-navy);
  outline: 2px solid var(--tb-color-navy);
  outline-offset: -3px;
}

.tb-home-v2 .tb-booking-tabs__tab + .tb-booking-tabs__tab[aria-selected="true"] .tb-booking-tabs__intent-icon {
  color: var(--tb-color-navy);
}

.tb-booking-tabs__intent {
  align-items: center;
  display: grid;
  gap: 1.4rem;
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
  width: 100%;
}

.tb-booking-tabs__intent-icon {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--tb-color-navy);
  display: inline-flex;
  height: 4.25rem;
  justify-content: center;
  width: 4.25rem;
}

.tb-booking-tabs__intent-icon svg {
  fill: none;
  height: 3rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  width: 3rem;
}

.tb-booking-tabs__tab[aria-selected="true"] .tb-booking-tabs__intent-icon {
  color: var(--tb-color-coral);
}

.tb-booking-tabs__intent-copy {
  display: grid;
  gap: 0.6rem;
  min-width: 0;
  padding-right: 0;
}

.tb-booking-tabs__intent strong {
  font-family: var(--tb-font-heading);
  font-size: clamp(1.65rem, 2.4vw, 2.15rem);
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.tb-booking-tabs__intent small {
  color: currentColor;
  font-size: 0.95rem;
  font-weight: 550;
  line-height: 1.45;
  opacity: 0.85;
  text-wrap: pretty;
}

.tb-booking-tabs__intent-state {
  align-items: center;
  background: var(--tb-color-coral);
  border: 0;
  border-radius: 999px;
  display: none;
  color: var(--tb-color-deep-navy);
  font-size: 0;
  font-weight: 750;
  gap: 0;
  height: 1.5rem;
  justify-content: center;
  line-height: 1;
  padding: 0;
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 1.5rem;
}

.tb-booking-tabs__intent-state svg {
  fill: none;
  height: 0.9rem;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  width: 0.9rem;
}

.tb-booking-tabs__tab[aria-selected="true"] .tb-booking-tabs__intent-state {
  display: inline-flex;
}

.tb-home-v2 .tb-position--slideshow .tb-booking-tabs__panel {
  background: #fff;
  border: 1px solid var(--tb-color-border-subtle);
  border-radius: 1rem;
  box-shadow: 0 1rem 2.75rem rgb(0 18 54 / 9%);
  margin-top: 1rem;
  min-height: 0;
  padding: clamp(1.25rem, 2.2vw, 1.75rem);
  position: relative;
}

.tb-home-v2 .tb-position--slideshow .tb-booking-tabs__panel::before {
  background: var(--tb-color-coral);
  border-radius: 999px;
  content: "";
  height: 3px;
  left: 1.25rem;
  position: absolute;
  right: 1.25rem;
  top: 0;
}

.tb-home-v2 .tb-position--slideshow .tb-booking-tabs__panel > .tb-search-form {
  --tb-search-control-height: 3.25rem;
  background: transparent;
  align-items: flex-end;
  border: 0;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 0;
  padding: 0;
}

.tb-home-v2 .tb-position--slideshow .tb-booking-tabs__panel > .tb-search-form > .tb-search-grid {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
}

.tb-home-v2 .tb-position--slideshow .tb-search-grid--package {
  align-items: end;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(10rem, 1.25fr) minmax(10rem, 1.1fr) minmax(13.75rem, 1.55fr) minmax(8.25rem, 0.9fr) minmax(9rem, 1fr);
}

.tb-home-v2 .tb-position--slideshow .tb-search-grid--cruise {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, minmax(9rem, 1fr));
}

.tb-home-v2 .tb-position--slideshow .tb-search-form--cruise .tb-field--cruise-type {
  min-width: 10rem;
}

.tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--destination,
.tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--category,
.tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-fieldset--dates,
.tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--duration,
.tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--adults,
.tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--children,
.tb-home-v2 .tb-position--slideshow .tb-search-form--package > .tb-search-submit {
  grid-column: auto;
  grid-row: auto;
}

.tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--category {
  display: grid;
}

.tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field > label,
.tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-fieldset > legend {
  clip: auto;
  clip-path: none;
  height: auto;
  margin: 0;
  overflow: visible;
  padding: 0;
  position: static;
  width: auto;
}

.tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-fieldset--dates > legend {
  margin-bottom: 0.4rem;
}

.tb-home-v2 .tb-position--slideshow .tb-search-form :is(input, select),
.tb-home-v2 .tb-position--slideshow .tb-search-form > .tb-search-submit {
  border-radius: 0.625rem;
  height: 3.25rem;
  min-height: 3.25rem;
}

.tb-home-v2 .tb-position--slideshow .tb-search-form > .tb-search-submit {
  align-self: flex-end;
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  min-width: 10rem;
  width: auto;
}

.tb-home-v2 .tb-position--slideshow .tb-search-form > .tb-provider-status {
  grid-column: 1 / -1;
  margin: 0;
}

.tb-home-v2 .tb-home-destinations {
  background: #fff;
  padding-block: clamp(2.5rem, 6vw, 5rem);
}

.tb-home-v2 .tb-home-destinations > .tb-container {
  background: #fff;
  border: 1px solid #dce3eb;
  border-radius: 1rem;
  max-width: 75rem;
  padding: clamp(1.5rem, 3.2vw, 2.75rem);
  width: calc(100% - 2rem);
}

.tb-home-destinations__heading {
  border-bottom: 1px solid #dce3eb;
  margin: 0 0 clamp(1.5rem, 3vw, 2rem);
  padding-bottom: clamp(1rem, 2.5vw, 1.5rem);
  text-align: left;
}

.tb-home-destinations__heading h2 {
  max-width: 24ch;
  color: var(--tb-color-navy);
  font-size: clamp(1.65rem, 3.2vw, 2.4rem);
  letter-spacing: -0.035em;
  line-height: 1.12;
  margin: 0;
  text-wrap: balance;
}

.tb-home-destinations__heading p {
  color: var(--tb-color-navy);
  font-size: clamp(0.86rem, 1.25vw, 1rem);
  font-weight: 700;
  line-height: 1.4;
  margin: 0.85rem 0 0;
  max-width: 46rem;
}

.tb-home-destinations__grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Destination photography sits above a quiet, readable country label. */
.tb-home-destination {
  background: #fff;
  border: 1px solid #dce3eb;
  border-radius: 0.75rem;
  color: var(--tb-color-navy);
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  text-decoration: none;
  transition: border-color 160ms var(--tb-ease-out);
}
.tb-home-destination:focus-visible { outline: 3px solid var(--tb-color-coral); outline-offset: 4px; }
.tb-home-destination__media { aspect-ratio: 4 / 3; background: #e8edf2; display: block; overflow: hidden; }
.tb-home-destination__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 220ms var(--tb-ease-out); }
.tb-home-destination__label {
  align-items: center;
  color: var(--tb-color-navy);
  display: flex;
  flex: 1;
  font-family: var(--tb-font-heading);
  font-size: 1.125rem;
  font-weight: 700;
  gap: 0.75rem;
  justify-content: space-between;
  line-height: 1.3;
  min-height: 4rem;
  padding: 1rem;
}
.tb-home-destination__label svg { flex: 0 0 1.125rem; width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-width: 1.75; }

@media (hover: hover) and (pointer: fine) {
  .tb-home-v2 .tb-home-hero__controls button:hover { background: #fff; color: var(--tb-color-navy); }
  .tb-home-v2 .tb-position--slideshow .tb-booking-tabs__tab:not([aria-selected="true"]):hover { border-color: var(--tb-color-navy); }
  .tb-home-destination:hover {
    border-color: var(--tb-color-navy);
    color: var(--tb-color-navy);
  }
  .tb-home-destination:hover .tb-home-destination__media img { transform: scale(1.035); }
}

@media (max-width: 1180px) {
  .tb-home-destinations__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

  .tb-home-v2 .tb-position--slideshow .tb-booking-tabs__panel > .tb-search-form {
    align-items: stretch;
    grid-template-columns: minmax(0, 1fr);
  }
  .tb-home-v2 .tb-position--slideshow .tb-search-grid--package { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--destination,
  .tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--category,
  .tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-fieldset--dates { grid-column: span 2; }
  .tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--adults,
  .tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--children { grid-column: span 1; }
  .tb-home-v2 .tb-position--slideshow .tb-search-grid--cruise { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tb-home-v2 .tb-position--slideshow .tb-search-form--cruise .tb-field--cruise-type { min-width: 0; }
  .tb-home-v2 .tb-position--slideshow .tb-search-form > .tb-search-submit {
    align-self: flex-end;
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 900px) {
  .tb-home-destinations__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .tb-home-v2 .tb-section-heading--row,
  .tb-home-search__heading { grid-template-columns: 1fr; }
  .tb-home-v2 .tb-section-heading--row > a { justify-self: start; }
}

@media (max-width: 640px) {
  .tb-home-v2 .tb-home-hero {
    height: min(40rem, calc(100svh - 8rem));
    min-height: 34rem;
  }

  .tb-home-v2 .tb-home-hero__media::after {
    background: linear-gradient(0deg, rgb(0 18 54 / 96%) 0%, rgb(0 18 54 / 66%) 54%, rgb(0 18 54 / 16%) 100%);
  }

  .tb-home-v2 .tb-home-hero__image { object-position: var(--tb-hero-position-mobile, center center); }
  .tb-home-v2 .tb-home-hero__frame { align-items: end; padding-bottom: 6.5rem; }
  .tb-home-v2 .tb-home-hero__copy { padding: 1.5rem 0; }
  .tb-home-v2 .tb-home-hero__kicker { font-size: clamp(1.35rem, 5.5vw, 1.75rem); letter-spacing: 0.025em; margin-bottom: 0.9rem; }
  .tb-home-v2 .tb-home-hero h1,
  .tb-home-v2 .tb-home-hero h2 { font-size: clamp(1.85rem, 7vw, 2.4rem); line-height: 1.1; }
  .tb-home-v2 .tb-home-hero__lead { font-size: 1rem; margin-block: 1rem 1.5rem; }
  .tb-home-v2 .tb-home-hero__navigation { gap: 0.8rem; grid-template-columns: auto minmax(2.5rem, 1fr) auto; padding-bottom: 1.25rem; }
  .tb-home-v2 .tb-home-hero__progress { grid-column: 2; grid-row: 1; max-width: none; }
  .tb-home-v2 .tb-home-hero__counter { grid-column: 1; grid-row: 1; }
  .tb-home-v2 .tb-home-hero__controls { grid-column: 3; grid-row: 1; }

  .tb-home-v2 .tb-home-search { padding-block: clamp(3rem, 10vw, 4.5rem); }
  .tb-home-search__heading { gap: 0.75rem; margin-bottom: 1.5rem; }
  .tb-home-search__planner { margin-inline: -0.35rem; }
  .tb-home-v2 .tb-home-destinations { padding-block: 2.5rem; }
  .tb-home-v2 .tb-home-destinations > .tb-container { padding: 1.25rem; }
  .tb-home-destinations__heading { margin-bottom: 1.75rem; }
  .tb-home-destinations__grid { gap: 0.8rem; }
  .tb-home-destination__label { font-size: 1rem; min-height: 4rem; padding: 0.75rem; }
  .tb-home-v2 .tb-position--slideshow .tb-booking-tabs { max-width: none; }
  .tb-home-v2 .tb-position--slideshow .tb-booking-tabs__list { align-items: stretch; gap: 0.75rem; grid-auto-rows: 1fr; grid-template-columns: 1fr; height: auto; margin: 0; }
  .tb-home-v2 .tb-position--slideshow .tb-booking-tabs__tab { min-height: 7.5rem; padding: 1.5rem; }
  .tb-booking-tabs__intent { gap: 1rem; }
  .tb-booking-tabs__intent-icon { height: 3.5rem; width: 3.5rem; }
  .tb-booking-tabs__intent-icon svg { height: 2.5rem; width: 2.5rem; }
  .tb-booking-tabs__intent strong { font-size: 1.75rem; }
  .tb-booking-tabs__intent small { font-size: 0.875rem; }
  .tb-home-v2 .tb-position--slideshow .tb-booking-tabs__tab + .tb-booking-tabs__tab { margin-top: 0; }
  .tb-home-v2 .tb-position--slideshow .tb-booking-tabs__panel { margin-top: 0.75rem; min-height: 0; padding: 1rem 0.75rem; }
  .tb-home-v2 .tb-position--slideshow .tb-booking-tabs__panel > .tb-search-form--package { height: auto; min-height: 0; padding: 0; }
  .tb-home-v2 .tb-position--slideshow .tb-search-grid--package,
  .tb-home-v2 .tb-position--slideshow .tb-search-grid--cruise { display: grid; gap: 0.85rem; grid-template-columns: 1fr; }
  .tb-home-v2 .tb-position--slideshow .tb-search-form--package :is(.tb-field--destination, .tb-field--category, .tb-fieldset--dates, .tb-field--duration, .tb-field--adults, .tb-field--children) { grid-column: auto; }
  .tb-home-v2 .tb-position--slideshow .tb-search-form > .tb-search-submit { align-self: stretch; width: 100%; }
}

@media (min-width: 381px) and (max-width: 640px) {
  .tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--adults,
  .tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--children { grid-column: auto; }
  .tb-home-v2 .tb-position--slideshow .tb-search-grid--package { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--destination,
  .tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-field--category,
  .tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-fieldset--dates { grid-column: 1 / -1; }
  .tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-fieldset--dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 380px) {
  .tb-home-v2 .tb-position--slideshow .tb-search-form--package .tb-fieldset--dates { grid-template-columns: 1fr; }
}

@media (max-width: 359px) {
  .tb-home-destinations__grid { grid-template-columns: 1fr; }
  .tb-home-destination {
    display: grid;
    grid-template-columns: 6.25rem minmax(0, 1fr);
    min-height: 5rem;
  }
  .tb-home-destination__media { aspect-ratio: 5 / 4; }
  .tb-home-destination__label {
    align-self: center;
    background: transparent;
    bottom: auto;
    font-size: 1rem;
    justify-content: flex-start;
    left: auto;
    max-width: none;
    padding: 0.75rem;
    position: static;
    text-align: left;
    transform: none;
    width: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tb-home-v2 .tb-home-hero__slide,
  .tb-home-v2 .tb-home-hero__image,
  .tb-home-v2 .tb-home-hero__controls button,
  .tb-home-v2 .tb-position--slideshow .tb-booking-tabs__tab,
  .tb-home-destination,
  .tb-home-destination__media img { transition: none; }
  .tb-home-v2 .tb-home-hero__progress span { animation: none !important; }
  .tb-home-v2 .tb-home-hero__image,
  .tb-home-v2 .tb-home-hero__slide[data-active] .tb-home-hero__image { transform: none; }
}
