/* Keep homepage banner slides at one predictable height.
   Uploaded banner images have very different aspect ratios; without this,
   Naive UI calculates the carousel height from the tallest image. */
.banner .n-carousel {
  height: clamp(280px, 43.75vw, 620px) !important;
  overflow: hidden;
}

.banner .n-carousel__slides,
.banner .n-carousel__slide,
.banner .bannerBox {
  height: 100% !important;
}

.banner .bannerBox .carousel-img {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.banner .bannerInfo {
  top: 50%;
  transform: translateY(-50%);
  padding: 0 12%;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
}

.banner .custom-dots {
  bottom: 28px;
  max-width: 85%;
  flex-wrap: wrap;
  justify-content: center;
}

@media (max-width: 640px) {
  .banner .n-carousel {
    height: clamp(220px, 62.5vw, 360px) !important;
  }

  .banner .bannerInfo {
    top: 50%;
    padding: 0 8%;
    font-size: 18px;
  }

  .banner .bannerInfo p:nth-of-type(2) {
    display: none;
  }

  .banner .custom-dots {
    bottom: 8px;
  }
}
