/* Cabeçalho, menu lateral e rodapé do site para as páginas estáticas (vigencia, normacast, mapa-de-normas, mapa).
   FONTE ÚNICA: espelha o Header.tsx da Home. Para mudar o menu, edite templates/site-nav.html e este arquivo;
   o servidor injeta o HTML em cada página (ver comChrome no server.js). Nada de copiar menu em página. */
:root{
  --navy:#003a6e; --navy-deep:#001d38; --gold:#a88d3d; --gold-dark:#8a7130; --gold-hover:#957b34;
  --ink:#0f172a; --ink-2:#334155; --ink-3:#475569; --mute:#64748b; --line:#f1f5f9;
}
/* ---- cabeçalho, menu e rodapé ---- */
.ca-nav{background:#fff;border-bottom:8px solid var(--navy);position:sticky;top:0;z-index:60;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.ca-nav-in{max-width:1600px;margin:0 auto;padding:0 24px;height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ca-brand{display:flex;align-items:center;gap:16px;text-decoration:none}
.ca-brand img{width:68px;height:68px;object-fit:cover;border-radius:999px}
.ca-brand span{color:var(--navy);font-weight:800;font-size:30px;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap}
.ca-gold{color:var(--gold)}
.ca-brand .ca-gold{color:var(--gold)}
.ca-burger{width:48px;height:48px;border-radius:12px;background:#f8fafc;border:1px solid #f1f5f9;color:var(--navy);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ca-burger:hover{background:#f1f5f9}
.ca-actions{display:flex;align-items:center;gap:12px}
.ca-search{position:relative;text-decoration:none}
.ca-badge{margin-left:auto;font-size:9px;line-height:1;font-weight:700;background:var(--gold);color:#fff;padding:3px 6px;border-radius:999px}
.ca-badge-top{position:absolute;top:-6px;right:-6px;font-size:8px;margin:0}
.ca-item-hl{background:rgba(255,255,255,.05);border-left-color:var(--gold);color:var(--gold)}
.ca-item-hl span{color:var(--gold)}
.ca-item-hl:hover{background:rgba(255,255,255,.1)}
.ca-item-busca{background:rgba(168,141,61,.15);box-shadow:inset 0 0 0 1px rgba(168,141,61,.4)}
.ca-item-busca:hover{background:rgba(168,141,61,.25)}
.ca-menu{position:fixed;inset:0;z-index:100}
.ca-menu[hidden]{display:none}
.ca-menu-bg{position:fixed;inset:0;background:rgba(2,6,23,.65);backdrop-filter:blur(6px)}
.ca-drawer{position:fixed;top:0;right:0;height:100%;width:100%;max-width:480px;background:var(--navy);color:#fff;padding:16px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:-20px 0 60px rgba(0,0,0,.35);animation:caIn .28s cubic-bezier(.2,.8,.2,1)}
@keyframes caIn{from{transform:translateX(100%)}to{transform:none}}
@media (min-width:640px){.ca-drawer{padding:40px}}
.ca-drawer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.1)}
.ca-brand-sm{display:flex;align-items:center;gap:12px;font-weight:900;font-size:20px}
.ca-brand-sm img{width:40px;height:40px;border-radius:8px;object-fit:cover;background:rgba(255,255,255,.1)}
.ca-close{width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:rgba(255,255,255,.7);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s,color .2s}
.ca-close:hover{color:#fff;transform:rotate(90deg)}
.ca-drawer-body{flex:1;overflow-y:auto;padding:clamp(8px,calc((100vh - 640px) / 14),28px) 8px 8px 0;display:flex;flex-direction:column;gap:clamp(2px,calc((100vh - 640px) / 22),26px)}
.ca-item{display:flex;align-items:center;gap:8px;padding:clamp(4px,calc((100vh - 640px) / 40),9px) 10px;border-radius:12px;text-decoration:none;color:#fff;font-weight:800;font-size:16px;line-height:1.2;border-left:2px solid transparent;background:none;cursor:pointer;width:100%;text-align:left;font-family:inherit}
.ca-item i,.ca-item .ca-ico-img{width:40px;flex:none;text-align:center;font-size:18px}
.ca-ico-img{height:20px;object-fit:contain;filter:brightness(0) saturate(100%) invert(62%) sepia(35%) saturate(735%) hue-rotate(5deg) brightness(92%) contrast(85%)}
.ca-i-mut{color:rgba(255,255,255,.5)}
.ca-i-gold{color:var(--gold)}
.ca-item:hover{background:rgba(255,255,255,.05);color:#fff}
.ca-item:hover span{color:var(--gold)}
.ca-item-sm{font-size:14px;font-weight:700;color:rgba(255,255,255,.9)}
.ca-acc{justify-content:space-between}
.ca-acc-l{display:flex;align-items:center;gap:8px}
.ca-acc-sign{color:var(--gold);font-weight:900;font-size:20px;margin-right:8px}
.ca-sub{padding-left:24px;display:flex;flex-direction:column;gap:clamp(2px,calc((100vh - 640px) / 60),8px)}
.ca-sub[hidden]{display:none}
@media (min-width:640px){.ca-sub{padding-left:40px}}
.ca-drawer-foot{border-top:1px solid rgba(255,255,255,.1);padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ca-social{display:flex;align-items:center;gap:16px}
.ca-social a{color:rgba(255,255,255,.5);font-size:20px}
.ca-social a:hover{color:var(--gold)}
.ca-nl{color:rgba(255,255,255,.5);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:6px}
.ca-nl:hover{color:var(--gold)}
.ca-foot{background:#f8fafc;border-top:8px solid var(--navy);padding:24px}
.ca-foot-in{max-width:1600px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ca-foot p{margin:0;font-size:12px;color:#94a3b8}
@media (max-width:520px){.ca-nav-in{height:76px}.ca-brand img{width:52px;height:52px}.ca-brand span{font-size:24px}}

