/* --- Mobile nav restore (defensive) --- */
.burger{
  display:none;
  align-items:center;
  justify-content:center;
  width:44px; height:44px;
  border-radius:16px;
  border:1px solid var(--border);
  background: var(--card);
  box-shadow: var(--shadow);
  font-size:22px;
  line-height:1;
}

.mobile-overlay{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.35);
  backdrop-filter: blur(2px);
  z-index: 6000;
}

.nav-mobile{
  position:fixed;
  top:0; right:0;
  height:100dvh;
  width:min(86vw, 360px);
  background: var(--card);
  border-left:1px solid var(--border);
  box-shadow: var(--shadow);
  transform: translateX(110%);
  transition: transform .18s ease;
  z-index: 7000;
  display:flex;
  flex-direction:column;
}
.nav-mobile.open{ transform: translateX(0); }

.nav-mobile-hd{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px;
  border-bottom:1px solid var(--border);
}

.nav-mobile-title{ font-weight:800; }

.burger-close{
  width:40px; height:40px;
  border-radius:14px;
  border:1px solid var(--border);
  background: transparent;
  font-size:18px;
}

.nav-mobile-links{
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:auto;
}

.nav-mobile-links a,
.nav-mobile-links button{
  justify-content:flex-start;
}

/* Inclut la plupart des tablettes (portrait/landscape) */
@media (max-width: 1100px){
  header.has-burger .nav-desktop,
  header.has-burger .topnav,
  header.has-burger nav.topnav{
    display:none !important;
  }
  .burger{ display:inline-flex; }
}