.elementor-840 .elementor-element.elementor-element-27b8066c{--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;--margin-top:0px;--margin-bottom:96px;--margin-left:0px;--margin-right:0px;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-840 .elementor-element.elementor-element-27b8066c:not(.elementor-motion-effects-element-type-background), .elementor-840 .elementor-element.elementor-element-27b8066c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(90deg, #489EF77D 0%, var( --e-global-color-760ef35 ) 100%);}@media(max-width:767px){.elementor-840 .elementor-element.elementor-element-27b8066c{--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;--margin-top:0px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}}/* Start custom CSS *//* Layout global (ligne de cartes) */
.cards-row {
  display: flex;
  width: 100%;
}

/* Comportement d’élargissement des vignettes */
.cards-row .card-item {
  flex: 1;
  transition: flex 0.4s ease;
}

/* Rétraction globale */
.cards-row:hover .card-item {
  flex: 1;
}

/* Expansion de la carte survolée */
.cards-row .card-item:hover {
  flex: 3;
}

/* Carte individuelle (fond + contenu) */
.hover-card {
  position: relative;
  display: flex;
  overflow: hidden;
}

/* Wrapper texte (titre + description) */
.content-wrapper {
  width: 100%;
  position: absolute;
  padding:20px;
  bottom: 120px; /* ← C’EST CETTE VALEUR QUI ALIGNE TOUS LES TITRES */
  left: 0;
  transform: translateY(40px);
  transition: transform 0.4s ease;
  z-index: 2;
}


/* titre h3 */
.hover-card h3,
.hover-card .card-title {
  transition: opacity 0.4s ease;
  margin-bottom: 12px;
  line-height: 1.2;
}

/* Texte masqué */
.button-wrapper {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transform: translateY(10px);
  transition:
    opacity 0.3s ease,
    transform 0.4s ease,
    max-height 0.4s ease;
}

/* États au survol (contenu) */
.hover-card:hover .content-wrapper {
  transform: translateY(0);
}

.hover-card:hover h3,
.hover-card:hover .card-title {
  opacity: 1;
}

.hover-card:hover .button-wrapper {
  opacity: 1;
  max-height: 120px; /* ajuste selon le texte */
  transform: translateY(0);
}

/* =========================
   VERSION MOBILE / TABLET
   ========================= */
@media (max-width: 1024px) {

  /* Empilement vertical */
  .cards-row {
    flex-direction: column;
    gap: 24px;
  }

  .cards-row .card-item,
  .cards-row .card-item:hover {
    flex: none;
    width: 100%;
  }

  /* Carte mobile = bloc normal */
  .hover-card {
    position: relative;
    overflow: hidden;
    min-height: auto;
  }

  /* ⚠️ CLÉ : on remet le contenu dans le flux */
  .content-wrapper {
    position: relative;   /* ← ESSENTIEL */
    bottom: auto;         /* ← ESSENTIEL */
    transform: none;
    padding: 20px;
  }

  /* Titre visible */
  .hover-card h3,
  .hover-card .card-title {
    opacity: 1;
    margin-bottom: 12px;
  }

  /* Texte visible */
  .button-wrapper {
    opacity: 1;
    max-height: none;
    transform: none;
    pointer-events: auto;
  }

  /* Plus d’animations */
  .hover-card * {
    transition: none !important;
  }
}/* End custom CSS */