/* Navegação comum. Destinos originais preservados; destaque visual por área. */
body { --mv-papel:#fcfdf8; --mv-fundo:#edf2e9; --mv-tinta:#183e2d; --mv-suave:#52644e; --mv-linha:#cbd7c2; --mv-ouro:#967025; --mv-cartao:#fff; }
body.tema-justica { --mv-papel:#0e241b; --mv-fundo:#091a12; --mv-tinta:#f3f1e8; --mv-suave:#b6c8ba; --mv-linha:#3b5846; --mv-ouro:#d8bc76; --mv-cartao:#142e21; }
.mv-emblema { display:inline-grid; place-items:center; flex-shrink:0; width:34px; height:34px; color:#9b782e; }
.mv-emblema svg { display:block; width:100%; height:100%; overflow:visible; }
body.tema-justica .mv-emblema { color:#d8bc76; }
body .barra { min-height:76px; padding:12px clamp(18px,3vw,42px); gap:24px; background:var(--mv-papel); border-bottom:1px solid var(--mv-linha); }
body .barra .marca { display:flex; align-items:center; gap:12px; font-size:14px; letter-spacing:.17em; color:var(--mv-tinta); }
body .menu { align-items:center; gap:clamp(3px,1vw,14px); flex-wrap:nowrap; }
body .menu a { display:inline-flex; align-items:center; min-height:44px; padding:9px 10px; font:500 13px/1.4 var(--sem-serifa); letter-spacing:0; text-transform:none; color:var(--mv-suave); border:1px solid transparent; border-radius:5px; }
body .menu a:hover,body .menu a.aqui { color:var(--mv-tinta); background:var(--mv-fundo); border-color:var(--mv-linha); }
body .btn-mapa { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:11px 17px; border:1px solid #9b7c37; border-radius:5px; background:#183e2d; color:#f9f7ed; font:600 13px/1.4 var(--sem-serifa); letter-spacing:0; text-transform:none; white-space:nowrap; transition:background .2s,border-color .2s; }
body .btn-mapa:hover,body .btn-mapa[aria-expanded=true] { background:#2a5139; color:white; border-color:#d0ad5e; }
body.tema-justica .btn-mapa { background:#d8bc76; color:#10271b; border-color:#d8bc76; }
body.tema-justica .btn-mapa:hover { background:#e9d49e; color:#10271b; }
.mv-icone { display:grid; grid-template-columns:repeat(2,5px); gap:3px; }
.mv-icone i { width:5px; height:5px; background:currentColor; border-radius:1px; }
.porta .porta-mapa { top:10px; right:20px; }
.porta .inicio-atalhos { min-height:66px; padding-right:165px; }
body .topo { gap:14px; min-height:66px; }
body .topo .marca { font-size:12px; letter-spacing:.1em; }
body .topo .ferramentas { gap:12px; }
body #resultados { top:var(--altura-menu,66px); }
body #indice,body #indice.aberto { top:var(--altura-menu,66px); max-height:calc(100dvh - var(--altura-menu,66px)); }
body :is(.art,.folha h2[id],.folha h3[id]) { scroll-margin-top:calc(var(--altura-menu,76px) + 20px); }
#mapa .mapa-fundo { background:#03150dd9; backdrop-filter:blur(7px); }
#mapa .mapa-painel { inset:20px; max-width:1320px; max-height:calc(100dvh - 40px); margin:0 auto; padding:0 36px 24px; display:block; color:var(--mv-tinta); background:var(--mv-papel); border:1px solid var(--mv-linha); border-top:3px solid #b79546; border-radius:12px; box-shadow:0 28px 110px #0005; overscroll-behavior:contain; }
#mapa .nl-mapa-cabeca { padding:20px 0; top:0; color:var(--mv-tinta); background:var(--mv-papel); border-color:var(--mv-linha); font-family:var(--sem-serifa); }
.mv-assinatura { display:flex; align-items:center; gap:12px; font-size:15px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.mv-assinatura small { font-size:11px; letter-spacing:0; font-weight:400; text-transform:none; padding-left:15px; margin-left:3px; border-left:1px solid var(--mv-linha); color:var(--mv-suave); }
#mapa .nl-mapa-cabeca button { display:flex; align-items:center; gap:15px; background:var(--mv-fundo); color:var(--mv-tinta); border:1px solid var(--mv-linha); min-height:44px; }
#mapa .nl-mapa-cabeca button span { font-size:24px; line-height:1; }
.mv-intro { display:grid; grid-template-columns:1fr minmax(250px,360px); align-items:end; gap:30px; padding:34px 0; border-bottom:1px solid var(--mv-linha); }
.mv-kicker { font:600 10px/1.6 var(--sem-serifa); letter-spacing:.13em; text-transform:uppercase; color:var(--mv-ouro); margin:0 0 13px; }
.mv-intro h2 { color:var(--mv-tinta); font:400 clamp(29px,3.3vw,43px)/1.13 var(--serifa); letter-spacing:-.03em; margin:0 0 12px; }
.mv-intro p:not(.mv-kicker) { font:13px/1.7 var(--sem-serifa); color:var(--mv-suave); margin:0; }
.mv-busca { font:600 12px/1.6 var(--sem-serifa); color:var(--mv-tinta); }
.mv-busca input { display:block; width:100%; min-width:0; min-height:48px; margin-top:8px; padding:12px 15px; border:1px solid var(--mv-linha); border-radius:5px; background:var(--mv-cartao); color:var(--mv-tinta); font:14px/1.5 var(--sem-serifa); }
.mv-busca input::placeholder { color:var(--mv-suave); opacity:1; }
.mv-corpo { display:grid; grid-template-columns:225px minmax(0,1fr); align-items:start; gap:30px; margin-top:24px; }
.mv-categorias { position:sticky; top:100px; display:grid; gap:6px; }
.mv-categorias>p { color:var(--mv-suave); font:600 10px/1.5 var(--sem-serifa); text-transform:uppercase; letter-spacing:.1em; margin:0 0 8px; }
.mv-categorias button { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 12px; min-height:44px; border:1px solid transparent; border-radius:5px; font:500 12px/1.5 var(--sem-serifa); color:var(--mv-suave); background:transparent; cursor:pointer; text-align:left; }
.mv-categorias button small { color:inherit; opacity:.8; border:1px solid var(--mv-linha); padding:1px 6px; border-radius:20px; font-size:10px; }
.mv-categorias button:hover { background:var(--mv-fundo); }
.mv-categorias button[aria-pressed=true] { color:var(--mv-tinta); background:var(--mv-fundo); border-color:var(--mv-linha); box-shadow:inset 3px 0 0 var(--mv-ouro); }
#menu-contagem { font:12px/1.5 var(--sem-serifa); color:var(--mv-suave); margin:0 0 14px; }
.mv-grupos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:18px; }
#mapa .mapa-grupo { min-width:0; padding:22px; background:var(--mv-cartao); border:1px solid var(--mv-linha); border-radius:7px; border-top:3px solid var(--mv-ouro); }
#mapa .mapa-grupo:nth-child(3n+1) { border-top-color:#527d60; }
#mapa .mapa-grupo:nth-child(3n) { border-top-color:#528c83; }
#mapa .mapa-grupo h2 { display:flex; align-items:baseline; gap:12px; font:400 23px/1.25 var(--serifa); color:var(--mv-tinta); text-transform:none; letter-spacing:-.02em; border:0; padding:0; margin:0 0 17px; }
.mv-grupo-num { color:var(--mv-ouro); font:500 11px/1.4 var(--sem-serifa); letter-spacing:.04em; }
#mapa .mapa-grupo li { transform:none; opacity:1; transition:none; }
#mapa .mapa-grupo a { display:flex; align-items:baseline; justify-content:space-between; gap:12px; width:100%; min-height:44px; padding:12px 0; border-bottom:1px solid var(--mv-linha); color:var(--mv-tinta); font:13px/1.5 var(--sem-serifa); text-decoration:none; }
#mapa .mapa-grupo li:last-child a { border-bottom:0; }
#mapa .mapa-grupo a>span:first-child { min-width:0; overflow-wrap:anywhere; }
#mapa .mapa-grupo a:hover { color:var(--mv-ouro); }
.mv-seta { font-size:16px; color:var(--mv-suave); flex-shrink:0; }
.mv-atual { font:600 9px/1.4 var(--sem-serifa); color:var(--mv-ouro); flex-shrink:0; border:1px solid var(--mv-linha); padding:3px 5px; border-radius:3px; }
#mapa .mapa-grupo a[aria-current=page] { color:var(--mv-ouro); font-weight:600; }
.mv-vazio { padding:36px 22px; border:1px dashed var(--mv-linha); color:var(--mv-suave); font:14px/1.8 var(--sem-serifa); }
#mapa .mapa-lema { border-top:1px solid var(--mv-linha); padding-top:22px; margin-top:28px; color:var(--mv-suave); font-size:13px; }
#mapa :focus-visible { outline:3px solid var(--mv-ouro); outline-offset:3px; }
@media(max-width:1100px) { body .menu>a { display:none!important; } body .menu>a.aqui,body .menu>a[href="busca.html"] { display:inline-flex!important; } .mv-corpo { grid-template-columns:190px minmax(0,1fr); gap:20px; } #mapa .mapa-painel { padding:0 24px 22px; } #mapa .mapa-grupo { padding:18px; } }
@media(max-width:760px) {
 body .barra { min-height:68px; gap:10px; padding:10px 16px; }
 body .barra .marca { font-size:12px; gap:8px; }
 body .menu { gap:5px; }
 body .menu>a.aqui { display:none!important; }
 body .menu>a[href="busca.html"] { padding:9px 7px; font-size:12px; }
 body .btn-mapa { padding:10px 12px; font-size:12px; gap:8px; }
 .mv-emblema { width:29px; height:29px; }
 #mapa .mapa-painel { inset:8px; max-height:calc(100dvh - 16px); padding:0 18px 20px; border-radius:8px; }
 #mapa .nl-mapa-cabeca { padding:14px 0; gap:14px; }
 .mv-assinatura small { display:none; }
 .mv-intro { grid-template-columns:1fr; gap:22px; padding:25px 0; }
 .mv-corpo { display:block; margin-top:20px; }
 .mv-categorias { position:static; display:flex; overflow-x:auto; gap:8px; padding:0 0 12px; margin-bottom:18px; }
 .mv-categorias>p { display:none; }
 .mv-categorias button { flex:0 0 auto; max-width:230px; border-color:var(--mv-linha); }
 .mv-grupos { grid-template-columns:1fr; gap:14px; }
 .mv-atual { white-space:normal; }
 .porta .inicio-atalhos { padding-right:140px; }
 .porta .inicio-atalhos a:not(:first-child) { display:none; }
 .porta .porta-mapa { right:14px; }
 body .topo .ferramentas { flex-wrap:wrap; gap:8px; }
 body .topo .busca-site { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { #mapa .mapa-painel,#mapa .mapa-fundo,body .btn-mapa { transition:none; } }
@media print { #mapa,body .barra,body .topo,.porta-mapa { display:none!important; } }
