/* Universal OnePage Mobile Menu */
:root{--header-h:64px}
.header{position:sticky;top:0;z-index:50;background:#000;/* presume header escuro */}
.header,.header a,.nav-toggle{color:#fff}
.navbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px}
.nav-toggle{display:none;border:0;background:transparent;width:40px;height:40px;padding:8px;border-radius:8px}
.nav-toggle svg{display:block}
.nav-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* normalize any menu in header */
header nav ul, header .menu, header ul {
  list-style:none;margin:0;padding:0;
}
/* off-canvas */
@media (max-width:1024px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  header .primary-nav{
    position:fixed;inset:var(--header-h) 0 0 30%;transform:translateX(100%);
    transition:transform .25s ease;background:#111;color:#fff;display:block;padding:16px;
    box-shadow:-8px 0 24px rgba(0,0,0,.5);border-left:1px solid rgba(255,255,255,.08);
  }
  header .primary-nav.open{transform:translateX(0)}
  header .primary-nav ul{display:flex;flex-direction:column;gap:8px}
  header .primary-nav a{display:block;padding:10px 12px;text-decoration:none;color:#fff}
  /* esconde qualquer outro nav/ul não transformado */
  header nav:not(.primary-nav):not(.site-branding),
  header ul:not(#site-menu){display:none !important}
  .nav-overlay{position:fixed;inset:var(--header-h) 0 0 0;background:rgba(0,0,0,.45);display:none}
  body.menu-open .nav-overlay{display:block}
  body.menu-open{overflow:hidden}
}
/* desktop: mantém o que o tema já tinha */