.swiper-banners-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* width: 100%; */
  width: 94%;
  max-width: 1445px;
  gap: 12px; /* matches .swiper-hero-container desktop gap between banner and pagination dots */
}

.swiper-banners {
  width: 100%;
  height: 328px;
  position: relative;
  overflow: hidden;
  /* Mirror the slide's border-radius so the box-shadow follows the rounded
     corners instead of rendering as a rectangle behind a rounded image. */
  border-radius: 20px;
  box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.12);
}

.swiper-banners .swiper-slide {
  width: 100%;
  max-height: 328px;
  border-radius: 20px;
  overflow: hidden;
}

.swiper-banners .swiper-slide img {
  display: block;
  width: 100%;
  height: 328px;
  object-fit: cover;
}

@media (max-width: 768px) {
  .swiper-banners-container {
    width: calc(100vw - 40px);
    gap: 8px; /* matches .swiper-hero-container mobile gap between banner and pagination dots */
  }

  .swiper-banners {
    width: 100%;
    aspect-ratio: 9 / 4;
    height: auto;
  }

  .swiper-banners .swiper-slide {
    width: 100%;
    aspect-ratio: 9 / 4;
    height: auto;
  }

  .swiper-banners .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
