/* ============ SLIDESHOW CUSTOM - MODELE FADE ============ */
#camera_wrap{
  position:relative;
  width:100%;
  height:480px;
  overflow:hidden;
  background:#111;
}
#camera_wrap .slide-item{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  opacity:0;
  transition:opacity .9s ease-in-out;
  will-change:opacity;
}
#camera_wrap .slide-item.is-active{ opacity:1; z-index:2; }

/* Voile sombre pour la lisibilité du texte */
#camera_wrap .slide-item::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.65) 0%,rgba(0,0,0,.25) 60%,rgba(0,0,0,0) 100%);
}

/* Légendes */
#camera_wrap .camera_caption{
  position:absolute;
  left:6%;
  top:50%;
  transform:translateY(-50%);
  max-width:620px;
  z-index:3;
  color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.6);
}
#camera_wrap .camera_caption .txt1{
  font-size:38px;
  line-height:1.15;
  font-weight:700;
  margin-bottom:14px;
}
#camera_wrap .camera_caption .txt2{
  font-size:19px;
  line-height:1.5;
  margin-bottom:6px;
}

/* Animation d'entrée du texte */
#camera_wrap .slide-item .camera_caption > *{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .6s ease, transform .6s ease;
}
#camera_wrap .slide-item.is-active .camera_caption > *{
  opacity:1;
  transform:translateY(0);
}
#camera_wrap .slide-item.is-active .camera_caption > *:nth-child(1){ transition-delay:.25s; }
#camera_wrap .slide-item.is-active .camera_caption > *:nth-child(2){ transition-delay:.40s; }
#camera_wrap .slide-item.is-active .camera_caption > *:nth-child(3){ transition-delay:.55s; }
#camera_wrap .slide-item.is-active .camera_caption > *:nth-child(4){ transition-delay:.70s; }

/* Flèches */
#camera_wrap .slider-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,.42);
  color:#fff;
  font-size:24px;
  line-height:48px;
  text-align:center;
  cursor:pointer;
  z-index:6;
  transition:background .25s ease;
  padding:0;
}
#camera_wrap .slider-arrow:hover,
#camera_wrap .slider-arrow:focus{ background:#fb0505; outline:none; }
#camera_wrap .slider-prev{ left:18px; }
#camera_wrap .slider-next{ right:18px; }

/* Points de navigation */
#camera_wrap .slider-dots{
  position:absolute;
  left:0; right:0;
  bottom:22px;
  text-align:center;
  z-index:6;
  margin:0; padding:0;
  list-style:none;
  font-size:0;
}
#camera_wrap .slider-dots li{ display:inline-block; margin:0 6px; }
#camera_wrap .slider-dots button{
  width:12px; height:12px;
  padding:0;
  border:2px solid #fff;
  border-radius:50%;
  background:transparent;
  cursor:pointer;
  transition:background .25s ease, transform .25s ease;
}
#camera_wrap .slider-dots button:hover{ background:rgba(255,255,255,.5); }
#camera_wrap .slider-dots li.is-active button{
  background:#fb0505;
  border-color:#fb0505;
  transform:scale(1.25);
}

/* Barre de progression autoplay */
#camera_wrap .slider-progress{
  position:absolute;
  left:0; bottom:0;
  height:3px;
  width:100%;
  background:rgba(255,255,255,.18);
  z-index:6;
}
#camera_wrap .slider-progress span{
  display:block;
  height:100%;
  width:0;
  background:#fb0505;
}
#camera_wrap.is-paused .slider-progress span{ animation-play-state:paused; }

@keyframes sliderProgressAnim{ from{ width:0; } to{ width:100%; } }

/* Responsive */
@media (max-width:991px){
  #camera_wrap{ height:400px; }
  #camera_wrap .camera_caption .txt1{ font-size:30px; }
  #camera_wrap .camera_caption .txt2{ font-size:17px; }
}
@media (max-width:767px){
  #camera_wrap{ height:330px; }
  #camera_wrap .camera_caption{ left:5%; right:5%; max-width:none; }
  #camera_wrap .camera_caption .txt1{ font-size:24px; }
  #camera_wrap .camera_caption .txt2{ font-size:15px; }
  #camera_wrap .slider-arrow{ width:38px; height:38px; line-height:38px; font-size:19px; }
  #camera_wrap .slider-prev{ left:8px; }
  #camera_wrap .slider-next{ right:8px; }
  #camera_wrap .slide-item::before{
    background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.65) 100%);
  }
}

/* Accessibilité */
@media (prefers-reduced-motion:reduce){
  #camera_wrap .slide-item,
  #camera_wrap .slide-item .camera_caption > *{ transition:none; }
  #camera_wrap .slider-progress{ display:none; }
}
