/* Menu Domaines d'expertise */
.menu .nav-dropdown{position:relative;display:flex;align-items:center}
/* Zone invisible qui comble l'espace entre l'onglet et le sous-menu :
   le survol reste actif quand la souris descend vers un élément du menu. */
.menu .nav-dropdown::after{content:"";position:absolute;left:0;right:0;top:100%;height:.5rem;background:transparent;z-index:9998}
.menu .nav-dropdown > .nav-trigger{display:flex;align-items:center;gap:.42rem;cursor:pointer}
.menu .nav-trigger .chevron{font-size:.62em;line-height:1;transform:translateY(-1px);transition:transform .2s ease}
.menu .nav-dropdown:hover .chevron,
.menu .nav-dropdown:focus-within .chevron,
.menu .nav-dropdown.open .chevron{transform:rotate(180deg)}

.menu .nav-submenu{
  position:absolute;
  top:calc(100% + .35rem);
  left:50%;
  transform:translate(-50%, -8px);
  width:min(360px, 82vw);
  max-height:min(70vh, 620px);
  overflow-y:auto;
  padding:.5rem;
  background:rgba(99,13,19,.98);
  border:1px solid rgba(201,162,75,.45);
  box-shadow:0 14px 35px rgba(0,0,0,.35);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  z-index:9999;
}

.menu .nav-submenu a{
  display:block!important;
  padding:.55rem .72rem!important;
  color:#f4eee4!important;
  text-decoration:none;
  line-height:1.2;
  white-space:normal;
  font-size:.66rem!important;
  letter-spacing:.08em;
}
.menu .nav-submenu a::after{display:none!important}
.menu .nav-submenu a:hover,
.menu .nav-submenu a:focus-visible{
  background:rgba(201,162,75,.16);
  color:var(--gold)!important;
}

/* Desktop : ouverture au survol ou au clic */
.menu .nav-dropdown:hover .nav-submenu,
.menu .nav-dropdown:focus-within .nav-submenu,
.menu .nav-dropdown.open .nav-submenu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%, 0);
}

@media(max-width:760px){
  .menu .nav-dropdown{position:static}
  .menu .nav-submenu{
    position:fixed;
    top:auto;
    left:.8rem;
    right:.8rem;
    bottom:.7rem;
    transform:translateY(8px);
    width:auto;
    max-height:65vh;
    overflow:auto;
  }

  /* Sur mobile, le hover ne doit jamais masquer un menu ouvert au toucher. */
  .menu .nav-dropdown:hover:not(.open) .nav-submenu{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(8px);
  }

  .menu .nav-dropdown.open .nav-submenu,
  .menu .nav-dropdown:focus-within .nav-submenu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
}
