.elementor-370 .elementor-element.elementor-element-b43c107{--display:flex;--min-height:1195px;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--z-index:2;}.elementor-370 .elementor-element.elementor-element-385d6fe.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-370 .elementor-element.elementor-element-3e60dde{--display:flex;--margin-top:-681px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--z-index:3;}.elementor-370 .elementor-element.elementor-element-6a9957f{--display:flex;}.elementor-370 .elementor-element.elementor-element-509caf1{--display:flex;}.elementor-370 .elementor-element.elementor-element-8354e8f{--display:flex;}.elementor-370 .elementor-element.elementor-element-8a10aaa{--display:flex;}.elementor-370 .elementor-element.elementor-element-444ca01{--display:flex;}.elementor-370 .elementor-element.elementor-element-286da51{--display:flex;}.elementor-370 .elementor-element.elementor-element-132fe9f{--display:flex;}.elementor-370 .elementor-element.elementor-element-182c7b8.elementor-element{--align-self:center;}.elementor-370 .elementor-element.elementor-element-15327d1{--display:flex;}.elementor-370 .elementor-element.elementor-element-e1231df{--display:flex;--margin-top:-55px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-370 .elementor-element.elementor-element-194072c{--display:flex;}.elementor-370 .elementor-element.elementor-element-0892fec{--display:flex;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-370 .elementor-element.elementor-element-385d6fe{width:var( --container-widget-width, 635px );max-width:635px;--container-widget-width:635px;--container-widget-flex-grow:0;}.elementor-370 .elementor-element.elementor-element-3e60dde{--margin-top:-596px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-370 .elementor-element.elementor-element-0cabc57{margin:60px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}}/* Start custom CSS for html, class: .elementor-element-0cabc57 */*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html,body{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  overflow-x:hidden !important;
}

/* SECTION PLEINE LARGEUR */
.carousel-gallery{
  width:100vw !important;
  padding:80px 0;
  overflow:hidden;
  position:relative;
  left:50%;
  margin-left:-50vw !important;
  background:transparent;
  -webkit-perspective:1000px;
  perspective:1000px;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}

/* EMPILAGE DES 3 LIGNES */
.carousel-row{
  display:flex;
  flex-direction:column;
  gap:40px;
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
}

/* UNE LIGNE (track) = 2 blocs contenus qui défilent */
.carousel-track{
  display:flex;
  overflow:hidden;
  position:relative;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
  will-change:transform;
}

/* BLOC QUI DÉFILE (les 2 copies) */
.carousel-content{
  display:flex;
  column-gap:24px;
  row-gap:0;
  /* pas de padding-right pour ne pas créer de trou */
  animation:scroll-left 120s linear infinite;
  -webkit-animation:scroll-left 120s linear infinite;
  transform:translate3d(0,0,0);
  -webkit-transform:translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change:transform;
}

/* Lignes qui défilent vers la droite */
.carousel-track.to-right .carousel-content{
  animation:scroll-right 120s linear infinite;
  -webkit-animation:scroll-right 120s linear infinite;
}

/* IMAGES */
.carousel-content img{
  width:360px;
  height:260px;
  object-fit:cover;
  border-radius:18px;
  background:#fff;
  box-shadow:0 6px 24px rgba(34,34,34,0.15);
  flex-shrink:0;
  margin:0;
  transition:transform .3s ease, box-shadow .3s ease;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  image-rendering:-webkit-optimize-contrast;
  will-change:transform;
}

.carousel-content img:hover{
  transform:scale(1.05) translateZ(0);
  -webkit-transform:scale(1.05) translateZ(0);
  box-shadow:0 12px 40px rgba(34,34,34,0.25);
}

/* ANIMATIONS : chaque track contient 2 copies -> on décale de 50% */
@keyframes scroll-left{
  0%   { transform:translate3d(0,0,0); }
  100% { transform:translate3d(-50%,0,0); }
}

@keyframes scroll-right{
  0%   { transform:translate3d(-50%,0,0); }
  100% { transform:translate3d(0,0,0); }
}

@-webkit-keyframes scroll-left{
  0%   { -webkit-transform:translate3d(0,0,0); }
  100% { -webkit-transform:translate3d(-50%,0,0); }
}

@-webkit-keyframes scroll-right{
  0%   { -webkit-transform:translate3d(-50%,0,0); }
  100% { -webkit-transform:translate3d(0,0,0); }
}

/* TABLETTE */
@media(max-width:1024px){
  .carousel-content img{
    width:300px;
    height:220px;
  }
  .carousel-content{
    column-gap:20px;
    animation-duration:100s;
    -webkit-animation-duration:100s;
  }
  .carousel-row{
    gap:32px;
  }
  .carousel-gallery{
    padding:60px 0;
  }
}

/* MOBILE */
@media(max-width:768px){
  .carousel-content img{
    width:260px;
    height:200px;
  }
  .carousel-content{
    column-gap:16px;
    animation-duration:80s;
    -webkit-animation-duration:80s;
  }
  .carousel-row{
    gap:28px;
  }
  .carousel-gallery{
    padding:50px 0;
  }
}

/* MOBILE OPTIMISÉ */
@media(max-width:600px){
  .carousel-gallery{
    padding:40px 0;
  }
  
  .carousel-row{
    gap:20px;
  }
  
  /* on garde la copie aria-hidden pour éviter les trous */
  .carousel-content{
    column-gap:14px;
    animation-duration:70s;
    -webkit-animation-duration:70s;
  }
  
  .carousel-content img{
    width:220px;
    height:160px;
    border-radius:12px;
  }
}

/* TRÈS PETIT MOBILE */
@media(max-width:400px){
  .carousel-gallery{
    padding:30px 0;
  }
  
  .carousel-content{
    column-gap:12px;
  }
  
  .carousel-content img{
    width:180px;
    height:135px;
    border-radius:10px;
  }
}/* End custom CSS */
/* Start custom CSS *//* Force le centrage absolu du trait décoratif */
.elementor-heading-title:after {
  left: 50% !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
}/* End custom CSS */