/* ═══════════ MENU MOBILE (hamburger) ═══════════ */
/* Bouton hamburger masqué par défaut */
.nav-burger{
  display:none;
  position:fixed; top:20px; right:20px; z-index:70;
  width:42px; height:42px;
  background:#FFF;
  border:1px solid rgba(0,0,0,.08);
  border-radius:4px;
  cursor:pointer;
  padding:0;
  align-items:center; justify-content:center;
}
.nav-burger span{
  display:block;
  width:20px; height:2px;
  background:#A89968;
  position:relative;
  transition: all .25s ease;
}
.nav-burger span::before,
.nav-burger span::after{
  content:"";
  position:absolute; left:0;
  width:20px; height:2px;
  background:#A89968;
  transition: all .25s ease;
}
.nav-burger span::before{ top:-6px; }
.nav-burger span::after{ top:6px; }
.nav-burger.open span{ background:transparent; }
.nav-burger.open span::before{ top:0; transform: rotate(45deg); }
.nav-burger.open span::after{ top:0; transform: rotate(-45deg); }

@media (max-width: 900px){
  /* Nav plus compact */
  .topnav{
    padding: 0 16px !important;
    height: 64px !important;
  }
  .nav-logo{ height: 32px !important; }
  .nav-logo-solo{
    top: 12px !important;
    left: 16px !important;
    height: 40px !important;
  }

  /* Cache nav + CTA + liens Notes desktop */
  .topnav nav,
  .topnav .nav-cta,
  .topnav > div:has(.nav-cta){
    display: none !important;
  }

  /* Affiche hamburger */
  .nav-burger{ display:flex !important; top:12px; }

  /* Body padding pour nav plus petit */
  body{ padding-top: 64px !important; }

  /* Menu mobile déroulé */
  .mobile-menu{
    position:fixed;
    top:64px; left:0; right:0;
    background:#FFF;
    z-index:65;
    border-bottom:1px solid rgba(0,0,0,.08);
    box-shadow: 0 6px 20px rgba(0,0,0,.08);
    transform: translateY(-10px);
    opacity:0;
    pointer-events:none;
    transition: all .25s ease;
    padding: 20px 24px 28px;
  }
  .mobile-menu.open{
    transform: translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  .mobile-menu a{
    display:block;
    padding:14px 0;
    color:#BCAB53;
    font-size:17px;
    text-decoration:none;
    border-bottom:1px solid rgba(188,171,83,.15);
    font-family:"Ubuntu Sans", sans-serif;
  }
  .mobile-menu a.active{ color:#AA962C; font-weight:700; }
  .mobile-menu a:last-child{ border-bottom:none; }
  .mobile-menu .mobile-cta{
    display:block;
    margin-top:16px;
    background:#A89968;
    color:#FFF !important;
    text-align:center;
    padding:16px 0 !important;
    border:none !important;
    font-weight:500;
  }
}

@media (min-width: 901px){
  .nav-burger, .mobile-menu{ display:none !important; }
}
