.elementor-kit-5{--e-global-color-primary:#154670;--e-global-color-secondary:#434343;--e-global-color-text:#434343;--e-global-color-accent:#154670;--e-global-color-09c1914:#000000;--e-global-color-8dd0427:#FFFFFF;--e-global-color-09400f1:#00000000;--e-global-color-ccf5c59:#1E7FD4;--e-global-color-ec5f0bd:#96A8C2;--e-global-color-5c0d125:#71B5F0;--e-global-color-5f5982e:#0B3669;--e-global-color-e62bf1b:#00E5FF;--e-global-color-867c4e7:#E94560;--e-global-color-4b4d6be:#155BA6;--e-global-color-0450838:#083865;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Lato";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:700;--e-global-typography-5ec5c57-font-family:"Montserrat";--e-global-typography-5ec5c57-font-size:1.6rem;--e-global-typography-5ec5c57-font-weight:700;--e-global-typography-523af5a-font-family:"Lato";--e-global-typography-523af5a-font-size:0.9em;--e-global-typography-523af5a-font-weight:400;background-color:var( --e-global-color-5f5982e );}.elementor-kit-5 e-page-transition{background-color:var( --e-global-color-primary );}.elementor-kit-5 a{color:var( --e-global-color-ccf5c59 );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{border-radius:500px 500px 500px 500px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */html {
    
}

body {
    overflow-x: hidden;
    cursor: none !important;
}

/* Charge Font Awesome 5 depuis le CDN officiel */
@import url("https://use.fontawesome.com/releases/v5.15.4/css/all.css");

/* Force l'application de Font Awesome aux icônes */
.fa,
.fas,
.far,
.fab,
.fal,
.fad,
i[class*="fa-"] {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    line-height: 1 !important;
    display: inline-block !important;
}

.fab {
    font-family: "Font Awesome 5 Brands" !important;
    font-weight: 400 !important;
}

/* Glyphes de secours (au cas où le CDN serait bloqué) */
.fa-search::before { content: "\f002" !important; }
.fa-times::before  { content: "\f00d" !important; }
.fa-bars::before   { content: "\f0c9" !important; }


  /* ─── BOUTON ─────────────────────────────────────────────── */

    /* Animation de rotation du dégradé conique */
    @keyframes spin-border {
      to { --angle: 360deg; }
    }

    /* Shimmer du texte au survol */
    /* @keyframes shimmer-text {
      0%   { background-position: -200% center; }
      100% { background-position: 200% center; }
    } */

    /* Pulsation de la lueur */
    @keyframes glow-pulse {
      0%, 100% { opacity: 0.7; transform: scale(1); }
      50%       { opacity: 1;   transform: scale(1.06); }
    }

    @property --angle {
      syntax: '<angle>';
      initial-value: 0deg;
      inherits: false;
    }

    .btn-wrap {
      position: relative;
      display: inline-flex;
      border-radius: 100px;
      /* Couche dégradé en arrière-plan — servira de "bordure" */
      padding: 1.5px;
      background: conic-gradient(
        from var(--angle),
        #1A6FB9,
        #00E5FF,
        #1A6FB9
      );
      animation: spin-border 3s linear infinite;
      cursor: pointer;
      transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
      
      isolation: isolate; /* contient le z-index:-1 proprement */
    }

    /* Lueur portée, invisible au repos */
    .btn-wrap::before {
      content: '';
      position: absolute;
      inset: -6px;
      border-radius: 100px;
      background: conic-gradient(
        from var(--angle),
        #1A6FB9,
        #00E5FF,
        #1A6FB9
      );
      filter: blur(18px);
      opacity: 0.75;
      transition: opacity 0.4s ease;
      z-index: -1;
      animation: spin-border 3s linear infinite;

      /* Promotion GPU pour stabiliser le rendu du filter */
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      will-change: transform, filter;
    }

    .btn-wrap:hover::before {
      opacity: 1;
      animation: spin-border 3s linear infinite/* , glow-pulse 1.8s ease-in-out infinite*/; 
    }

    .btn-wrap:hover {
      transform: translateY(-3px) scale(1.03);
    }

    .btn-wrap:active {
      transform: translateY(0) scale(0.97);
    }

    /* Bouton intérieur */
    .cta {
      position: relative;
      display: inline-flex;
      align-items: center;
      gap: 0.65rem;
      padding: 1.2rem 2.2rem;
      border-radius: 100px;
      background: rgba(9, 44, 86, 0.82);
      color: #fff;
      font-family: inherit;
      font-size: 1.2rem;
      font-weight: 500;
      text-decoration: none;
      letter-spacing: 0.01em;
      backdrop-filter: blur(12px);
      overflow: hidden;
      white-space: nowrap;
      transition: background 0.3s ease;
    }

    /* Reflet interne lumineux animé */
    .cta::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 100px;
      background: linear-gradient(
        105deg,
        transparent 30%,
        rgba(255,255,255,0.08) 50%,
        transparent 70%
      );
      background-size: 200% 100%;
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .btn-wrap:hover .cta {
      background: rgba(9, 44, 86, 0.72);
    }

    .btn-wrap:hover .cta::after {
      opacity: 1;
      animation: shimmer-text 1.6s linear infinite;
    }

    /* Texte avec shimmer au survol */
    .cta-label {
      position: relative;
      background: #fff;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      transition: background 0.3s;
      font-weight: var(--e-global-typography-accent-font-weight);
      font-family: var(--e-global-typography-accent-font-family), Sans-serif;;
    }

    .btn-wrap:hover .cta-label {
      /* background: linear-gradient(90deg, #fff 0%, #38bdf8 25%, #818cf8 50%, #f472b6 75%, #fff 100%); */
      background-size: 200% auto;
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      animation: shimmer-text 2s linear infinite;
    }

    /* Flèche */
    .cta-arrow {
      display: flex;
      align-items: center;
      transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
    }

    .btn-wrap:hover .cta-arrow {
      transform: translateX(5px);
      fill: red;
      color: white;
    }

    .cta svg { width: 16px; height: 16px; }
    
    
/** Table **/
table > thead > tr {
        background: linear-gradient(150deg, rgba(17, 62, 99, 1) 0%, rgba(30, 127, 212, 1) 100%) !important;
}

table > thead > tr > th {
    border-top: none !important;
    border-bottom: none !important;
    border-color: rgba(255,255,255,0.3) !important;
}

table > thead > tr > th:first-child {
    border-left: none;
}

table > thead > tr > th:last-child {
    border-right: none;
}

table > tbody > tr > td {
    border-bottom: none !important;
    border-top: none !important;
    border-color: rgba(0,0,0,0.15) !important;
}

table > tbody > tr > td:first-child {
     border-left: none;
}

table > tbody > tr:first-child > td {
     border-top: none !important;
}

table > tbody > tr > td:last-child {
     border-right:none;
}

table > tbody > tr:nth-child(odd) > td {
    background-color: white;
}

/* Fix : la page de résultats Relevanssi reste cachée à cause d'une erreur JS d'Elementor Pro */
.search-results .elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
}/* End custom CSS */