.elementor-105742 .elementor-element.elementor-element-45a9af4a > .elementor-background-overlay{background-color:transparent;background-image:linear-gradient(90deg, #785484 0%, #2B6D9D 100%);opacity:0.85;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-105742 .elementor-element.elementor-element-45a9af4a{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 0px 150px 0px;}.elementor-105742 .elementor-element.elementor-element-6d64eece.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-105742 .elementor-element.elementor-element-ebc2430 .pix-slogan-text{text-align:center !important;}.elementor-105742 .elementor-element.elementor-element-3621be87 > .elementor-widget-container{margin:-95px 0px 0px 0px;}.elementor-105742 .elementor-element.elementor-element-3621be87{z-index:0;}.elementor-105742 .elementor-element.elementor-element-e00ae2c{--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;}.elementor-105742 .elementor-element.elementor-element-f54dd9b{--spacer-size:20px;}.elementor-105742 .elementor-element.elementor-element-ceb8d3e .pix-el-text, .elementor-105742 .elementor-element.elementor-element-ceb8d3e .pix-el-text p, .elementor-105742 .elementor-element.elementor-element-ceb8d3e .pix-el-text span{font-family:"Comfortaa", Sans-serif;font-weight:700;}.elementor-105742 .elementor-element.elementor-element-c8b4f76{--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;}.elementor-105742 .elementor-element.elementor-element-024b796{color:var(--pix-body-default);}.elementor-105742 .elementor-element.elementor-element-024b796 p{color:var(--pix-body-default);}.elementor-105742 .elementor-element.elementor-element-024b796 .pix-el-text, .elementor-105742 .elementor-element.elementor-element-024b796 .pix-el-text p{text-align:left !important;}.elementor-105742 .elementor-element.elementor-element-024b796 .pix-el-text, .elementor-105742 .elementor-element.elementor-element-024b796 .pix-el-text p, .elementor-105742 .elementor-element.elementor-element-024b796 .pix-el-text span{font-family:"Comfortaa", Sans-serif;}.elementor-105742 .elementor-element.elementor-element-b6e3ed0 > .elementor-widget-container{padding:0px 80px 0px 0px;}.elementor-105742 .elementor-element.elementor-element-b6e3ed0.elementor-element{--align-self:center;}.elementor-105742 .elementor-element.elementor-element-e8a1641 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-105742 .elementor-element.elementor-element-e8a1641.elementor-element{--align-self:center;}.elementor-105742 .elementor-element.elementor-element-b2cfebf{--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;}.elementor-105742 .elementor-element.elementor-element-ba5f551{--spacer-size:20px;}.elementor-105742 .elementor-element.elementor-element-4abd793 .pix-slogan-text{text-align:center !important;}.elementor-105742 .elementor-element.elementor-element-415d7e8{--spacer-size:20px;}.elementor-105742 .elementor-element.elementor-element-6fb3b87{--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;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-105742 .elementor-element.elementor-element-8cf2a23{font-family:"Comfortaa", Sans-serif;font-size:17px;font-weight:400;}.elementor-105742 .elementor-element.elementor-element-4766366 .pix-el-text, .elementor-105742 .elementor-element.elementor-element-4766366 .pix-el-text p{text-align:center !important;}.elementor-105742 .elementor-element.elementor-element-4766366 .pix-el-text, .elementor-105742 .elementor-element.elementor-element-4766366 .pix-el-text p, .elementor-105742 .elementor-element.elementor-element-4766366 .pix-el-text span{font-family:"Comfortaa", Sans-serif;}.elementor-105742 .elementor-element.elementor-element-7c904cf{--spacer-size:35px;}.elementor-105742 .elementor-element.elementor-element-e60fce6{--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;}.elementor-105742 .elementor-element.elementor-element-e60fce6 > .elementor-shape-top svg, .elementor-105742 .elementor-element.elementor-element-e60fce6 > .e-con-inner > .elementor-shape-top svg{width:calc(100% + 1.3px);height:33px;}.elementor-105742 .elementor-element.elementor-element-ab8610d{--display:flex;}.elementor-105742 .elementor-element.elementor-element-02dc9eb{--spacer-size:50px;}.elementor-105742 .elementor-element.elementor-element-b8c2582{--display:flex;}.elementor-105742 .elementor-element.elementor-element-5523e16 .pix-el-text, .elementor-105742 .elementor-element.elementor-element-5523e16 .pix-el-text p, .elementor-105742 .elementor-element.elementor-element-5523e16 .pix-el-text span{font-family:"Comfortaa", Sans-serif;}.elementor-105742 .elementor-element.elementor-element-1bb93c2 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-105742 .elementor-element.elementor-element-1bb93c2.elementor-element{--align-self:center;}.elementor-105742 .elementor-element.elementor-element-5f1c4c2 > .elementor-widget-container{padding:0px 197px 0px 0px;}.elementor-105742 .elementor-element.elementor-element-5f1c4c2.elementor-element{--align-self:center;}@media(max-width:1024px){}@media(max-width:767px){.elementor-105742 .elementor-element.elementor-element-4766366 > .elementor-widget-container{padding:3px 3px 3px 3px;}}/* Start custom CSS for pix-animated-heading, class: .elementor-element-ebc2430 */.titre-degrade .pix-words-wrapper .text-black.is-visible {
  background: linear-gradient(to right, #f46aa3, #a264f8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}/* End custom CSS */
/* Start custom CSS for pix-cta, class: .elementor-element-e8a1641 */@media screen and (max-width: 991px) {
  /* Cible le conteneur parent */
  .text-md-right.flex-grow-1 {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    flex-direction: column;
  }

  /* Cible le bouton lui-même */
  a.btn-gradient-primary {
    margin: 0 auto !important;
    display: inline-block !important;
    text-align: center !important;
    width: auto !important; /* ✅ Garde sa taille d'origine */
  }

  /* Centrer le texte "Demander un devis…" si besoin */
  .text-md-right.flex-grow-1 > p {
    text-align: center !important;
    margin: 0 auto;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-aa5a759 *//* Base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  font-family: 'Poppins', sans-serif;
  background: linear-gradient(to bottom, #785484, #2d6b9b);
  color: white;
}

.background {
  min-height: 100vh;
  width: 100%;
  background: linear-gradient(135deg, #785484, #2d6b9b);
  position: relative;
  overflow: hidden;
}

/* Diagonales */
.diagonal-section::before,
.diagonal-section::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 160px;
  background: white;
  z-index: 2;
}

.diagonal-section::before {
  top: -80px;
  transform: skewY(-3deg);
  transform-origin: top left;
}

.diagonal-section::after {
  bottom: -80px;
  transform: skewY(3deg);
  transform-origin: bottom left;
}

/* Conteneur principal */
.timeline-container {
  font-family: 'Comfortaa', sans-serif;
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 3;
}

/* Titre centré */
.timeline-intro {
  text-align: center;
  max-width: 900px;
  margin-bottom: 40px;
}

.timeline-intro h2 {
  font-size: 3.5rem;
  background: linear-gradient(to right, #ff6ec4, #7873f5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
  margin-bottom: 20px;
}

.timeline-intro p {
  font-size: 1.5rem;
  color: white;
  line-height: 1.8;
}

/* Timeline */
.timeline {
  width: 90%;
  max-width: 1400px;
  margin: 100px auto;
  display: flex;
  flex-direction: column;
  gap: 100px;
}

.step {
  display: flex;
  justify-content: space-between;
  opacity: 0;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.step.left {
  flex-direction: row;
  transform: translateX(-80px);
}

.step.right {
  flex-direction: row-reverse;
  transform: translateX(80px);
}

.step.visible {
  opacity: 1;
  transform: translateX(0);
}

/* Bloc */
.content {
  max-width: 500px;
}

/* Ligne + bulle + texte étape */
.etape-line {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px;
  width: 100%;
  position: relative;
}

.dashed {
  border-top: 2px dashed white;
  height: 1px;
  flex-grow: 1;
  z-index: 2;
}

.step.left .etape-line::before {
  content: "";
  position: absolute;
  left: -100vw;
  right: 100%;
  top: 50%;
  border-top: 2px dashed white;
  height: 0;
  transform: translateY(-50%);
  z-index: 1;
}

.step.right .etape-line::after {
  content: "";
  position: absolute;
  left: 100%;
  right: -100vw;
  top: 50%;
  border-top: 2px dashed white;
  height: 0;
  transform: translateY(-50%);
  z-index: 1;
}

/* Bulle */
.dot {
  width: 18px;
  height: 18px;
  background: white;
  border-radius: 50%;
  z-index: 2;
}

/* Étiquette étape */
.etape {
  font-size: 22px;
  font-weight: bold;
  text-transform: uppercase;
  color: white;
  z-index: 2;
}

/* Titre */
h3 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 12px;
  background: linear-gradient(to right, #ff6ec4, #7873f5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Texte */
p {
  font-size: 18px;
  line-height: 1.8;
  color: white;
}

/* ✅ CORRECTIF MOBILE : déblocage du scroll sur téléphone */
@media screen and (max-width: 767px) {
  html, body {
    height: auto !important;
    overflow-x: hidden !important;
  }

  .background {
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    padding-bottom: 80px; /* permet au scroll de finir correctement */
  }
}/* End custom CSS */
/* Start custom CSS for pix-cta, class: .elementor-element-1bb93c2 */@media screen and (max-width: 991px) {
  /* Cible le conteneur parent */
  .text-md-right.flex-grow-1 {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    flex-direction: column;
  }

  /* Cible le bouton lui-même */
  a.btn-gradient-primary {
    margin: 0 auto !important;
    display: inline-block !important;
    text-align: center !important;
    width: auto !important; /* ✅ Garde sa taille d'origine */
  }

  /* Centrer le texte "Demander un devis…" si besoin */
  .text-md-right.flex-grow-1 > p {
    text-align: center !important;
    margin: 0 auto;
  }
}/* End custom CSS */
/* Start custom CSS for pix-cta, class: .elementor-element-5f1c4c2 */@media screen and (max-width: 991px) {
  /* Cible le conteneur parent */
  .text-md-right.flex-grow-1 {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    flex-direction: column;
  }

  /* Cible le bouton lui-même */
  a.btn-gradient-primary {
    margin: 0 auto !important;
    display: inline-block !important;
    text-align: center !important;
    width: auto !important; /* ✅ Garde sa taille d'origine */
  }

  /* Centrer le texte "Demander un devis…" si besoin */
  .text-md-right.flex-grow-1 > p {
    text-align: center !important;
    margin: 0 auto;
  }
}/* End custom CSS */