.elementor-101720 .elementor-element.elementor-element-5145b936{--display:flex;--min-height:350px;--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;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-101720 .elementor-element.elementor-element-36fd31d0{--e-image-carousel-slides-to-show:10;}.elementor-101720 .elementor-element.elementor-element-36fd31d0 .swiper-wrapper{display:flex;align-items:center;}.elementor-101720 .elementor-element.elementor-element-23173a10{--e-image-carousel-slides-to-show:10;}.elementor-101720 .elementor-element.elementor-element-23173a10 .swiper-wrapper{display:flex;align-items:center;}@media(max-width:1024px){.elementor-101720 .elementor-element.elementor-element-5145b936{--min-height:200px;}.elementor-101720 .elementor-element.elementor-element-36fd31d0{--e-image-carousel-slides-to-show:5;}.elementor-101720 .elementor-element.elementor-element-23173a10{--e-image-carousel-slides-to-show:5;}}@media(max-width:767px){.elementor-101720 .elementor-element.elementor-element-5145b936{--min-height:200px;}.elementor-101720 .elementor-element.elementor-element-36fd31d0{--e-image-carousel-slides-to-show:5;}.elementor-101720 .elementor-element.elementor-element-23173a10{--e-image-carousel-slides-to-show:5;}}/* Start custom CSS for image-carousel, class: .elementor-element-36fd31d0 */.elementor-101720 .elementor-element.elementor-element-36fd31d0 .swiper-wrapper{
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important; 
}/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-23173a10 */.elementor-101720 .elementor-element.elementor-element-23173a10 .swiper-wrapper{
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important; 
}/* End custom CSS */
/* Start custom CSS *//* BUTON DISCOVER */

.button-text .elementor-heading-title {
  display: inline;
  background-image: linear-gradient(to right, white 100%, white 100%);
  background-position: 0 90%;
  background-repeat: no-repeat;
  background-size: 0% 2px;
  transition: background-size 0.4s ease;
  text-decoration: none; /* disable default underline */
}

/* Animate underline on hover of container */
.discover-button:hover .button-text .elementor-heading-title {
  background-size: 100% 2px;
}


/* On hover of the wrapper, change icon background + icon color */
.discover-button:hover .button-icon .elementor-icon {
  background-color: white !important;
  border-color: white !important; /* if needed */
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.discover-button:hover .button-icon .elementor-icon svg {
  fill: #111111; /* or your brand color */
  transition: fill 0.3s ease;

}


/* EXPLORE BUTTON */

/* Animate underline on hover of container */
.explore-button:hover .button-text .elementor-heading-title {
  background-size: 100% 2px;
}

/* Initially hide the icon */
.explore-button-icon {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Show it when the whole button is hovered */
.explore-button:hover .explore-button-icon {
  opacity: 1;
  visibility: visible;
}

.explore-button:hover .explore-button-icon .elementor-icon {
  background-color: white !important;
  border-color: white !important;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.explore-button:hover .explore-button-icon .elementor-icon svg {
  fill: #111111;
  transition: fill 0.3s ease;
}




/* Explore CURSOR*/


/* Custom cursor default state */
.explore-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 94px;
  height: 94px;
  padding: 10px;
  border-radius: 50%;
  background-color: white;
  color: #111111;
  font-family: 'General Sans', sans-serif;
  font-weight: 500;
  font-size: 14px;
  /*text-transform: uppercase;*/
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0.7); /* départ + scale out */
  z-index: 9999;
  opacity: 0;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}

.explore-cursor-zone {
  transition: transform .2s;
  cursor: none;
}

.explore-cursor-zone:hover {
  transform: scale(1.05);
  cursor: none;
}


/* GRADIENT SERVICES */

.gradient-hover-effect {
  position: relative;
  background-color: transparent;
  z-index: 0;
  overflow: hidden;
}

/* The animated gradient layer */
.gradient-hover-effect::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    to right,
    transparent 10%,
    #1b1b1b 75%,
    transparent 100%
  );
  transform: translateX(-100%);
  transition: transform 0.8s ease-in-out;
  z-index: -1;
}

/* On hover, slide the gradient from left to right */
.gradient-hover-effect:hover::before {
  transform: translateX(0%);
}

/* Discover CURSOR*/

/* Custom cursor default state */
.discover-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 94px;
  height: 94px;
  padding: 10px;
  border-radius: 50%;
  background-color: white;
  color: #111111;
  font-family: 'General Sans', sans-serif;
  font-weight: 500;
  font-size: 14px;
  /*text-transform: uppercase;*/
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0.7); /* départ + scale out */
  z-index: 9999;
  opacity: 0;
  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}

.discover-cursor-zone {
  cursor: none;
}

.grow-hover {
  transition: transform 0.3s ease;
  will-change: transform;
}


.grow-hover:hover {
  transform: scale(1.05);
}

.visually-hidden {
  position: absolute;
  left: -9999px;
}

/* Icône cachée par défaut */
.hover-container .hover-icon {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

/* Icône visible et colorée au hover */
.hover-container:hover .hover-icon {
  opacity: 1;
  visibility: visible;
}/* End custom CSS */