.elementor-107130 .elementor-element.elementor-element-05b064f{--display:flex;}.elementor-107130 .elementor-element.elementor-element-3b94b66f:not(.elementor-motion-effects-element-type-background), .elementor-107130 .elementor-element.elementor-element-3b94b66f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #785484 0%, #2B6D9D 100%);}.elementor-107130 .elementor-element.elementor-element-3b94b66f > .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-107130 .elementor-element.elementor-element-3b94b66f{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:80px 0px 150px 0px;}.elementor-107130 .elementor-element.elementor-element-278554cb.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-107130 .elementor-element.elementor-element-458c9a79 > .elementor-widget-container{margin:10px 0px -15px 0px;}.elementor-107130 .elementor-element.elementor-element-6bb5116a > .elementor-widget-container{margin:-95px 0px 0px 0px;}.elementor-107130 .elementor-element.elementor-element-6bb5116a{z-index:0;}.elementor-107130 .elementor-element.elementor-element-6b35a2c{--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-107130 .elementor-element.elementor-element-93b03cf .pix-el-text, .elementor-107130 .elementor-element.elementor-element-93b03cf .pix-el-text p, .elementor-107130 .elementor-element.elementor-element-93b03cf .pix-el-text span{font-family:"Comfortaa", Sans-serif;font-weight:700;}.elementor-107130 .elementor-element.elementor-element-56a2ea8{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-107130 .elementor-element.elementor-element-6e077fc{--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-107130 .elementor-element.elementor-element-18c495e{color:var(--pix-body-default);}.elementor-107130 .elementor-element.elementor-element-18c495e p{color:var(--pix-body-default);}.elementor-107130 .elementor-element.elementor-element-18c495e .pix-el-text, .elementor-107130 .elementor-element.elementor-element-18c495e .pix-el-text p{text-align:center !important;}.elementor-107130 .elementor-element.elementor-element-18c495e .pix-el-text, .elementor-107130 .elementor-element.elementor-element-18c495e .pix-el-text p, .elementor-107130 .elementor-element.elementor-element-18c495e .pix-el-text span{font-family:"Comfortaa", Sans-serif;}.elementor-107130 .elementor-element.elementor-element-b2fcea3 > .elementor-widget-container{padding:0px 80px 0px 0px;}.elementor-107130 .elementor-element.elementor-element-b2fcea3.elementor-element{--align-self:center;}.elementor-107130 .elementor-element.elementor-element-91b84ee > .elementor-widget-container{margin:0px -7px 3px 0px;padding:0px 0px 0px 0px;}.elementor-107130 .elementor-element.elementor-element-91b84ee.elementor-element{--align-self:center;}.elementor-107130 .elementor-element.elementor-element-82de23e{--display:flex;}.elementor-107130 .elementor-element.elementor-element-15169e4 .pix-slogan-text{text-align:center !important;}.elementor-107130 .elementor-element.elementor-element-51eac94{--spacer-size:30px;}.elementor-107130 .elementor-element.elementor-element-952a5de{--display:flex;}.elementor-107130 .elementor-element.elementor-element-e555ec1 .pix-slogan-text{text-align:center !important;}.elementor-107130 .elementor-element.elementor-element-e555ec1 .pix-headline{text-align:center !important;}.elementor-107130 .elementor-element.elementor-element-d4bb1b4{--spacer-size:30px;}.elementor-107130 .elementor-element.elementor-element-5405965{--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-107130 .elementor-element.elementor-element-1983397{color:var(--pix-body-default);}.elementor-107130 .elementor-element.elementor-element-1983397 p{color:var(--pix-body-default);}.elementor-107130 .elementor-element.elementor-element-1983397 .pix-el-text, .elementor-107130 .elementor-element.elementor-element-1983397 .pix-el-text p, .elementor-107130 .elementor-element.elementor-element-1983397 .pix-el-text span{font-family:"Comfortaa", Sans-serif;}.elementor-107130 .elementor-element.elementor-element-53ec513{color:var(--pix-body-default);}.elementor-107130 .elementor-element.elementor-element-53ec513 p{color:var(--pix-body-default);}.elementor-107130 .elementor-element.elementor-element-53ec513 .pix-el-text, .elementor-107130 .elementor-element.elementor-element-53ec513 .pix-el-text p, .elementor-107130 .elementor-element.elementor-element-53ec513 .pix-el-text span{font-family:"Comfortaa", Sans-serif;}.elementor-107130 .elementor-element.elementor-element-8a7d1dc{--display:flex;}.elementor-107130 .elementor-element.elementor-element-bf648ef{--spacer-size:30px;}.elementor-107130 .elementor-element.elementor-element-a1eaf21{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );color:var( --e-global-color-primary );}.elementor-107130 .elementor-element.elementor-element-9f5e83d{text-align:center;}.elementor-107130 .elementor-element.elementor-element-9f5e83d .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:45px;font-weight:600;color:#785484;}.elementor-107130 .elementor-element.elementor-element-f7a745c{--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-107130 .elementor-element.elementor-element-f7a745c > .elementor-shape-top svg, .elementor-107130 .elementor-element.elementor-element-f7a745c > .e-con-inner > .elementor-shape-top svg{width:calc(100% + 1.3px);height:33px;}.elementor-107130 .elementor-element.elementor-element-44cd755{--display:flex;}.elementor-107130 .elementor-element.elementor-element-8bb9d7e{text-align:center;}.elementor-107130 .elementor-element.elementor-element-8bb9d7e .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:45px;font-weight:600;color:#785484;}.elementor-107130 .elementor-element.elementor-element-076881c .card-body *{color:var(--pix-body-default);}.elementor-107130 .elementor-element.elementor-element-7e1c9b9{--display:flex;}.elementor-107130 .elementor-element.elementor-element-2283599{--spacer-size:25px;}.elementor-107130 .elementor-element.elementor-element-f7b8f63 .pix-el-text, .elementor-107130 .elementor-element.elementor-element-f7b8f63 .pix-el-text p, .elementor-107130 .elementor-element.elementor-element-f7b8f63 .pix-el-text span{font-family:"Comfortaa", Sans-serif;}.elementor-107130 .elementor-element.elementor-element-f4a3a8f > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-107130 .elementor-element.elementor-element-f4a3a8f.elementor-element{--align-self:center;}.elementor-107130 .elementor-element.elementor-element-6d37a5a > .elementor-widget-container{padding:0px 197px 0px 0px;}.elementor-107130 .elementor-element.elementor-element-6d37a5a.elementor-element{--align-self:center;}.elementor-107130 .elementor-element.elementor-element-94a7704{--display:flex;}@media(min-width:768px){.elementor-107130 .elementor-element.elementor-element-6e077fc{--width:100%;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}}@media(max-width:767px){.elementor-107130 .elementor-element.elementor-element-e555ec1 .pix-slogan-text h6{font-size:1px;}.elementor-107130 .elementor-element.elementor-element-e555ec1 .pix-headline{font-size:18px;}.elementor-107130 .elementor-element.elementor-element-1983397 .pix-el-text, .elementor-107130 .elementor-element.elementor-element-1983397 .pix-el-text p{text-align:center !important;}.elementor-107130 .elementor-element.elementor-element-53ec513 .pix-el-text, .elementor-107130 .elementor-element.elementor-element-53ec513 .pix-el-text p{text-align:center !important;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}}/* Start custom CSS for html, class: .elementor-element-399dcce *//* grille responsive */
.odys-cards-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  max-width:1200px;
  margin-inline:auto;
  padding:20px;
}

/* card */
.odys-card{
  background:#fff;
  border-radius:16px;
  padding:20px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transition:transform .2s ease, box-shadow .2s ease;
  text-align:center;            /* centre le contenu interne */
}

.odys-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(0,0,0,.12);
}

/* titre dégradé */
.odys-card__title{
  font-size:1.05rem;
  font-weight:800;
  margin:0 0 8px 0;
  background:linear-gradient(90deg,#785484 0%, #2b6d9d 100%);
  -webkit-background-clip:text;
          background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* texte */
.odys-card__desc{
  font-size:.92rem;
  line-height:1.45;
  color:#555;
  margin:0;
  max-width:36ch;
  margin-left:auto;
  margin-right:auto;
}

/* Centrer la 5e carte sous la rangée de 4 */
.odys-cards-grid .odys-card:nth-child(5){
  grid-column:2 / span 2;   /* occupe les colonnes 2 et 3 => centrée */
  justify-self:center;
}

/* responsive */
@media (max-width:1024px){
  .odys-cards-grid{ grid-template-columns:repeat(2,1fr); }
  .odys-cards-grid .odys-card:nth-child(5){
    grid-column:auto;       /* annule le centrage spécifique sur tablette */
    justify-self:stretch;
  }
}
@media (max-width:600px){
  .odys-cards-grid{ grid-template-columns:1fr; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c4235a6 *//* 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-f4a3a8f */@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-6d37a5a */@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 */