.elementor-112 .elementor-element.elementor-element-6d4402d{--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:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:0px 0px 050px 050px;--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-112 .elementor-element.elementor-element-6d4402d.e-con{--align-self:flex-start;}.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-112 .elementor-element.elementor-element-f0350c0{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-112 .elementor-element.elementor-element-f0350c0.elementor-element{--align-self:center;}.elementor-112 .elementor-element.elementor-element-f0350c0 img{border-radius:0px 0px 050px 050px;}.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-112 .elementor-element.elementor-element-11625a0{margin:-3% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 4%;top:28%;border-radius:0px 0px 0px 0px;column-gap:0px;text-align:center;font-family:"Marcellus", Sans-serif;font-size:17px;font-weight:400;text-shadow:-4px 1px 9px rgba(192.7746875, 201.6953581012228, 222.7, 0.74);color:#014593;}.elementor-112 .elementor-element.elementor-element-11625a0.elementor-element{--align-self:center;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:1;}body:not(.rtl) .elementor-112 .elementor-element.elementor-element-11625a0{left:23%;}body.rtl .elementor-112 .elementor-element.elementor-element-11625a0{right:23%;}.elementor-112 .elementor-element.elementor-element-11625a0 p{margin-block-end:0px;}.elementor-112 .elementor-element.elementor-element-0ec59c2{--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-112 .elementor-element.elementor-element-f7e6f2e{--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-112 .elementor-element.elementor-element-578fcf2.elementor-element{--align-self:center;}.elementor-112 .elementor-element.elementor-element-578fcf2{text-align:center;color:#6E5043;}.elementor-112 .elementor-element.elementor-element-1891af1{background-color:transparent;margin:0px 6px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;bottom:11px;background-image:linear-gradient(90deg, #68B4F1 0%, #4D7AF0 100%);border-radius:0px 0px 0px 0px;column-gap:0px;text-align:left;font-family:"Roboto", Sans-serif;font-size:17px;font-weight:400;color:#FFF8F8;}.elementor-112 .elementor-element.elementor-element-1891af1.elementor-element{--align-self:flex-end;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:1;}body:not(.rtl) .elementor-112 .elementor-element.elementor-element-1891af1{right:5px;}body.rtl .elementor-112 .elementor-element.elementor-element-1891af1{left:5px;}.elementor-112 .elementor-element.elementor-element-1891af1 p{margin-block-end:0px;}.elementor-112 .elementor-element.elementor-element-d4656d8{background-color:transparent;margin:0px 6px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;bottom:10px;background-image:linear-gradient(90deg, #028AF869 0%, #4D7AF000 100%);border-radius:0px 0px 0px 0px;column-gap:0px;text-align:left;font-family:"Marcellus", Sans-serif;font-size:12px;font-weight:400;color:#FFF8F8;}.elementor-112 .elementor-element.elementor-element-d4656d8.elementor-element{--align-self:flex-start;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:1;}.elementor-112 .elementor-element.elementor-element-d4656d8 p{margin-block-end:0px;}.elementor-112 .elementor-element.elementor-element-a65b634{--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-112 .elementor-element.elementor-element-525c7b1{background-color:transparent;margin:17px 6px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;top:-7px;background-image:linear-gradient(90deg, #68B4F1 0%, #4D7AF0 100%);border-radius:0px 0px 0px 0px;column-gap:0px;text-align:left;font-family:"Roboto", Sans-serif;font-size:17px;font-weight:400;color:#FFFFFF;}.elementor-112 .elementor-element.elementor-element-525c7b1.elementor-element{--align-self:flex-start;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:1;}body:not(.rtl) .elementor-112 .elementor-element.elementor-element-525c7b1{right:6px;}body.rtl .elementor-112 .elementor-element.elementor-element-525c7b1{left:6px;}.elementor-112 .elementor-element.elementor-element-525c7b1 p{margin-block-end:0px;}.elementor-112 .elementor-element.elementor-element-b87e68e.elementor-element{--align-self:center;}.elementor-112 .elementor-element.elementor-element-b87e68e{text-align:center;font-family:"Marcellus", Sans-serif;font-weight:400;}.elementor-112 .elementor-element.elementor-element-7886d57{--display:flex;}.elementor-112 .elementor-element.elementor-element-44acba8{--display:flex;--border-radius:050px 050px 050px 050px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:00px;}.elementor-112 .elementor-element.elementor-element-44acba8:not(.elementor-motion-effects-element-type-background), .elementor-112 .elementor-element.elementor-element-44acba8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#014593;}.elementor-112 .elementor-element.elementor-element-44acba8.e-con{--align-self:center;}.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-112 .elementor-element.elementor-element-780263e{margin:16px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-112 .elementor-element.elementor-element-780263e .elementor-heading-title{font-family:"Marcellus", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-112 .elementor-element.elementor-element-3f8d1a4{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(3, 1fr);--gap:0px 10px;--row-gap:0px;--column-gap:10px;--grid-auto-flow:row;}.elementor-112 .elementor-element.elementor-element-3f8d1a4:not(.elementor-motion-effects-element-type-background), .elementor-112 .elementor-element.elementor-element-3f8d1a4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-112 .elementor-element.elementor-element-3f8d1a4.e-con{--align-self:center;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{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-112 .elementor-element.elementor-element-8c99ffa{background-color:#FFFFFF;border-radius:17px 17px 17px 17px;--icon-box-icon-margin:15px;}.elementor-112 .elementor-element.elementor-element-8c99ffa.elementor-element{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-8c99ffa .elementor-icon-box-wrapper{align-items:start;}.elementor-112 .elementor-element.elementor-element-e783fbf{background-color:#FFFFFF;border-radius:17px 17px 17px 17px;--icon-box-icon-margin:15px;}.elementor-112 .elementor-element.elementor-element-e783fbf.elementor-element{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-e783fbf .elementor-icon-box-wrapper{align-items:start;}.elementor-112 .elementor-element.elementor-element-b5d0394{background-color:#FFFFFF;border-radius:17px 17px 17px 17px;--icon-box-icon-margin:15px;}.elementor-112 .elementor-element.elementor-element-b5d0394.elementor-element{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-b5d0394 .elementor-icon-box-wrapper{align-items:start;}.elementor-112 .elementor-element.elementor-element-5de9fb3{background-color:#FFFFFF;border-radius:17px 17px 17px 17px;--icon-box-icon-margin:15px;}.elementor-112 .elementor-element.elementor-element-5de9fb3.elementor-element{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-5de9fb3 .elementor-icon-box-wrapper{align-items:start;}.elementor-112 .elementor-element.elementor-element-5499ed4{background-color:#FFFFFF;border-radius:17px 17px 17px 17px;--icon-box-icon-margin:15px;}.elementor-112 .elementor-element.elementor-element-5499ed4.elementor-element{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-5499ed4 .elementor-icon-box-wrapper{align-items:start;}.elementor-112 .elementor-element.elementor-element-67ba24c{background-color:#FFFFFF;border-radius:17px 17px 17px 17px;--icon-box-icon-margin:15px;}.elementor-112 .elementor-element.elementor-element-67ba24c.elementor-element{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-67ba24c .elementor-icon-box-wrapper{align-items:start;}.elementor-112 .elementor-element.elementor-element-8f538cb{background-color:#FFFFFF;border-radius:17px 17px 17px 17px;--icon-box-icon-margin:15px;}.elementor-112 .elementor-element.elementor-element-8f538cb.elementor-element{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-8f538cb .elementor-icon-box-wrapper{align-items:start;}.elementor-112 .elementor-element.elementor-element-1e5a41e{background-color:#FFFFFF;border-radius:17px 17px 17px 17px;--icon-box-icon-margin:15px;}.elementor-112 .elementor-element.elementor-element-1e5a41e.elementor-element{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-1e5a41e .elementor-icon-box-wrapper{align-items:start;}.elementor-112 .elementor-element.elementor-element-24e2680{background-color:#FFFFFF;border-radius:17px 17px 17px 17px;--icon-box-icon-margin:15px;}.elementor-112 .elementor-element.elementor-element-24e2680.elementor-element{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-24e2680 .elementor-icon-box-wrapper{align-items:start;}.elementor-112 .elementor-element.elementor-element-07f35d2{background-color:#FFFFFF;border-radius:17px 17px 17px 17px;--icon-box-icon-margin:15px;}.elementor-112 .elementor-element.elementor-element-07f35d2.elementor-element{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-07f35d2 .elementor-icon-box-wrapper{align-items:start;}.elementor-112 .elementor-element.elementor-element-badd2eb{background-color:#FFFFFF;border-radius:17px 17px 17px 17px;--icon-box-icon-margin:15px;}.elementor-112 .elementor-element.elementor-element-badd2eb.elementor-element{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-badd2eb .elementor-icon-box-wrapper{align-items:start;}.elementor-112 .elementor-element.elementor-element-327b8c0{background-color:#FFFFFF;border-radius:17px 17px 17px 17px;--icon-box-icon-margin:15px;}.elementor-112 .elementor-element.elementor-element-327b8c0.elementor-element{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-327b8c0 .elementor-icon-box-wrapper{align-items:start;}.elementor-112 .elementor-element.elementor-element-6ebe3d2{background-color:#FFFFFF;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;border-radius:17px 17px 17px 17px;--icon-box-icon-margin:15px;}.elementor-112 .elementor-element.elementor-element-6ebe3d2.elementor-element{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-6ebe3d2 .elementor-icon-box-wrapper{align-items:start;}.elementor-112 .elementor-element.elementor-element-b379290.elementor-element{--align-self:center;}.elementor-112 .elementor-element.elementor-element-c2277c1{--display:flex;--border-radius:30px 30px 30px 30px;}.elementor-112 .elementor-element.elementor-element-c2277c1.e-con{--align-self:flex-start;}.elementor-112 .elementor-element.elementor-element-019e54e{--e-image-carousel-slides-to-show:3;width:100%;max-width:100%;border-radius:30px 30px 30px 30px;}.elementor-112 .elementor-element.elementor-element-019e54e .swiper-wrapper{display:flex;align-items:flex-start;}.elementor-112 .elementor-element.elementor-element-002616e{--spacer-size:7px;}.elementor-112 .elementor-element.elementor-element-c4e3a07{--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-112 .elementor-element.elementor-element-e0cacec{width:100%;max-width:100%;}.elementor-112 .elementor-element.elementor-element-44cdabb{--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:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-112 .elementor-element.elementor-element-44cdabb.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-112 .elementor-element.elementor-element-19a7f84{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-112 .elementor-element.elementor-element-19a7f84.elementor-element{--align-self:flex-start;}@media(max-width:1024px){.elementor-112 .elementor-element.elementor-element-f0350c0 img{height:321px;}body:not(.rtl) .elementor-112 .elementor-element.elementor-element-11625a0{left:21%;}body.rtl .elementor-112 .elementor-element.elementor-element-11625a0{right:21%;}.elementor-112 .elementor-element.elementor-element-d4656d8{bottom:105px;font-size:8px;}.elementor-112 .elementor-element.elementor-element-3f8d1a4{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;--justify-items:start;}}@media(max-width:767px){.elementor-112 .elementor-element.elementor-element-f0350c0 img{height:152px;}body:not(.rtl) .elementor-112 .elementor-element.elementor-element-11625a0{left:29%;}body.rtl .elementor-112 .elementor-element.elementor-element-11625a0{right:29%;}.elementor-112 .elementor-element.elementor-element-11625a0{top:36%;}.elementor-112 .elementor-element.elementor-element-d4656d8{bottom:126px;font-size:9px;}.elementor-112 .elementor-element.elementor-element-3f8d1a4{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}@media(min-width:768px){.elementor-112 .elementor-element.elementor-element-6d4402d{--width:100%;}.elementor-112 .elementor-element.elementor-element-0ec59c2{--width:77%;}.elementor-112 .elementor-element.elementor-element-f7e6f2e{--width:50%;}.elementor-112 .elementor-element.elementor-element-a65b634{--width:50%;}.elementor-112 .elementor-element.elementor-element-7886d57{--width:77%;}.elementor-112 .elementor-element.elementor-element-3f8d1a4{--width:95%;}.elementor-112 .elementor-element.elementor-element-44cdabb{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-112 .elementor-element.elementor-element-3f8d1a4{--width:500px;}}/* Start custom CSS for image, class: .elementor-element-f0350c0 *//* PC (par défaut) */
.ban4 img {
  width: 100%;
  height: 40vw ;        /* % de la hauteur du conteneur */
  display: block;
  object-fit: cover;  /* couvre sans déformer */
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-11625a0 *//* Mobile (par défaut : <768px) */
h1.dsm-text-divider-wrapper {
  font-size: 20px; /* plus petit sur téléphone */margin: -2px 0px 0px 0px;
}

h2 {
  font-size: 20px;
  color:#ff;
  margin: -2px 0px 0px 0px;
}

/* Tablette (768px à 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
  h1.dsm-text-divider-wrapper {
    font-size: 60px; /* taille intermédiaire tablette */
    
  }

  h2 {
    font-size: 26px;
  }
}

/* Desktop (≥1024px) */
@media (min-width: 1024px) {
  h1.dsm-text-divider-wrapper {
    font-size: 80px; /* taille d’origine */
  }

  h2 {
    font-size: 32px;
  }
}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-8c99ffa *//* === Carte (le conteneur de l'Icon Box) === */
.elementor-112 .elementor-element.elementor-element-8c99ffa{
  background:#ffffff;
  border-radius:16px;
  padding:10px 18px; 
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  margin:10px 0;               /* espacement vertical entre cartes */
  transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-112 .elementor-element.elementor-element-8c99ffa:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Met le contenu en ligne : [ Icône ] [ Titre + Texte ] avec un bel écart */
.elementor-112 .elementor-element.elementor-element-8c99ffa .elementor-icon-box-wrapper{
  display:flex;
  align-items:flex-start;
  gap:14px;                    /* marge exacte entre l’icône et le texte */
}

/* Empêche Elementor d’ajouter des marges parasites autour de l’icône */
.elementor-112 .elementor-element.elementor-element-8c99ffa .elementor-icon-box-icon{
  margin:0 !important;
}

/* === Icône dans un carré bleu clair arrondi === */
.elementor-112 .elementor-element.elementor-element-8c99ffa .elementor-icon{
  background:#eaf6ff;
  border:1px solid #d8eaff;
  border-radius:12px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#014593;               /* couleur de l’icône (SVG = currentColor) */
  font-size:26px;              /* taille de l’icône si c’est une police */
  line-height:1;
  /* marge à droite si besoin, mais "gap" gère déjà l'espacement */
  /* margin-right:14px; */
}
.elementor-112 .elementor-element.elementor-element-8c99ffa .elementor-icon svg{
  width:26px; height:26px; fill:currentColor;
}

/* === Titre & texte === */
.elementor-112 .elementor-element.elementor-element-8c99ffa .elementor-icon-box-content{padding-top:2px;} /* aligne verticalement */
.elementor-112 .elementor-element.elementor-element-8c99ffa .elementor-icon-box-title{
  margin:0 0 4px;
  font-weight:800;
  font-size:16px;
  line-height:1.3;
}
.elementor-112 .elementor-element.elementor-element-8c99ffa .elementor-icon-box-title,
.elementor-112 .elementor-element.elementor-element-8c99ffa .elementor-icon-box-title a{color:#014593; text-decoration:none;}

.elementor-112 .elementor-element.elementor-element-8c99ffa .elementor-icon-box-description{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.55;
}

/* Optionnel : supprime le souligné au focus si le titre est cliquable */
.elementor-112 .elementor-element.elementor-element-8c99ffa .elementor-icon-box-title a:focus{outline:none; box-shadow:none;}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-e783fbf *//* === Carte (le conteneur de l'Icon Box) === */
.elementor-112 .elementor-element.elementor-element-e783fbf{
  background:#ffffff;
  border-radius:16px;
  padding:10px 18px; 
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  margin:10px 0;               /* espacement vertical entre cartes */
  transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-112 .elementor-element.elementor-element-e783fbf:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Met le contenu en ligne : [ Icône ] [ Titre + Texte ] avec un bel écart */
.elementor-112 .elementor-element.elementor-element-e783fbf .elementor-icon-box-wrapper{
  display:flex;
  align-items:flex-start;
  gap:14px;                    /* marge exacte entre l’icône et le texte */
}

/* Empêche Elementor d’ajouter des marges parasites autour de l’icône */
.elementor-112 .elementor-element.elementor-element-e783fbf .elementor-icon-box-icon{
  margin:0 !important;
}

/* === Icône dans un carré bleu clair arrondi === */
.elementor-112 .elementor-element.elementor-element-e783fbf .elementor-icon{
  background:#eaf6ff;
  border:1px solid #d8eaff;
  border-radius:12px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#014593;               /* couleur de l’icône (SVG = currentColor) */
  font-size:26px;              /* taille de l’icône si c’est une police */
  line-height:1;
  /* marge à droite si besoin, mais "gap" gère déjà l'espacement */
  /* margin-right:14px; */
}
.elementor-112 .elementor-element.elementor-element-e783fbf .elementor-icon svg{
  width:26px; height:26px; fill:currentColor;
}

/* === Titre & texte === */
.elementor-112 .elementor-element.elementor-element-e783fbf .elementor-icon-box-content{padding-top:2px;} /* aligne verticalement */
.elementor-112 .elementor-element.elementor-element-e783fbf .elementor-icon-box-title{
  margin:0 0 4px;
  font-weight:800;
  font-size:16px;
  line-height:1.3;
}
.elementor-112 .elementor-element.elementor-element-e783fbf .elementor-icon-box-title,
.elementor-112 .elementor-element.elementor-element-e783fbf .elementor-icon-box-title a{color:#014593; text-decoration:none;}

.elementor-112 .elementor-element.elementor-element-e783fbf .elementor-icon-box-description{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.55;
}

/* Optionnel : supprime le souligné au focus si le titre est cliquable */
.elementor-112 .elementor-element.elementor-element-e783fbf .elementor-icon-box-title a:focus{outline:none; box-shadow:none;}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-b5d0394 *//* === Carte (le conteneur de l'Icon Box) === */
.elementor-112 .elementor-element.elementor-element-b5d0394{
  background:#ffffff;
  border-radius:16px;
  padding:10px 18px; 
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  margin:10px 0;               /* espacement vertical entre cartes */
  transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-112 .elementor-element.elementor-element-b5d0394:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Met le contenu en ligne : [ Icône ] [ Titre + Texte ] avec un bel écart */
.elementor-112 .elementor-element.elementor-element-b5d0394 .elementor-icon-box-wrapper{
  display:flex;
  align-items:flex-start;
  gap:14px;                    /* marge exacte entre l’icône et le texte */
}

/* Empêche Elementor d’ajouter des marges parasites autour de l’icône */
.elementor-112 .elementor-element.elementor-element-b5d0394 .elementor-icon-box-icon{
  margin:0 !important;
}

/* === Icône dans un carré bleu clair arrondi === */
.elementor-112 .elementor-element.elementor-element-b5d0394 .elementor-icon{
  background:#eaf6ff;
  border:1px solid #d8eaff;
  border-radius:12px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#014593;               /* couleur de l’icône (SVG = currentColor) */
  font-size:26px;              /* taille de l’icône si c’est une police */
  line-height:1;
  /* marge à droite si besoin, mais "gap" gère déjà l'espacement */
  /* margin-right:14px; */
}
.elementor-112 .elementor-element.elementor-element-b5d0394 .elementor-icon svg{
  width:26px; height:26px; fill:currentColor;
}

/* === Titre & texte === */
.elementor-112 .elementor-element.elementor-element-b5d0394 .elementor-icon-box-content{padding-top:2px;} /* aligne verticalement */
.elementor-112 .elementor-element.elementor-element-b5d0394 .elementor-icon-box-title{
  margin:0 0 4px;
  font-weight:800;
  font-size:16px;
  line-height:1.3;
}
.elementor-112 .elementor-element.elementor-element-b5d0394 .elementor-icon-box-title,
.elementor-112 .elementor-element.elementor-element-b5d0394 .elementor-icon-box-title a{color:#014593; text-decoration:none;}

.elementor-112 .elementor-element.elementor-element-b5d0394 .elementor-icon-box-description{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.55;
}

/* Optionnel : supprime le souligné au focus si le titre est cliquable */
.elementor-112 .elementor-element.elementor-element-b5d0394 .elementor-icon-box-title a:focus{outline:none; box-shadow:none;}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-5de9fb3 *//* === Carte (le conteneur de l'Icon Box) === */
.elementor-112 .elementor-element.elementor-element-5de9fb3{
  background:#ffffff;
  border-radius:16px;
  padding:10px 18px; 
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  margin:10px 0;               /* espacement vertical entre cartes */
  transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-112 .elementor-element.elementor-element-5de9fb3:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Met le contenu en ligne : [ Icône ] [ Titre + Texte ] avec un bel écart */
.elementor-112 .elementor-element.elementor-element-5de9fb3 .elementor-icon-box-wrapper{
  display:flex;
  align-items:flex-start;
  gap:14px;                    /* marge exacte entre l’icône et le texte */
}

/* Empêche Elementor d’ajouter des marges parasites autour de l’icône */
.elementor-112 .elementor-element.elementor-element-5de9fb3 .elementor-icon-box-icon{
  margin:0 !important;
}

/* === Icône dans un carré bleu clair arrondi === */
.elementor-112 .elementor-element.elementor-element-5de9fb3 .elementor-icon{
  background:#eaf6ff;
  border:1px solid #d8eaff;
  border-radius:12px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#014593;               /* couleur de l’icône (SVG = currentColor) */
  font-size:26px;              /* taille de l’icône si c’est une police */
  line-height:1;
  /* marge à droite si besoin, mais "gap" gère déjà l'espacement */
  /* margin-right:14px; */
}
.elementor-112 .elementor-element.elementor-element-5de9fb3 .elementor-icon svg{
  width:26px; height:26px; fill:currentColor;
}

/* === Titre & texte === */
.elementor-112 .elementor-element.elementor-element-5de9fb3 .elementor-icon-box-content{padding-top:2px;} /* aligne verticalement */
.elementor-112 .elementor-element.elementor-element-5de9fb3 .elementor-icon-box-title{
  margin:0 0 4px;
  font-weight:800;
  font-size:16px;
  line-height:1.3;
}
.elementor-112 .elementor-element.elementor-element-5de9fb3 .elementor-icon-box-title,
.elementor-112 .elementor-element.elementor-element-5de9fb3 .elementor-icon-box-title a{color:#014593; text-decoration:none;}

.elementor-112 .elementor-element.elementor-element-5de9fb3 .elementor-icon-box-description{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.55;
}

/* Optionnel : supprime le souligné au focus si le titre est cliquable */
.elementor-112 .elementor-element.elementor-element-5de9fb3 .elementor-icon-box-title a:focus{outline:none; box-shadow:none;}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-5499ed4 *//* === Carte (le conteneur de l'Icon Box) === */
.elementor-112 .elementor-element.elementor-element-5499ed4{
  background:#ffffff;
  border-radius:16px;
  padding:10px 18px; 
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  margin:10px 0;               /* espacement vertical entre cartes */
  transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-112 .elementor-element.elementor-element-5499ed4:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Met le contenu en ligne : [ Icône ] [ Titre + Texte ] avec un bel écart */
.elementor-112 .elementor-element.elementor-element-5499ed4 .elementor-icon-box-wrapper{
  display:flex;
  align-items:flex-start;
  gap:14px;                    /* marge exacte entre l’icône et le texte */
}

/* Empêche Elementor d’ajouter des marges parasites autour de l’icône */
.elementor-112 .elementor-element.elementor-element-5499ed4 .elementor-icon-box-icon{
  margin:0 !important;
}

/* === Icône dans un carré bleu clair arrondi === */
.elementor-112 .elementor-element.elementor-element-5499ed4 .elementor-icon{
  background:#eaf6ff;
  border:1px solid #d8eaff;
  border-radius:12px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#014593;               /* couleur de l’icône (SVG = currentColor) */
  font-size:26px;              /* taille de l’icône si c’est une police */
  line-height:1;
  /* marge à droite si besoin, mais "gap" gère déjà l'espacement */
  /* margin-right:14px; */
}
.elementor-112 .elementor-element.elementor-element-5499ed4 .elementor-icon svg{
  width:26px; height:26px; fill:currentColor;
}

/* === Titre & texte === */
.elementor-112 .elementor-element.elementor-element-5499ed4 .elementor-icon-box-content{padding-top:2px;} /* aligne verticalement */
.elementor-112 .elementor-element.elementor-element-5499ed4 .elementor-icon-box-title{
  margin:0 0 4px;
  font-weight:800;
  font-size:16px;
  line-height:1.3;
}
.elementor-112 .elementor-element.elementor-element-5499ed4 .elementor-icon-box-title,
.elementor-112 .elementor-element.elementor-element-5499ed4 .elementor-icon-box-title a{color:#014593; text-decoration:none;}

.elementor-112 .elementor-element.elementor-element-5499ed4 .elementor-icon-box-description{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.55;
}

/* Optionnel : supprime le souligné au focus si le titre est cliquable */
.elementor-112 .elementor-element.elementor-element-5499ed4 .elementor-icon-box-title a:focus{outline:none; box-shadow:none;}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-67ba24c *//* === Carte (le conteneur de l'Icon Box) === */
.elementor-112 .elementor-element.elementor-element-67ba24c{
  background:#ffffff;
  border-radius:16px;
  padding:10px 18px; 
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  margin:10px 0;               /* espacement vertical entre cartes */
  transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-112 .elementor-element.elementor-element-67ba24c:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Met le contenu en ligne : [ Icône ] [ Titre + Texte ] avec un bel écart */
.elementor-112 .elementor-element.elementor-element-67ba24c .elementor-icon-box-wrapper{
  display:flex;
  align-items:flex-start;
  gap:14px;                    /* marge exacte entre l’icône et le texte */
}

/* Empêche Elementor d’ajouter des marges parasites autour de l’icône */
.elementor-112 .elementor-element.elementor-element-67ba24c .elementor-icon-box-icon{
  margin:0 !important;
}

/* === Icône dans un carré bleu clair arrondi === */
.elementor-112 .elementor-element.elementor-element-67ba24c .elementor-icon{
  background:#eaf6ff;
  border:1px solid #d8eaff;
  border-radius:12px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#014593;               /* couleur de l’icône (SVG = currentColor) */
  font-size:26px;              /* taille de l’icône si c’est une police */
  line-height:1;
  /* marge à droite si besoin, mais "gap" gère déjà l'espacement */
  /* margin-right:14px; */
}
.elementor-112 .elementor-element.elementor-element-67ba24c .elementor-icon svg{
  width:26px; height:26px; fill:currentColor;
}

/* === Titre & texte === */
.elementor-112 .elementor-element.elementor-element-67ba24c .elementor-icon-box-content{padding-top:2px;} /* aligne verticalement */
.elementor-112 .elementor-element.elementor-element-67ba24c .elementor-icon-box-title{
  margin:0 0 4px;
  font-weight:800;
  font-size:16px;
  line-height:1.3;
}
.elementor-112 .elementor-element.elementor-element-67ba24c .elementor-icon-box-title,
.elementor-112 .elementor-element.elementor-element-67ba24c .elementor-icon-box-title a{color:#014593; text-decoration:none;}

.elementor-112 .elementor-element.elementor-element-67ba24c .elementor-icon-box-description{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.55;
}

/* Optionnel : supprime le souligné au focus si le titre est cliquable */
.elementor-112 .elementor-element.elementor-element-67ba24c .elementor-icon-box-title a:focus{outline:none; box-shadow:none;}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-8f538cb *//* === Carte (le conteneur de l'Icon Box) === */
.elementor-112 .elementor-element.elementor-element-8f538cb{
  background:#ffffff;
  border-radius:16px;
  padding:10px 18px; 
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  margin:10px 0;               /* espacement vertical entre cartes */
  transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-112 .elementor-element.elementor-element-8f538cb:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Met le contenu en ligne : [ Icône ] [ Titre + Texte ] avec un bel écart */
.elementor-112 .elementor-element.elementor-element-8f538cb .elementor-icon-box-wrapper{
  display:flex;
  align-items:flex-start;
  gap:14px;                    /* marge exacte entre l’icône et le texte */
}

/* Empêche Elementor d’ajouter des marges parasites autour de l’icône */
.elementor-112 .elementor-element.elementor-element-8f538cb .elementor-icon-box-icon{
  margin:0 !important;
}

/* === Icône dans un carré bleu clair arrondi === */
.elementor-112 .elementor-element.elementor-element-8f538cb .elementor-icon{
  background:#eaf6ff;
  border:1px solid #d8eaff;
  border-radius:12px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#014593;               /* couleur de l’icône (SVG = currentColor) */
  font-size:26px;              /* taille de l’icône si c’est une police */
  line-height:1;
  /* marge à droite si besoin, mais "gap" gère déjà l'espacement */
  /* margin-right:14px; */
}
.elementor-112 .elementor-element.elementor-element-8f538cb .elementor-icon svg{
  width:26px; height:26px; fill:currentColor;
}

/* === Titre & texte === */
.elementor-112 .elementor-element.elementor-element-8f538cb .elementor-icon-box-content{padding-top:2px;} /* aligne verticalement */
.elementor-112 .elementor-element.elementor-element-8f538cb .elementor-icon-box-title{
  margin:0 0 4px;
  font-weight:800;
  font-size:16px;
  line-height:1.3;
}
.elementor-112 .elementor-element.elementor-element-8f538cb .elementor-icon-box-title,
.elementor-112 .elementor-element.elementor-element-8f538cb .elementor-icon-box-title a{color:#014593; text-decoration:none;}

.elementor-112 .elementor-element.elementor-element-8f538cb .elementor-icon-box-description{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.55;
}

/* Optionnel : supprime le souligné au focus si le titre est cliquable */
.elementor-112 .elementor-element.elementor-element-8f538cb .elementor-icon-box-title a:focus{outline:none; box-shadow:none;}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-1e5a41e *//* === Carte (le conteneur de l'Icon Box) === */
.elementor-112 .elementor-element.elementor-element-1e5a41e{
  background:#ffffff;
  border-radius:16px;
  padding:10px 18px; 
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  margin:10px 0;               /* espacement vertical entre cartes */
  transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-112 .elementor-element.elementor-element-1e5a41e:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Met le contenu en ligne : [ Icône ] [ Titre + Texte ] avec un bel écart */
.elementor-112 .elementor-element.elementor-element-1e5a41e .elementor-icon-box-wrapper{
  display:flex;
  align-items:flex-start;
  gap:14px;                    /* marge exacte entre l’icône et le texte */
}

/* Empêche Elementor d’ajouter des marges parasites autour de l’icône */
.elementor-112 .elementor-element.elementor-element-1e5a41e .elementor-icon-box-icon{
  margin:0 !important;
}

/* === Icône dans un carré bleu clair arrondi === */
.elementor-112 .elementor-element.elementor-element-1e5a41e .elementor-icon{
  background:#eaf6ff;
  border:1px solid #d8eaff;
  border-radius:12px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#014593;               /* couleur de l’icône (SVG = currentColor) */
  font-size:26px;              /* taille de l’icône si c’est une police */
  line-height:1;
  /* marge à droite si besoin, mais "gap" gère déjà l'espacement */
  /* margin-right:14px; */
}
.elementor-112 .elementor-element.elementor-element-1e5a41e .elementor-icon svg{
  width:26px; height:26px; fill:currentColor;
}

/* === Titre & texte === */
.elementor-112 .elementor-element.elementor-element-1e5a41e .elementor-icon-box-content{padding-top:2px;} /* aligne verticalement */
.elementor-112 .elementor-element.elementor-element-1e5a41e .elementor-icon-box-title{
  margin:0 0 4px;
  font-weight:800;
  font-size:16px;
  line-height:1.3;
}
.elementor-112 .elementor-element.elementor-element-1e5a41e .elementor-icon-box-title,
.elementor-112 .elementor-element.elementor-element-1e5a41e .elementor-icon-box-title a{color:#014593; text-decoration:none;}

.elementor-112 .elementor-element.elementor-element-1e5a41e .elementor-icon-box-description{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.55;
}

/* Optionnel : supprime le souligné au focus si le titre est cliquable */
.elementor-112 .elementor-element.elementor-element-1e5a41e .elementor-icon-box-title a:focus{outline:none; box-shadow:none;}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-24e2680 *//* === Carte (le conteneur de l'Icon Box) === */
.elementor-112 .elementor-element.elementor-element-24e2680{
  background:#ffffff;
  border-radius:16px;
  padding:10px 18px; 
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  margin:10px 0;               /* espacement vertical entre cartes */
  transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-112 .elementor-element.elementor-element-24e2680:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Met le contenu en ligne : [ Icône ] [ Titre + Texte ] avec un bel écart */
.elementor-112 .elementor-element.elementor-element-24e2680 .elementor-icon-box-wrapper{
  display:flex;
  align-items:flex-start;
  gap:14px;                    /* marge exacte entre l’icône et le texte */
}

/* Empêche Elementor d’ajouter des marges parasites autour de l’icône */
.elementor-112 .elementor-element.elementor-element-24e2680 .elementor-icon-box-icon{
  margin:0 !important;
}

/* === Icône dans un carré bleu clair arrondi === */
.elementor-112 .elementor-element.elementor-element-24e2680 .elementor-icon{
  background:#eaf6ff;
  border:1px solid #d8eaff;
  border-radius:12px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#014593;               /* couleur de l’icône (SVG = currentColor) */
  font-size:26px;              /* taille de l’icône si c’est une police */
  line-height:1;
  /* marge à droite si besoin, mais "gap" gère déjà l'espacement */
  /* margin-right:14px; */
}
.elementor-112 .elementor-element.elementor-element-24e2680 .elementor-icon svg{
  width:26px; height:26px; fill:currentColor;
}

/* === Titre & texte === */
.elementor-112 .elementor-element.elementor-element-24e2680 .elementor-icon-box-content{padding-top:2px;} /* aligne verticalement */
.elementor-112 .elementor-element.elementor-element-24e2680 .elementor-icon-box-title{
  margin:0 0 4px;
  font-weight:800;
  font-size:16px;
  line-height:1.3;
}
.elementor-112 .elementor-element.elementor-element-24e2680 .elementor-icon-box-title,
.elementor-112 .elementor-element.elementor-element-24e2680 .elementor-icon-box-title a{color:#014593; text-decoration:none;}

.elementor-112 .elementor-element.elementor-element-24e2680 .elementor-icon-box-description{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.55;
}

/* Optionnel : supprime le souligné au focus si le titre est cliquable */
.elementor-112 .elementor-element.elementor-element-24e2680 .elementor-icon-box-title a:focus{outline:none; box-shadow:none;}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-07f35d2 *//* === Carte (le conteneur de l'Icon Box) === */
.elementor-112 .elementor-element.elementor-element-07f35d2{
  background:#ffffff;
  border-radius:16px;
  padding:10px 18px; 
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  margin:10px 0;               /* espacement vertical entre cartes */
  transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-112 .elementor-element.elementor-element-07f35d2:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Met le contenu en ligne : [ Icône ] [ Titre + Texte ] avec un bel écart */
.elementor-112 .elementor-element.elementor-element-07f35d2 .elementor-icon-box-wrapper{
  display:flex;
  align-items:flex-start;
  gap:14px;                    /* marge exacte entre l’icône et le texte */
}

/* Empêche Elementor d’ajouter des marges parasites autour de l’icône */
.elementor-112 .elementor-element.elementor-element-07f35d2 .elementor-icon-box-icon{
  margin:0 !important;
}

/* === Icône dans un carré bleu clair arrondi === */
.elementor-112 .elementor-element.elementor-element-07f35d2 .elementor-icon{
  background:#eaf6ff;
  border:1px solid #d8eaff;
  border-radius:12px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#014593;               /* couleur de l’icône (SVG = currentColor) */
  font-size:26px;              /* taille de l’icône si c’est une police */
  line-height:1;
  /* marge à droite si besoin, mais "gap" gère déjà l'espacement */
  /* margin-right:14px; */
}
.elementor-112 .elementor-element.elementor-element-07f35d2 .elementor-icon svg{
  width:26px; height:26px; fill:currentColor;
}

/* === Titre & texte === */
.elementor-112 .elementor-element.elementor-element-07f35d2 .elementor-icon-box-content{padding-top:2px;} /* aligne verticalement */
.elementor-112 .elementor-element.elementor-element-07f35d2 .elementor-icon-box-title{
  margin:0 0 4px;
  font-weight:800;
  font-size:16px;
  line-height:1.3;
}
.elementor-112 .elementor-element.elementor-element-07f35d2 .elementor-icon-box-title,
.elementor-112 .elementor-element.elementor-element-07f35d2 .elementor-icon-box-title a{color:#014593; text-decoration:none;}

.elementor-112 .elementor-element.elementor-element-07f35d2 .elementor-icon-box-description{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.55;
}

/* Optionnel : supprime le souligné au focus si le titre est cliquable */
.elementor-112 .elementor-element.elementor-element-07f35d2 .elementor-icon-box-title a:focus{outline:none; box-shadow:none;}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-badd2eb *//* === Carte (le conteneur de l'Icon Box) === */
.elementor-112 .elementor-element.elementor-element-badd2eb{
  background:#ffffff;
  border-radius:16px;
  padding:10px 18px; 
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  margin:10px 0;               /* espacement vertical entre cartes */
  transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-112 .elementor-element.elementor-element-badd2eb:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Met le contenu en ligne : [ Icône ] [ Titre + Texte ] avec un bel écart */
.elementor-112 .elementor-element.elementor-element-badd2eb .elementor-icon-box-wrapper{
  display:flex;
  align-items:flex-start;
  gap:14px;                    /* marge exacte entre l’icône et le texte */
}

/* Empêche Elementor d’ajouter des marges parasites autour de l’icône */
.elementor-112 .elementor-element.elementor-element-badd2eb .elementor-icon-box-icon{
  margin:0 !important;
}

/* === Icône dans un carré bleu clair arrondi === */
.elementor-112 .elementor-element.elementor-element-badd2eb .elementor-icon{
  background:#eaf6ff;
  border:1px solid #d8eaff;
  border-radius:12px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#014593;               /* couleur de l’icône (SVG = currentColor) */
  font-size:26px;              /* taille de l’icône si c’est une police */
  line-height:1;
  /* marge à droite si besoin, mais "gap" gère déjà l'espacement */
  /* margin-right:14px; */
}
.elementor-112 .elementor-element.elementor-element-badd2eb .elementor-icon svg{
  width:26px; height:26px; fill:currentColor;
}

/* === Titre & texte === */
.elementor-112 .elementor-element.elementor-element-badd2eb .elementor-icon-box-content{padding-top:2px;} /* aligne verticalement */
.elementor-112 .elementor-element.elementor-element-badd2eb .elementor-icon-box-title{
  margin:0 0 4px;
  font-weight:800;
  font-size:16px;
  line-height:1.3;
}
.elementor-112 .elementor-element.elementor-element-badd2eb .elementor-icon-box-title,
.elementor-112 .elementor-element.elementor-element-badd2eb .elementor-icon-box-title a{color:#014593; text-decoration:none;}

.elementor-112 .elementor-element.elementor-element-badd2eb .elementor-icon-box-description{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.55;
}

/* Optionnel : supprime le souligné au focus si le titre est cliquable */
.elementor-112 .elementor-element.elementor-element-badd2eb .elementor-icon-box-title a:focus{outline:none; box-shadow:none;}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-327b8c0 *//* === Carte (le conteneur de l'Icon Box) === */
.elementor-112 .elementor-element.elementor-element-327b8c0{
  background:#ffffff;
  border-radius:16px;
  padding:10px 18px; 
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  margin:10px 0;               /* espacement vertical entre cartes */
  transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-112 .elementor-element.elementor-element-327b8c0:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Met le contenu en ligne : [ Icône ] [ Titre + Texte ] avec un bel écart */
.elementor-112 .elementor-element.elementor-element-327b8c0 .elementor-icon-box-wrapper{
  display:flex;
  align-items:flex-start;
  gap:14px;                    /* marge exacte entre l’icône et le texte */
}

/* Empêche Elementor d’ajouter des marges parasites autour de l’icône */
.elementor-112 .elementor-element.elementor-element-327b8c0 .elementor-icon-box-icon{
  margin:0 !important;
}

/* === Icône dans un carré bleu clair arrondi === */
.elementor-112 .elementor-element.elementor-element-327b8c0 .elementor-icon{
  background:#eaf6ff;
  border:1px solid #d8eaff;
  border-radius:12px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#014593;               /* couleur de l’icône (SVG = currentColor) */
  font-size:26px;              /* taille de l’icône si c’est une police */
  line-height:1;
  /* marge à droite si besoin, mais "gap" gère déjà l'espacement */
  /* margin-right:14px; */
}
.elementor-112 .elementor-element.elementor-element-327b8c0 .elementor-icon svg{
  width:26px; height:26px; fill:currentColor;
}

/* === Titre & texte === */
.elementor-112 .elementor-element.elementor-element-327b8c0 .elementor-icon-box-content{padding-top:2px;} /* aligne verticalement */
.elementor-112 .elementor-element.elementor-element-327b8c0 .elementor-icon-box-title{
  margin:0 0 4px;
  font-weight:800;
  font-size:16px;
  line-height:1.3;
}
.elementor-112 .elementor-element.elementor-element-327b8c0 .elementor-icon-box-title,
.elementor-112 .elementor-element.elementor-element-327b8c0 .elementor-icon-box-title a{color:#014593; text-decoration:none;}

.elementor-112 .elementor-element.elementor-element-327b8c0 .elementor-icon-box-description{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.55;
}

/* Optionnel : supprime le souligné au focus si le titre est cliquable */
.elementor-112 .elementor-element.elementor-element-327b8c0 .elementor-icon-box-title a:focus{outline:none; box-shadow:none;}/* End custom CSS */
/* Start custom CSS for icon-box, class: .elementor-element-6ebe3d2 *//* === Carte (le conteneur de l'Icon Box) === */
.elementor-112 .elementor-element.elementor-element-6ebe3d2{
  background:#ffffff;
  border-radius:16px;
  padding:10px 18px; 
  box-shadow:0 10px 26px rgba(0,0,0,.08);
  margin:10px 0;               /* espacement vertical entre cartes */
  transition:transform .2s ease, box-shadow .2s ease;
}
.elementor-112 .elementor-element.elementor-element-6ebe3d2:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(0,0,0,.12);
}

/* Met le contenu en ligne : [ Icône ] [ Titre + Texte ] avec un bel écart */
.elementor-112 .elementor-element.elementor-element-6ebe3d2 .elementor-icon-box-wrapper{
  display:flex;
  align-items:flex-start;
  gap:14px;                    /* marge exacte entre l’icône et le texte */
}

/* Empêche Elementor d’ajouter des marges parasites autour de l’icône */
.elementor-112 .elementor-element.elementor-element-6ebe3d2 .elementor-icon-box-icon{
  margin:0 !important;
}

/* === Icône dans un carré bleu clair arrondi === */
.elementor-112 .elementor-element.elementor-element-6ebe3d2 .elementor-icon{
  background:#eaf6ff;
  border:1px solid #d8eaff;
  border-radius:12px;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#014593;               /* couleur de l’icône (SVG = currentColor) */
  font-size:26px;              /* taille de l’icône si c’est une police */
  line-height:1;
  /* marge à droite si besoin, mais "gap" gère déjà l'espacement */
  /* margin-right:14px; */
}
.elementor-112 .elementor-element.elementor-element-6ebe3d2 .elementor-icon svg{
  width:26px; height:26px; fill:currentColor;
}

/* === Titre & texte === */
.elementor-112 .elementor-element.elementor-element-6ebe3d2 .elementor-icon-box-content{padding-top:2px;} /* aligne verticalement */
.elementor-112 .elementor-element.elementor-element-6ebe3d2 .elementor-icon-box-title{
  margin:0 0 4px;
  font-weight:800;
  font-size:16px;
  line-height:1.3;
}
.elementor-112 .elementor-element.elementor-element-6ebe3d2 .elementor-icon-box-title,
.elementor-112 .elementor-element.elementor-element-6ebe3d2 .elementor-icon-box-title a{color:#014593; text-decoration:none;}

.elementor-112 .elementor-element.elementor-element-6ebe3d2 .elementor-icon-box-description{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.55;
}

/* Optionnel : supprime le souligné au focus si le titre est cliquable */
.elementor-112 .elementor-element.elementor-element-6ebe3d2 .elementor-icon-box-title a:focus{outline:none; box-shadow:none;}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-19a7f84 */.map-wrapper {
  position: relative;
  width: 100%;
  height: 29vh;
  overflow: hidden;

}
.map-wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Étiquette personnalisée type "pin de lieu" */
.map-label {
  position: absolute;
  top: 50%;               /* place au milieu vertical */
  left: 50%;              /* place au milieu horizontal */
  transform: translate(-50%, -100%); /* décale au-dessus du centre */
  
  background: #4285f4;    /* bleu type Google */
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  padding: 6px 12px;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

/* Petite flèche sous l’étiquette */
.map-label::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 6px 6px 0 6px;
  border-style: solid;
  border-color: #4285f4 transparent transparent transparent;
}/* End custom CSS */