/* ===========================
   HERO / SWIPER CAROUSEL
   =========================== */

.hero {
  position: relative;
  z-index: 20;
  padding:
    clamp(1.2rem, calc(12px + (20 - 12) * ((100vw - 1025px) / 895)), 2rem)
    clamp(2rem,   calc(20px + (40 - 20) * ((100vw - 1025px) / 895)), 4rem)
    clamp(2rem,   calc(20px + (40 - 20) * ((100vw - 1025px) / 895)), 4rem);
  overflow: hidden;
}

/* .hero-container {
  width: min(100%, var(--container));
  margin-inline: auto;
  padding-inline: var(--gutter);
} */

/* Swiper base */
.hero .hero-swiper {
  width: 100%;
}

.hero .swiper-wrapper {
  align-items: stretch;
  /* gap: clamp(1.2rem, calc(12px + (20 - 12) * var(--vw-desktop-range)), 2rem); */

}

.hero .swiper-slide {
  width: 100%;
}

.hero .swiper-slide figure {
  width: 100%;
  height: 100%;
}

.hero .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 1.6rem;
}

/* Pagination */
.hero-pagination {
  position: absolute;
  left: 50%;
  bottom: 1.6rem;
  transform: translateX(-50%);
  z-index: 10;
}

.hero-pagination .swiper-pagination-bullet {
  background: var(--white);
  opacity: 0.5;
  width: 0.8rem;
  height: 0.8rem;
}

.hero-pagination .swiper-pagination-bullet-active {
  background: var(--blue);
  opacity: 1;
}

/* Navigation arrows */
.hero-prev,
.hero-next {
  color: var(--white);
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  z-index: 10;
  transform: translateY(-50%);
  cursor: pointer;
  transition: background 0.3s ease, transform 0.3s ease;
}

.hero-prev::after,
.hero-next::after {
  font-size: 1.6rem;
}

.hero-prev {
  left: 2rem;
}

.hero-next {
  right: 2rem;
}

.hero-prev:hover,
.hero-next:hover {
  background: rgba(0, 0, 0, 0.6);
  transform: translateY(-50%) scale(1.05);
}

.hero {
  /* overflow: visible;  */
}
.hero .hero-swiper {
  overflow: visible;          
}

.hero .swiper-wrapper {
  align-items: stretch;
}

.hero .swiper-slide {
  /* width: clamp(70rem, 1080px, 108rem);  */
  /* max-width: 108rem; */
  /* width: 100%; */
  width: clamp(56rem, 864px, 86.4rem);
  display: flex;
  justify-content: center;
}

.hero .swiper-slide figure {
  width: 100%;
  /* max-width: 108rem; */
  aspect-ratio: 1080 / 720;    
  min-height: 0;      
  /* width: 80%;        */
}

.hero .swiper-slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}


/* ===========================
   RESPONSIVE
   =========================== */

@media screen and (max-width: 1025px) {
  .hero {
    padding: 0 calc(10 * var(--vw390)) calc(10 * var(--vw390));
  }

  .hero-container {
    padding-inline: 0;
  }

  .hero-prev,
  .hero-next {
    width: 3rem;
    height: 3rem;
  }

  .hero-prev {
    left: 1rem;
  }

  .hero-next {
    right: 1rem;
  }

  .hero-pagination {
    bottom: 1rem;
  }
}

@media screen and (max-width: 768px) {
  .hero-prev,
  .hero-next {
    width: 2.8rem;
    height: 2.8rem;
  }

  .hero-prev {
    left: 0.8rem;
  }

  .hero-next {
    right: 0.8rem;
  }
}


/* ===============================
   HERO ENTRANCE ANIMATION (DESKTOP)
   =============================== */
@media screen and (min-width: 1026px) {

  /* animation du wrapper hero entier */
  .hero {
    opacity: 0;
    transform: translateY(-20px);
    transition:
      opacity 0.6s cubic-bezier(.2,.7,.2,1),
      transform 0.6s cubic-bezier(.2,.7,.2,1);
  }

  .hero.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  /* Animation des slides individuellement */
  .hero .swiper-slide {
    opacity: 0;
    transform: translateY(-15px);
    transition:
      opacity 0.6s cubic-bezier(.2,.7,.2,1),
      transform 0.6s cubic-bezier(.2,.7,.2,1);
  }

  .hero.is-playing .swiper-slide {
    opacity: 1;
    transform: translateY(0);
  }

  /* stagger */
  .hero.is-playing .swiper-slide:nth-child(1) { transition-delay: 0.20s; }
  .hero.is-playing .swiper-slide:nth-child(2) { transition-delay: 0.32s; }
  .hero.is-playing .swiper-slide:nth-child(3) { transition-delay: 0.44s; }
}
