.elementor-656 .elementor-element.elementor-element-143e918{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-5be42f4{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-5be42f4:not(.elementor-motion-effects-element-type-background), .elementor-656 .elementor-element.elementor-element-5be42f4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.ecofinanceanalytics.com/wp-content/uploads/2026/06/slidebg.jpg");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-656 .elementor-element.elementor-element-fbb2bcf{--spacer-size:10px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-656 .elementor-element.elementor-element-563d989{text-align:center;}.elementor-656 .elementor-element.elementor-element-563d989 .elementor-heading-title{color:#FFFFFF;}.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-656 .elementor-element.elementor-element-9470dd7{text-align:center;color:#FFFFFF;}.elementor-656 .elementor-element.elementor-element-1442976{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-d824f4a{--spacer-size:90px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-656 .elementor-element.elementor-element-c7bbccb{margin:-125px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-656 .elementor-element.elementor-element-9c59f91{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-89b7fc1{--display:flex;--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;--align-items:center;--gap:0px 60px;--row-gap:0px;--column-gap:60px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-a6709bb{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-eddb3e9{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-f06e90a .elementor-heading-title{color:#0B0B41;}.elementor-656 .elementor-element.elementor-element-7192244{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-656 .elementor-element.elementor-element-9d11151{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-9d11151:not(.elementor-motion-effects-element-type-background), .elementor-656 .elementor-element.elementor-element-9d11151 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F4F5F8;}.elementor-656 .elementor-element.elementor-element-e1cfd27{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-316d7d5{text-align:center;}.elementor-656 .elementor-element.elementor-element-316d7d5 .elementor-heading-title{color:#0B0B41;}.elementor-656 .elementor-element.elementor-element-8264f82{--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;--margin-top:29px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-aa8ff8a{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-28a7756{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-f9136bd{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-8d959a2{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-f5961cf{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-a38fb26{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-f84486e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-13c85df{margin:27px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-656 .elementor-element.elementor-element-d48388b{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-a4b5cd7{--display:flex;--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;--align-items:center;--gap:0px 60px;--row-gap:0px;--column-gap:60px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-b02c377{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-3331166 img{border-radius:20px 20px 20px 20px;}.elementor-656 .elementor-element.elementor-element-8ceedba{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-84379cd .elementor-heading-title{color:#0B0B41;}.elementor-656 .elementor-element.elementor-element-8f9986d{--display:flex;--margin-top:0px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-cbae2c9{--display:flex;--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;--align-items:center;--border-radius:20px 20px 20px 20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-cbae2c9:not(.elementor-motion-effects-element-type-background), .elementor-656 .elementor-element.elementor-element-cbae2c9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#01197B;}.elementor-656 .elementor-element.elementor-element-9229ea1{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-656 .elementor-element.elementor-element-e337039 .elementor-heading-title{color:#FFFFFF;}.elementor-656 .elementor-element.elementor-element-dff4ae3{color:#FFFFFF;}.elementor-656 .elementor-element.elementor-element-4173f1b{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-656 .elementor-element.elementor-element-a6709bb{--width:74%;}.elementor-656 .elementor-element.elementor-element-b02c377{--width:53%;}}@media(max-width:767px){.elementor-656 .elementor-element.elementor-element-d824f4a{--spacer-size:47px;}.elementor-656 .elementor-element.elementor-element-c7bbccb{margin:-58px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-656 .elementor-element.elementor-element-89b7fc1{--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;}.elementor-656 .elementor-element.elementor-element-55ea945{margin:46px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-656 .elementor-element.elementor-element-8ceedba{--margin-top:35px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-656 .elementor-element.elementor-element-f189f81{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -129px) 0px;}}/* Start custom CSS for container, class: .elementor-element-143e918 *//* ===== Égaliser la hauteur des cartes écosystème — DESKTOP uniquement ===== */
@media (min-width: 768px) {

  /* Le conteneur parent étire ses 3 colonnes à la même hauteur */
  .elementor-element-8264f82 {
    align-items: stretch;
  }

  /* Chaque colonne enfant prend toute la hauteur disponible */
  .elementor-element-8264f82 > .e-con {
    display: flex;
    flex-direction: column;
  }

  /* Le widget HTML à l'intérieur s'étire aussi */
  .elementor-element-8264f82 > .e-con > .elementor-widget-html {
    flex: 1;
    display: flex;
  }

  /* La carte occupe 100% de la hauteur de sa colonne */
  .elementor-element-8264f82 .eco-card {
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  /* Le paragraphe pousse le statut "Disponible" vers le bas
     => les mentions "Disponible maintenant / Bientôt" s'alignent en bas */
  .elementor-element-8264f82 .eco-card p:not(.avail) {
    flex: 1;
  }
}



/* ============================================================
   ECOFINANCE ANALYTICS — FEUILLE DE STYLES (PAGE ACCUEIL)
   ------------------------------------------------------------
   Logique d'organisation :
   - Partie DESKTOP : une section par composant (1 a 8).
   - Partie RESPONSIVE : les media queries sont ouvertes UNE
     SEULE FOIS chacune, en bas du fichier :
        - Mobile  (max-width: 767px)  -> toutes les regles mobile,
          ordonnees comme les composants ci-dessus
        - Desktop (min-width: 768px)
        - Tres petit ecran (max-width: 360px)

   SOMMAIRE
   1. Layout / conteneurs generaux
   2. Header / logo
   3. Typographie
   4. Boutons stores (clairs)
   5. Boutons stores (fonces)
   6. Cartes ecosysteme
   7. Pills + CTA
   8. FAQ accordeon
   --- RESPONSIVE ---
   9.  Mobile (max-width: 767px)
   10. Desktop (min-width: 768px)
   11. Tres petit ecran (max-width: 360px)
   ============================================================ */


/* ============================================================
   1. LAYOUT / CONTENEURS GENERAUX
   ============================================================ */
.mrgcontainer {
    margin-top: 100px;
}

.padcontainer {
    padding-top: 70px;
    padding-bottom: 70px;
    background-color: #efefef;
}

.premiercontenneur {
    border-radius: 20px;
    padding: 70px 40px;
}

.padblocbleu {
    padding: 40px 50px;
}


/* ============================================================
   2. HEADER / LOGO
   ============================================================ */
.header-stack #Top_bar:not(.is-sticky) .top_bar_left {
    border-bottom: none !important;
}


/* ============================================================
   3. TYPOGRAPHIE
   ============================================================ */
h1 { font-size: 56px; line-height: 1.1; }

.titlebloc1 h1 {
    font-size: 50px;
}

h2 {
    font-size: 37px !important;
    line-height: 49px !important;
}

h3 { font-size: 24px; line-height: 1.3; }
p { font-size: 22px; line-height: 30px; }

.paragrapheheader p {
    font-size: 30px;
    line-height: 46px;
}


/* ============================================================
   4. BOUTONS STORES (CLAIRS)
   ============================================================ */
.store-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.store-buttons.leftlogo {
    justify-content: left;
}

.store-badge {
  display: inline-block;
  line-height: 0;
}

.store-badge img {
  height: 76px;
  width: auto;
  display: block;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.store-badge:hover img {
  transform: translateY(-2px);
  opacity: 0.92;
}


/* ============================================================
   5. BOUTONS STORES (FONCES)
   ============================================================ */
.store-buttons-dark {
  display: flex;
  gap: 14px;
  flex-wrap: nowrap;        /* restent toujours sur la meme ligne */
  align-items: center;
}

.store-badge-dark {
  display: inline-block;
  line-height: 0;
  flex: 0 1 auto;
  min-width: 0;             /* permet aux images de retrecir sans deborder */
}

.store-badge-dark img {
  height: 62px;
  width: auto;
  max-width: 100%;          /* l'image se reduit pour tenir sur petit ecran */
  display: block;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.store-badge-dark:hover img {
  transform: translateY(-2px);
  opacity: 0.92;
}


/* ============================================================
   6. CARTES ECOSYSTEME
   ============================================================ */
.eco-card {
  background: #FFFFFF;
  border: 1px solid #E6E8EE;
  border-radius: 14px;
  padding: 26px 24px 28px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.eco-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.eco-card-head h3 {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.25;
  color: #0B0B41;
  margin: 0;
}

.eco-card-icon {
  flex-shrink: 0;
}

.eco-card-icon img {
  width: 44px;
  height: 44px;
  display: block;
}

.eco-card p {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #4A5160;
  margin: 0 0 24px;
  flex-grow: 1;
}

.eco-card .avail {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #7A8190;
  margin: 0;
}


/* ============================================================
   7. PILLS + CTA
   ============================================================ */
.pills {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 28px;
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: #FFFFFF;
  border: 1px solid #E6E8EE;
  border-radius: 30px;
  padding: 9px 20px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #4A5160;
  white-space: nowrap;
}

.pill::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #0B0B41;
  flex-shrink: 0;
}

.pills-cta {
  text-align: center;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  color: #1A2332;
  margin: 0;
}

.pills-cta a {
  color: #1B4D8C;
  font-weight: 600;
  text-decoration: none;
}

.pills-cta a:hover {
  text-decoration: underline;
}


/* ============================================================
   8. FAQ ACCORDEON
   ============================================================ */
.faq {
  max-width: 760px;
  margin: 0 auto;
}

.faq-item {
  background: #F4F5F8;
  border-radius: 10px;
  margin-bottom: 14px;
  overflow: hidden;
}

.faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #0B0B41;
}

.faq-toggle {
  position: relative;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: #0B0B41;
  flex-shrink: 0;
}

/* barres du + / - */
.faq-toggle::before,
.faq-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #FFFFFF;
  border-radius: 1px;
}
.faq-toggle::before { width: 13px; height: 2.5px; }          /* barre horizontale */
.faq-toggle::after  { width: 2.5px; height: 13px; }          /* barre verticale (le +) */

/* quand ouvert : on cache la barre verticale -> devient un - */
.faq-item.open .faq-toggle::after { opacity: 0; }

.faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0 20px;
}

.faq-a p {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #7A8190;
  margin: 0;
}

.faq-item.open .faq-a {
  max-height: 300px;
  padding: 0 20px 20px;
}


/* ============================================================
   9. RESPONSIVE — MOBILE (max-width: 767px)
   Un seul bloc, ordonne comme les composants ci-dessus.
   ============================================================ */
@media (max-width: 767px) {

  /* --- 1. Layout / conteneurs --- */
  .mrgcontainer {
    margin-top: 35px;
  }
  .padcontainer {
    padding: 35px 15px;
  }
  .premiercontenneur {
    border-radius: 20px;
    padding: 0px 29px;
    padding-top: 25px;
  }
  .padblocbleu {
    padding: 35px 25px;
  }
  .borderradiusmobile {
    border-radius: 20px;
  }
  .content_wrapper .section_wrapper,
  .container,
  .four.columns .widget-area {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  #Footer {
    margin-top: 71px;
  }

  /* --- 2. Header / logo --- */
  #Top_bar #logo img.logo-mobile {
    height: 35px;
    display: inline-block;
  }

  /* --- 3. Typographie --- */
  h1 { font-size: 34px; line-height: 1.45; }
  h2 {
    font-size: 24px !important;
    line-height: 31px !important;
  }
  h3 { font-size: 20px; line-height: 1.35; }
  p { font-size: 16px; line-height: 23px; }

  .titlebloc1 h1 {
    font-size: 30px;
    line-height: 38px;
  }
  .paragrapheheader p {
    font-size: 21px;
    line-height: 30px;
  }

  /* --- 4. Boutons stores (clairs) --- */
  /* NB : deux declarations .store-buttons presentes dans le code
     d'origine, conservees telles quelles. */
  .store-buttons {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
  .store-buttons {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  .store-badge img {
    height: 50px;
  }

  /* --- 5. Boutons stores (fonces) --- */
  .store-buttons-dark {
    place-content: center;
  }
  .store-buttons-dark {
    gap: 10px;
  }
  .store-badge-dark img {
    height: 44px;
  }

  /* --- 6. Cartes ecosysteme --- */
  .eco-card { padding: 22px 20px 24px; }
  .eco-card-icon img { width: 40px; height: 40px; }

  /* --- 7. Pills + CTA --- */
  .pills {
    gap: 10px;
    margin-bottom: 22px;
  }
  .pill {
    padding: 8px 16px;
    font-size: 13px;
  }
  .pills-cta {
    font-size: 14px;
  }

  /* --- 8. FAQ --- */
  .faq-q {
    font-size: 15px;
    padding: 16px 16px;
    gap: 12px;
  }
  .faq-a { padding: 0 16px; }
  .faq-item.open .faq-a { padding: 0 16px 18px; }
  .faq-a p { font-size: 14px; }
}


/* ============================================================
   10. RESPONSIVE — DESKTOP (min-width: 768px)
   ============================================================ */
@media only screen and (min-width: 768px) {

  /* --- Header / logo --- */
  #Top_bar #logo {
    padding: 25px 0 !important;
    padding-top: 60px !important;
  }
}


/* ============================================================
   11. RESPONSIVE — TRES PETIT ECRAN (max-width: 360px)
   ============================================================ */
@media (max-width: 360px) {
  .store-badge-dark img {
    height: 40px;
  }
}/* End custom CSS */