/* Fond global comme sur la capture */
body#index #carousel-main,
#carousel-main.homeslider-swiper {
  margin-bottom: 2rem;
}

/* Bloc slider */
.homeslider-swiper {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* wrapper */
.homeslider-swiper .swiper-wrapper {
  align-items: center;
}

.homeslider-swiper .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Le slide prend toute la largeur */
.homeslider-link {
  display: block;
  width: 100%;
  margin: 0;
  text-decoration: none;
}

/* Figure */
.homeslider-figure {
  position: relative;
  margin: 0;
  width: 100%;
  overflow: hidden;
  background: #f3f3f3;
}

/* Image entière, sans découpe */
.homeslider-image {
  display: block;
  width: 100%;
  height: auto;
}

/* Caption optionnelle */
.homeslider-figure .caption {
  position: absolute;
  left: 6%;
  top: 50%;
  transform: translateY(-50%);
  max-width: 46%;
  z-index: 2;
  color: #b52a36;
}

.homeslider-figure .caption h2 {
  margin: 0 0 20px;
  font-size: clamp(34px, 5vw, 86px);
  line-height: 1.1;
  font-weight: 300;
  text-transform: none !important;
  color: #b52a36;
}

.homeslider-figure .caption-description {
  font-size: clamp(16px, 1.6vw, 24px);
  line-height: 1.4;
  color: #b52a36;
}

/* Pagination */
.homeslider-swiper .homeslider-pagination {
  position: static;
  margin-top: 22px;
  text-align: center;
}

.homeslider-swiper .swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  margin: 0 8px !important;
  background: transparent;
  border: 2px solid #5b5b5b;
  opacity: 1;
  box-sizing: border-box;
}

.homeslider-swiper .swiper-pagination-bullet-active {
  background: #5b5b5b;
  border-color: #5b5b5b;
}

/* Flèches masquées */
.homeslider-prev,
.homeslider-next {
  display: none !important;
}

.homeslider-prev::after,
.homeslider-next::after {
  display: none;
}

@media (max-width: 991px) {
  .homeslider-figure .caption {
    left: 5%;
    max-width: 55%;
  }

  .homeslider-swiper .swiper-pagination-bullet {
    width: 14px;
    height: 14px;
    margin: 0 6px !important;
  }
}

@media (max-width: 767px) {
  .homeslider-figure .caption {
    position: absolute;
    left: 5%;
    right: 5%;
    top: auto;
    bottom: 8%;
    transform: none;
    max-width: 90%;
  }

  .homeslider-figure .caption h2 {
    margin-bottom: 10px;
  }
}