
/* NITVIBES – Mobile FAB Fixed Menu v1.0.0 */
:root{ --nv-yellow:#f2b301; --nv-bg:#0f1216; --nv-fg:#fff; --nv-border:rgba(255,255,255,.12); }

/* Oculta navegación nativa SOLO en móvil, para evitar el menú duplicado en headers del tema */
@media (max-width: 820px){
  body.nvfab-hide-native header nav,
  body.nvfab-hide-native header .main-navigation,
  body.nvfab-hide-native header .primary-menu,
  body.nvfab-hide-native header .menu,
  body.nvfab-hide-native #site-navigation{ display:none !important; }
}

@media (max-width: 820px){
  /* FAB propio (solo se inyecta para usuarios logueados) */
  #nvfab-btn{
    position: fixed !important;
    top: max(12px, env(safe-area-inset-top)) !important;
    right: calc(12px + env(safe-area-inset-right)) !important;
    width: 46px !important; height: 46px !important;
    border-radius: 12px !important;
    background: var(--nv-yellow) !important; color:#111 !important;
    border: 1px solid var(--nv-yellow) !important;
    display: inline-flex !important; align-items:center; justify-content:center;
    z-index: 10060 !important; box-shadow: 0 2px 8px rgba(0,0,0,.35);
  }
  #nvfab-btn .bars{ width:18px; height:2px; background:#111; position:relative; border-radius:2px; }
  #nvfab-btn .bars:before, #nvfab-btn .bars:after{
    content:""; position:absolute; left:0; width:18px; height:2px; background:#111; border-radius:2px;
  }
  #nvfab-btn .bars:before{ top:-6px; } #nvfab-btn .bars:after{ top:6px; }
  body.logged-in.admin-bar #nvfab-btn{ top:58px !important; }

  /* Overlay + Drawer */
  .nvfab-overlay{ position: fixed; inset: 0; background: rgba(0,0,0,.45);
    z-index:10050; opacity:0; pointer-events:none; transition:opacity .2s ease; }
  .nvfab-overlay.is-open{ opacity:1; pointer-events:auto; }

  .nvfab-drawer{ position:fixed; top:0; right:0; height:100vh; width:min(86vw,360px);
    background: var(--nv-bg); color: var(--nv-fg); z-index:10070;
    transform: translateX(110%); transition: transform .25s ease;
    box-shadow:-6px 0 24px rgba(0,0,0,.5); border-left:1px solid var(--nv-border);
    display:flex; flex-direction:column; padding:16px 14px 22px; }
  .nvfab-drawer.is-open{ transform:translateX(0); }
  .nvfab-close{ align-self:flex-end; width:40px; height:40px; border-radius:10px;
    background: var(--nv-yellow); border:1px solid var(--nv-yellow);
    color:#111; font-weight:800; display:inline-flex; align-items:center; justify-content:center; }

  .nvfab-nav{ margin-top:10px; overflow:auto; -webkit-overflow-scrolling:touch; }
  .nvfab-list, .nvfab-list ul{ list-style:none; margin:0; padding:0; }
  .nvfab-list a{ display:block; margin:6px 0; padding:14px 12px; text-decoration:none;
    color:var(--nv-fg); background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12);
    border-radius:12px; font-weight:700; letter-spacing:.2px; }
  .nvfab-list a:hover{ background:var(--nv-yellow); border-color:var(--nv-yellow); color:#111; }
  .nvfab-list a.is-active{ background:rgba(242,179,1,.18); border-color:rgba(242,179,1,.6); color:#fff; }

  body.nvfab-open{ overflow:hidden; }
}
