/* ── Header shell ── */
.site-header{
  display:flex;
  align-items:center;
  width:100%;
  z-index:200;
  padding:1.6rem 4rem;
  background:rgba(242,237,230,0.93);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:0.5px solid var(--border);
}
.site-header nav{
  display:flex;
  align-items:center;
  flex:1;
  width:100%;
  min-width:0;
  padding:0!important;
  position:static!important;
  background:transparent!important;
  border:none!important;
  backdrop-filter:none!important;
}
.nav-menu{
  display:flex;
  align-items:center;
  gap:2.5rem;
  margin-left:auto;
}
.nav-toggle{display:none}

/* Hero pages (index, private-search) */
.site-header.nav-hero{
  position:fixed;
  top:0;left:0;right:0;
  background:rgba(242,237,230,0)!important;
  backdrop-filter:blur(0)!important;
  -webkit-backdrop-filter:blur(0)!important;
  border-bottom:0.5px solid transparent!important;
  transition:background .4s,backdrop-filter .4s,border-color .4s;
}
.site-header.nav-hero.scrolled{
  background:rgba(242,237,230,0.93)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  border-color:var(--border)!important;
}
.site-header:not(.nav-hero){
  position:sticky;
  top:0;
}

/* Toggle */
.nav-toggle{
  flex-direction:column;
  justify-content:center;
  gap:6px;
  width:44px;
  height:44px;
  padding:10px;
  margin-left:auto;
  background:transparent;
  border:0.5px solid transparent;
  border-radius:50%;
  cursor:pointer;
  flex-shrink:0;
  z-index:302;
}
.nav-toggle-bar{
  display:block;
  width:22px;
  height:1px;
  background:var(--ink);
  transition:transform .35s ease,opacity .35s ease,background .3s;
}
body.menu-open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .nav-toggle-bar:nth-child(2){opacity:0}
body.menu-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-header.nav-hero:not(.scrolled) .nav-toggle-bar{background:#f4f0eb}
.site-header.nav-hero:not(.scrolled) .nav-toggle{border-color:rgba(244,240,235,0.25)}
body.menu-open .site-header.nav-hero .nav-toggle-bar{background:var(--ink)!important}
body.menu-open .site-header.nav-hero .nav-toggle{border-color:var(--border)!important}

/* Panneau mobile (injecté dans body par JS) */
.nav-menu.is-mobile-panel{
  display:none;
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  z-index:300;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:2rem;
  margin:0;
  padding:calc(6.75rem + env(safe-area-inset-top,0px)) 1.75rem 2.5rem;
  background:rgba(242,237,230,0.98);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
body.menu-open .nav-menu.is-mobile-panel{display:flex!important}
body.menu-open .nav-menu.is-mobile-panel .nav-links{
  flex-direction:column;
  align-items:flex-start;
  gap:1.35rem;
  width:100%;
  margin-top:1.25rem;
}
body.menu-open .nav-menu.is-mobile-panel .nav-links a{
  font-size:.85rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink)!important;
}
body.menu-open .nav-menu.is-mobile-panel .nav-cta{
  display:inline-block!important;
  color:var(--ink)!important;
  border-color:var(--border)!important;
}

@media(max-width:900px){
  .site-header{padding:1.4rem 1.5rem!important}
  .nav-toggle{display:flex!important}
  .site-header .nav-menu:not(.is-mobile-panel){display:none!important}
  body.menu-open{overflow:hidden}
  body.menu-open .site-header{z-index:310!important}
  body.menu-open .site-header.nav-hero{position:fixed!important}
    background:rgba(242,237,230,0.98)!important;
    backdrop-filter:blur(16px)!important;
    border-color:var(--border)!important;
  }
  body.menu-open .nav-toggle{
    position:relative;
    z-index:311;
    pointer-events:auto;
  }
}

@media(min-width:901px){
  .nav-toggle{display:none!important}
  .site-header .nav-menu{
    display:flex!important;
    position:static!important;
    padding:0!important;
    background:transparent!important;
    overflow:visible!important;
  }
}
