# Changelog - Layout Base V2 & Portal

Este documento registra as melhorias recentes e refatorações realizadas nos módulos do Layout Base e na exibição pública do Portal.

## 1. CMS (Painel Administrativo)

### 1.1. Gestão de Menus (Header, Footer e Redes Sociais)
- **Extirpação do Drag and Drop (Nestable)**: Para garantir total controle, previsibilidade e eliminar bugs de hierarquia descontrolada, o sistema legado de "arrastar e soltar" foi removido.
- **Motor Posicional Clássico via Setas**: Desenvolvemos scripts Vanilla JS independentes para cada guia (Header, Footer, Redes Sociais) focados em ordenação rígida por meio de cliques diretos (subir/descer links e mover esq/dir colunas). O código não depende mais de pacotes externos pesados de UI e não utiliza `var`.
- **Trava de Segurança de Níveis (Header)**: Implementada uma proteção recursiva inteligente (`getMaxDepth`) baseada na lógica de "origem + destino". O script analisa a árvore em tempo real e bloqueia imediatamente ações que resultariam na criação de um indevido "Nível 4", protegendo a quebra do grid do site principal.
- **Retrocompatibilidade de Dados (Footer)**: Corrigido e validado o _mapper_ de exportação do JSON do rodapé para forçar a antiga nomenclatura legada (`children`) em vez do padrão limpo (`links`). Esse _hotfix_ evitou a quebra do portal atual e salvou os registros já existentes no banco de dados.
- **Micro-Ajustes**: A altura da área de inserção do *Endereço* na aba de Contatos foi travada e dimensionada (108px) proporcionalmente aos outros elementos, impedindo o esticamento e a desconfiguração da tela do usuário final ao expandir campos de texto.

---

## 2. Portal (Área Pública)

### 2.1. Estrutura Base do Header / NavBar
- **Desacoplamento Bootstrap 3**: Removemos as pesadas amarras do componente base `navbar-nav` do Bootstrap que causavam comportamentos colaterais bizarros na montagem e sumiço da listagem Desktop.
- **Libertação de Overflow**: Ajustamos e dividimos o código HTML/CSS para que os contêineres de retenção de barra de rolagem (`overflow-x: auto`) operem *estritamente* em telas de dispositivos móveis. Isso resolveu definitivamente o sumiço/clipping indesejado dos drop-downs estourando fora da tela no formato Desktop.

### 2.2. Minimalismo e UX
- **Remoção de Poluição de Animações**: Abandonamos os antigos *transforms* (movimentação vertical do submenu), *box-shadows* agressivos e *fade-ins* em prol da estética institucional direta e veloz (`display: block`).
- **Realce Tipográfico**: Os botões do menu raiz perderam caixas de preenchimento (`background-color`) no hover. A resposta estética se dá pela manutenção da cor primária e por uma borda azul inferior espessa, criando forte âncora visual de leitura.
- **Submenus Aninhados (Acordeões Clássicos)**: 
  - Links de *Nível 3* não "voam" mais à direita fora do eixo natural de leitura. Eles agora habitam dentro do bloco descendente da raiz.
  - Se destacam do Nível 2 por discretos espaçamentos à esquerda, uma borda delimitadora em cinza bem claro e fundo estritamente idêntico.
- **Adaptação Dinâmica Segura**: O bloco do submenu expande inteligentemente até `350px` e aplica automaticamente recursos de *Word Wrap* para quebrar naturalmente qualquer nome imenso inserido inadvertidamente pelo usuário da prefeitura sem causar derretimento na UI do Cidadão.
- **Setas Direcionais Limpas**: Setas mestres agora apontam para baixo (`fa-angle-down`). Internamente, introduzimos marcações discretas (`fa-angle-right` com 0.9em de redução de fonte e cor cinza para agir puramente como `bullet-points` visuais de leitura rápida).

### 2.3. Acessibilidade
- **Travamento de Transições**: O motor CSS do Header agora entende nativamente a sinalização da classe central de acessibilidade. Ao detectar `html.acessibilidade-sem-animacao`, ele aplica cortes bruscos até mesmo nas transições microscópicas (como o ganho paulatino da opacidade de bordas inferiores), respeitando normativas para proteção contra disfunções vestibulares de navegação.

### 2.4. Higiene de Código e Erro 404
- **Erradicação do Falso "Acesso Restrito"**: O código do portal incluía na página genérica `Erros/404` uma seção intitulada de "Links Úteis". Ali existia de forma cravada (_hardcoded_) um atalho cego para um suposto Acesso Restrito. Este elemento confuso foi extirpado do código fonte.
- **Expansão Dinâmica na Página 404**: Para não deixar espaços em branco pós-remoção do atalho, a arquitetura CSS que convoca as tabelas públicas de rodapé rápido foi expandida para ocupar a largura integral do bloco (`col-md-12`), estabilizando a visualização final do usuário.
