.elementor-321 .elementor-element.elementor-element-7f8d233{--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-321 .elementor-element.elementor-element-5ae02ac{--display:flex;--min-height:88px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#E7ECF5;--border-color:#E7ECF5;--z-index:9999;}.elementor-321 .elementor-element.elementor-element-5ae02ac:not(.elementor-motion-effects-element-type-background), .elementor-321 .elementor-element.elementor-element-5ae02ac > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFFDB;}.elementor-321 .elementor-element.elementor-element-bc31610{--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;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-321 .elementor-element.elementor-element-cb237e6{padding:0px 0px 0px 032px;text-align:center;}.elementor-321 .elementor-element.elementor-element-cb237e6 img{width:60%;max-width:100%;height:100px;}.elementor-321 .elementor-element.elementor-element-07e237c{--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;--justify-content:center;--align-items:center;}.elementor-321 .elementor-element.elementor-element-07e237c.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-321 .elementor-element.elementor-element-71807d9.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-321 .elementor-element.elementor-element-71807d9 .elementor-nav-menu .elementor-item{font-family:"Inter", Sans-serif;font-size:14px;font-weight:500;word-spacing:0.01em;}.elementor-321 .elementor-element.elementor-element-71807d9 .elementor-nav-menu--main .elementor-item{color:#0B1220;fill:#0B1220;}.elementor-321 .elementor-element.elementor-element-71807d9{--e-nav-menu-horizontal-menu-item-margin:calc( 28px / 2 );}.elementor-321 .elementor-element.elementor-element-71807d9 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:28px;}.elementor-321 .elementor-element.elementor-element-1906994{--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;}.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-321 .elementor-element.elementor-element-3e7e7c1 .elementor-button{background-color:transparent;font-family:"Inter", Sans-serif;font-size:14px;font-weight:600;fill:#FFFFFF;color:#FFFFFF;background-image:linear-gradient(90deg, #7426F5 0%, #9E63FF 100%);box-shadow:0px 10px 24px 0px rgba(115.99999999999999, 37.99999999999999, 245, 0.2);border-radius:999px 999px 999px 999px;}.elementor-321 .elementor-element.elementor-element-3e7e7c1{padding:0px 020px 0px 0px;}.elementor-321 .elementor-element.elementor-element-cfd8895{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:-20px;--margin-left:0px;--margin-right:0px;}.elementor-321 .elementor-element.elementor-element-9f8077b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-321 .elementor-element.elementor-element-9f8077b:not(.elementor-motion-effects-element-type-background), .elementor-321 .elementor-element.elementor-element-9f8077b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-321 .elementor-element.elementor-element-e228a5e{--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-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-321 .elementor-element.elementor-element-f5029f6 img{width:100%;max-width:70%;height:60px;}.elementor-321 .elementor-element.elementor-element-b0776d5{--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-321 .elementor-element.elementor-element-4a311cb .elementor-menu-toggle{margin:0 auto;}.elementor-321 .elementor-element.elementor-element-8dc619b{--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-321 .elementor-element.elementor-element-693237e .elementor-button{background-color:transparent;font-family:"Inter", Sans-serif;font-size:12px;font-weight:600;fill:#FFFFFF;color:#FFFFFF;background-image:linear-gradient(90deg, #7426F5 0%, #9E63FF 100%);box-shadow:0px 10px 24px 0px rgba(115.99999999999999, 37.99999999999999, 245, 0.2);border-radius:999px 999px 999px 999px;}.elementor-321 .elementor-element.elementor-element-693237e{padding:0px 020px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-321 .elementor-element.elementor-element-cb237e6{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-321 .elementor-element.elementor-element-71807d9{width:var( --container-widget-width, 304.031px );max-width:304.031px;--container-widget-width:304.031px;--container-widget-flex-grow:0;}.elementor-321 .elementor-element.elementor-element-3e7e7c1{padding:0px 0px 0px 0px;}.elementor-321 .elementor-element.elementor-element-693237e{padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-321 .elementor-element.elementor-element-5ae02ac{--content-width:1200px;}.elementor-321 .elementor-element.elementor-element-bc31610{--width:20%;}.elementor-321 .elementor-element.elementor-element-07e237c{--width:60%;}.elementor-321 .elementor-element.elementor-element-1906994{--width:20%;}.elementor-321 .elementor-element.elementor-element-9f8077b{--content-width:400px;}.elementor-321 .elementor-element.elementor-element-e228a5e{--width:25%;}.elementor-321 .elementor-element.elementor-element-b0776d5{--width:50%;}.elementor-321 .elementor-element.elementor-element-8dc619b{--width:25%;}}/* Start custom CSS for nav-menu, class: .elementor-element-71807d9 */.elementor-321 .elementor-element.elementor-element-71807d9 .elementor-item{
  position:relative; padding:6px 2px;
  color:#0B1220; font-weight:500; letter-spacing:.01em;
  text-decoration:none; transition:color .2s ease;
}
.elementor-321 .elementor-element.elementor-element-71807d9 .elementor-item:after{
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px;
  background:linear-gradient(90deg,#7426F5,#9E63FF);
  transform:scaleX(0); transform-origin:left; transition:transform .18s ease;
}
.elementor-321 .elementor-element.elementor-element-71807d9 .elementor-item:hover:after,
.elementor-321 .elementor-element.elementor-element-71807d9 .elementor-item.elementor-item-active:after,
.elementor-321 .elementor-element.elementor-element-71807d9 .elementor-item[aria-current="page"]:after{ transform:scaleX(1); }
.elementor-321 .elementor-element.elementor-element-71807d9 .elementor-item:focus-visible{ outline:2px solid #C9D6FF; outline-offset:3px; border-radius:6px; }
.elementor-321 .elementor-element.elementor-element-71807d9{ flex-grow:1; flex-shrink:1; min-width:0; }/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-3e7e7c1 *//* ================================
   BOUTON HEADER – VERSION PROPRE
   (Elementor : supprime carré blanc / overlay / doublons)
   ================================ */

:root{
  --tj-violet: #7426F5;
  --tj-violet2:#8D54F7;
  --tj-ring: rgba(116,38,245,.30);
  --tj-shadow: rgba(116,38,245,.30);
}

/* 1) Wrapper Elementor : aucun fond/contour/ombre au survol */
.elementor-widget-button,
.elementor-button-wrapper{
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 9999px;       /* si un fond subsistait, il sera arrondi */
}

/* Evite qu'un :hover de wrapper repeigne un fond carré */
.elementor-widget-button:hover,
.elementor-button-wrapper:hover{
  background: transparent !important;
  box-shadow: none !important;
}

/* 2) Le <a> du bouton : une seule source de vérité */
.elementor-widget-button a.elementor-button,
.elementor-button-wrapper a.elementor-button,
a.elementor-button{
  position: relative;
  display: inline-flex;
  align-items: center; justify-content: center;
  gap: 8px;

  padding: 14px 22px;
  border: 0 !important;
  outline: 0;
  border-radius: 9999px;
  text-decoration: none;

  color: #fff !important;
  background: linear-gradient(180deg, var(--tj-violet2), var(--tj-violet)) !important;
  background-color: transparent !important;     /* neutralise fonds forcés */
  background-clip: padding-box;
  -webkit-appearance: none; appearance: none;

  box-shadow: 0 14px 28px var(--tj-shadow);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  overflow: hidden;                              /* clippe tout overlay résiduel */
  isolation: isolate;                            /* cloisonne les effets */
}

/* 3) Supprimer TOUT overlay/pseudo-élément ajouté par thème/Elementor */
.elementor-widget-button a.elementor-button::before,
.elementor-widget-button a.elementor-button::after,
.elementor-button-wrapper a.elementor-button::before,
.elementor-button-wrapper a.elementor-button::after,
a.elementor-button::before,
a.elementor-button::after{
  content: none !important;
}

/* 4) États : un seul effet propre */
.elementor-widget-button a.elementor-button:hover,
.elementor-button-wrapper a.elementor-button:hover,
a.elementor-button:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 36px rgba(116,38,245,.36);
  filter: brightness(1.02);
  background: linear-gradient(180deg, var(--tj-violet2), var(--tj-violet)) !important;
  background-color: transparent !important;      /* anti carré blanc au hover */
}

/* Focus accessible, sans doublon de bordure */
.elementor-widget-button a.elementor-button:focus{ outline: 0; }
.elementor-widget-button a.elementor-button:focus-visible,
.elementor-button-wrapper a.elementor-button:focus-visible,
a.elementor-button:focus-visible{
  outline: 3px solid var(--tj-ring);
  outline-offset: 2px;
}

/* 5) Dernières protections contre styles globaux agressifs */
.elementor-widget-button a:hover,
.elementor-button-wrapper a:hover{
  background-color: transparent !important;
  box-shadow: none; /* le vrai shadow est sur a.elementor-button */
}

/* Si un thème applique un border/outline directement sur .elementor-button */
.elementor-button{
  border: 0 !important;
  outline: 0 !important;
}

/* Option : forcer la typo si besoin
.elementor-button .elementor-button-text{ font-weight: 700; font-family: Inter, system-ui, sans-serif; }
*//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5ae02ac */.elementor-321 .elementor-element.elementor-element-5ae02ac{
  position:fixed; top:0; left:0; right:0;
  backdrop-filter:saturate(140%) blur(8px);
  -webkit-backdrop-filter:saturate(140%) blur(8px);
  transition:background .25s ease, box-shadow .25s ease;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-693237e *//* ================================
   BOUTON HEADER – VERSION PROPRE
   (Elementor : supprime carré blanc / overlay / doublons)
   ================================ */

:root{
  --tj-violet: #7426F5;
  --tj-violet2:#8D54F7;
  --tj-ring: rgba(116,38,245,.30);
  --tj-shadow: rgba(116,38,245,.30);
}

/* 1) Wrapper Elementor : aucun fond/contour/ombre au survol */
.elementor-widget-button,
.elementor-button-wrapper{
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  border-radius: 9999px;       /* si un fond subsistait, il sera arrondi */
}

/* Evite qu'un :hover de wrapper repeigne un fond carré */
.elementor-widget-button:hover,
.elementor-button-wrapper:hover{
  background: transparent !important;
  box-shadow: none !important;
}

/* 2) Le <a> du bouton : une seule source de vérité */
.elementor-widget-button a.elementor-button,
.elementor-button-wrapper a.elementor-button,
a.elementor-button{
  position: relative;
  display: inline-flex;
  align-items: center; justify-content: center;
  gap: 8px;

  padding: 14px 22px;
  border: 0 !important;
  outline: 0;
  border-radius: 9999px;
  text-decoration: none;

  color: #fff !important;
  background: linear-gradient(180deg, var(--tj-violet2), var(--tj-violet)) !important;
  background-color: transparent !important;     /* neutralise fonds forcés */
  background-clip: padding-box;
  -webkit-appearance: none; appearance: none;

  box-shadow: 0 14px 28px var(--tj-shadow);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  overflow: hidden;                              /* clippe tout overlay résiduel */
  isolation: isolate;                            /* cloisonne les effets */
}

/* 3) Supprimer TOUT overlay/pseudo-élément ajouté par thème/Elementor */
.elementor-widget-button a.elementor-button::before,
.elementor-widget-button a.elementor-button::after,
.elementor-button-wrapper a.elementor-button::before,
.elementor-button-wrapper a.elementor-button::after,
a.elementor-button::before,
a.elementor-button::after{
  content: none !important;
}

/* 4) États : un seul effet propre */
.elementor-widget-button a.elementor-button:hover,
.elementor-button-wrapper a.elementor-button:hover,
a.elementor-button:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 36px rgba(116,38,245,.36);
  filter: brightness(1.02);
  background: linear-gradient(180deg, var(--tj-violet2), var(--tj-violet)) !important;
  background-color: transparent !important;      /* anti carré blanc au hover */
}

/* Focus accessible, sans doublon de bordure */
.elementor-widget-button a.elementor-button:focus{ outline: 0; }
.elementor-widget-button a.elementor-button:focus-visible,
.elementor-button-wrapper a.elementor-button:focus-visible,
a.elementor-button:focus-visible{
  outline: 3px solid var(--tj-ring);
  outline-offset: 2px;
}

/* 5) Dernières protections contre styles globaux agressifs */
.elementor-widget-button a:hover,
.elementor-button-wrapper a:hover{
  background-color: transparent !important;
  box-shadow: none; /* le vrai shadow est sur a.elementor-button */
}

/* Si un thème applique un border/outline directement sur .elementor-button */
.elementor-button{
  border: 0 !important;
  outline: 0 !important;
}

/* Option : forcer la typo si besoin
.elementor-button .elementor-button-text{ font-weight: 700; font-family: Inter, system-ui, sans-serif; }
*//* End custom CSS */
/* Start custom CSS */.tj-header{
  background:#FFFFFF; /* blanc pur */
  backdrop-filter:saturate(140%) blur(8px);
  -webkit-backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid #E7ECF5;
}

/* État au scroll (plein blanc + ombre) */
.tj-header.is-scrolled{
  background: #fff;
  border-bottom: 1px solid #E7ECF5;
  box-shadow: 0 8px 30px rgba(18,28,45,.08);
}
/* tout en haut (avant scroll) : un poil plus opaque */
.tj-header{
  background: rgba(255,255,255,.92);  /* avant : .86 */
}
/* si une bande subsiste, passe à .96 */
.tj-header{
  transition: background .25s ease, box-shadow .25s ease, border-color .25s ease, height .2s ease;
}/* End custom CSS */