/* Menu igual em todas as páginas (mapa, indicar, privacidade). O mapa tem as próprias abas;
   aqui ficam o topo e a barra de baixo das páginas que não são o mapa. */
.topo { background: var(--superficie); border-bottom: 1px solid var(--borda); display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block: 10px; }
.topo .logo img { height: 34px; width: auto; display: block; }
.topo .acoes { display: flex; align-items: center; gap: 8px; }
.ibtn { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--borda); background: var(--superficie); color: var(--texto); font: 600 14px Inter, system-ui, sans-serif; text-decoration: none; cursor: pointer; white-space: nowrap; }
.ibtn:hover { border-color: var(--laranja); color: var(--laranja); }
.ibtn svg { width: 17px; height: 17px; }
.ibtn.cheio { background: var(--laranja); color: var(--acao-texto, #fffaef); border-color: var(--laranja); }
.so-desk { display: none !important; }
[data-so-logado][hidden], [data-so-deslogado][hidden] { display: none !important; }
.menu-tabs { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: grid; grid-template-columns: repeat(4, 1fr);
  background: var(--superficie); border-top: 1px solid var(--borda); padding-bottom: env(safe-area-inset-bottom, 0px); }
.menu-tabs a { display: grid; justify-items: center; gap: 3px; padding: 8px 4px 7px; color: var(--texto-2); font: 500 11px Inter, system-ui, sans-serif; text-decoration: none; }
.menu-tabs svg { width: 22px; height: 22px; }
.menu-tabs [aria-current="page"] { color: var(--titulo); font-weight: 700; }
.menu-tabs [aria-current="page"] svg, .menu-tabs .cad svg { color: var(--laranja); }
body.com-menu { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
@media (min-width: 820px) {
  .so-desk { display: inline-flex !important; }
  .menu-tabs { display: none; }
  body.com-menu { padding-bottom: 0; }
}

/* ☰ e gaveta (mesmo formato do menu do portal) */
.menu-abre { width: 38px; height: 38px; display: inline-grid; place-items: center; border-radius: 10px; border: 0; background: transparent; color: var(--texto); cursor: pointer; padding: 0; flex: none; }
.menu-abre svg { width: 24px; height: 24px; }
.topo-esq { display: flex; align-items: center; gap: 6px; min-width: 0; }
#gaveta { position: fixed; inset: 0; z-index: 2000; display: flex; }
#gaveta[hidden] { display: none; }
.gav { width: 84vw; max-width: 320px; height: 100%; overflow-y: auto; background: var(--superficie); color: var(--texto); box-shadow: 0 0 40px rgba(0,0,0,.35); display: flex; flex-direction: column; }
.gav-fundo { flex: 1; background: rgba(0,0,0,.55); }
.gav-topo { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-bottom: 4px solid var(--laranja); }
.gav-topo img { height: 36px; width: auto; display: block; }
.gav-fechar { border: 0; background: transparent; color: var(--texto); width: 38px; height: 38px; display: grid; place-items: center; cursor: pointer; }
.gav-fechar svg { width: 22px; height: 22px; }
.gav nav { padding: 6px 0; }
.gav-titulo { margin: 14px 18px 4px; font: 800 11px/1 Archivo, sans-serif; text-transform: uppercase; letter-spacing: .2em; color: var(--laranja); }
.gav ul { list-style: none; margin: 0; padding: 0; }
.gav li a, .gav li button { display: block; width: 100%; text-align: left; padding: 11px 18px; font: 600 15px Inter, system-ui, sans-serif; color: var(--texto); text-decoration: none; background: none; border: 0; cursor: pointer; }
.gav li a:hover, .gav li button:hover { color: var(--laranja); background: var(--pill, rgba(0,0,0,.04)); }
.gav-rodape { margin-top: auto; padding: 16px 18px; font-size: 12px; color: var(--texto-2); }

/* aviso de cookies (menu.js) */
#aviso-cookies { position: fixed; left: 12px; right: 12px; z-index: 900; max-width: 520px; margin: 0 auto; background: var(--superficie, #fffaef); color: var(--texto, #4d2600);
  border: 1px solid var(--borda, #e4cba0); border-radius: 14px; box-shadow: 0 8px 28px rgba(0,0,0,.25); padding: 14px 16px; font: 14px/1.45 Inter, system-ui, sans-serif; }
#aviso-cookies p { margin: 0 0 10px; }
#aviso-cookies a { color: var(--laranja, #b84400); font-weight: 600; }
#aviso-cookies .aviso-botoes { display: flex; gap: 8px; justify-content: flex-end; }
#aviso-cookies button { font: 700 14px Inter, system-ui, sans-serif; border-radius: 10px; padding: 10px 16px; cursor: pointer; border: 1px solid var(--borda, #e4cba0); background: transparent; color: inherit; }
#aviso-cookies .aviso-sim { background: var(--laranja, #b84400); border-color: var(--laranja, #b84400); color: #fffaef; }
#aviso-cookies .aviso-tit { font-weight: 700; margin-bottom: 8px; }
#aviso-cookies .aviso-cat { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 10px 0; border-top: 1px solid var(--borda, #e4cba0); }
#aviso-cookies .aviso-cat b { display: block; font-size: 14px; }
#aviso-cookies .aviso-cat span { display: block; font-size: 13px; color: var(--texto-2, #7a5a3a); }
#aviso-cookies .aviso-cat em { font-style: normal; font-size: 12px; font-weight: 600; color: var(--texto-2, #7a5a3a); white-space: nowrap; }
#aviso-cookies .aviso-ads { width: 22px; height: 22px; accent-color: var(--laranja, #b84400); flex: none; }
#aviso-cookies .aviso-pref .aviso-botoes { border-top: 1px solid var(--borda, #e4cba0); padding-top: 10px; }
#aviso-cookies [hidden] { display: none !important; }
