/**
 * Slideshow Accueil - Sylvain Bouzat
 * Styles isolés avec préfixe .sb-slider
 * Approche: Hauteur fixe, largeur auto selon ratio image
 */

/* ==========================================================================
   Container principal
   ========================================================================== */

.sb-slider-wrapper {
  width: 100%;
  overflow: hidden;
  padding: 60px 0 40px;
  position: relative;
}

.sb-slider {
  width: 100%;
  overflow: visible;
  padding-bottom: 50px;
}

/* ==========================================================================
   Configuration Swiper - Hauteur fixe
   ========================================================================== */

.sb-slider .swiper-wrapper {
  align-items: center;
  /* Hauteur fixe du slider */
  height: 600px;
}

.sb-slider .swiper-slide {
  /* Largeur AUTO - s'adapte au contenu */
  width: auto !important;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.5s ease;
}

/* ==========================================================================
   Container image - Respecte le ratio naturel
   ========================================================================== */

.sb-slide-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sb-slide-inner img {
  height: 100%;
  width: auto;
  max-width: none;
  object-fit: contain;
  display: block;
}

/* ==========================================================================
   Slide actif (central) - Mis en avant avec scale
   ========================================================================== */

.sb-slider .swiper-slide-active {
  z-index: 2;
  transform: scale(1.05);
}

.sb-slider .swiper-slide-active .sb-slide-inner img {
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
}

/* ==========================================================================
   Navigation - Flèches en bas au centre
   ========================================================================== */

.sb-slider-nav {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  gap: 20px;
  pointer-events: none;
  z-index: 10;
}

.sb-slider-prev,
.sb-slider-next {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid #9e8044;
  border-radius: 0;
  cursor: pointer;
  pointer-events: auto;
  transition: all 0.3s ease;
}

.sb-slider-prev img,
.sb-slider-next img {
  width: 24px;
  height: 24px;
  filter: invert(52%) sepia(28%) saturate(740%) hue-rotate(2deg) brightness(94%) contrast(85%);
  transition: filter 0.3s ease;
}

.sb-slider-prev:hover,
.sb-slider-next:hover {
  background: #9e8044;
}

.sb-slider-prev:hover img,
.sb-slider-next:hover img {
  filter: brightness(0) invert(1);
}

/* ==========================================================================
   Pagination - Masquée (remplacée par les flèches)
   ========================================================================== */

.sb-slider-pagination {
  display: none;
}

/* ==========================================================================
   Responsive - Tablette (980px)
   ========================================================================== */

@media (max-width: 980px) {
  .sb-slider-wrapper {
    padding: 30px 0;
  }

  .sb-slider .swiper-wrapper {
    height: 500px;
  }

  .sb-slider-prev,
  .sb-slider-next {
    width: 40px;
    height: 40px;
  }
}

/* ==========================================================================
   Responsive - Mobile (767px)
   ========================================================================== */

@media (max-width: 767px) {
  .sb-slider-wrapper {
    padding: 50px 0;
  }

  .sb-slider {
    padding-bottom: 40px;
  }

  .sb-slider .swiper-wrapper {
    height: 400px;
  }

  .sb-slider-prev,
  .sb-slider-next {
    width: 36px;
    height: 36px;
  }

  .sb-slider-nav {
    gap: 15px;
  }
}

/* ==========================================================================
   Petit mobile (480px)
   ========================================================================== */

@media (max-width: 480px) {
  .sb-slider .swiper-wrapper {
    height: 350px;
  }
}

/* ==========================================================================
   Grands écrans (1600px+)
   ========================================================================== */

@media (min-width: 1600px) {
  .sb-slider .swiper-wrapper {
    height: 700px;
  }
}

/* ==========================================================================
   Accessibilité - Focus visible
   ========================================================================== */

.sb-slider-prev:focus-visible,
.sb-slider-next:focus-visible {
  outline: 2px solid #9e8044;
  outline-offset: 2px;
}

/* ==========================================================================
   Animation de chargement initial
   ========================================================================== */

.sb-slider:not(.swiper-initialized) {
  opacity: 0;
}

.sb-slider.swiper-initialized {
  animation: sbFadeIn 0.6s ease forwards;
}

@keyframes sbFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
