/* ─── HAMBURGER BUTTON ─── */
.nav-ham{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  cursor:pointer;background:none;border:none;padding:8px;
  flex-shrink:0;
}
.nav-ham span{
  display:block;width:22px;height:2px;
  background:var(--navy);border-radius:2px;transition:all .3s var(--ease);
}
nav.on-intro .nav-ham span{background:#fff}
.nav-ham.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.nav-ham.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-ham.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ─── MOBILE NAV OVERLAY ─── */
.nav-mobile-menu{
  display:none;
  position:fixed;inset:0;top:72px;left:0;right:0;bottom:0;z-index:98;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  padding:0;
  opacity:0;pointer-events:none;
  transition:opacity .35s var(--ease);
}
.nav-mobile-menu.open{opacity:1;pointer-events:all}

.nav-mobile-scroll{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(14px,3.5vw,26px);
  width:100%;
  max-width:100%;
  max-height:calc(100vh - 72px - env(safe-area-inset-bottom,0px));
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding:16px 16px max(20px, env(safe-area-inset-bottom));
  box-sizing:border-box;
}

.nav-mobile-menu a{
  font-family:var(--ff-head);font-size:clamp(18px,4.8vw,22px);font-weight:700;
  color:var(--navy);letter-spacing:-.5px;
  transition:color .2s;
  text-align:center;
  width:100%;
  max-width:360px;
  padding:6px 12px;
  box-sizing:border-box;
}
.nav-mobile-menu a:hover{color:var(--red)}
.nav-mobile-menu .nav-cta{
  background:var(--red)!important;color:#fff!important;
  padding:14px 28px;border-radius:11px;font-size:clamp(16px,4vw,18px)!important;
  box-shadow:0 8px 28px rgba(212,43,43,.3);
  margin-top:4px;
}
.nav-mobile-divider{
  width:40px;height:2px;flex-shrink:0;
  background:linear-gradient(90deg,var(--blue-mid),var(--red));
  border-radius:2px;
}

/* Bloc langue dans le menu */
.nav-mobile-lang-block{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  width:100%;
  padding:8px 0 4px;
}
.nav-mobile-lang-h{
  font-size:10px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);
}
.nav-mobile-menu .lang-switch--in-menu{
  flex-shrink:0;
  padding:3px;
  transform:scale(1.05);
}
@media (max-width:380px){
  .nav-mobile-menu .lang-switch--in-menu{transform:scale(1)}
  .nav-mobile-menu a{font-size:17px}
}
