.elementor-110 .elementor-element.elementor-element-9417c29{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-110 .elementor-element.elementor-element-248f51e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-110 .elementor-element.elementor-element-3c79e2b .elementor-icon-wrapper{text-align:center;}.elementor-110 .elementor-element.elementor-element-3c79e2b.elementor-view-stacked .elementor-icon{background-color:#000000;}.elementor-110 .elementor-element.elementor-element-3c79e2b.elementor-view-framed .elementor-icon, .elementor-110 .elementor-element.elementor-element-3c79e2b.elementor-view-default .elementor-icon{color:#000000;border-color:#000000;}.elementor-110 .elementor-element.elementor-element-3c79e2b.elementor-view-framed .elementor-icon, .elementor-110 .elementor-element.elementor-element-3c79e2b.elementor-view-default .elementor-icon svg{fill:#000000;}.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-110 .elementor-element.elementor-element-c0ca42b{text-align:center;}.elementor-110 .elementor-element.elementor-element-c0ca42b .elementor-heading-title{font-family:"Merriweather", Sans-serif;font-size:30px;font-weight:600;-webkit-text-stroke-color:#000;stroke:#000;color:#000000;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button{background-color:#FFFFFF;fill:#000000;color:#000000;border-radius:12px 12px 12px 12px;}.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button:hover, .elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button:focus{background-color:#FFFFFF;color:#000000;}.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button:hover svg, .elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button:focus svg{fill:#000000;}.elementor-110 .elementor-element.elementor-element-1d5cd97{--display:flex;}.elementor-110 .elementor-element.elementor-element-2ef1c29 .elementor-icon-wrapper{text-align:center;}.elementor-110 .elementor-element.elementor-element-2ef1c29.elementor-view-stacked .elementor-icon{background-color:#000000;}.elementor-110 .elementor-element.elementor-element-2ef1c29.elementor-view-framed .elementor-icon, .elementor-110 .elementor-element.elementor-element-2ef1c29.elementor-view-default .elementor-icon{color:#000000;border-color:#000000;}.elementor-110 .elementor-element.elementor-element-2ef1c29.elementor-view-framed .elementor-icon, .elementor-110 .elementor-element.elementor-element-2ef1c29.elementor-view-default .elementor-icon svg{fill:#000000;}.elementor-110 .elementor-element.elementor-element-9588eec{text-align:center;}.elementor-110 .elementor-element.elementor-element-9588eec .elementor-heading-title{font-family:"Merriweather", Sans-serif;font-size:30px;font-weight:600;-webkit-text-stroke-color:#000;stroke:#000;color:#000000;}.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-110 .elementor-element.elementor-element-331ae8f{text-align:center;font-family:"Merriweather", Sans-serif;font-weight:600;color:#000000;}.elementor-110 .elementor-element.elementor-element-56e01c4{--display:flex;}.elementor-110 .elementor-element.elementor-element-7be30b9 .elementor-icon-wrapper{text-align:center;}.elementor-110 .elementor-element.elementor-element-7be30b9.elementor-view-stacked .elementor-icon{background-color:#000000;}.elementor-110 .elementor-element.elementor-element-7be30b9.elementor-view-framed .elementor-icon, .elementor-110 .elementor-element.elementor-element-7be30b9.elementor-view-default .elementor-icon{color:#000000;border-color:#000000;}.elementor-110 .elementor-element.elementor-element-7be30b9.elementor-view-framed .elementor-icon, .elementor-110 .elementor-element.elementor-element-7be30b9.elementor-view-default .elementor-icon svg{fill:#000000;}.elementor-110 .elementor-element.elementor-element-074c341{text-align:center;}.elementor-110 .elementor-element.elementor-element-074c341 .elementor-heading-title{font-family:"Merriweather", Sans-serif;font-size:30px;font-weight:600;-webkit-text-stroke-color:#000;stroke:#000;color:#000000;}.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button{background-color:#FFFFFF;fill:#000000;color:#000000;border-radius:12px 12px 12px 12px;}.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button:hover, .elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button:focus{background-color:#FFFFFF;color:#000000;}.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button:hover svg, .elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button:focus svg{fill:#000000;}.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button{background-color:#FFFFFF;fill:#000000;color:#000000;border-radius:12px 12px 12px 12px;}.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button:hover, .elementor-110 .elementor-element.elementor-element-89af59a .elementor-button:focus{background-color:#FFFFFF;color:#000000;}.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button:hover svg, .elementor-110 .elementor-element.elementor-element-89af59a .elementor-button:focus svg{fill:#000000;}.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button{background-color:#FFFFFF;fill:#000000;color:#000000;border-radius:12px 12px 12px 12px;}.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button:hover, .elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button:focus{background-color:#FFFFFF;color:#000000;}.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button:hover svg, .elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button:focus svg{fill:#000000;}.elementor-110 .elementor-element.elementor-element-b5d30d9{--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;border-style:none;--border-style:none;}.elementor-110 .elementor-element.elementor-element-d4f6cbe{text-align:center;}.elementor-110 .elementor-element.elementor-element-d4f6cbe .elementor-heading-title{font-family:"Merriweather", Sans-serif;font-weight:600;color:#000000;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-110 .elementor-element.elementor-element-9417c29{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-110 .elementor-element.elementor-element-9417c29{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for icon, class: .elementor-element-3c79e2b *//* BADGE GRADIENT ANIMÉ – cette icône uniquement */
@keyframes icoFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.elementor-110 .elementor-element.elementor-element-3c79e2b .elementor-icon{
  --g1:#6772FF; --g2:#F14C75; --size:64px; --spd:6s;
  width:var(--size); height:var(--size);
  display:inline-grid; place-items:center;
  border-radius:999px; position:relative; overflow:hidden; isolation:isolate;
  background:linear-gradient(90deg,var(--g1),var(--g2),var(--g1));
  background-size:220% 220%; animation:icoFlow var(--spd) ease-in-out infinite;
  box-shadow:0 10px 24px rgba(103,114,255,.28);
}
.elementor-110 .elementor-element.elementor-element-3c79e2b .elementor-icon i, 
.elementor-110 .elementor-element.elementor-element-3c79e2b .elementor-icon svg{ color:#fff; font-size:calc(var(--size)*.54); position:relative; z-index:2; }
.elementor-110 .elementor-element.elementor-element-3c79e2b .elementor-icon::after{
  content:""; position:absolute; inset:-6px; border-radius:inherit; z-index:1; pointer-events:none;
  background:
    radial-gradient(140px 100px at 30% 20%, rgba(255,255,255,.26), transparent 60%),
    radial-gradient(110px 80px  at 70% 80%, rgba(255,255,255,.18), transparent 65%);
  filter:blur(8px); mix-blend-mode:soft-light; opacity:.9;
}/* End custom CSS */


/* Start custom CSS for button, class: .elementor-element-85cf9d8 *//* ===== LIQUID FLOW BUTTON (plus sombre, sans contour) ===== */
.elementor-110 .elementor-element.elementor-element-85cf9d8{
  --g1:#5a65e8;   /* un poil plus sombre que #6772FF */
  --g2:#d94369;   /* un poil plus sombre que #F14C75 */
  --spd:6.2s;     /* vitesse du dégradé principal (↑ = plus calme) */
  --flow:7.5s;    /* vitesse des "reflets liquides" */
  --r:999px;      /* 16px si tu veux moins arrondi */
}

/* Animations */
@keyframes moveGrad{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@keyframes caustics{
  0%   { background-position: 20% 30%, 80% 60%, 40% 80%; }
  50%  { background-position: 70% 60%, 30% 40%, 60% 20%; }
  100% { background-position: 20% 30%, 80% 60%, 40% 80%; }
}
@keyframes nudgeArrow{
  0%,100%{ transform:translateX(0) }
  50%    { transform:translateX(6px) }
}

/* Bouton Elementor (fond animé + couche d'assombrissement) */
.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button,
.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button-link{
  position:relative !important;
  display:inline-flex !important;
  align-items:center; justify-content:center;
  padding:16px 26px !important;
  border:0 !important; border-radius:var(--r) !important;
  overflow:hidden !important;
  cursor:pointer;

  /* 2 couches : 1) voile sombre 2) dégradé animé "flow" */
  background-image:
    linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.18)),
    linear-gradient(90deg, var(--g1), var(--g2), var(--g1)) !important;
  background-size: auto, 240% 240% !important;
  background-position: 0 0, 0% 50% !important;
  animation: moveGrad var(--spd) ease-in-out infinite !important;

  color:#fff !important; font-weight:800 !important; letter-spacing:.3px;
  text-decoration:none !important; line-height:1.2 !important;

  /* relief doux */
  box-shadow:0 10px 22px rgba(25,33,78,.28);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

/* Contenu au-dessus des effets */
.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button > *,
.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button-link > *{ position:relative; z-index:2; }

/* Reflets "liquides" (caustiques) qui bougent en continu */
.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button::after,
.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button-link::after{
  content:""; position:absolute; inset:-6px; border-radius:inherit; pointer-events:none;
  z-index:1;
  background:
    radial-gradient(140px 100px at 50% 50%, rgba(255,255,255,.26), rgba(255,255,255,0) 60%),
    radial-gradient(110px 80px  at 50% 50%, rgba(255,255,255,.18), rgba(255,255,255,0) 60%),
    radial-gradient(170px 120px at 50% 50%, rgba(255,255,255,.14), rgba(255,255,255,0) 65%);
  background-repeat:no-repeat;
  background-size: 140px 100px, 110px 80px, 170px 120px;
  animation: caustics var(--flow) ease-in-out infinite;
  filter: blur(8px);
  mix-blend-mode: soft-light;
  opacity:.9;
}

/* Flèche animée (indication claire d'action) */
.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button .elementor-button-text,
.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button-link .elementor-button-text{
  padding-right:26px; font-weight:800;
}
.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button .elementor-button-text::after,
.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button-link .elementor-button-text::after{
  content:"→";
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  font-weight:900; z-index:2; opacity:.95;
  animation:nudgeArrow 1.2s ease-in-out infinite;
}

/* Hover : un peu plus “punchy” sans éblouir */
.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button:hover,
.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button-link:hover{
  filter: brightness(1.06) saturate(1.05);
  transform: translateY(-2px);
  box-shadow:0 14px 30px rgba(25,33,78,.35);
}

/* Mobile */
@media (max-width:767px){
  .elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button,
  .elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button-link{ padding:14px 22px !important; }
}

/* Accessibilité : animations réduites si demandé */
@media (prefers-reduced-motion: reduce){
  .elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button,
  .elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button-link{ animation:none !important; }
  .elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button::after,
  .elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button-link::after{ animation:none !important; opacity:.6; }
}
/* ==== Flèche un peu plus grande + mouvement doux ==== */
.elementor-110 .elementor-element.elementor-element-85cf9d8{
  --arrow-size: 1.05em;    /* taille de base de la flèche (ajuste 1.00–1.20) */
  --arrow-bump: 6px;       /* décalage horizontal max */
  --arrow-scale: 1.12;     /* grossissement max au milieu de l’anim */
  --arrow-speed: 1.2s;     /* vitesse de l’anim de la flèche */
}

@keyframes arrowPulse {
  0%,100% { transform: translateY(-50%) translateX(0) scale(1);   }
  50%     { transform: translateY(-50%) translateX(var(--arrow-bump)) scale(var(--arrow-scale)); }
}

.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button .elementor-button-text::after,
.elementor-110 .elementor-element.elementor-element-85cf9d8 .elementor-button-link .elementor-button-text::after{
  content:"→";
  position:absolute; right:14px; top:50%;
  font-weight:900; z-index:2; opacity:.95;
  font-size: var(--arrow-size);
  animation: arrowPulse var(--arrow-speed) ease-in-out infinite;
}/* End custom CSS */

/* Start custom CSS for container, class: .elementor-element-248f51e *//* COLONNE / SECTION : appliquer ici (dans le Custom CSS de la colonne/section) */
@keyframes moveGradient{ 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }

.elementor-110 .elementor-element.elementor-element-248f51e{
  --w:2px; --r:16px; --t:5.5s;
  position:relative; border-radius:var(--r);
  background:transparent; isolation:isolate; overflow:visible;
}

/* Elementor utilise .elementor-container ou .elementor-column-wrap selon versions */
.elementor-110 .elementor-element.elementor-element-248f51e::before{
  content:""; position:absolute; inset:0; border-radius:inherit;
  padding:var(--w);
  background:linear-gradient(90deg,#6772FF,#F14C75,#6772FF);
  background-size:200% 200%; animation:moveGradient var(--t) ease-in-out infinite;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events:none;
}
.elementor-110 .elementor-element.elementor-element-248f51e::after{
  content:""; position:absolute; inset:-3px; border-radius:inherit;
  background:radial-gradient(120px 60px at 50% 50%, rgba(255,255,255,.35), transparent 60%);
  opacity:0; transition:opacity .25s ease; pointer-events:none;
}
.elementor-110 .elementor-element.elementor-element-248f51e:hover::after{ opacity:.8; }/* End custom CSS */

/* Start custom CSS for icon, class: .elementor-element-2ef1c29 *//* BADGE GRADIENT ANIMÉ – cette icône uniquement */
@keyframes icoFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.elementor-110 .elementor-element.elementor-element-2ef1c29 .elementor-icon{
  --g1:#6772FF; --g2:#F14C75; --size:64px; --spd:6s;
  width:var(--size); height:var(--size);
  display:inline-grid; place-items:center;
  border-radius:999px; position:relative; overflow:hidden; isolation:isolate;
  background:linear-gradient(90deg,var(--g1),var(--g2),var(--g1));
  background-size:220% 220%; animation:icoFlow var(--spd) ease-in-out infinite;
  box-shadow:0 10px 24px rgba(103,114,255,.28);
}
.elementor-110 .elementor-element.elementor-element-2ef1c29 .elementor-icon i, 
.elementor-110 .elementor-element.elementor-element-2ef1c29 .elementor-icon svg{ color:#fff; font-size:calc(var(--size)*.54); position:relative; z-index:2; }
.elementor-110 .elementor-element.elementor-element-2ef1c29 .elementor-icon::after{
  content:""; position:absolute; inset:-6px; border-radius:inherit; z-index:1; pointer-events:none;
  background:
    radial-gradient(140px 100px at 30% 20%, rgba(255,255,255,.26), transparent 60%),
    radial-gradient(110px 80px  at 70% 80%, rgba(255,255,255,.18), transparent 65%);
  filter:blur(8px); mix-blend-mode:soft-light; opacity:.9;
}/* End custom CSS */



/* Start custom CSS for container, class: .elementor-element-1d5cd97 *//* COLONNE / SECTION : appliquer ici (dans le Custom CSS de la colonne/section) */
@keyframes moveGradient{ 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }

.elementor-110 .elementor-element.elementor-element-1d5cd97{
  --w:2px; --r:16px; --t:5.5s;
  position:relative; border-radius:var(--r);
  background:transparent; isolation:isolate; overflow:visible;
}

/* Elementor utilise .elementor-container ou .elementor-column-wrap selon versions */
.elementor-110 .elementor-element.elementor-element-1d5cd97::before{
  content:""; position:absolute; inset:0; border-radius:inherit;
  padding:var(--w);
  background:linear-gradient(90deg,#6772FF,#F14C75,#6772FF);
  background-size:200% 200%; animation:moveGradient var(--t) ease-in-out infinite;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events:none;
}
.elementor-110 .elementor-element.elementor-element-1d5cd97::after{
  content:""; position:absolute; inset:-3px; border-radius:inherit;
  background:radial-gradient(120px 60px at 50% 50%, rgba(255,255,255,.35), transparent 60%);
  opacity:0; transition:opacity .25s ease; pointer-events:none;
}
.elementor-110 .elementor-element.elementor-element-1d5cd97:hover::after{ opacity:.8; }/* End custom CSS */

/* Start custom CSS for icon, class: .elementor-element-7be30b9 *//* BADGE GRADIENT ANIMÉ – cette icône uniquement */
@keyframes icoFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.elementor-110 .elementor-element.elementor-element-7be30b9 .elementor-icon{
  --g1:#6772FF; --g2:#F14C75; --size:64px; --spd:6s;
  width:var(--size); height:var(--size);
  display:inline-grid; place-items:center;
  border-radius:999px; position:relative; overflow:hidden; isolation:isolate;
  background:linear-gradient(90deg,var(--g1),var(--g2),var(--g1));
  background-size:220% 220%; animation:icoFlow var(--spd) ease-in-out infinite;
  box-shadow:0 10px 24px rgba(103,114,255,.28);
}
.elementor-110 .elementor-element.elementor-element-7be30b9 .elementor-icon i, 
.elementor-110 .elementor-element.elementor-element-7be30b9 .elementor-icon svg{ color:#fff; font-size:calc(var(--size)*.54); position:relative; z-index:2; }
.elementor-110 .elementor-element.elementor-element-7be30b9 .elementor-icon::after{
  content:""; position:absolute; inset:-6px; border-radius:inherit; z-index:1; pointer-events:none;
  background:
    radial-gradient(140px 100px at 30% 20%, rgba(255,255,255,.26), transparent 60%),
    radial-gradient(110px 80px  at 70% 80%, rgba(255,255,255,.18), transparent 65%);
  filter:blur(8px); mix-blend-mode:soft-light; opacity:.9;
}/* End custom CSS */


/* Start custom CSS for button, class: .elementor-element-b8f5255 *//* ===== LIQUID FLOW BUTTON (plus sombre, sans contour) ===== */
.elementor-110 .elementor-element.elementor-element-b8f5255{
  --g1:#5a65e8;   /* un poil plus sombre que #6772FF */
  --g2:#d94369;   /* un poil plus sombre que #F14C75 */
  --spd:6.2s;     /* vitesse du dégradé principal (↑ = plus calme) */
  --flow:7.5s;    /* vitesse des "reflets liquides" */
  --r:999px;      /* 16px si tu veux moins arrondi */
}

/* Animations */
@keyframes moveGrad{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@keyframes caustics{
  0%   { background-position: 20% 30%, 80% 60%, 40% 80%; }
  50%  { background-position: 70% 60%, 30% 40%, 60% 20%; }
  100% { background-position: 20% 30%, 80% 60%, 40% 80%; }
}
@keyframes nudgeArrow{
  0%,100%{ transform:translateX(0) }
  50%    { transform:translateX(6px) }
}

/* Bouton Elementor (fond animé + couche d'assombrissement) */
.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button,
.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button-link{
  position:relative !important;
  display:inline-flex !important;
  align-items:center; justify-content:center;
  padding:16px 26px !important;
  border:0 !important; border-radius:var(--r) !important;
  overflow:hidden !important;
  cursor:pointer;

  /* 2 couches : 1) voile sombre 2) dégradé animé "flow" */
  background-image:
    linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.18)),
    linear-gradient(90deg, var(--g1), var(--g2), var(--g1)) !important;
  background-size: auto, 240% 240% !important;
  background-position: 0 0, 0% 50% !important;
  animation: moveGrad var(--spd) ease-in-out infinite !important;

  color:#fff !important; font-weight:800 !important; letter-spacing:.3px;
  text-decoration:none !important; line-height:1.2 !important;

  /* relief doux */
  box-shadow:0 10px 22px rgba(25,33,78,.28);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

/* Contenu au-dessus des effets */
.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button > *,
.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button-link > *{ position:relative; z-index:2; }

/* Reflets "liquides" (caustiques) qui bougent en continu */
.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button::after,
.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button-link::after{
  content:""; position:absolute; inset:-6px; border-radius:inherit; pointer-events:none;
  z-index:1;
  background:
    radial-gradient(140px 100px at 50% 50%, rgba(255,255,255,.26), rgba(255,255,255,0) 60%),
    radial-gradient(110px 80px  at 50% 50%, rgba(255,255,255,.18), rgba(255,255,255,0) 60%),
    radial-gradient(170px 120px at 50% 50%, rgba(255,255,255,.14), rgba(255,255,255,0) 65%);
  background-repeat:no-repeat;
  background-size: 140px 100px, 110px 80px, 170px 120px;
  animation: caustics var(--flow) ease-in-out infinite;
  filter: blur(8px);
  mix-blend-mode: soft-light;
  opacity:.9;
}

/* Flèche animée (indication claire d'action) */
.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button .elementor-button-text,
.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button-link .elementor-button-text{
  padding-right:26px; font-weight:800;
}
.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button .elementor-button-text::after,
.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button-link .elementor-button-text::after{
  content:"→";
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  font-weight:900; z-index:2; opacity:.95;
  animation:nudgeArrow 1.2s ease-in-out infinite;
}

/* Hover : un peu plus “punchy” sans éblouir */
.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button:hover,
.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button-link:hover{
  filter: brightness(1.06) saturate(1.05);
  transform: translateY(-2px);
  box-shadow:0 14px 30px rgba(25,33,78,.35);
}

/* Mobile */
@media (max-width:767px){
  .elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button,
  .elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button-link{ padding:14px 22px !important; }
}

/* Accessibilité : animations réduites si demandé */
@media (prefers-reduced-motion: reduce){
  .elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button,
  .elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button-link{ animation:none !important; }
  .elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button::after,
  .elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button-link::after{ animation:none !important; opacity:.6; }
}
/* ==== Flèche un peu plus grande + mouvement doux ==== */
.elementor-110 .elementor-element.elementor-element-b8f5255{
  --arrow-size: 1.05em;    /* taille de base de la flèche (ajuste 1.00–1.20) */
  --arrow-bump: 6px;       /* décalage horizontal max */
  --arrow-scale: 1.12;     /* grossissement max au milieu de l’anim */
  --arrow-speed: 1.2s;     /* vitesse de l’anim de la flèche */
}

@keyframes arrowPulse {
  0%,100% { transform: translateY(-50%) translateX(0) scale(1);   }
  50%     { transform: translateY(-50%) translateX(var(--arrow-bump)) scale(var(--arrow-scale)); }
}

.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button .elementor-button-text::after,
.elementor-110 .elementor-element.elementor-element-b8f5255 .elementor-button-link .elementor-button-text::after{
  content:"→";
  position:absolute; right:14px; top:50%;
  font-weight:900; z-index:2; opacity:.95;
  font-size: var(--arrow-size);
  animation: arrowPulse var(--arrow-speed) ease-in-out infinite;
}/* End custom CSS */

/* Start custom CSS for button, class: .elementor-element-89af59a *//* ===== LIQUID FLOW BUTTON (plus sombre, sans contour) ===== */
.elementor-110 .elementor-element.elementor-element-89af59a{
  --g1:#5a65e8;   /* un poil plus sombre que #6772FF */
  --g2:#d94369;   /* un poil plus sombre que #F14C75 */
  --spd:6.2s;     /* vitesse du dégradé principal (↑ = plus calme) */
  --flow:7.5s;    /* vitesse des "reflets liquides" */
  --r:999px;      /* 16px si tu veux moins arrondi */
}

/* Animations */
@keyframes moveGrad{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@keyframes caustics{
  0%   { background-position: 20% 30%, 80% 60%, 40% 80%; }
  50%  { background-position: 70% 60%, 30% 40%, 60% 20%; }
  100% { background-position: 20% 30%, 80% 60%, 40% 80%; }
}
@keyframes nudgeArrow{
  0%,100%{ transform:translateX(0) }
  50%    { transform:translateX(6px) }
}

/* Bouton Elementor (fond animé + couche d'assombrissement) */
.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button,
.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button-link{
  position:relative !important;
  display:inline-flex !important;
  align-items:center; justify-content:center;
  padding:16px 26px !important;
  border:0 !important; border-radius:var(--r) !important;
  overflow:hidden !important;
  cursor:pointer;

  /* 2 couches : 1) voile sombre 2) dégradé animé "flow" */
  background-image:
    linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.18)),
    linear-gradient(90deg, var(--g1), var(--g2), var(--g1)) !important;
  background-size: auto, 240% 240% !important;
  background-position: 0 0, 0% 50% !important;
  animation: moveGrad var(--spd) ease-in-out infinite !important;

  color:#fff !important; font-weight:800 !important; letter-spacing:.3px;
  text-decoration:none !important; line-height:1.2 !important;

  /* relief doux */
  box-shadow:0 10px 22px rgba(25,33,78,.28);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

/* Contenu au-dessus des effets */
.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button > *,
.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button-link > *{ position:relative; z-index:2; }

/* Reflets "liquides" (caustiques) qui bougent en continu */
.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button::after,
.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button-link::after{
  content:""; position:absolute; inset:-6px; border-radius:inherit; pointer-events:none;
  z-index:1;
  background:
    radial-gradient(140px 100px at 50% 50%, rgba(255,255,255,.26), rgba(255,255,255,0) 60%),
    radial-gradient(110px 80px  at 50% 50%, rgba(255,255,255,.18), rgba(255,255,255,0) 60%),
    radial-gradient(170px 120px at 50% 50%, rgba(255,255,255,.14), rgba(255,255,255,0) 65%);
  background-repeat:no-repeat;
  background-size: 140px 100px, 110px 80px, 170px 120px;
  animation: caustics var(--flow) ease-in-out infinite;
  filter: blur(8px);
  mix-blend-mode: soft-light;
  opacity:.9;
}

/* Flèche animée (indication claire d'action) */
.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button .elementor-button-text,
.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button-link .elementor-button-text{
  padding-right:26px; font-weight:800;
}
.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button .elementor-button-text::after,
.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button-link .elementor-button-text::after{
  content:"→";
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  font-weight:900; z-index:2; opacity:.95;
  animation:nudgeArrow 1.2s ease-in-out infinite;
}

/* Hover : un peu plus “punchy” sans éblouir */
.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button:hover,
.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button-link:hover{
  filter: brightness(1.06) saturate(1.05);
  transform: translateY(-2px);
  box-shadow:0 14px 30px rgba(25,33,78,.35);
}

/* Mobile */
@media (max-width:767px){
  .elementor-110 .elementor-element.elementor-element-89af59a .elementor-button,
  .elementor-110 .elementor-element.elementor-element-89af59a .elementor-button-link{ padding:14px 22px !important; }
}

/* Accessibilité : animations réduites si demandé */
@media (prefers-reduced-motion: reduce){
  .elementor-110 .elementor-element.elementor-element-89af59a .elementor-button,
  .elementor-110 .elementor-element.elementor-element-89af59a .elementor-button-link{ animation:none !important; }
  .elementor-110 .elementor-element.elementor-element-89af59a .elementor-button::after,
  .elementor-110 .elementor-element.elementor-element-89af59a .elementor-button-link::after{ animation:none !important; opacity:.6; }
}
/* ==== Flèche un peu plus grande + mouvement doux ==== */
.elementor-110 .elementor-element.elementor-element-89af59a{
  --arrow-size: 1.05em;    /* taille de base de la flèche (ajuste 1.00–1.20) */
  --arrow-bump: 6px;       /* décalage horizontal max */
  --arrow-scale: 1.12;     /* grossissement max au milieu de l’anim */
  --arrow-speed: 1.2s;     /* vitesse de l’anim de la flèche */
}

@keyframes arrowPulse {
  0%,100% { transform: translateY(-50%) translateX(0) scale(1);   }
  50%     { transform: translateY(-50%) translateX(var(--arrow-bump)) scale(var(--arrow-scale)); }
}

.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button .elementor-button-text::after,
.elementor-110 .elementor-element.elementor-element-89af59a .elementor-button-link .elementor-button-text::after{
  content:"→";
  position:absolute; right:14px; top:50%;
  font-weight:900; z-index:2; opacity:.95;
  font-size: var(--arrow-size);
  animation: arrowPulse var(--arrow-speed) ease-in-out infinite;
}/* End custom CSS */

/* Start custom CSS for button, class: .elementor-element-e4ee6be *//* ===== LIQUID FLOW BUTTON (plus sombre, sans contour) ===== */
.elementor-110 .elementor-element.elementor-element-e4ee6be{
  --g1:#5a65e8;   /* un poil plus sombre que #6772FF */
  --g2:#d94369;   /* un poil plus sombre que #F14C75 */
  --spd:6.2s;     /* vitesse du dégradé principal (↑ = plus calme) */
  --flow:7.5s;    /* vitesse des "reflets liquides" */
  --r:999px;      /* 16px si tu veux moins arrondi */
}

/* Animations */
@keyframes moveGrad{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@keyframes caustics{
  0%   { background-position: 20% 30%, 80% 60%, 40% 80%; }
  50%  { background-position: 70% 60%, 30% 40%, 60% 20%; }
  100% { background-position: 20% 30%, 80% 60%, 40% 80%; }
}
@keyframes nudgeArrow{
  0%,100%{ transform:translateX(0) }
  50%    { transform:translateX(6px) }
}

/* Bouton Elementor (fond animé + couche d'assombrissement) */
.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button,
.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button-link{
  position:relative !important;
  display:inline-flex !important;
  align-items:center; justify-content:center;
  padding:16px 26px !important;
  border:0 !important; border-radius:var(--r) !important;
  overflow:hidden !important;
  cursor:pointer;

  /* 2 couches : 1) voile sombre 2) dégradé animé "flow" */
  background-image:
    linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.18)),
    linear-gradient(90deg, var(--g1), var(--g2), var(--g1)) !important;
  background-size: auto, 240% 240% !important;
  background-position: 0 0, 0% 50% !important;
  animation: moveGrad var(--spd) ease-in-out infinite !important;

  color:#fff !important; font-weight:800 !important; letter-spacing:.3px;
  text-decoration:none !important; line-height:1.2 !important;

  /* relief doux */
  box-shadow:0 10px 22px rgba(25,33,78,.28);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

/* Contenu au-dessus des effets */
.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button > *,
.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button-link > *{ position:relative; z-index:2; }

/* Reflets "liquides" (caustiques) qui bougent en continu */
.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button::after,
.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button-link::after{
  content:""; position:absolute; inset:-6px; border-radius:inherit; pointer-events:none;
  z-index:1;
  background:
    radial-gradient(140px 100px at 50% 50%, rgba(255,255,255,.26), rgba(255,255,255,0) 60%),
    radial-gradient(110px 80px  at 50% 50%, rgba(255,255,255,.18), rgba(255,255,255,0) 60%),
    radial-gradient(170px 120px at 50% 50%, rgba(255,255,255,.14), rgba(255,255,255,0) 65%);
  background-repeat:no-repeat;
  background-size: 140px 100px, 110px 80px, 170px 120px;
  animation: caustics var(--flow) ease-in-out infinite;
  filter: blur(8px);
  mix-blend-mode: soft-light;
  opacity:.9;
}

/* Flèche animée (indication claire d'action) */
.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button .elementor-button-text,
.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button-link .elementor-button-text{
  padding-right:26px; font-weight:800;
}
.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button .elementor-button-text::after,
.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button-link .elementor-button-text::after{
  content:"→";
  position:absolute; right:14px; top:50%; transform:translateY(-50%);
  font-weight:900; z-index:2; opacity:.95;
  animation:nudgeArrow 1.2s ease-in-out infinite;
}

/* Hover : un peu plus “punchy” sans éblouir */
.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button:hover,
.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button-link:hover{
  filter: brightness(1.06) saturate(1.05);
  transform: translateY(-2px);
  box-shadow:0 14px 30px rgba(25,33,78,.35);
}

/* Mobile */
@media (max-width:767px){
  .elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button,
  .elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button-link{ padding:14px 22px !important; }
}

/* Accessibilité : animations réduites si demandé */
@media (prefers-reduced-motion: reduce){
  .elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button,
  .elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button-link{ animation:none !important; }
  .elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button::after,
  .elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button-link::after{ animation:none !important; opacity:.6; }
}
/* ==== Flèche un peu plus grande + mouvement doux ==== */
.elementor-110 .elementor-element.elementor-element-e4ee6be{
  --arrow-size: 1.05em;    /* taille de base de la flèche (ajuste 1.00–1.20) */
  --arrow-bump: 6px;       /* décalage horizontal max */
  --arrow-scale: 1.12;     /* grossissement max au milieu de l’anim */
  --arrow-speed: 1.2s;     /* vitesse de l’anim de la flèche */
}

@keyframes arrowPulse {
  0%,100% { transform: translateY(-50%) translateX(0) scale(1);   }
  50%     { transform: translateY(-50%) translateX(var(--arrow-bump)) scale(var(--arrow-scale)); }
}

.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button .elementor-button-text::after,
.elementor-110 .elementor-element.elementor-element-e4ee6be .elementor-button-link .elementor-button-text::after{
  content:"→";
  position:absolute; right:14px; top:50%;
  font-weight:900; z-index:2; opacity:.95;
  font-size: var(--arrow-size);
  animation: arrowPulse var(--arrow-speed) ease-in-out infinite;
}/* End custom CSS */

/* Start custom CSS for container, class: .elementor-element-56e01c4 *//* COLONNE / SECTION : appliquer ici (dans le Custom CSS de la colonne/section) */
@keyframes moveGradient{ 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }

.elementor-110 .elementor-element.elementor-element-56e01c4{
  --w:2px; --r:16px; --t:5.5s;
  position:relative; border-radius:var(--r);
  background:transparent; isolation:isolate; overflow:visible;
}

/* Elementor utilise .elementor-container ou .elementor-column-wrap selon versions */
.elementor-110 .elementor-element.elementor-element-56e01c4::before{
  content:""; position:absolute; inset:0; border-radius:inherit;
  padding:var(--w);
  background:linear-gradient(90deg,#6772FF,#F14C75,#6772FF);
  background-size:200% 200%; animation:moveGradient var(--t) ease-in-out infinite;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events:none;
}
.elementor-110 .elementor-element.elementor-element-56e01c4::after{
  content:""; position:absolute; inset:-3px; border-radius:inherit;
  background:radial-gradient(120px 60px at 50% 50%, rgba(255,255,255,.35), transparent 60%);
  opacity:0; transition:opacity .25s ease; pointer-events:none;
}
.elementor-110 .elementor-element.elementor-element-56e01c4:hover::after{ opacity:.8; }/* End custom CSS */



/* Start custom CSS for container, class: .elementor-element-b5d30d9 *//* COLONNE / SECTION : appliquer ici (dans le Custom CSS de la colonne/section) */
@keyframes moveGradient{ 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }

.elementor-110 .elementor-element.elementor-element-b5d30d9{
  --w:2px; --r:16px; --t:5.5s;
  position:relative; border-radius:var(--r);
  background:transparent; isolation:isolate; overflow:visible;
}

/* Elementor utilise .elementor-container ou .elementor-column-wrap selon versions */
.elementor-110 .elementor-element.elementor-element-b5d30d9::before{
  content:""; position:absolute; inset:0; border-radius:inherit;
  padding:var(--w);
  background:linear-gradient(90deg,#6772FF,#F14C75,#6772FF);
  background-size:200% 200%; animation:moveGradient var(--t) ease-in-out infinite;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events:none;
}
.elementor-110 .elementor-element.elementor-element-b5d30d9::after{
  content:""; position:absolute; inset:-3px; border-radius:inherit;
  background:radial-gradient(120px 60px at 50% 50%, rgba(255,255,255,.35), transparent 60%);
  opacity:0; transition:opacity .25s ease; pointer-events:none;
}
.elementor-110 .elementor-element.elementor-element-b5d30d9:hover::after{ opacity:.8; }/* End custom CSS */

