CHECKPOINT FINAL DO CAPÍTULO 9

Esta pasta serve para recuperação e conferência depois da construção prática.

Confira:
- quatro páginas com títulos e descrições próprios;
- menu igual em todas as páginas;
- aria-current="page" somente no link da página atual;
- caminhos relativos corretos;
- imagens WebP dentro de img;
- telefone e e-mail como links contextualizados;
- foto da fachada com texto alternativo;
- formulário com rótulos, grupos, instruções e validação nativa;
- identidade visual compartilhada em css/styles.css;
- menu com Flexbox e produtos com Grid;
- imagens fluidas e imagem do ambiente com srcset e sizes;
- media queries criadas para o conteúdo.
- arquivo js/script.js conectado com defer em todas as páginas;
- filtro do cardápio com botões nativos e estado aria-pressed;
- produtos disponíveis mesmo quando JavaScript não carrega;
- contador de caracteres relacionado ao campo de mensagem.
- array de objetos com os dados dos produtos;
- repetição e busca de produtos por ID;
- simulação de pedido com quantidade, total em reais e limpeza da seleção.
- arquivo dados/produtos.json separado do comportamento;
- carregamento assíncrono com Fetch e verificação da resposta;
- cards criados com métodos do DOM e conteúdo tratado como texto;
- mensagens de carregamento, sucesso e erro;
- cardápio básico preservado quando a requisição falha.

Teste todos os itens do menu e percorra o formulário somente com o teclado.
Use apenas dados inventados: esta etapa ainda não possui servidor para receber mensagens.
Redimensione o navegador continuamente e teste também teclado e ampliação.
Abra o Console, confirme que não há erros do projeto e teste o cardápio sem JavaScript.
Marque diferentes produtos, confira os totais e opere a simulação somente com o teclado.
No painel Network, localize produtos.json e confira o status 200. Depois provoque um caminho 404 e confirme a recuperação da página.
