/* 
Theme Name: APE COM
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Thème enfant de Hello Elementor pour APE COM (basé sur le thème enfant officiel d'Elementor).
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.2
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Bordure bleue animée sous les items du méga menu */
.e-n-menu-title-container{ position: relative; }
.e-n-menu-title-container::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-4px;
  height:2px; border-radius:2px;
  background: var(--e-global-color-primary);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .28s cubic-bezier(.4,0,.2,1);
}
.e-n-menu-title:hover .e-n-menu-title-container::after,
.e-n-menu-title.e-current .e-n-menu-title-container::after,
body.single-service-ape .e-n-menu-title.e-anchor .e-n-menu-title-container::after{
  transform: scaleX(1);
}

img.swiper-slide-image {
    max-width: 150px;
}

.bg-hero-support {
    background: radial-gradient(circle, rgb(249 178 51) 37%, rgba(14, 14, 20, 1) 65%, rgba(14, 14, 20, 1) 78%, rgb(249 178 51) 100%);
    background-size: 260% 260%;
    background-position: center center;

}

.bg-hero {
  background: radial-gradient(circle, rgb(139 97 167) 37%, rgba(14, 14, 20, 1) 65%, rgba(14, 14, 20, 1) 78%, rgb(106 49 137) 100%);
  background-size: 260% 260%;
  background-position: center center;
  animation:
    heroAuroraIn 2.4s cubic-bezier(.2,.7,.2,1) forwards,
    heroAuroraDrift 22s ease-in-out 2.4s infinite;
}

@keyframes heroAuroraIn {
  0% {
    background-size: 320% 320%;
    filter: brightness(0.5) saturate(0.7);
    opacity: 0.6;
  }
  100% {
    background-size: 100% 100%;
    filter: brightness(1) saturate(1);
    opacity: 1;
  }
}

@keyframes heroAuroraDrift {
  0% {
    background-position: 50% 50%;
    background-size: 100% 100%;
  }
  25% {
    background-position: 52% 48%;
    background-size: 104% 104%;
  }
  50% {
    background-position: 49% 51%;
    background-size: 102% 102%;
  }
  75% {
    background-position: 51% 49%;
    background-size: 105% 105%;
  }
  100% {
    background-position: 50% 50%;
    background-size: 100% 100%;
  }
}

.bg-hero .col-left > * > * {
  opacity: 0;
  transform: translateY(30px);
  animation: heroFadeUp .9s cubic-bezier(.2,.7,.2,1) forwards;
}

.bg-hero .col-left h1.elementor-heading-title {
  animation-delay: .5s;
}

.bg-hero .col-left .elementor-element-66a05e3a .elementor-heading-title {
  animation-delay: .7s;
}

.bg-hero .col-left .elementor-widget-text-editor p {
  animation-delay: .9s;
}

.bg-hero .col-left .elementor-widget-button:nth-of-type(1) .elementor-button {
  animation-delay: 1.1s;
}

.bg-hero .col-left .elementor-widget-button:nth-of-type(2) .elementor-button {
  animation-delay: 1.25s;
}

.bg-hero .col-left .elementor-widget-button .elementor-button {
  opacity: 0;
  transform: translateY(30px);
  animation: heroFadeUp .9s cubic-bezier(.2,.7,.2,1) forwards;
}

.bg-hero .image-angle {
  opacity: 0;
  transform: scale(1.05);
  animation: heroImageReveal 1.2s cubic-bezier(.2,.7,.2,1) forwards;
  animation-delay: .8s;
}

/* ===== Forme decorative reutilisable : biseau + flou (glassmorphism) ===== */
/* A appliquer sur une forme (Div) en position absolute. Regle --bevel (taille du biseau) et --blur (intensite du flou). */
.shape-bevel-blur{
  /* Biseau cote droit uniquement (haut-droite -> bas-droite), meme proportion que .image-angle (60px). Le flou et le reste viennent de la forme. */
  --bevel: 60px;
  --blur: 8px;
  -webkit-backdrop-filter: blur(var(--blur));
  backdrop-filter: blur(var(--blur));
  clip-path: polygon(0 0, calc(100% - var(--bevel)) 0, 100% 100%, 0 100%);
}

@keyframes heroFadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes heroImageReveal {
  to {
    opacity: 1;
    transform: scale(1);
  }
}







.blur {
	  position: relative;
	  isolation: isolate;
}
.blur > * {
	  position: relative;
	  z-index: 1;
}
.blur::before {
	  content: "";
	position:absolute;
	bottom:0;
	  inset: 0;
	  z-index: 0;
	  pointer-events: none;
	  backdrop-filter: blur(11px);

	  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 100%);
	  mask-image: linear-gradient(to bottom, transparent 0%, black 100%);
}

.col-left {
  padding-left: max(24px, calc((100vw - 1200px) / 2));
}

.col-right {
  padding-right: max(24px, calc((100vw - 1200px) / 2));
}

.image-angle {
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%);
}

.image-angle-right {
  clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
}


.image-angle-up {
  clip-path: polygon(0 0, 100% 10%, 100% 100%, 0% 100%);
}



/******/
.image-angle-article {
  clip-path: polygon(0 0, 100% 0, 95% 100%, 0% 100%);
  transition: clip-path 0.6s ease;
  overflow: hidden;
}
.image-angle-article:hover {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.image-angle-article .article-image-zoom {
  overflow: hidden;
  position: relative;
}

.image-angle-article .article-image-zoom,
.image-angle-article .article-image-zoom img {
  transition: transform .5s ease;
  transform: scale(1);
  transform-origin: center center;
}

.image-angle-article:hover .article-image-zoom,
.image-angle-article:hover .article-image-zoom img {
  transform: scale(1.08);
}

.image-angle-article .elementor-widget-icon {
  opacity: 0;
  transform: translate(-10px, 10px);
  transition: opacity .35s ease, transform .35s ease;
  pointer-events: none;
}

.image-angle-article .icon-arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translate(-10px, 10px);
  transition: opacity .35s ease, transform .35s ease, background-color .3s ease;
}

.image-angle-article .icon-arrow .elementor-icon,
.image-angle-article .icon-arrow .elementor-icon-wrapper,
.image-angle-article .icon-arrow i,
.image-angle-article .icon-arrow svg {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}

.image-angle-article:hover .icon-arrow {
  opacity: 1;
  transform: translate(0, 0);
}

.image-angle-article:hover .elementor-widget-icon {
  opacity: 1;
  transform: translate(0, 0);
}
/******/




.cache{
background: linear-gradient(90deg, #F0F1FF 0%, #f0f1ff00 20%, #f0f1ff00 80%, #F0F1FF 100%);
}

.ti-inner {
    border-top-width: 1px !important;
    border-bottom-width: 1px !important;
    border-left-width: 1px !important;
    border-right-width: 1px !important;
    background-color: #0e0e1400 !important;
    backdrop-filter: blur(0px);
}



/**/

/* variables (edit here)*/

:root {
    /* Global Padding Variables - Editable */
    /* Left and Right Padding All /Sections/Containers*/
    --fluid-side-padding-min: 1.25rem; /* 20px */
    --fluid-side-padding-max: 5rem;   /* 80px */

    /* Top and Bottom Padding All Containers*/
    --section-xxl-padding-min: 9.375rem; /* 150px */
    --section-xxl-padding-max: 10rem; /* 160px */ 
  
    --section-xl-padding-min: 6.875rem; /* 110px */
    --section-xl-padding-max: 7.5rem; /* 120px */
  
    --section-l-padding-min: 5.625rem; /* 90px */
    --section-l-padding-max: 6.25rem; /* 100px */
  
    --section-m-padding-min: 5rem; /* 80px */
    --section-m-padding-max: 5rem; /* 80px */
  
    --section-s-padding-min: 3.75rem; /* 60px */
    --section-s-padding-max: 3.75rem; /* 60px */
  
    --section-xs-padding-min: 2.5rem; /* 40px */
    --section-xs-padding-max: 2.5rem; /* 40px */
  
    --section-xxs-padding-min: 1.5rem; /* 24px */
    --section-xxs-padding-max: 1.5rem; /* 24px */
    
    --section-header-padding-min: 1.25rem; /* 20px */
    --section-header-padding-max: 1.25rem; /* 20px */

  
    /* Hero Sections Height Variable */
    --section-hero-height: 100vh; /* 100% the screen height */
  
    /* Offset Padding for Overlay Headers */
    --section-offset-header: 80px; /* Adjust to the overlay header's negative margin */

    /* Width For Narrow Sections*/
    --section-narrow: 62.5rem; /* 1000px */
    --section-narrow-xs: 45rem; /* 720px */
  }


/* CSS Template (do not edit below) */
  
  
  /* Section/Container Padding - Fluid Variants */
  .section-xxl {
    padding-top: clamp(var(--section-xxl-padding-min), 1.087vw + 9.13rem, var(--section-xxl-padding-max));
    padding-bottom: clamp(var(--section-xxl-padding-min), 1.087vw + 9.13rem, var(--section-xxl-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-xl {
    padding-top: clamp(var(--section-xl-padding-min), 1.087vw + 6.63rem, var(--section-xl-padding-max));
    padding-bottom: clamp(var(--section-xl-padding-min), 1.087vw + 6.63rem, var(--section-xl-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-l {
    padding-top: clamp(var(--section-l-padding-min), 1.087vw + 5.38rem, var(--section-l-padding-max));
    padding-bottom: clamp(var(--section-l-padding-min), 1.087vw + 5.38rem, var(--section-l-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-m {
    padding-top: clamp(var(--section-m-padding-min), 0vw + 5rem, var(--section-m-padding-max));
    padding-bottom: clamp(var(--section-m-padding-min), 0vw + 5rem, var(--section-m-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-s {
    padding-top: clamp(var(--section-s-padding-min), 0vw + 3.75rem, var(--section-s-padding-max));
    padding-bottom: clamp(var(--section-s-padding-min), 0vw + 3.75rem, var(--section-s-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-xs {
    padding-top: clamp(var(--section-xs-padding-min), 0vw + 2.5rem, var(--section-xs-padding-max));
    padding-bottom: clamp(var(--section-xs-padding-min), 0vw + 2.5rem, var(--section-xs-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-xxs {
    padding-top: clamp(var(--section-xxs-padding-min), 0vw + 1.5rem, var(--section-xxs-padding-max));
    padding-bottom: clamp(var(--section-xxs-padding-min), 0vw + 1.5rem, var(--section-xxs-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  .section-header {
    padding-top: clamp(var(--section-header-padding-min), 0vw + 1.25rem, var(--section-header-padding-max));
    padding-bottom: clamp(var(--section-header-padding-min), 0vw + 1.25rem, var(--section-header-padding-max));
    padding-left: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
    padding-right: clamp(var(--fluid-side-padding-min), 6.522vw + -0.217rem, var(--fluid-side-padding-max))!important;
  }
  
  /* Hero Container/Sections Height */
  .section-hero {
    min-height: var(--section-hero-height)!important;
  }

  .section-hero .e-con-inner {
    justify-content: center!important;
}
  
  /* Full Width Sections - No Side Padding */

  .section-full div {
    max-width: 100%!important;
  }
  

  /* Narrow Sections */
  .section-narrow .e-con-inner {
    max-width: var(--section-narrow)!important;
  }

  .section-narrow-xs .e-con-inner {
    max-width: var(--section-narrow-xs)!important;
  }


  /* Offset Padding for Overlay Headers */
  .section-offset {
    padding-top: calc(var(--section-offset-header) + var(--section-xxl-padding-min));
  }

/* ===== Boutons APE : pilule + cercle + fleche, 100% CSS (sans icone) ===== */
/* --- forme + animation : toute classe contenant ape-btn-circle --- */
[class*="ape-btn-circle"] .elementor-button{display:inline-flex;align-items:center;justify-content:center;padding:0.2rem 0.2rem 0.2rem 1.5rem!important;font-weight:700;border-radius:2rem;line-height:1;width:fit-content!important;flex:0 0 auto!important;}
[class*="ape-btn-circle"] .elementor-button-content-wrapper{display:inline-flex;align-items:center;}
[class*="ape-btn-circle"] .elementor-button-icon{display:none;}
[class*="ape-btn-circle"] .elementor-button-content-wrapper::after{content:"";flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:50%;margin-left:1rem;background-repeat:no-repeat,no-repeat;background-size:1rem 1rem,1rem 1rem;background-position:50% 50%,-150% 250%;transition:background-position .4s cubic-bezier(.6,.1,.2,1),transform .3s ease;}
[class*="ape-btn-circle"] .elementor-button:hover .elementor-button-content-wrapper::after{background-position:250% -150%,50% 50%;transform:scale(0.8);}
/* --- Variante : bouton orange, cercle blanc, fleche orange (fond clair) --- */
.ape-btn-circle .elementor-button{background-color:var(--e-global-color-secondary)!important;color:#fff!important;}
.ape-btn-circle .elementor-button-content-wrapper::after{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F9B233' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F9B233' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E");}
/* --- Variante invert : bouton blanc, cercle orange, fleche blanche --- */
.ape-btn-circle-invert .elementor-button{background-color:#fff!important;color:var(--e-global-color-secondary)!important;}
.ape-btn-circle-invert .elementor-button-content-wrapper::after{background-color:var(--e-global-color-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E");}
/* --- Variante primary : bouton blanc, cercle bleu, fleche blanche, texte fonce --- */
.ape-btn-circle-primary .elementor-button{background-color:#fff!important;color:var(--e-global-color-text)!important;}

/* --- Variante secondary : bouton orange (couleur secondaire), cercle blanc, fleche orange --- */
.ape-btn-circle-secondary .elementor-button{
  background-color: var(--e-global-color-secondary) !important;
  color: #fff !important;
}
.ape-btn-circle-secondary .elementor-button-content-wrapper::after{
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F9B233' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F9B233' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E");
}

/* --- Variante dark : bouton violet #222235 (variable theme), cercle bleu, fleche blanche --- */
.ape-btn-circle-dark .elementor-button{
  background-color: var(--e-global-color-1cfd3c1) !important;
  color: #fff !important;
}
.ape-btn-circle-dark .elementor-button-content-wrapper::after{
  background-color: var(--e-global-color-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E");
}
.ape-btn-circle-primary .elementor-button-content-wrapper::after{background-color:var(--e-global-color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E");}
/* --- Variante ghost : sans fond, juste texte + cercle bleu + fleche blanche --- */
.ape-btn-circle-ghost .elementor-button{background-color:transparent!important;padding:0!important;color:#fff!important;}
.ape-btn-circle-ghost .elementor-button-content-wrapper::after{background-color:var(--e-global-color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E");}

/* ghost : trait 1px sous le texte, de droite a gauche au survol (couleur du texte) */
.ape-btn-circle-ghost .elementor-button-text{position:relative;}
.ape-btn-circle-ghost .elementor-button-text::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform .4s cubic-bezier(.6,.1,.2,1);}
.ape-btn-circle-ghost .elementor-button:hover .elementor-button-text::after{transform:scaleX(1);}

/* ===== Boutons APE contour : bordure 2px, remplissage bas->haut (sans cercle) ===== */
.ape-btn-outline-light .elementor-button,
.ape-btn-outline-dark .elementor-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background-color:transparent!important;border:2px solid var(--e-global-color-primary)!important;border-radius:100rem!important;padding:1rem 2.5rem!important;font-weight:700;line-height:1;transition:color .35s ease;}
.ape-btn-outline-light .elementor-button::before,
.ape-btn-outline-dark .elementor-button::before{content:"";position:absolute;inset:0;z-index:0;background-color:var(--e-global-color-primary);transform:scaleY(0);transform-origin:bottom center;transition:transform .4s cubic-bezier(.6,.1,.2,1);}
.ape-btn-outline-light .elementor-button:hover::before,
.ape-btn-outline-dark .elementor-button:hover::before{transform:scaleY(1);}
.ape-btn-outline-light .elementor-button-content-wrapper,
.ape-btn-outline-dark .elementor-button-content-wrapper{position:relative;z-index:1;}
/* version light : texte fonce -> blanc au survol */
.ape-btn-outline-light .elementor-button{color:var(--e-global-color-text)!important;}
.ape-btn-outline-light .elementor-button:hover{color:#fff!important;}
/* version dark : texte blanc (sur fond sombre) */
.ape-btn-outline-dark .elementor-button{color:#fff!important;}
.ape-btn-outline-dark .elementor-button:hover{color:#fff!important;}

/* Carte article : bord superieur du fond gris en diagonale (chevauche l'image) */
.ape-card-diagonal{clip-path:polygon(0 0,100% 2rem,100% 100%,0 100%);margin-top:-2rem;}

/* ===== Carte article verticale (loop 475) : diagonale animee + zoom image + fleche au survol (style 152) ===== */
.ape-article-card{position:relative;overflow:hidden;}
.ape-article-card .ape-grey-diagonal{clip-path:polygon(0 0,100% 2rem,100% 100%,0 100%);margin-top:-2rem;transition:clip-path .6s;}
.ape-article-card:hover .ape-grey-diagonal{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);}
.ape-article-card .article-image-zoom{overflow:hidden;}
.ape-article-card .article-image-zoom,.ape-article-card .article-image-zoom img{transition:transform .5s;transform:scale(1);transform-origin:center center;}
.ape-article-card:hover .article-image-zoom,.ape-article-card:hover .article-image-zoom img{transform:scale(1.08);}
.ape-article-card .icon-arrow{width:44px;height:44px;border-radius:50%;background-color:rgba(255,255,255,.35);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:center;opacity:0;transform:translate(8px,8px);transition:opacity .35s,transform .35s;pointer-events:none;}
.ape-article-card:hover .icon-arrow{opacity:1;transform:translate(0,0);}
.ape-article-card .icon-arrow .elementor-icon,.ape-article-card .icon-arrow .elementor-icon-wrapper,.ape-article-card .icon-arrow i,.ape-article-card .icon-arrow svg{display:flex;align-items:center;justify-content:center;width:20px;height:20px;}

/* Masque le nombre des compteurs vides (evite l'affichage de NaN) */
.elementor-counter-number[data-to-value=""]{ display: none; }

/* === Bouton Fluent Forms — style bouton APE primaire (ajout auto) === */
.fluentform .ff-btn-submit, .fluentform_wrapper .ff-btn-submit{
  background:#fff !important; color:#231f23 !important;
  font-family:'Montserrat',sans-serif !important; font-weight:700 !important; font-size:15px !important;
  border:none !important; border-radius:32px !important;
  padding:4px 4px 4px 24px !important;
  display:inline-flex !important; align-items:center !important; gap:14px !important;
  line-height:1 !important; width:auto !important; cursor:pointer; transition:.3s;
}
.fluentform .ff-btn-submit:hover, .fluentform_wrapper .ff-btn-submit:hover{ background:#fff !important; }
.fluentform .ff-btn-submit::after, .fluentform_wrapper .ff-btn-submit::after{
  content:''; width:40px; height:40px; border-radius:50%; flex:0 0 auto;
  background-color:#6A3189;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='7' y1='17' x2='17' y2='7'/%3E%3Cpolyline points='7 7 17 7 17 17'/%3E%3C/svg%3E");
  background-size:16px 16px,16px 16px;
  background-position:50% 50%,-150% 250%;
  background-repeat:no-repeat, no-repeat;
  transition:.3s;
}
.fluentform .ff-btn-submit:hover::after, .fluentform_wrapper .ff-btn-submit:hover::after{ background-position:250% -150%,50% 50%; transform:scale(.85); }
