/* The updated hero is the first slide of the legacy homepage carousel. */
.tt-hero-carousel,
.tt-hero-carousel .top_big_one_banner,
.tt-hero-carousel .top_slider_wrapp {
  margin: 0;
}

.tt-hero-carousel .top_slider_wrapp .main-slider .main-slider__wrapper .main-slider__item,
.tt-hero-carousel .top_slider_wrapp .main-slider .main-slider__wrapper .main-slider__item td,
.tt-hero-carousel .tt-hero-slide .tt-hero {
  height: 660px;
}

.tt-hero-carousel .tt-hero-slide {
  background: #101316 !important;
}

.tt-hero-carousel .tt-hero-slide .tt-hero {
  min-height: 0;
}

@media (max-width: 767px) {
  .tt-hero-carousel .top_slider_wrapp .main-slider,
  .tt-hero-carousel .top_slider_wrapp .main-slider .main-slider__wrapper .main-slider__item,
  .tt-hero-carousel .top_slider_wrapp .main-slider .main-slider__wrapper .main-slider__item td,
  .tt-hero-carousel .tt-hero-slide .tt-hero {
    height: 720px;
  }
}

/* Reserve the complete visual area of the first-screen slider before benefits begin. */
@media (min-width: 768px) {
  /* The custom hero remains tall; legacy slides use their original compact height. */
  .tt-hero-carousel .tt-hero-slide,
  .tt-hero-carousel .tt-hero-slide .tt-hero {
    height: 760px !important;
  }

  .tt-hero-carousel .main-slider__item:not(.tt-hero-slide),
  .tt-hero-carousel .main-slider__item:not(.tt-hero-slide) td {
    height: 496px !important;
  }
}

/* Legacy carousel slides: keep the product visual centred in the right half. */
@media (min-width: 768px) {
  .tt-hero-carousel .main-slider__item:not(.tt-hero-slide) tr.main_info > td.img {
    position: relative !important;
    overflow: hidden;
    text-align: center !important;
    vertical-align: middle !important;
  }

  .tt-hero-carousel .main-slider__item:not(.tt-hero-slide) tr.main_info > td.img > img {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 90% !important;
    max-height: 88% !important;
    margin: 0 auto !important;
    transform: none !important;
  }
}

/* First slide: match compact banner height while keeping all hero content visible. */
@media (min-width: 768px) {
  .tt-hero-carousel .tt-hero-slide,
  .tt-hero-carousel .tt-hero-slide .tt-hero {
    height: 496px !important;
  }

  .tt-hero-carousel .tt-hero-slide .tt-hero__inner {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .tt-hero-carousel .tt-hero-slide .tt-hero__title {
    font-size: clamp(36px, 3.3vw, 54px) !important;
    line-height: 1.05 !important;
  }

  .tt-hero-carousel .tt-hero-slide .tt-hero p {
    margin-top: 16px !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
  }

  .tt-hero-carousel .tt-hero-slide .tt-hero__actions {
    margin-top: 24px !important;
  }

  .tt-hero-carousel .tt-hero-slide .tt-button {
    min-height: 48px !important;
    padding: 11px 23px !important;
  }
}

/* Slightly emphasize the brand line on the custom first banner. */
.tt-hero-carousel .tt-hero-slide .tt-kicker {
  font-size: 15px !important;
}

@media (max-width: 767px) {
  .tt-hero-carousel .tt-hero-slide .tt-kicker {
    font-size: 14px !important;
  }
}
