.elementor-841 .elementor-element.elementor-element-10748fcd{width:var( --container-widget-width, 99.86% );max-width:99.86%;--container-widget-width:99.86%;--container-widget-flex-grow:0;}/* Start custom CSS for html, class: .elementor-element-1c70fb7 */.ea-banner-wrapper {
    width: 100%;
    max-width: 100%;
    padding-top: 48px;
    position: relative;
    margin: 0 auto;
    box-sizing: border-box;
    overflow: hidden;
  }

  /* ── Fond bleu — flex 3 colonnes (desktop) ── */
  .ea-banner {
    background: #009CFF;
    border-radius: 18px;
    display: flex;
    align-items: center;
    padding: 20px 36px 20px 0;
    position: relative;
    overflow: visible;
    min-height: 130px;
    gap: 25px;
    box-sizing: border-box;
    width: 100%;
  }

  /* ── Col 1 : image ── */
  .ea-banner__image-col {
    flex: 0 0 clamp(160px, 22%, 280px);
    min-width: 0;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    align-self: flex-end;
  }

  .ea-banner__image-col img {
    width: clamp(140px, 100%, 320px);
    max-width: 100%;
    height: auto;
    margin-top: -48px;
    margin-bottom: -20px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 2;
    display: block;
  }

  /* ── Col 2 : texte ── */
  .ea-banner__content {
    flex: 1 1 0;
    min-width: 0;
    padding-right: 12px;
    box-sizing: border-box;
  }

  .ea-banner__title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1rem, 2.2vw, 1.65rem);
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    line-height: 1.25;
    margin: 0 0 14px 0;
    padding: 0;
    word-break: break-word;
  }

  .ea-banner__subtitle {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(0.82rem, 1.4vw, 1.15rem);
    font-weight: 500;
    color: #fff;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    word-break: break-word;
  }

  .ea-banner__subtitle strong { font-weight: 700; }

  /* ── Col 3 : CTA (standalone sur desktop) ── */
  .ea-banner__cta-col {
    flex: 0 0 auto;
    min-width: 0;
    display: flex;
    align-items: center;
  }

  /* Sur desktop le CTA est dans sa propre colonne,
     sur tablette il est à l'intérieur de .ea-banner__text-cta-col */
  .ea-banner__text-cta-col {
    display: contents; /* neutre sur desktop : les enfants restent dans le flux normal */
  }

  .ea-banner__cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: #009A00;
    color: #fff !important;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(0.82rem, 1.3vw, 1.15rem);
    font-weight: 700;
    padding: 14px 22px;
    border-radius: 50px;
    text-decoration: none !important;
    border: solid 2px #fff;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
    line-height: 1.2;
    outline: none;
    box-sizing: border-box;
    white-space: normal;
    text-align: center;
    min-width: 160px;
  }

  .ea-banner__cta:hover,
  .ea-banner__cta:focus {
    background: #007a00;
    color: #fff !important;
    text-decoration: none !important;
  }

  .ea-banner__cta-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    display: block;
  }

  /* ══════════════════════════════════════════════
     TABLETTE (> 520px et ≤ 860px)
     Layout : image | (texte + CTA dans la même colonne)
  ══════════════════════════════════════════════ */
  @media (min-width: 750px) and (max-width:1250px) {

    .ea-banner {
      gap: 16px;
      padding: 20px 24px 24px 0;
      align-items: stretch;   /* les colonnes s'étirent à la même hauteur */
    }

    /* Col image : taille fixe réduite */
    .ea-banner__image-col {
      flex: 0 0 clamp(130px, 25%, 200px);
    }

    /* On annule display:contents pour créer une vraie colonne flex */
    .ea-banner__text-cta-col {
      display: flex;
      flex-direction: column;
      justify-content: center;
      flex: 1 1 0;
      min-width: 0;
      gap: 16px;
    }

    /* Le contenu texte n'a plus besoin de flex séparé */
    .ea-banner__content {
      flex: none;
      padding-right: 0;
    }

    /* Le CTA sort de sa propre colonne flex et rejoint le bloc texte */
    .ea-banner__cta-col {
      display: none;   /* on masque la colonne autonome desktop */
    }

    /* CTA à l'intérieur du bloc texte+CTA tablette */
    .ea-banner__text-cta-col .ea-banner__cta {
      align-self: flex-start;
      min-width: auto;
    }
  }

  /* ══════════════════════════════════════════════
     MOBILE (≤ 520px)
     Colonne unique centrée, image dans le fond bleu
  ══════════════════════════════════════════════ */
  @media (max-width:954px) {

    .ea-banner-wrapper {
      padding-top: 0;
    }

    .ea-banner {
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: 18px 18px 22px;
      min-height: auto;
      gap: 12px;
      overflow: hidden;
    }

    .ea-banner__image-col {
      flex: none;
      width: 100%;
      justify-content: center;
      align-self: auto;
    }

    .ea-banner__image-col img {
      width: clamp(80px, 35vw, 130px);
      margin-top: 0;
      margin-bottom: 0;
    }

    .ea-banner__text-cta-col {
      display: contents; /* invisible sur mobile : les enfants restent dans le flux */
    }

    .ea-banner__content { padding-right: 0; }

    .ea-banner__title {
      font-size: clamp(0.9rem, 4.5vw, 1.1rem);
      margin-bottom: 8px;
    }

    .ea-banner__subtitle {
      font-size: clamp(0.8rem, 3.5vw, 0.95rem);
    }

    .ea-banner__cta-col {
      width: 100%;
      justify-content: center;
      text-align:center;
    }

    .ea-banner__cta {
      font-size: clamp(0.8rem, 3.8vw, 0.95rem);
      padding: 13px 18px;
      width: 100%;
      gap: 8px;
         justify-content: center;
      min-width: 0;
      
    }
  }/* End custom CSS */