/* DSGQ — navegação mobile: botão hamburguer + painel de menu + CTA WhatsApp compacto */

/* botão hamburguer (só aparece no mobile) */
.mnav-btn{display:none;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border-radius:12px;border:1.5px solid rgba(13,27,64,.15);background:#fff;color:#0D1B40;cursor:pointer;flex:none}
.mnav-btn svg{display:block}
html.dark .mnav-btn{background:#131d31;border-color:rgba(255,255,255,.16);color:#eef2fb}

/* painel */
.mnav-backdrop{position:fixed;inset:0;z-index:90;background:rgba(13,27,64,.42);opacity:0;visibility:hidden;transition:opacity .25s;border:0}
.mnav-panel{position:fixed;left:0;right:0;top:64px;z-index:100;background:#fbfaf7;border-bottom:1px solid rgba(13,27,64,.1);box-shadow:0 26px 50px -26px rgba(13,27,64,.5);padding:8px 14px 18px;max-height:calc(100vh - 64px);overflow-y:auto;transform:translateY(-14px);opacity:0;visibility:hidden;transition:transform .26s cubic-bezier(.2,.7,.2,1),opacity .2s}
html.mnav-open .mnav-backdrop,html.mnav-open .mnav-panel{opacity:1;visibility:visible}
html.mnav-open .mnav-panel{transform:translateY(0)}
html.mnav-open,html.mnav-open body{overflow:hidden}
/* botões flutuantes (WhatsApp / modo escuro) saem de cena com o menu aberto */
html.mnav-open [style*="position:fixed"][style*="z-index:80"]{opacity:0;pointer-events:none;transition:opacity .2s}
html.dark .mnav-panel{background:#0e1626;border-color:rgba(255,255,255,.12)}

.mnav-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 6px;font:700 16.5px 'Figtree',sans-serif;color:#0D1B40;border-bottom:1px solid rgba(13,27,64,.08)}
.mnav-link::after{content:"→";color:#e45602;font-weight:800;font-size:15px}
.mnav-link[aria-current="page"]{color:#e45602}
html.dark .mnav-link{color:#eef2fb;border-color:rgba(255,255,255,.1)}

.mnav-cta{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:18px;background:#e45602;color:#fff;font:700 15.5px 'Figtree',sans-serif;padding:15px 18px;border-radius:12px;box-shadow:0 14px 28px -14px rgba(228,86,2,.75)}
.mnav-cta:hover{color:#fff}
.mnav-social{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}
.mnav-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(13,27,64,.14);color:#e45602}
html.dark .mnav-social a{border-color:rgba(255,255,255,.16)}

@media (max-width:920px){
  .mnav-btn{display:inline-flex}
  /* admin entra pelo link direto — nada de botão de login no menu */
  header nav a[href="login.html"]{display:none!important}
  /* CTA do header vira só o ícone do WhatsApp */
  .wa-cta{width:42px!important;height:42px!important;padding:0!important;gap:0!important;border-radius:50%!important;justify-content:center;box-shadow:0 8px 18px -8px rgba(228,86,2,.8)!important}
  .wa-cta-label{display:none}
}
@media (min-width:921px){
  .mnav-panel,.mnav-backdrop{display:none}
}

/* ── submenu de normas sob "Serviços" ─────────────────────────────────────
   As páginas por norma são o conteúdo que o visitante procura por nome
   ("certificação ISO 9001") e só eram alcançáveis pela home, onde 3 das 4
   ficam escondidas no trilho rolável. O header é sitewide: entra aqui e
   passa a existir nas 17 páginas, para o visitante e para o rastreador. */
.nav-drop{position:relative;display:inline-flex;align-items:center}
.nav-drop-menu{position:absolute;top:100%;left:-12px;z-index:120;min-width:252px;padding:8px;margin-top:11px;
  background:#fff;border:1px solid rgba(13,27,64,.1);border-radius:14px;
  box-shadow:0 22px 44px -22px rgba(13,27,64,.55);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s,transform .18s,visibility .18s}
/* ponte invisível sobre o vão entre o item e o painel: sem ela o menu fecha
   quando o mouse atravessa o espaço de 11px */
.nav-drop-menu::before{content:"";position:absolute;top:-13px;left:0;right:0;height:13px}
.nav-drop:hover .nav-drop-menu,
.nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-drop-menu a{display:block;padding:10px 12px;border-radius:9px;white-space:nowrap;
  font:600 14.5px 'Figtree',sans-serif;color:#0D1B40}
.nav-drop-menu a:hover,.nav-drop-menu a:focus-visible{background:rgba(228,86,2,.08);color:#e45602}
.nav-drop-todos{margin-top:4px;padding-top:12px!important;border-top:1px solid rgba(13,27,64,.09);
  color:#e45602!important;font-weight:700!important}
html.dark .nav-drop-menu{background:#131d31;border-color:rgba(255,255,255,.14)}
html.dark .nav-drop-menu a{color:#eef2fb}

/* subitens dentro do painel do hamburguer */
.mnav-sub{margin:0 0 6px 10px;padding-left:12px;border-left:2px solid rgba(228,86,2,.32)}
.mnav-sublink{display:flex;align-items:center;justify-content:space-between;padding:12px 6px;
  font:600 15px 'Figtree',sans-serif;color:#425067;border-bottom:1px solid rgba(13,27,64,.07)}
.mnav-sub .mnav-sublink:last-child{border-bottom:0}
.mnav-sublink[aria-current="page"]{color:#e45602}
html.dark .mnav-sublink{color:#b9c4da;border-color:rgba(255,255,255,.08)}

@media (max-width:920px){
  /* no mobile quem manda é o painel do hamburguer. display:contents faz o
     wrapper não gerar caixa, então "Serviços" volta a ser filho direto do nav
     e cai na regra que cada CSS de página já aplica para escondê-lo. */
  .nav-drop{display:contents}
  .nav-drop-menu{display:none!important}
}
