.elementor-1364 .elementor-element.elementor-element-dc13009{--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:space-between;--align-items:stretch;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:0px;--margin-bottom:-135px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:9999;}.elementor-1364 .elementor-element.elementor-element-dc13009.e-con{--align-self:stretch;}.elementor-1364 .elementor-element.elementor-element-9f05829{--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:space-evenly;--align-items:stretch;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1364 .elementor-element.elementor-element-9f05829.e-con{--align-self:stretch;}.elementor-1364 .elementor-element.elementor-element-8e45712{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-1364 .elementor-element.elementor-element-991d1c2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:start;}.elementor-1364 .elementor-element.elementor-element-991d1c2 img{width:100%;max-width:100%;}.elementor-1364 .elementor-element.elementor-element-2b99ab9{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1364 .elementor-element.elementor-element-2b99ab9.e-con{--flex-grow:0;--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-1364 .elementor-element.elementor-element-d31e091{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1364 .elementor-element.elementor-element-d31e091 .elementor-menu-toggle{margin:0 auto;}.elementor-1364 .elementor-element.elementor-element-d31e091 .elementor-nav-menu .elementor-item{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:500;letter-spacing:0.5px;}.elementor-1364 .elementor-element.elementor-element-d31e091 .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;}.elementor-1364 .elementor-element.elementor-element-d31e091 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-1364 .elementor-element.elementor-element-d31e091 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-1364 .elementor-element.elementor-element-d31e091 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-1364 .elementor-element.elementor-element-d31e091 .elementor-nav-menu--main .elementor-item:focus{color:#5216F8F2;fill:#5216F8F2;}.elementor-1364 .elementor-element.elementor-element-d31e091 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-1364 .elementor-element.elementor-element-d31e091 .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#5216F800;}.elementor-1364 .elementor-element.elementor-element-d31e091 .e--pointer-framed .elementor-item:before,
					.elementor-1364 .elementor-element.elementor-element-d31e091 .e--pointer-framed .elementor-item:after{border-color:#5216F800;}.elementor-1364 .elementor-element.elementor-element-d31e091 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#2489FCF2;}.elementor-1364 .elementor-element.elementor-element-d31e091 .e--pointer-framed .elementor-item:before{border-width:0px;}.elementor-1364 .elementor-element.elementor-element-d31e091 .e--pointer-framed.e--animation-draw .elementor-item:before{border-width:0 0 0px 0px;}.elementor-1364 .elementor-element.elementor-element-d31e091 .e--pointer-framed.e--animation-draw .elementor-item:after{border-width:0px 0px 0 0;}.elementor-1364 .elementor-element.elementor-element-d31e091 .e--pointer-framed.e--animation-corners .elementor-item:before{border-width:0px 0 0 0px;}.elementor-1364 .elementor-element.elementor-element-d31e091 .e--pointer-framed.e--animation-corners .elementor-item:after{border-width:0 0px 0px 0;}.elementor-1364 .elementor-element.elementor-element-d31e091 .e--pointer-underline .elementor-item:after,
					 .elementor-1364 .elementor-element.elementor-element-d31e091 .e--pointer-overline .elementor-item:before,
					 .elementor-1364 .elementor-element.elementor-element-d31e091 .e--pointer-double-line .elementor-item:before,
					 .elementor-1364 .elementor-element.elementor-element-d31e091 .e--pointer-double-line .elementor-item:after{height:0px;}.elementor-1364 .elementor-element.elementor-element-24ef8b8{--display:flex;--justify-content:flex-end;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1364 .elementor-element.elementor-element-24ef8b8.e-con{--align-self:flex-end;--order:99999 /* order end hack */;}.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-1364 .elementor-element.elementor-element-ee3dc06 .elementor-button{background-color:#4F9659;font-family:"Poppins", Sans-serif;font-size:15px;font-weight:400;}.elementor-1364 .elementor-element.elementor-element-ee3dc06{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1364 .elementor-element.elementor-element-ee3dc06.elementor-element{--align-self:flex-end;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-1364 .elementor-element.elementor-element-dc13009{--width:1600px;}.elementor-1364 .elementor-element.elementor-element-9f05829{--width:1600px;}.elementor-1364 .elementor-element.elementor-element-8e45712{--width:35%;}.elementor-1364 .elementor-element.elementor-element-2b99ab9{--width:60.164%;}.elementor-1364 .elementor-element.elementor-element-24ef8b8{--width:50%;}}/* Start custom CSS for button, class: .elementor-element-ee3dc06 *//* =========================================================
   HEADER CTA (GRADIENT) — add class: hl-header-cta
   Arrow: down -> down-left -> left on hover
========================================================= */

/* Push to the right (works if parent row is flex) */
.elementor .hl-header-cta{ margin-left: auto !important; }

/* Target: class on button OR on widget/container */
.elementor .elementor-button.hl-header-cta,
.elementor .hl-header-cta .elementor-button{
  --r: 999px;

  /* ✅ gradient tokens (change these only) */
  --g1:#3A1C74;
  --g2:#5A23E6;
  --g3:#00E0FF;

  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  padding: 10px 16px !important;
  border-radius: var(--r) !important;

  /* ✅ gradient fill */
  background: linear-gradient(90deg, var(--g1) 0%, var(--g2) 55%, var(--g3) 100%) !important;
  border: 1px solid rgba(255,255,255,.14) !important;

  color: #fff !important;
  text-decoration: none !important;

  box-shadow:
    0 14px 34px rgba(0,0,0,.28),
    0 0 0 1px rgba(0,224,255,.10) !important;

  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
  overflow: hidden !important;
}

.elementor .elementor-button.hl-header-cta:hover,
.elementor .hl-header-cta .elementor-button:hover{
  transform: translateY(-1px) !important;
  filter: brightness(1.05) !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.34),
    0 0 22px rgba(0,224,255,.18) !important;
}

/* Ensure wrapper is inline-flex */
.elementor .elementor-button.hl-header-cta .elementor-button-content-wrapper,
.elementor .hl-header-cta .elementor-button .elementor-button-content-wrapper{
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Arrow bubble (default = DOWN) */
.elementor .elementor-button.hl-header-cta .elementor-button-content-wrapper::after,
.elementor .hl-header-cta .elementor-button .elementor-button-content-wrapper::after{
  content: "→" !important;   /* rotated */
  width: 26px !important;
  height: 26px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  /* subtle glass bubble */
  background: rgba(0,0,0,.14) !important;
  border: 1px solid rgba(255,255,255,.22) !important;

  line-height: 1 !important;
  transform: rotate(90deg); /* → becomes ↓ */
  transform-origin: 50% 50% !important;

  box-shadow: 0 0 18px rgba(0,224,255,.16) !important;
  transition: background .18s ease, border-color .18s ease, transform .18s ease !important;
}

/* Hover: animate down -> down-left -> left */
.elementor .elementor-button.hl-header-cta:hover .elementor-button-content-wrapper::after,
.elementor .hl-header-cta .elementor-button:hover .elementor-button-content-wrapper::after{
  animation: hlArrowTurn .28s ease both !important;
  background: rgba(0,0,0,.20) !important;
  border-color: rgba(255,255,255,.34) !important;
}

@keyframes hlArrowTurn{
  0%   { transform: rotate(90deg); }   /* ↓ */
  55%  { transform: rotate(135deg); }  /* ↙ */
  100% { transform: rotate(180deg); }  /* ← */
}
/* ===== HL HEADER CTA — THINNER OVERRIDE ===== */
.elementor .elementor-button.hl-header-cta,
.elementor .hl-header-cta .elementor-button{
  padding: 8px 14px !important;   /* ↓ hauteur */
}

.elementor .elementor-button.hl-header-cta .elementor-button-content-wrapper,
.elementor .hl-header-cta .elementor-button .elementor-button-content-wrapper{
  gap: 8px !important;
}

/* badge flèche un peu plus petit */
.elementor .elementor-button.hl-header-cta .elementor-button-content-wrapper::after,
.elementor .hl-header-cta .elementor-button .elementor-button-content-wrapper::after{
  width: 22px !important;
  height: 22px !important;
  font-size: 11px !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dc13009 *//* =========================================================
   HARPEN — HEADER OVER HERO + PILL NAV ON SCROLL (CLEAN)
   Classes:
   - Header wrapper:   hl-header (Sticky Top + Effects Offset in Elementor)
   - Inner bar:        hl-header-bar
   - Logo image:       hl-logo
   - Menu widget:      hl-pillnav
   - CTA button:       hl-header-cta
   - HERO section:     relative   (déjà chez toi)
========================================================= */

/* 0) Safety: avoid sticky being clipped by parents */
.elementor-section, .e-con, .e-con-inner { overflow: visible; }

/* 1) HEADER overlay (intégré visuellement au hero) */
.elementor .hl-header{
  --barW: min(1180px, 92vw);
  --barR: 9999px;

  --padY: 16px;
  --barPadY: 10px;
  --barPadX: 16px;

  --pillPadY: 8px;
  --pillPadX: 12px;

  --glassBg: rgba(10, 12, 18, .58);
  --glassBd: rgba(255,255,255,.14);

  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 9999 !important;

  padding: var(--padY) 0;
}

/* 2) HERO: laisse la place au header (utilise ta classe "relative") */
.elementor .relative{
  padding-top: calc(56px + (2 * var(--padY))); /* ajuste si besoin */
}
@media (max-width: 767px){
  .elementor .relative{ padding-top: 92px; }
}

/* 3) BAR — état normal: transparent (donc header "dans" le hero) */
.elementor .hl-header-bar{
  width: var(--barW);
  margin: 0 auto;

  border-radius: var(--barR);
  padding: var(--barPadY) var(--barPadX);

  background: transparent;
  border: 1px solid transparent;
  box-shadow: none;

  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease, padding .22s ease;
}

/* Aligne logo/menu/cta proprement même si Elementor est capricieux */
.elementor .hl-header-bar > .e-con-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* 4) LOGO */
.elementor .hl-logo img{
  height: 32px !important;      /* ajuste 28–36 */
  width: auto !important;
  display: block;
}

/* 5) MENU — normal: pas pills */
.elementor .hl-pillnav .elementor-nav-menu{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.elementor .hl-pillnav .elementor-item{
  border-radius: 9999px !important;
  padding: 6px 8px !important;

  background: transparent !important;
  border: 1px solid transparent !important;

  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.elementor .hl-pillnav .elementor-item:hover{
  background: rgba(255,255,255,.06) !important;
}

/* actif normal: underline discret */
.elementor .hl-pillnav .elementor-item.elementor-item-active{
  box-shadow: inset 0 -2px 0 rgba(0,224,255,.55);
}

/* 6) CTA — gradient + flèche */
.elementor .hl-header-cta{ margin-left: auto !important; }

.elementor .elementor-button.hl-header-cta,
.elementor .hl-header-cta .elementor-button{
  --g1:#3A1C74;
  --g2:#5A23E6;
  --g3:#00E0FF;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;

  padding: 8px 14px !important;
  border-radius: 9999px !important;

  background: linear-gradient(90deg, var(--g1) 0%, var(--g2) 55%, var(--g3) 100%) !important;
  border: 1px solid rgba(255,255,255,.14) !important;

  color: #fff !important;
  text-decoration: none !important;

  box-shadow: 0 14px 34px rgba(0,0,0,.28) !important;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease !important;

  overflow: hidden !important;
}

.elementor .elementor-button.hl-header-cta:hover,
.elementor .hl-header-cta .elementor-button:hover{
  transform: translateY(-1px) !important;
  filter: brightness(1.05) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.34) !important;
}

.elementor .elementor-button.hl-header-cta .elementor-button-content-wrapper,
.elementor .hl-header-cta .elementor-button .elementor-button-content-wrapper{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.elementor .elementor-button.hl-header-cta .elementor-button-content-wrapper::after,
.elementor .hl-header-cta .elementor-button .elementor-button-content-wrapper::after{
  content: "→" !important;
  width: 20px !important;
  height: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  background: rgba(0,0,0,.14) !important;
  border: 1px solid rgba(255,255,255,.22) !important;

  line-height: 1 !important;
  font-size: 10px !important;

  transform: rotate(90deg); /* ↓ */
  transform-origin: 50% 50% !important;

  transition: background .18s ease, border-color .18s ease, transform .18s ease !important;
}

.elementor .elementor-button.hl-header-cta:hover .elementor-button-content-wrapper::after,
.elementor .hl-header-cta .elementor-button:hover .elementor-button-content-wrapper::after{
  animation: hlArrowTurn .28s ease both !important;
  background: rgba(0,0,0,.20) !important;
  border-color: rgba(255,255,255,.34) !important;
}

@keyframes hlArrowTurn{
  0%   { transform: rotate(90deg); }   /* ↓ */
  55%  { transform: rotate(135deg); }  /* ↙ */
  100% { transform: rotate(180deg); }  /* ← */
}

/* =========================================================
   7) PILLS uniquement après scroll
   Elementor ajoute .elementor-sticky--effects après Effects Offset
========================================================= */
.elementor .hl-header.elementor-sticky--effects .hl-header-bar{
  background: var(--glassBg);
  border-color: var(--glassBd);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  box-shadow:
    0 18px 55px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,255,255,.06);

  transform: translateY(6px);
}

.elementor .hl-header.elementor-sticky--effects .hl-pillnav .elementor-item{
  padding: var(--pillPadY) var(--pillPadX) !important;
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.12) !important;
}

.elementor .hl-header.elementor-sticky--effects .hl-pillnav .elementor-item:hover{
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.18) !important;
  transform: translateY(-1px);
}

.elementor .hl-header.elementor-sticky--effects .hl-pillnav .elementor-item.elementor-item-active{
  box-shadow: none;
  background: rgba(0,224,255,.10) !important;
  border-color: rgba(0,224,255,.30) !important;
}
/* ===== HEADER BAR: center menu perfectly (GRID) ===== */
.elementor .hl-header{
  --barW: min(1250px, 92vw); /* ton 1250px mais responsive */
}

.elementor .hl-header-bar{
  width: var(--barW) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* remplace le flex/space-between par une grille */
.elementor .hl-header-bar > .e-con-inner{
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important; /* left / center / right */
  align-items: center !important;
  column-gap: 16px !important;
}

/* 1er bloc (logo) à gauche */
.elementor .hl-header-bar > .e-con-inner > :nth-child(1){
  justify-self: start !important;
}

/* 2e bloc (menu) centré */
.elementor .hl-header-bar > .e-con-inner > :nth-child(2){
  justify-self: center !important;
}

/* 3e bloc (CTA) à droite */
.elementor .hl-header-bar > .e-con-inner > :nth-child(3){
  justify-self: end !important;
}

/* ton margin-left:auto sur le CTA devient inutile -> on neutralise */
.elementor .hl-header-cta{
  margin-left: 0 !important;
}

/* ===== LOGO: agrandir vraiment ===== */
.elementor .hl-logo img{
  height: 42px !important;      /* ajuste 38–48 */
  width: auto !important;
  max-width: none !important;
  display: block;
}
/* ===== LOGO FIX ===== */
.elementor .hl-logo{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  line-height: 0;
}

/* force une vraie taille + neutralise les limites Elementor */
.elementor .hl-logo img{
  height: 46px !important;     /* ajuste 40–54 */
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
  display:block !important;

  /* option: si ton PNG a trop de marge transparente, ça “compense” un peu */
  transform: scale(2.50);
  transform-origin: left center;
}/* End custom CSS */