.elementor-216 .elementor-element.elementor-element-a1acaf8{--display:flex;--min-height:80vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-end;--overlay-opacity:0.56;--overlay-mix-blend-mode:multiply;--padding-top:0%;--padding-bottom:6%;--padding-left:8%;--padding-right:8%;}.elementor-216 .elementor-element.elementor-element-a1acaf8::before, .elementor-216 .elementor-element.elementor-element-a1acaf8 > .elementor-background-video-container::before, .elementor-216 .elementor-element.elementor-element-a1acaf8 > .e-con-inner > .elementor-background-video-container::before, .elementor-216 .elementor-element.elementor-element-a1acaf8 > .elementor-background-slideshow::before, .elementor-216 .elementor-element.elementor-element-a1acaf8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-216 .elementor-element.elementor-element-a1acaf8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-216 .elementor-element.elementor-element-96ffd97{--display:flex;}.elementor-216 .elementor-element.elementor-element-47b0e02 .elementor-heading-title{font-family:"Barlow", Sans-serif;font-size:5rem;font-weight:900;text-transform:uppercase;line-height:1.06em;-webkit-text-stroke-color:#000;stroke:#000;}.elementor-216 .elementor-element.elementor-element-5ca79d8{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-216 .elementor-element.elementor-element-da4deae{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(3, 1fr);--grid-auto-flow:row;--align-items:center;border-style:none;--border-style:none;}.elementor-216 .elementor-element.elementor-element-7adc3ae p{margin-block-end:0px;}.elementor-216 .elementor-element.elementor-element-611289e{text-align:end;}.elementor-216 .elementor-element.elementor-element-056c2bd p{margin-block-end:0px;}.elementor-216 .elementor-element.elementor-element-a6c74d6{text-align:end;}.elementor-216 .elementor-element.elementor-element-9c29cef p{margin-block-end:0px;}.elementor-216 .elementor-element.elementor-element-37b0034{text-align:end;}.elementor-216 .elementor-element.elementor-element-106ff50{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:solid;--border-style:solid;border-color:var( --e-global-color-efbc4c9 );--border-color:var( --e-global-color-efbc4c9 );--border-radius:0px 0px 0.5px 0px;--padding-top:8%;--padding-bottom:8%;--padding-left:8%;--padding-right:8%;}.elementor-216 .elementor-element.elementor-element-df3cbf6 .elementor-heading-title{text-transform:uppercase;}.elementor-216 .elementor-element.elementor-element-5b6ff92{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;border-style:none;--border-style:none;--padding-top:8%;--padding-bottom:8%;--padding-left:8%;--padding-right:8%;}.elementor-216 .elementor-element.elementor-element-816d691{columns:2;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-216 .elementor-element.elementor-element-5349942{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0%;--padding-bottom:8%;--padding-left:8%;--padding-right:8%;}.elementor-216 .elementor-element.elementor-element-6737fde .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-216 .elementor-element.elementor-element-6737fde .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-216 .elementor-element.elementor-element-6737fde{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-216 .elementor-element.elementor-element-577f514e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:flex-end;border-style:solid;--border-style:solid;border-width:0.5px 0px 0.5px 0px;--border-top-width:0.5px;--border-right-width:0px;--border-bottom-width:0.5px;--border-left-width:0px;border-color:var( --e-global-color-efbc4c9 );--border-color:var( --e-global-color-efbc4c9 );--padding-top:13%;--padding-bottom:13%;--padding-left:0%;--padding-right:0%;}.elementor-216 .elementor-element.elementor-element-46e391e{width:var( --container-widget-width, 80% );max-width:80%;--container-widget-width:80%;--container-widget-flex-grow:0;font-family:var( --e-global-typography-5c887cd-font-family ), Sans-serif;font-size:var( --e-global-typography-5c887cd-font-size );font-weight:var( --e-global-typography-5c887cd-font-weight );text-transform:var( --e-global-typography-5c887cd-text-transform );font-style:var( --e-global-typography-5c887cd-font-style );text-decoration:var( --e-global-typography-5c887cd-text-decoration );line-height:var( --e-global-typography-5c887cd-line-height );}.elementor-216 .elementor-element.elementor-element-46e391e > .elementor-widget-container{margin:0% 0% 0% 0%;}.elementor-216 .elementor-element.elementor-element-49652438{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:40px 0px;--row-gap:40px;--column-gap:0px;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}@media(max-width:1024px){.elementor-216 .elementor-element.elementor-element-da4deae{--grid-auto-flow:row;}.elementor-216 .elementor-element.elementor-element-816d691{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-216 .elementor-element.elementor-element-46e391e{font-size:var( --e-global-typography-5c887cd-font-size );line-height:var( --e-global-typography-5c887cd-line-height );}}@media(min-width:768px){.elementor-216 .elementor-element.elementor-element-96ffd97{--width:50%;}.elementor-216 .elementor-element.elementor-element-5ca79d8{--width:25%;}.elementor-216 .elementor-element.elementor-element-da4deae{--width:100%;}.elementor-216 .elementor-element.elementor-element-49652438{--width:100%;}}@media(max-width:767px){.elementor-216 .elementor-element.elementor-element-da4deae{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-216 .elementor-element.elementor-element-816d691{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-216 .elementor-element.elementor-element-46e391e{font-size:var( --e-global-typography-5c887cd-font-size );line-height:var( --e-global-typography-5c887cd-line-height );}}/* Start custom CSS for container, class: .elementor-element-49652438 *//* =========================================================
   CARTE + HOVER
   Objectif : zoom léger de l'image + overlay dégradé + titre au survol
   ========================================================= */

/* Wrapper de la carte :
   - position: relative pour pouvoir placer overlay + titre en absolute
   - overflow: hidden pour que le zoom de l'image reste dans le cadre */
.realisations-carousel .card{
  position: relative;
  overflow: hidden;
}

/* Image (widget Image) OU élément .bg (si tu utilises un container avec background) :
   - transition + transform pour le zoom
   - width/height + object-fit pour un recadrage propre */
.realisations-carousel .card img,
.realisations-carousel .card .bg{
  transition: transform .35s ease;
  transform: scale(1);
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Overlay plein écran :
   - inset: 0 = top/right/bottom/left: 0
   - dégradé du bas vers le haut
   - opacity 0 par défaut (caché)
   - pointer-events none pour ne pas bloquer le clic sur la carte */
.realisations-carousel .card .overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,0) 55%);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}

/* Titre :
   - placé en bas à gauche
   - caché par défaut + petit décalage vers le bas (translateY)
   - z-index pour passer au-dessus de l’overlay */
.realisations-carousel .card .title{
  position: absolute;
  left: 24px;
  bottom: 22px;
  margin: 0;
  color: #fff;
  text-transform: uppercase;
  font-weight: 800;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease;
  z-index: 2;
}

/* Hover : zoom image (même règle si image ou .bg) */
.realisations-carousel .card:hover img,
.realisations-carousel .card:hover .bg{
  transform: scale(1.06);
}

/* Hover : affiche overlay + titre */
.realisations-carousel .card:hover .overlay,
.realisations-carousel .card:hover .title{
  opacity: 1;
}

/* Hover : remonte le titre à sa position finale */
.realisations-carousel .card:hover .title{
  transform: translateY(0);
}

/* =========================================================
   IMPORTANT : éviter que le zoom soit coupé par le carrousel
   ========================================================= */

/* Permet au zoom / overlay de ne pas être "croppé" par Swiper.
   ⚠️ À surveiller : selon certains skins/carrousels, ça peut
   laisser dépasser des éléments (mais c'est souvent voulu ici). */
.realisations-carousel .swiper,
.realisations-carousel .swiper-wrapper{
  overflow: visible;
}

/* =========================================================
   NOTE DEBUG (pour l'étape 2)
   ========================================================= */
/* Ton CSS ICI ne force PAS le nombre de slides visibles.
   Le problème "1 seule slide visible" vient presque sûrement :
   - soit d’un autre CSS (souvent .swiper-slide { width:100% !important; })
   - soit du réglage responsive (tu es en vue tablette/mobile)
   - soit de l’option "variable width / auto" côté Loop Carousel
*/

/* ===== Largeurs variables (desktop + tablette) ===== */
@media (min-width: 768px){
  .realisations-carousel .swiper-slide.is-narrow{ width: 42% !important; }
  .realisations-carousel .swiper-slide.is-wide{ width: 58% !important; }
}

/* ===== Mobile : 1 slide ===== */
@media (max-width: 767px){
  .realisations-carousel .swiper-slide{ width: 100% !important; }
}

/* Slides: ne doivent pas être height:100% */
.realisations-carousel .swiper-slide{
  height: auto !important;
}

/* Wrapper: laisse les slides prendre leur hauteur */
.realisations-carousel .swiper-wrapper{
  align-items: stretch; /* ou flex-start si tu veux en haut */
}

/* Si Elementor/Swiper force une hauteur au conteneur */
.realisations-carousel .swiper{
  height: auto !important;
}

/* La carte ne doit pas forcer une hauteur héritée */
.realisations-carousel .card{
  height: auto;
}

/* Si tu utilises un container .bg (background) et qu’il est en height:100% */
.realisations-carousel .card .bg{
  height: auto;
  min-height: 0;
}/* End custom CSS */