# Site — Unidades, planos e detalhes

## Resumo

Módulo público responsável por listar unidades, aplicar filtros, exibir detalhes de uma unidade e mostrar planos, vantagens, áreas, modalidades e horários.

## Arquivos principais

| Arquivo | Função |
|---|---|
| `Unidades.php` | Carrega a página de listagem de unidades. |
| `Detalhes.php` | Recebe `id` por GET e carrega uma unidade específica. |
| `pages/Unidades/sections/conteudoUnidade.php` | Monta filtros, cards e listagem. |
| `pages/Unidades/sections/conteudoDetalhes.php` | Monta detalhes, planos, modalidades, áreas e horários. |
| `pages/Home/sections/Unidades.php` | Cards de unidades na Home. |
| `pages/Home/sections/Planos.php` | Seção de planos na Home. |

## Parâmetros

| Rota | Parâmetro | Tipo | Obrigatório | Observação |
|---|---|---:|---:|---|
| `/Detalhes.php` | `id` | inteiro | sim | ID da unidade. |
| `/Unidades.php` | `search` | texto | não | Busca por nome/endereço. |
| `/Unidades.php` | `cidade` | texto | não | Filtro de cidade. |
| `/Unidades.php` | `estado` | texto | não | Filtro de estado. |

## Tabelas envolvidas

- `unidades`
- `areas`
- `modalidades`
- `unidade_areas`
- `unidade_modalidades`
- `unidade_horario`
- `horario`
- `planos`
- `vantagem`
- `plano_vantagem`

## Regras

- O ID da unidade precisa existir no banco.
- Os cards exibem imagem, endereço, horários e botão para detalhes.
- O detalhe da unidade busca planos ordenados por preço.
- Os filtros de área/modalidade usam dados auxiliares do banco.

## Pontos de atenção

- Garantir `htmlspecialchars()` em qualquer saída vinda do banco.
- Não exibir planos sem preço/nome válidos.
- Padronizar nomes de unidade com a base oficial do Power BI/EVO quando houver integração.
