.elementor-59 .elementor-element.elementor-element-f44d08e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:50px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-59 .elementor-element.elementor-element-f44d08e:not(.elementor-motion-effects-element-type-background), .elementor-59 .elementor-element.elementor-element-f44d08e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#00030B;}.elementor-59 .elementor-element.elementor-element-c912c1b{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--z-index:10;}.elementor-59 .elementor-element.elementor-element-42df945{padding:0px 0px 0px 0px;}.elementor-59 .elementor-element.elementor-element-99d65f3{padding:0px 0px 0px 0px;}.elementor-59 .elementor-element.elementor-element-3ff7d70{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;border-style:solid;border-width:2px 2px 2px 2px;border-color:#3772FF;border-radius:20px 20px 20px 20px;}.elementor-59 .elementor-element.elementor-element-3ff7d70 .elementor-wrapper{--video-aspect-ratio:1.77777;}.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-59 .elementor-element.elementor-element-c002ef7{padding:0px 0px 0px 0px;text-align:center;font-family:"Inter", Sans-serif;font-size:20px;font-weight:400;}.elementor-59 .elementor-element.elementor-element-082a30f{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-59 .elementor-element.elementor-element-da2052a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 16px) 0px;}.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-59 .elementor-element.elementor-element-58daf75 .elementor-button{background-color:#171717;font-family:"Inter", Sans-serif;font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:-0.5px;border-radius:50px 50px 50px 50px;padding:20px 50px 20px 50px;}.elementor-59 .elementor-element.elementor-element-58daf75 .elementor-button:hover, .elementor-59 .elementor-element.elementor-element-58daf75 .elementor-button:focus{background-color:#000000;color:#FFFFFF;}.elementor-59 .elementor-element.elementor-element-58daf75{padding:016px 0px 0px 0px;}.elementor-59 .elementor-element.elementor-element-58daf75.elementor-element{--align-self:center;}.elementor-59 .elementor-element.elementor-element-58daf75 .elementor-button-content-wrapper{flex-direction:row;}.elementor-59 .elementor-element.elementor-element-58daf75 .elementor-button:hover svg, .elementor-59 .elementor-element.elementor-element-58daf75 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-59 .elementor-element.elementor-element-5f2474e{--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;--padding-top:80px;--padding-bottom:80px;--padding-left:40px;--padding-right:40px;}.elementor-59 .elementor-element.elementor-element-5f2474e:not(.elementor-motion-effects-element-type-background), .elementor-59 .elementor-element.elementor-element-5f2474e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F8FAFC;}.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-59 .elementor-element.elementor-element-59c2fc2{padding:0px 0px 16px 0px;text-align:center;}.elementor-59 .elementor-element.elementor-element-59c2fc2 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:48px;font-weight:900;color:#171717;}.elementor-59 .elementor-element.elementor-element-edfd811{padding:0px 0px 0px 0px;font-family:"Inter", Sans-serif;font-size:18px;font-weight:400;}.elementor-59 .elementor-element.elementor-element-9bfe4ce{--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;--padding-top:100px;--padding-bottom:100px;--padding-left:40px;--padding-right:40px;}.elementor-59 .elementor-element.elementor-element-a512aac{--display:flex;--justify-content:center;}.elementor-59 .elementor-element.elementor-element-a512aac.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-59 .elementor-element.elementor-element-f483914{--display:flex;--justify-content:center;}.elementor-59 .elementor-element.elementor-element-dbec8b4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:left;}.elementor-59 .elementor-element.elementor-element-dbec8b4 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:48px;font-weight:900;color:#171717;}.elementor-59 .elementor-element.elementor-element-2d532e6{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;font-family:"Inter", Sans-serif;font-size:20px;font-weight:400;}.elementor-59 .elementor-element.elementor-element-6409659{--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;--padding-top:80px;--padding-bottom:80px;--padding-left:40px;--padding-right:40px;}.elementor-59 .elementor-element.elementor-element-6409659:not(.elementor-motion-effects-element-type-background), .elementor-59 .elementor-element.elementor-element-6409659 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#171717;}.elementor-59 .elementor-element.elementor-element-5f9d462{--display:flex;}.elementor-59 .elementor-element.elementor-element-0290875{padding:0px 0px 0px 0px;text-align:center;}.elementor-59 .elementor-element.elementor-element-0290875 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:64px;font-weight:900;}.elementor-59 .elementor-element.elementor-element-10aefd1{padding:0px 0px 0px 0px;text-align:center;}.elementor-59 .elementor-element.elementor-element-10aefd1 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:32px;font-weight:900;color:#FFFFFF;}.elementor-59 .elementor-element.elementor-element-919616f{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:400;}.elementor-59 .elementor-element.elementor-element-6afef5f{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:100px;--padding-bottom:100px;--padding-left:40px;--padding-right:40px;}.elementor-59 .elementor-element.elementor-element-6afef5f:not(.elementor-motion-effects-element-type-background), .elementor-59 .elementor-element.elementor-element-6afef5f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #F8FAFC 0%, #EFF6FF 100%);}.elementor-59 .elementor-element.elementor-element-9b99cbf{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-59 .elementor-element.elementor-element-9b99cbf .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:40px;font-weight:900;line-height:1.2;color:#171717;}.elementor-59 .elementor-element.elementor-element-c39b95c{font-family:"Roboto", Sans-serif;font-weight:400;}.elementor-59 .elementor-element.elementor-element-fb591bb .elementor-button{background-color:transparent;font-family:"Inter", Sans-serif;font-size:22px;font-weight:900;fill:#FFFFFF;color:#FFFFFF;background-image:linear-gradient(135deg, #3772FF 0%, #2557D6 100%);border-radius:12px 12px 12px 12px;padding:24px 60px 24px 60px;}.elementor-59 .elementor-element.elementor-element-fb591bb .elementor-button-content-wrapper{flex-direction:row;}.elementor-59 .elementor-element.elementor-element-966de0a{--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;--padding-top:100px;--padding-bottom:100px;--padding-left:40px;--padding-right:40px;}.elementor-59 .elementor-element.elementor-element-966de0a:not(.elementor-motion-effects-element-type-background), .elementor-59 .elementor-element.elementor-element-966de0a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#171717;}.elementor-59 .elementor-element.elementor-element-21e5de5{text-align:center;}.elementor-59 .elementor-element.elementor-element-21e5de5 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:48px;font-weight:900;color:#FFFFFF;}.elementor-59 .elementor-element.elementor-element-44f5653{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:400;}.elementor-59 .elementor-element.elementor-element-e831f2d{--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;--padding-top:100px;--padding-bottom:100px;--padding-left:40px;--padding-right:40px;}.elementor-59 .elementor-element.elementor-element-49b83e0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-59 .elementor-element.elementor-element-49b83e0 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:40px;font-weight:900;line-height:1.2;color:#171717;}@media(min-width:768px){.elementor-59 .elementor-element.elementor-element-f44d08e{--width:100%;}.elementor-59 .elementor-element.elementor-element-5f2474e{--content-width:1200px;}.elementor-59 .elementor-element.elementor-element-9bfe4ce{--content-width:1200px;}.elementor-59 .elementor-element.elementor-element-a512aac{--width:44.914%;}.elementor-59 .elementor-element.elementor-element-966de0a{--content-width:1200px;}}@media(max-width:1024px){.elementor-59 .elementor-element.elementor-element-f44d08e{--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-59 .elementor-element.elementor-element-5f2474e{--padding-top:60px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}.elementor-59 .elementor-element.elementor-element-6409659{--padding-top:60px;--padding-bottom:60px;--padding-left:30px;--padding-right:30px;}}@media(max-width:767px){.elementor-59 .elementor-element.elementor-element-f44d08e{--padding-top:20px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-59 .elementor-element.elementor-element-42df945{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-59 .elementor-element.elementor-element-99d65f3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-59 .elementor-element.elementor-element-c002ef7{font-size:18px;}.elementor-59 .elementor-element.elementor-element-58daf75 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-59 .elementor-element.elementor-element-58daf75 .elementor-button{font-size:18px;padding:18px 40px 18px 40px;}.elementor-59 .elementor-element.elementor-element-5f2474e{--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-59 .elementor-element.elementor-element-59c2fc2 .elementor-heading-title{font-size:32px;}.elementor-59 .elementor-element.elementor-element-edfd811{font-size:16px;}.elementor-59 .elementor-element.elementor-element-9bfe4ce{--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-59 .elementor-element.elementor-element-dbec8b4{text-align:center;}.elementor-59 .elementor-element.elementor-element-dbec8b4 .elementor-heading-title{font-size:36px;}.elementor-59 .elementor-element.elementor-element-2d532e6{text-align:center;font-size:16px;}.elementor-59 .elementor-element.elementor-element-6409659{--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-59 .elementor-element.elementor-element-0290875 .elementor-heading-title{font-size:48px;}.elementor-59 .elementor-element.elementor-element-10aefd1 .elementor-heading-title{font-size:24px;}.elementor-59 .elementor-element.elementor-element-919616f{font-size:16px;}.elementor-59 .elementor-element.elementor-element-6afef5f{--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-59 .elementor-element.elementor-element-9b99cbf{margin:0px 10px calc(var(--kit-widget-spacing, 0px) + 0px) 10px;}.elementor-59 .elementor-element.elementor-element-9b99cbf .elementor-heading-title{font-size:28px;}.elementor-59 .elementor-element.elementor-element-c39b95c{margin:0px 015px calc(var(--kit-widget-spacing, 0px) + 0px) 15px;font-size:16px;}.elementor-59 .elementor-element.elementor-element-fb591bb{margin:0px 5px calc(var(--kit-widget-spacing, 0px) + 0px) 5px;}.elementor-59 .elementor-element.elementor-element-966de0a{--padding-top:60px;--padding-bottom:60px;--padding-left:20px;--padding-right:20px;}.elementor-59 .elementor-element.elementor-element-21e5de5 .elementor-heading-title{font-size:36px;}.elementor-59 .elementor-element.elementor-element-44f5653{font-size:16px;}.elementor-59 .elementor-element.elementor-element-e831f2d{--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-59 .elementor-element.elementor-element-49b83e0 .elementor-heading-title{font-size:36px;}}/* Start custom CSS for button, class: .elementor-element-58daf75 *//* ========================================
   CTA ULTRA-PREMIUM 2025 - ÉDITION NOIR
   Gradient sombre + Bordure détachée + Glow animé
   ======================================== */

/* Container avec bordure bien détachée */
.elementor-59 .elementor-element.elementor-element-58daf75 {
  position: relative;
  display: inline-block;
  padding: 2px !important; /* Espace entre bordure et bouton */
  background: transparent!important;
  border: 2.5px solid transparent;
  border-radius: 70px;
  background-image: 
    linear-gradient(#ffffff, #ffffff),
    linear-gradient(135deg, #171717 0%, #2a2a2a 50%, #171717 100%)!important;
  background-origin: padding-box, border-box!important;
  background-clip: padding-box, border-box!important;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1)!important;
  animation: borderGlow 3s ease-in-out infinite!important;
}

/* Animation bordure qui pulse */
@keyframes borderGlow {
  0%, 100% {
    box-shadow: 
      0 0 20px rgba(23, 23, 23, 0.3),
      0 0 40px rgba(23, 23, 23, 0.15);
  }
  50% {
    box-shadow: 
      0 0 30px rgba(23, 23, 23, 0.5),
      0 0 60px rgba(23, 23, 23, 0.25);
  }
}

/* Hover bordure */
.elementor-59 .elementor-element.elementor-element-58daf75:hover {
  box-shadow: 
    0 0 40px rgba(23, 23, 23, 0.6),
    0 0 80px rgba(23, 23, 23, 0.4),
    inset 0 0 20px rgba(255, 255, 255, 0.05);
  transform: scale(1.02);
}

/* Le bouton avec GRADIENT NOIR */
.elementor-59 .elementor-element.elementor-element-58daf75 a {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  
  /* GRADIENT NOIR AU LIEU DE COULEUR PLATE */
  background: linear-gradient(135deg, #171717 0%, #2a2a2a 50%, #171717 100%) !important;
  background-size: 200% 200% !important;
  
  color: #ffffff !important;
  border-radius: 60px !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  border: none !important;
  padding: 20px 45px !important;
  
  /* Ombres multicouches pour la profondeur */
  box-shadow: 
    0 4px 15px rgba(23, 23, 23, 0.4),
    0 10px 30px rgba(23, 23, 23, 0.35),
    0 20px 50px rgba(23, 23, 23, 0.25),
    inset 0 1px 2px rgba(255, 255, 255, 0.15),
    inset 0 -1px 2px rgba(0, 0, 0, 0.5) !important;
  
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow: hidden !important;
  z-index: 1;
}

/* Gradient animé au hover */
.elementor-59 .elementor-element.elementor-element-58daf75 a:hover {
  background-position: 100% 50% !important;
  background: linear-gradient(135deg, #0a0a0a 0%, #171717 50%, #0a0a0a 100%) !important;
  transform: translateY(-4px) scale(1.03) !important;
  box-shadow: 
    0 6px 20px rgba(23, 23, 23, 0.5),
    0 15px 40px rgba(23, 23, 23, 0.45),
    0 25px 60px rgba(23, 23, 23, 0.35),
    inset 0 2px 4px rgba(255, 255, 255, 0.2),
    inset 0 -2px 4px rgba(0, 0, 0, 0.4) !important;
}

/* Brillance qui traverse (plus prononcée) */
.elementor-59 .elementor-element.elementor-element-58daf75 a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 80%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.15),
    rgba(255, 255, 255, 0.25),
    rgba(255, 255, 255, 0.15),
    transparent
  );
  transform: skewX(-20deg);
  transition: left 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 2;
}

.elementor-59 .elementor-element.elementor-element-58daf75 a:hover::before {
  left: 150%;
}

/* Glow permanent subtil en haut */
.elementor-59 .elementor-element.elementor-element-58daf75 a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.12) 0%,
    transparent 100%
  );
  border-radius: 60px 60px 0 0;
  z-index: 1;
  pointer-events: none;
}

/* Effet de particules lumineuses */
.elementor-59 .elementor-element.elementor-element-58daf75 a:before:hover {
  animation: shimmer 1.5s ease-in-out;
}

@keyframes shimmer {
  0% { left: -150%; }
  100% { left: 150%; }
}

/* Clic - effet de profondeur */
.elementor-59 .elementor-element.elementor-element-58daf75 a:active {
  transform: translateY(-1px) scale(1) !important;
  box-shadow: 
    0 2px 10px rgba(23, 23, 23, 0.5),
    0 5px 20px rgba(23, 23, 23, 0.4),
    inset 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

/* Texte avec ombre subtile */
.elementor-59 .elementor-element.elementor-element-58daf75 a span {
  position: relative;
  z-index: 3;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
}

/* Icône */
.elementor-59 .elementor-element.elementor-element-58daf75 a i,
.elementor-59 .elementor-element.elementor-element-58daf75 a svg {
  position: relative;
  z-index: 3;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.4));
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media (max-width: 768px) {
  .elementor-59 .elementor-element.elementor-element-58daf75 {
    padding: 8px;
  }
  
  .elementor-59 .elementor-element.elementor-element-58daf75 a {
    padding: 17px 38px !important;
    font-size: 14px !important;
    letter-spacing: 1.5px !important;
  }
}

@media (max-width: 480px) {
  .elementor-59 .elementor-element.elementor-element-58daf75 {
    padding: 6px;
  }
  
  .elementor-59 .elementor-element.elementor-element-58daf75 a {
    padding: 15px 32px !important;
    font-size: 13px !important;
    letter-spacing: 1px !important;
  }
}

/* ========================================
   VARIANTE ENCORE PLUS PREMIUM
   Effet noir mat ultra-luxe avec bordure dorée
   (Décommentez pour un look vraiment haut de gamme)
   ======================================== */
/*
.elementor-59 .elementor-element.elementor-element-58daf75 {
  background-image: 
    linear-gradient(#ffffff, #ffffff),
    linear-gradient(135deg, #d4af37, #ffd700, #d4af37);
  background-size: padding-box, 300% 300%;
  animation: borderGradient 6s ease infinite;
}

@keyframes borderGradient {
  0%, 100% { background-position: padding-box, 0% 50%; }
  50% { background-position: padding-box, 100% 50%; }
}

.elementor-59 .elementor-element.elementor-element-58daf75 a {
  background: linear-gradient(135deg, #0a0a0a, #171717, #2a2a2a, #171717) !important;
  background-size: 300% 300% !important;
  animation: gradientShift 4s ease infinite !important;
}

@keyframes gradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
*//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f44d08e */section1 {
  position: relative;
  overflow: hidden;
}

section1::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -10%;
  width: 500px;
  height: 500px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  filter: blur(100px);
  z-index: 0;
}

section1::after {
  content: '';
  position: absolute;
  bottom: -30%;
  right: -10%;
  width: 600px;
  height: 600px;
  background: rgba(23, 23, 23, 0.2);
  border-radius: 50%;
  filter: blur(120px);
  z-index: 0;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-59c2fc2 */.elementor-59 .elementor-element.elementor-element-59c2fc2 span {
  background: linear-gradient(135deg, #3772FF 0%, #2557D6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 900;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-fb591bb *//* ========================================
   CTA ULTRA-PREMIUM 2025
   Gradient + Bordure détachée + Glow animé
   ======================================== */

/* Container avec bordure bien détachée */
.elementor-59 .elementor-element.elementor-element-fb591bb {
  position: relative;
  display: inline-block;
  margin: auto;
  padding: 2px!important; /* Plus d'espace entre bordure et bouton */
  background: transparent!important;
  border: 2.5px solid transparent!important;
  border-radius: 70px!important;
  background-image: 
    linear-gradient(#ffffff, #ffffff),
    linear-gradient(135deg, #3772FF 0%, #5B8FFF 50%, #3772FF 100%)!important;
  background-origin: padding-box, border-box!important;
  background-clip: padding-box, border-box!important;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1)!important;
  animation: borderGlow 3s ease-in-out infinite !important;
}

/* Animation bordure qui pulse */
@keyframes borderGlow {
  0%, 100% {
    box-shadow: 
      0 0 20px rgba(55, 114, 255, 0.2),
      0 0 40px rgba(55, 114, 255, 0.1);
  }
  50% {
    box-shadow: 
      0 0 30px rgba(55, 114, 255, 0.4),
      0 0 60px rgba(55, 114, 255, 0.2);
  }
}

/* Hover bordure */
.elementor-59 .elementor-element.elementor-element-fb591bb:hover {
  box-shadow: 
    0 0 40px rgba(55, 114, 255, 0.5),
    0 0 80px rgba(55, 114, 255, 0.3),
    inset 0 0 20px rgba(55, 114, 255, 0.1);
  transform: scale(1.02);
}

/* Le bouton avec GRADIENT */
.elementor-59 .elementor-element.elementor-element-fb591bb a {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  
  /* GRADIENT AU LIEU DE COULEUR PLATE */
  background: linear-gradient(135deg, #3772FF 0%, #5B8FFF 50%, #3772FF 100%) !important;
  background-size: 200% 200% !important;
  
  color: #ffffff !important;
  border-radius: 60px !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;

  border: none !important;
  padding: 20px 45px !important;
  
  /* Ombres multicouches pour la profondeur */
  box-shadow: 
    0 4px 15px rgba(55, 114, 255, 0.3),
    0 10px 30px rgba(55, 114, 255, 0.25),
    0 20px 50px rgba(55, 114, 255, 0.15),
    inset 0 1px 2px rgba(255, 255, 255, 0.3),
    inset 0 -1px 2px rgba(0, 0, 0, 0.2) !important;
  
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  overflow: hidden !important;
  z-index: 1;
}

/* Gradient animé au hover */
.elementor-59 .elementor-element.elementor-element-fb591bb a:hover {
  background-position: 100% 50% !important;
  transform: translateY(-4px) scale(1.03) !important;
  box-shadow: 
    0 6px 20px rgba(55, 114, 255, 0.4),
    0 15px 40px rgba(55, 114, 255, 0.35),
    0 25px 60px rgba(55, 114, 255, 0.25),
    inset 0 2px 4px rgba(255, 255, 255, 0.4),
    inset 0 -2px 4px rgba(0, 0, 0, 0.15) !important;
}

/* Brillance qui traverse (plus prononcée) */
.elementor-59 .elementor-element.elementor-element-fb591bb a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 80%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.6),
    rgba(255, 255, 255, 0.8),
    rgba(255, 255, 255, 0.6),
    transparent
  );
  transform: skewX(-20deg);
  transition: left 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 2;
}

.elementor-59 .elementor-element.elementor-element-fb591bb a:hover::before {
  left: 150%;
}

/* Glow permanent subtil en haut */
.elementor-59 .elementor-element.elementor-element-fb591bb a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.25) 0%,
    transparent 100%
  );
  border-radius: 60px 60px 0 0;
  z-index: 1;
  pointer-events: none;
}

/* Effet de particules lumineuses */
.elementor-59 .elementor-element.elementor-element-fb591bb a:before:hover {
  animation: shimmer 1.5s ease-in-out;
}

@keyframes shimmer {
  0% { left: -150%; }
  100% { left: 150%; }
}

/* Clic - effet de profondeur */
.elementor-59 .elementor-element.elementor-element-fb591bb a:active {
  transform: translateY(-1px) scale(1) !important;
  box-shadow: 
    0 2px 10px rgba(55, 114, 255, 0.4),
    0 5px 20px rgba(55, 114, 255, 0.3),
    inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

/* Texte avec ombre subtile */
.elementor-59 .elementor-element.elementor-element-fb591bb a span {
  position: relative;
  z-index: 3;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.1));
}

/* Icône */
.elementor-59 .elementor-element.elementor-element-fb591bb a i,
.elementor-59 .elementor-element.elementor-element-fb591bb a svg {
  position: relative;
  z-index: 3;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media (max-width: 768px) {
  .elementor-59 .elementor-element.elementor-element-fb591bb {
    padding: 8px;
  }
  
  .elementor-59 .elementor-element.elementor-element-fb591bb a {
    padding: 17px 38px !important;
    font-size: 14px !important;
    letter-spacing: 1.5px !important;
  }
}

@media (max-width: 480px) {
  .elementor-59 .elementor-element.elementor-element-fb591bb {
    padding: 6px;
  }
  
  .elementor-59 .elementor-element.elementor-element-fb591bb a {
    padding: 15px 32px !important;
    font-size: 13px !important;
    letter-spacing: 1px !important;
  }
}

/* ========================================
   VARIANTE ENCORE PLUS PREMIUM
   (Décommentez pour effet ultra-luxe)
   ======================================== */
/*
.elementor-59 .elementor-element.elementor-element-fb591bb {
  background-image: 
    linear-gradient(#ffffff, #ffffff),
    linear-gradient(135deg, #3772FF, #7B2FFF, #FF2F7B, #3772FF);
  background-size: padding-box, 300% 300%;
  animation: borderGradient 6s ease infinite;
}

@keyframes borderGradient {
  0%, 100% { background-position: padding-box, 0% 50%; }
  50% { background-position: padding-box, 100% 50%; }
}

.elementor-59 .elementor-element.elementor-element-fb591bb a {
  background: linear-gradient(135deg, #3772FF, #5B8FFF, #7B9FFF, #3772FF) !important;
  background-size: 300% 300% !important;
  animation: gradientShift 4s ease infinite !important;
}

@keyframes gradientShift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
*//* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-21e5de5 */.elementor-59 .elementor-element.elementor-element-21e5de5 {
  color: white;
}

.elementor-59 .elementor-element.elementor-element-21e5de5 span {
  color: #3772FF;
}/* End custom CSS */