.elementor-17 .elementor-element.elementor-element-b18d761{--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;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--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-17 .elementor-element.elementor-element-8297444{--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-17 .elementor-element.elementor-element-b623b04{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-b623b04 *//* =========================
   HEADER FIXED PREMIUM
   ========================= */
.nav{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:999;
  padding:12px 18px 0;
  background:transparent;
  transition:
    padding .35s ease,
    background .35s ease;
}

.nav-inner{
  max-width:1280px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px 22px;
  border-radius:24px;
  background:rgba(12, 30, 20, 0.28);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:
    0 18px 40px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.14);
  transition:
    background .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}

/* état au scroll */
.nav.scrolled .nav-inner{
  background:rgba(255,255,255,.94);
  border-color:rgba(26,92,56,.08);
  box-shadow:
    0 14px 34px rgba(0,0,0,.08),
    inset 0 1px 0 rgba(255,255,255,.35);
}

.nav-logo{
  display:flex;
  align-items:center;
  gap:.85rem;
  text-decoration:none;
  min-width:0;
}

.nav-logo img{
  width:52px;
  height:52px;
  object-fit:contain;
  flex:0 0 auto;
}

.nav-logo-text{
  display:flex;
  flex-direction:column;
  line-height:1;
}

.nav-logo-text strong{
  color:#ffffff;
  font-family:var(--font-display);
  font-size:1.2rem;
  font-weight:700;
  letter-spacing:-.01em;
  transition:color .3s ease;
}

.nav-logo-text small{
  margin-top:4px;
  color:rgba(255,255,255,.82);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:color .3s ease;
}

/* logo devient foncé après scroll */
.nav.scrolled .nav-logo-text strong{
  color:var(--green-dark);
}

.nav.scrolled .nav-logo-text small{
  color:var(--text-light);
}

.nav-menu{
  display:flex;
  align-items:center;
  gap:1.2rem;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:1.5rem;
  list-style:none;
  margin:0;
  padding:0;
}

.nav-links li{
  margin:0;
  padding:0;
}

.nav-links a{
  position:relative;
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  color:#ffffff !important;
  font-size:.95rem;
  font-weight:700;
  line-height:1;
  transition:color .25s ease, opacity .25s ease;
}

.nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-7px;
  width:0;
  height:2px;
  border-radius:999px;
  background:#ffffff;
  transition:width .28s ease, background .28s ease;
}

.nav-links a:hover{
  color:#ffffff !important;
  opacity:.9;
}

.nav-links a:hover::after{
  width:100%;
}

/* liens au scroll */
.nav.scrolled .nav-links a{
  color:var(--text-mid) !important;
}

.nav.scrolled .nav-links a:hover{
  color:var(--green-dark) !important;
  opacity:1;
}

.nav.scrolled .nav-links a::after{
  background:var(--green-mid);
}

.nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.85rem 1.35rem;
  border-radius:999px;
  background:linear-gradient(135deg, var(--green-mid), #226a2b);
  color:#fff !important;
  text-decoration:none;
  font-size:.92rem;
  font-weight:800;
  border:1px solid rgba(46,125,50,.18);
  box-shadow:0 12px 26px rgba(26,92,56,.18);
}

.nav-cta::after{
  display:none;
}

.mobile-toggle{
  display:none;
}

/* mobile */
@media (max-width:768px){
  .nav{
    padding:10px 12px 0;
  }

  .nav-inner{
    padding:10px 12px;
    border-radius:18px;
  }

  .nav-logo img{
    width:46px;
    height:46px;
  }

  .nav-logo-text strong{
    font-size:1.02rem;
  }

  .nav-logo-text small{
    display:none;
  }

  .nav-links{
    position:absolute;
    top:calc(100% + 10px);
    left:12px;
    right:12px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:.35rem;
    padding:14px;
    background:rgba(255,255,255,.98);
    border:1px solid rgba(26,92,56,.08);
    border-radius:20px;
    box-shadow:0 22px 42px rgba(0,0,0,.1);
  }

  .nav-links.open{
    display:flex;
  }

  .nav-links a{
    width:100%;
    padding:.9rem .95rem;
    border-radius:12px;
    color:var(--text-dark) !important;
  }

  .nav-links a::after{
    display:none;
  }

  .nav-links a:hover{
    background:var(--green-pale);
    color:var(--green-dark) !important;
  }

  .nav-links .nav-cta{
    width:100%;
    margin-top:.35rem;
    text-align:center;
  }

  .mobile-toggle{
    width:44px;
    height:44px;
    padding:0;
    border:none;
    border-radius:14px;
    background:rgba(255,255,255,.08);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    cursor:pointer;
  }

  .mobile-toggle span{
    display:block;
    width:20px;
    height:2px;
    border-radius:999px;
    background:#fff;
  }

  .nav.scrolled .mobile-toggle{
    background:rgba(26,92,56,.05);
  }

  .nav.scrolled .mobile-toggle span{
    background:var(--text-dark);
  }
}/* End custom CSS */