.sgn .topbar{position:sticky;top:0;z-index:50;background:rgba(10,12,15,.72);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft)}

.sgn .topbar-inner{display:flex;align-items:center;gap:20px;height:66px}

.sgn .brand{display:flex;align-items:center;gap:11px;cursor:pointer}

.sgn .brand svg{width:34px;height:34px;border-radius:9px}

.sgn .brand-name{font-weight:600;font-size:1.06rem;letter-spacing:-.01em}

.sgn .brand-name small{display:block;font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-top:1px}

.sgn nav.main{display:flex;gap:4px;margin-left:auto}

.sgn .nav-link{padding:.5em .8em;border-radius:8px;font-size:.92rem;color:var(--muted);cursor:pointer;transition:color .15s,background .15s;font-weight:500}

.sgn .nav-link:hover{color:var(--text)}

.sgn .nav-link.active{color:var(--text);background:var(--panel);border-radius:0}

.sgn .top-cta{margin-left:6px}

.sgn .burger{display:none;margin-left:auto;background:var(--panel);border:1px solid var(--line);border-radius:9px;width:42px;height:40px;cursor:pointer;color:var(--text);align-items:center;justify-content:center;flex:none}

.sgn .burger svg{width:20px;height:20px;transition:transform .25s ease,opacity .2s ease}

.sgn .burger.is-open .burger-icon{transform:rotate(90deg);opacity:.85}

/* Tiroir mobile */
.sgn .nav-drawer{
  position:fixed;
  inset:0;
  z-index:120;
  pointer-events:none;
  visibility:hidden
}

.sgn .nav-drawer.is-open{
  pointer-events:auto;
  visibility:visible
}

.sgn .nav-drawer-backdrop{
  position:absolute;
  inset:0;
  border:0;
  padding:0;
  background:rgba(4,6,9,.62);
  backdrop-filter:blur(3px);
  cursor:pointer;
  opacity:0;
  transition:opacity .28s ease
}

.sgn .nav-drawer.is-open .nav-drawer-backdrop{opacity:1}

.sgn .nav-drawer-panel{
  position:absolute;
  top:0;
  right:0;
  width:min(320px,88vw);
  height:100%;
  max-height:100dvh;
  display:flex;
  flex-direction:column;
  background:var(--bg-2);
  border-left:1px solid var(--line-soft);
  box-shadow:-24px 0 64px rgba(0,0,0,.45);
  transform:translateX(100%);
  transition:transform .32s cubic-bezier(.22,1,.36,1);
  overflow:auto
}

.sgn .nav-drawer.is-open .nav-drawer-panel{transform:translateX(0)}

.sgn .nav-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px;
  border-bottom:1px solid var(--line-soft)
}

.sgn .nav-drawer-title{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}

.sgn .nav-drawer-close{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:9px;
  border:1px solid var(--line);
  background:var(--panel);
  color:var(--text);
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease
}

.sgn .nav-drawer-close:hover{background:var(--panel-2);border-color:var(--line)}

.sgn .nav-drawer-close svg{width:18px;height:18px}

.sgn .nav-drawer-nav{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:14px 16px;
  flex:1
}

.sgn .nav-drawer-nav .nav-link{
  display:block;
  padding:.85em .75em;
  border-radius:10px;
  font-size:1rem;
  font-weight:500;
  color:var(--muted);
  transition:color .15s ease,background .15s ease,transform .15s ease
}

.sgn .nav-drawer-nav .nav-link:hover{color:var(--text);background:var(--panel)}

.sgn .nav-drawer-nav .nav-link.active{
  color:var(--text);
  background:var(--panel);
  border-radius:0;
  box-shadow:inset 3px 0 0 var(--accent)
}

.sgn .nav-drawer-foot{
  padding:16px 20px 24px;
  border-top:1px solid var(--line-soft)
}

.sgn .nav-drawer-foot .btn{width:100%;justify-content:center}

body.signage-vitrine.nav-drawer-open{overflow:hidden}
