Skip to main content

Para Quem é Este Guia?

Este documento serve como protocolo padrão para:
  • 👥 Time Easy Builder: Ao criar e subir templates
  • 🎨 Usuários: Ao personalizar e criar páginas
Objetivo: Garantir que todos os projetos sigam os mesmos padrões de qualidade, performance e manutenibilidade. Use como checklist e referência rápida!

1. Nomenclatura de Elementos

Por Que Nomear Elementos?

Quando você (ou outra pessoa) voltar para editar a página daqui 3 meses, nomes claros economizam horas de trabalho tentando entender onde está cada coisa. Problema: Elementos com nomes genéricos
❌ Container
❌ Coluna 1
❌ Section 2
❌ Botão
Solução: Nomes descritivos e padronizados
✅ container-hero
✅ btn-cta-whatsapp
✅ secao-depoimentos
✅ card-servico-01

Padrão Recomendado

Use: tipo-funcao-identificador

Containers

Exemplos:
  • container-hero
  • container-servicos
  • container-depoimentos
  • container-contato
  • container-rodape
Quando usar: Todo container principal de seção

Botões

Exemplos:
  • btn-cta-principal (botão de ação principal)
  • btn-whatsapp (botão WhatsApp)
  • btn-secundario
  • btn-fechar-modal
Quando usar: Todos os botões importantes

Cards

Exemplos:
  • card-servico-01
  • card-beneficio-velocidade
  • card-depoimento-maria
  • card-produto-plano-pro
Quando usar: Cards repetitivos ou importantes

Seções

Exemplos:
  • secao-sobre
  • secao-contato
  • secao-portfolio
  • secao-precos
Quando usar: Seções principais da página

Como Nomear no Elementor

1

Selecione o elemento

Clique no elemento (container, coluna, widget)
2

Abra configurações avançadas

Vá na aba “Avançado”
3

Adicione ID ou Class CSS

  • ID CSS: Para elemento único (ex: hero-principal)
  • Classes CSS: Para elementos reutilizáveis (ex: btn-cta)
Dica do time: Nomeie ANTES de começar a personalizar. Fica mais fácil achar depois!

2. Otimização de Imagens

Por Que Otimizar Imagens?

80% da lentidão de sites vem de imagens pesadas! Imagem de 5MB (direto da câmera) = Site lento = Cliente insatisfeito = Menos vendas
Nunca suba fotos direto da câmera ou celular! Sempre otimize antes.

Formatos: O Que Usar e Quando

1ª Escolha - Formato Mais ModernoVantagens:
  • Compressão SUPERIOR ao WebP
  • Arquivos ainda menores
  • Qualidade visual excelente
Quando usar:
  • Todas as imagens de site (hero, cards, produtos)
  • Navegadores modernos (Chrome, Edge, Opera)
Como converter:
  1. Abra Squoosh.app
  2. Arraste imagem
  3. Selecione formato: AVIF
  4. Ajuste qualidade: 50-70%
  5. Baixe otimizada
Configuração recomendada:
  • Qualidade: 60% (balanço perfeito)
  • Esforço: 4 (padrão)

Tamanhos: O Que Usar Para Cada Caso

Tipo de ImagemLargura RecomendadaQuando Usar
Hero/Banner Desktop1920pxImagem de fundo de seção hero full width
Hero/Banner Mobile1080pxMesma seção, mas versão mobile
Imagens de Conteúdo1200pxFotos dentro de seções (sobre nós, galeria)
Cards/Thumbnails600pxCards de serviços, produtos, blog
Ícones/Logos200px ou SVGLogos, ícones decorativos
Lembre-se: Largura Desktop = 1920px / Mobile = 1080px (padrão Easy Builder)

Proporções: Quando Usar Cada Uma

16:9 (Landscape)

Uso: Banners, vídeos, hero sectionsExemplo: 1920x1080pxCSS: aspect-ratio: 16/9;

1:1 (Quadrado)

Uso: Fotos de perfil, produtos, InstagramExemplo: 800x800pxCSS: aspect-ratio: 1/1;

4:3 (Clássico)

Uso: Fotos tradicionais, galeriasExemplo: 1200x900pxCSS: aspect-ratio: 4/3;

4:5 (Retrato)

Uso: Stories, fotos verticaisExemplo: 1080x1350pxCSS: aspect-ratio: 4/5;

3. Tipografia Responsiva

Por Que Usar REM ao Invés de PX?

REM é relativo ao tamanho base do navegador (16px), então:
  • ✅ Respeita preferências do usuário (acessibilidade)
  • ✅ Escala proporcionalmente
  • ✅ Mais fácil de ajustar globalmente
PX é fixo:
  • ❌ Não respeita preferências do usuário
  • ❌ Difícil de manter consistência
  • ❌ Não escala bem
Conversão rápida: 1rem = 16px (padrão dos navegadores)

Tabela Completa de Tamanhos

Use esta tabela como referência ao ajustar textos:
ElementoDesktop (px)Tablet (px)Mobile (px)Desktop (rem)Tablet (rem)Mobile (rem)
H148-60px36-48px28-36px3-3.75rem2.25-3rem1.75-2.25rem
H236-42px28-36px24-28px2.25-2.625rem1.75-2.25rem1.5-1.75rem
H328-32px24-28px20-24px1.75-2rem1.5-1.75rem1.25-1.5rem
H422-26px20-24px18-22px1.375-1.625rem1.25-1.5rem1.125-1.375rem
Texto Base16-18px15-17px14-16px1-1.125rem0.9375-1.0625rem0.875-1rem
Texto Pequeno14-15px13-14px12-13px0.875-0.9375rem0.8125-0.875rem0.75-0.8125rem

Quando Usar Cada Tamanho

Onde usar:
  • Título do Hero (primeira seção)
  • Único H1 da página inteira!
Exemplo:
“Crie Sites Profissionais em Horas, Não Dias”
Desktop: 3rem (48px) Mobile: 1.75rem (28px)
SEO importante: Use APENAS UM H1 por página! Google penaliza múltiplos H1s.
Onde usar:
  • Início de cada seção principal
  • “Sobre Nós”, “Nossos Serviços”, “Depoimentos”
Exemplo:
“O Que Nossos Clientes Dizem”
Desktop: 2.25rem (36px) Mobile: 1.5rem (24px)
Onde usar:
  • Títulos de cards
  • Subseções dentro de seções
  • Nomes de serviços/produtos
Exemplo:
“Consultoria Estratégica”
Desktop: 1.75rem (28px) Mobile: 1.25rem (20px)
Onde usar:
  • Todo texto corrido
  • Descrições
  • Conteúdo principal
Desktop: 1rem (16px) Mobile: 0.875rem (14px)Line-height: 1.6-1.8 (espaço entre linhas)

Tipografia Fluida com clamp()

O que é clamp(): Faz o texto crescer/diminuir automaticamente conforme o tamanho da tela, SEM media queries! Sintaxe: clamp(mínimo, ideal, máximo) Exemplo prático:
/* H1 que escala automaticamente */
font-size: clamp(1.75rem, 5vw, 3.75rem);
/* Mobile: 1.75rem → Desktop: 3.75rem → Entre eles: 5% da largura da tela */
Por que usar:
  • ✅ Menos código (não precisa media query)
  • ✅ Transição suave entre tamanhos
  • ✅ Mais fluido e profissional
Use clamp() para H1 e H2! Para textos menores, valores fixos são mais previsíveis.

4. Espaçamentos (Padding e Margin)

Por Que Usar Sistema de Múltiplos?

Consistência visual! Usar sempre múltiplos de 8px (0.5rem) cria ritmo visual harmonioso. Problema: Espaçamentos aleatórios
❌ padding: 13px 27px; (valores aleatórios)
❌ margin-bottom: 19px; (sem padrão)
Solução: Sistema padronizado
✅ padding: 1rem 2rem; (16px 32px - múltiplos de 8)
✅ margin-bottom: 1.5rem; (24px - múltiplo de 8)

Sistema de Espaçamento Base

NomeValor REMValor PXQuando Usar
XS0.5rem8pxEspaço mínimo entre elementos pequenos
S1rem16pxEspaço padrão entre parágrafos
M1.5rem24pxEspaço entre blocos relacionados
L2rem32pxPadding interno de cards
XL3rem48pxEspaço entre seções menores
XXL4rem64pxEspaço entre seções médias
XXXL6rem96pxEspaço entre seções grandes

Containers: Quando e Como

Container Principal (seção inteira):
BreakpointPadding HorizontalPadding VerticalPor Quê?
Desktop5-7.5%5-7.5remRespira nas laterais, confortável verticalmente
Tablet4-5%3.75-5remMenos espaço lateral, mantém respiração
Mobile5-6%2.5-3.75remAproveita tela pequena, menos vertical
Container Interno (nested):
BreakpointPaddingPor Quê?
Desktop2.5-3.75remCards e blocos internos precisam menos espaço
Tablet1.875-2.5remProporcionalmente menor
Mobile1.25-1.875remAproveita cada pixel

Espaço Entre Seções

Por que importa: Separação visual clara = página organizada e profissional
BreakpointMargin BottomQuando Usar
Desktop5-7.5remEntre seções principais (Hero → Serviços → Depoimentos)
Tablet3.75-5remMesma lógica, proporcionalmente menor
Mobile2.5-3.75remMobile precisa menos espaço vertical
Regra de ouro: Quanto MAIOR o elemento, MAIOR o espaço ao redor!

5. Botões Profissionais

Por Que Tamanho de Botão Importa?

Botões pequenos demais: Difícil de clicar (especialmente no mobile!) Botões grandes demais: Parecem amadores e poluem a página

Tamanhos Padrão

Quando usar: 90% dos casos (CTAs principais, formulários)
BreakpointPaddingFont SizePor Quê?
Desktop1rem 2rem1-1.125remConfortável para clicar
Tablet0.875rem 1.75rem0.9375-1.0625remProporcionalmente menor
Mobile0.75rem 1.5rem0.875-1remFácil de tocar com dedos
Código exemplo:
padding: 1rem 2rem; /* Desktop */
font-size: 1rem;
border-radius: 0.5rem; /* Cantos arredondados */

Botão Full Width no Mobile

Por quê fazer: Botões largos no mobile são MUITO mais fáceis de clicar!
/* Desktop e Tablet */
width: auto;

/* Mobile */
width: 100%; /* Ocupa tela toda */
Dica: Configure no Elementor → Avançado → Width → Mobile: 100%

6. Padrões de Código CSS

Estrutura e Organização

Como organizar CSS personalizado no Elementor:
/* ============================================
   SEÇÃO: HERO PRINCIPAL
   ============================================ */

/* Botão CTA com efeito hover */
.btn-cta-hero {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  transition: all 0.3s ease;
}

.btn-cta-hero:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

/* ============================================
   SEÇÃO: CARDS DE SERVIÇOS
   ============================================ */

.card-servico {
  border-radius: 1rem;
  transition: transform 0.3s ease;
}

.card-servico:hover {
  transform: scale(1.05);
}

Boas Práticas de CSS

Por quê:
  • IDs são únicos (só podem ser usados 1x)
  • Classes são reutilizáveis
Errado:
#botao-1 { color: blue; } /* ID - não reutilizável */
Certo:
.btn-primario { color: blue; } /* Classe - reutilizável */
Ordem recomendada:
.elemento {
  /* 1. Posicionamento */
  position: relative;
  top: 0;
  left: 0;

  /* 2. Box Model */
  display: flex;
  width: 100%;
  padding: 1rem;
  margin: 0;

  /* 3. Tipografia */
  font-size: 1rem;
  font-weight: 600;
  color: #333;

  /* 4. Visual */
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 0.5rem;

  /* 5. Animações */
  transition: all 0.3s ease;
}
Por quê: Mais fácil de ler e manter!
Por quê: Mudar cor em 1 lugar atualiza tudo!
/* Defina variáveis no topo */
:root {
  --cor-primaria: #667eea;
  --cor-secundaria: #764ba2;
  --cor-texto: #333333;
  --cor-fundo: #ffffff;
}

/* Use nas classes */
.btn-cta {
  background: var(--cor-primaria);
  color: var(--cor-fundo);
}

.btn-secundario {
  background: var(--cor-secundaria);
}
Vantagem: Troca cores do site inteiro mudando só as variáveis!
Por quê: Position absolute quebra responsividade!Errado (quebra no mobile):
.elemento {
  position: absolute;
  top: 100px;
  left: 200px; /* Vai ficar torto no mobile! */
}
Certo (responsivo):
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem; /* Funciona em qualquer tela */
}
Quando comentar:
  • Código não óbvio
  • Hacks ou soluções específicas
  • Código que pode confundir depois
/* Corrige bug do Safari com z-index */
.elemento {
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

/* Gradiente animado (muda cor constantemente) */
@keyframes gradient-shift {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}

7. Padrões de JavaScript

Quando Usar JavaScript no Elementor

Use JS para:
  • ✅ Interações (clique, scroll, hover complexo)
  • ✅ Animações programáticas
  • ✅ Validação de formulários customizada
  • ✅ Integração com APIs
NÃO use JS para:
  • ❌ Coisas que CSS faz melhor (animações simples, hover, transições)
  • ❌ Estilização visual
  • ❌ Layouts

Estrutura de Código JS

/* ============================================
   SCROLL SUAVE PARA SEÇÕES
   ============================================ */

document.querySelectorAll('a[href^="#"]').forEach(anchor => {
  anchor.addEventListener('click', function (e) {
    e.preventDefault();

    const targetId = this.getAttribute('href');
    const targetElement = document.querySelector(targetId);

    if (targetElement) {
      targetElement.scrollIntoView({
        behavior: 'smooth',
        block: 'start'
      });
    }
  });
});

/* ============================================
   MODAL DE VÍDEO
   ============================================ */

function abrirModal(videoId) {
  const modal = document.getElementById('modal-video');
  const iframe = document.getElementById('video-frame');

  // Insere URL do YouTube
  iframe.src = `https://www.youtube.com/embed/${videoId}?autoplay=1`;

  // Mostra modal
  modal.classList.add('ativo');
}

function fecharModal() {
  const modal = document.getElementById('modal-video');
  const iframe = document.getElementById('video-frame');

  // Para vídeo
  iframe.src = '';

  // Esconde modal
  modal.classList.remove('ativo');
}

Boas Práticas de JavaScript

Use const e let, não var

// ❌ Errado (antigo)
var nome = "João";

// ✅ Certo (moderno)
const nome = "João"; // Não muda
let idade = 25; // Pode mudar
Por quê: Mais seguro e previsível

Comente o QUE e POR QUÊ

// Aguarda 300ms antes de executar
// para evitar múltiplos cliques
setTimeout(() => {
  enviarFormulario();
}, 300);
Por quê: Você vai esquecer daqui 1 semana!

Use addEventListener

// ❌ Evite inline
<button onclick="clicar()">

// ✅ Use addEventListener
button.addEventListener('click', () => {
  // código aqui
});
Por quê: Mais organizado e manutenível

Valide Antes de Usar

const elemento = document.querySelector('.botao');

if (elemento) {
  elemento.addEventListener('click', () => {
    // Código seguro
  });
}
Por quê: Evita erros se elemento não existir

8. Estrutura de Headings (SEO)

Por Que Hierarquia Importa?

Google usa headings para entender seu site! Hierarquia correta = Melhor SEOHierarquia errada = Google confuso = Menos visitantes

Regras Fundamentais

1

1 H1 por página (OBRIGATÓRIO!)

Por quê: Google espera 1 H1 = tópico principalOnde: Título principal do HeroExemplo: “Crie Sites Profissionais com Easy Builder”
2

Não pule níveis

Errado: H1 → H3 (pulou o H2)Certo: H1 → H2 → H3 → H4Por quê: Google entende como estrutura lógica de documento
3

Cada seção principal = H2

Seções do site:
  • H2: Sobre Nós
  • H2: Nossos Serviços
  • H2: Depoimentos
  • H2: Contato
Por quê: Google indexa melhor e usuário escaneia rápido
4

Configure via Widget Heading

No Elementor:
  • Use widget “Heading”
  • Não use widget “Text Editor” estilizado como título
Por quê: Semântica HTML correta para SEO

Exemplo de Estrutura Completa

📄 Página: "Easy Builder - Crie Sites Rápido"

H1 - "Crie Sites Profissionais em Horas" (Hero)

  H2 - "Sobre o Easy Builder" (Seção)
    H3 - "Nossa Missão" (Subseção)
    H3 - "Nossos Valores" (Subseção)

  H2 - "Funcionalidades" (Seção)
    H3 - "Templates Prontos" (Card 1)
    H3 - "IA Integrada" (Card 2)
    H3 - "Suporte 24/7" (Card 3)

  H2 - "Depoimentos" (Seção)
    H3 - "João Silva" (Depoimento 1)
    H3 - "Maria Santos" (Depoimento 2)

  H2 - "Preços" (Seção)

  H2 - "Fale Conosco" (Seção)
Esta estrutura é perfeita para SEO e acessibilidade!

9. Cores e Contraste (Acessibilidade)

Por Que Contraste Importa?

Contraste ruim = Texto ilegível = Usuário desiste = Cliente perde venda Além disso, acessibilidade é LEI em muitos países!

Contraste Mínimo (WCAG)

Texto Normal

Mínimo: 4.5:1Exemplo OK:
  • Texto #222222 em fundo #FFFFFF ✅
  • Texto #FFFFFF em fundo #333333 ✅
Exemplo RUIM:
  • Texto #CCCCCC em fundo #FFFFFF ❌ (contraste 1.6:1)

Texto Grande (18px+)

Mínimo: 3:1Pode ser um pouco mais claro que texto normalTítulos grandes perdoam contraste menor

Botões e Links

Mínimo: 3:1Importante: Botão precisa se destacar do fundo!

Teste Sempre!

Use WebAIM Contrast CheckerCole cor do texto e cor do fundo = resultado instantâneo!

Combinações Seguras Prontas

Texto escuro em fundo claro:
  • Texto: #222222 ou #333333
  • Fundo: #FFFFFF ou #F5F5F5
  • Contraste: 12:1 ✅
Texto claro em fundo escuro:
  • Texto: #FFFFFF ou #F5F5F5
  • Fundo: #222222 ou #1A1A1A
  • Contraste: 14:1 ✅
Evite cinza claro em branco! (#CCCCCC em #FFFFFF = contraste 1.6:1 = ILEGÍVEL)

10. Performance: O Que Realmente Importa

4 Pilares da Performance

Impacto: 80% da lentidão vem de imagens!Checklist:
  • ✅ Formato AVIF ou WebP
  • ✅ Qualidade 60-80%
  • ✅ Dimensões corretas (não usar 4K para card pequeno!)
  • ✅ Lazy loading ativado
Como ativar lazy load: Elementor → Imagem → Avançado → Loading: Lazy

11. Responsividade: Como Pensar Mobile-First

Por Que Mobile-First?

70% dos acessos vêm de celular! Se o site não funciona bem no mobile, você perde 70% das conversões.

Breakpoints: O Que São e Como Usar

Breakpoints = Pontos onde layout muda
BreakpointLarguraDispositivosQuando Ajustar
Mobileaté 767pxCelularesSEMPRE configure!
Tablet768-1024pxiPads, tabletsConfigure se layout quebrar
Desktop1025px+Notebooks, PCsConfiguração padrão

Como Configurar no Elementor

1

1. Ative modo responsivo

Clique no ícone de dispositivo (desktop/tablet/mobile) embaixo no Elementor
2

2. Mude para Mobile

Clique em “Mobile” para ver preview mobile
3

3. Ajuste elemento por elemento

  • Tamanhos de fonte (reduza)
  • Padding (reduza)
  • Margin (reduza)
  • Altura de seções (ajuste)
  • Oculte elementos desnecessários (Hide on Mobile)
4

4. Teste em dispositivo real

IMPORTANTE: Preview do Elementor nem sempre é exato!Teste no celular de verdade ou use DevTools do navegador (F12)

Técnicas Responsivas Essenciais

Quando usar: Elementos decorativos, textos longos, imagens grandesComo fazer:
  1. Selecione elemento
  2. Avançado → Responsivo
  3. Marque: “Hide On Mobile”
Exemplo: Imagem decorativa gigante que polui mobile
Quando usar: Quando imagem está à esquerda no desktop mas deve ficar ABAIXO do texto no mobileComo fazer:
  1. Selecione container
  2. Layout → Responsivo
  3. Mobile: “Reverse Columns”
Antes (desktop):
[Imagem] [Texto]
Depois (mobile):
[Texto]
[Imagem]
Por quê: Usuário lê texto antes de ver imagem (ordem lógica!)
Quando usar: Botões, formulários, imagensPor quê: Aproveita espaço pequeno do mobile!Como fazer:
  1. Avançado → Width
  2. Desktop: Auto ou Custom
  3. Mobile: 100%
Quando usar: Grid de 3-4 colunas no desktopDesktop:
[Card 1] [Card 2] [Card 3]
Mobile:
[Card 1]
[Card 2]
[Card 3]
Como fazer: Elementor faz automaticamente, mas ajuste gaps!

12. Formulários: UX e Acessibilidade

Por Que Formulários Importam?

Formulário ruim = Cliente desiste = Você perde lead/venda

Tamanhos Mínimos (Especialmente Mobile!)

PropriedadeDesktopMobilePor Quê?
Altura Campo3.125rem (50px)2.75rem (44px) MÍNIMODedos precisam clicar fácil!
Font Size1rem (16px)1rem (16px) MÍNIMOiOS faz zoom se menor que 16px!
Padding0.75rem 1.25rem0.625rem 1remTexto não cola nas bordas
Espaço entre campos1.25rem1remFácil de distinguir campos
CRÍTICO Mobile: Font size mínimo 16px (1rem)! Se menor, iOS dá zoom automático e quebra layout!

Labels e Placeholders

Labels (texto acima do campo):
<label>Nome Completo</label>
<input type="text" placeholder="Digite seu nome">
Quando usar:
  • ✅ Sempre use labels (acessibilidade!)
  • ✅ Placeholder como exemplo adicional
  • ❌ Não use APENAS placeholder sem label
Font size labels:
  • Desktop: 0.875-1rem
  • Mobile: 0.875-1rem (não menor!)

Textarea (Campo de Mensagem)

Altura mínima:
  • Desktop: 9rem (≈6 linhas de texto)
  • Mobile: 7rem (≈5 linhas)
Por quê: Usuário precisa ver o que está escrevendo!

Tabela Completa - Formulários (Detalhada)

PropriedadeDesktopTabletMobileObservação
Input Height3.125rem - 3.5rem (50-56px)3rem - 3.25rem (48-52px)2.75rem - 3rem (44-48px)Mínimo 44px mobile (area de toque)
Input Padding0.75rem 1.25rem0.75rem 1.125rem0.625rem 1remConforto visual
Input Font Size1rem (16px)0.9375rem (15px)1rem (16px)CRÍTICO: 16px mobile evita zoom iOS
Border Radius0.25rem - 0.5rem0.25rem - 0.5rem0.25rem - 0.5remConsistente em todos
Gap entre campos1.25rem - 1.5rem1.125rem - 1.25rem1rem - 1.125remSeparação clara
Label Font Size0.875rem - 1rem0.8125rem - 0.9375rem0.875rem - 1remLegível mas menor que input
Label Margin Bottom0.5rem0.375rem0.375remEspaço entre label e campo
Textarea Min-Height9rem (144px ≈6 linhas)8rem (128px)7rem (112px)Usuário vê o que digita

Largura de Campos (Width)

Tipo de CampoLargura RecomendadaPor Quê?
Full widthwidth: 100%Nome, Email, Mensagem
50% (2 colunas)width: calc(50% - 0.75rem)Nome + Sobrenome lado a lado
Email/Telefonemax-width: 25rem (400px)Não precisa ser gigante

12.1. Ícones - Tamanhos Detalhados

Por Que Tamanho de Ícone Importa?

Ícones muito pequenos: Invisíveis, perdem impacto Ícones muito grandes: Desproporcionais, amadores

Tabela Completa - Todos os Tipos de Ícones

Tipo de ÍconeDesktopTabletMobileQuando Usar
Decorativos/Features3rem - 4rem (48-64px)2.5rem - 3.5rem (40-56px)2.25rem - 3rem (36-48px)Cards de serviços, benefícios
Em Botões1.25rem - 1.5rem (20-24px)1.125rem - 1.375rem (18-22px)1rem - 1.25rem (16-20px)Ícone ao lado de texto do botão
Inline (no texto)1.125rem - 1.25rem (18-20px)1rem - 1.125rem (16-18px)1rem - 1.125rem (16-18px)Ícone dentro de parágrafo
Redes Sociais1.5rem - 2rem (24-32px)1.375rem - 1.75rem (22-28px)1.25rem - 1.5rem (20-24px)Rodapé, links sociais
Logo2.5rem - 4rem (40-64px)2.25rem - 3.5rem (36-56px)2rem - 3rem (32-48px)Header, cabeçalho

Dica: Ícones Inline com EM

Por quê usar em para ícones inline:
/* ❌ Com rem (tamanho fixo) */
.icone-inline {
  font-size: 1.125rem; /* Sempre 18px */
}

/* ✅ Com em (escala com texto ao redor) */
.icone-inline {
  font-size: 1.2em; /* 120% do tamanho do texto pai */
}
Vantagem: Ícone cresce/diminui junto com o texto automaticamente!

12.2. Cards em Grid - Dimensões Completas

Por Que Padronizar Cards?

Consistência visual = Profissionalismo Cards do mesmo tamanho = Layout harmonioso e organizado

Tabela Completa - Cards de Serviços/Produtos

ElementoDesktopTabletMobileObservação
Imagem Altura15.625rem - 18.75rem (250-300px)13.75rem - 16.25rem (220-260px)12.5rem - 15rem (200-240px)Use aspect-ratio para manter proporção
Card Padding1.875rem (30px)1.5rem (24px)1.25rem (20px)Espaço interno confortável
Gap entre cards1.875rem (30px)1.5rem (24px)1.25rem (20px)Separação entre cards
Border Radius0.5rem - 1rem0.5rem - 1rem0.5rem - 1remCantos arredondados
Título Card (H3)1.5rem - 1.75rem1.375rem - 1.5rem1.25rem - 1.375remDestaque sem exagero
Descrição0.9375rem - 1rem0.875rem - 0.9375rem0.875rem - 1remLegível e confortável

Layout de Grid Responsivo

Desktop (3 colunas):
.grid-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.875rem;
}
Tablet (2 colunas):
@media (max-width: 1024px) {
  .grid-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
Mobile (1 coluna):
@media (max-width: 767px) {
  .grid-cards {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

Grid Automático (Responsivo sem Media Queries!)

.grid-auto {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: clamp(1.25rem, 3vw, 1.875rem);
}
/* Colunas se ajustam automaticamente! */
Use auto-fit para grid que se adapta sozinho! Menos código, mais inteligente.

Aspect Ratio para Imagens em Cards

Por quê usar: Mantém proporção perfeita em qualquer tamanho!
/* Landscape 16:9 (vídeos, banners) */
.card-imagem {
  aspect-ratio: 16/9;
  object-fit: cover; /* Imagem preenche sem distorcer */
}

/* Quadrado 1:1 (produtos, perfis) */
.card-imagem {
  aspect-ratio: 1/1;
  object-fit: cover;
}

/* Retrato 4:5 (Instagram style) */
.card-imagem {
  aspect-ratio: 4/5;
  object-fit: cover;
}

12.3. Tabelas de Referência Técnica Completa

Ícones - Valores Exatos por Breakpoint

TipoDesktop (rem)Desktop (px)Tablet (rem)Tablet (px)Mobile (rem)Mobile (px)
Decorativos3 - 448 - 642.5 - 3.540 - 562.25 - 336 - 48
Em Botões1.25 - 1.520 - 241.125 - 1.37518 - 221 - 1.2516 - 20
Redes Sociais1.5 - 224 - 321.375 - 1.7522 - 281.25 - 1.520 - 24
Inline1.2em-1.2em-1.2em-

Formulários - Valores Exatos por Breakpoint

PropriedadeDesktop (rem)Desktop (px)Tablet (rem)Tablet (px)Mobile (rem)Mobile (px)
Input Height3.125 - 3.550 - 563 - 3.2548 - 522.75 - 344 - 48
Input Padding0.75 1.2512 200.75 1.12512 180.625 110 16
Input Font1160.937515116
Gap entre campos1.25 - 1.520 - 241.125 - 1.2518 - 201 - 1.12516 - 18
Label Font0.875 - 114 - 160.8125 - 0.937513 - 150.875 - 114 - 16
Textarea Min-Height914481287112

Cards em Grid - Valores Exatos por Breakpoint

ElementoDesktop (rem)Desktop (px)Tablet (rem)Tablet (px)Mobile (rem)Mobile (px)
Imagem Altura15.625 - 18.75250 - 30013.75 - 16.25220 - 26012.5 - 15200 - 240
Card Padding1.875301.5241.2520
Gap1.875301.5241.2520
Título (H3)1.5 - 1.7524 - 281.375 - 1.522 - 241.25 - 1.37520 - 22
Descrição0.9375 - 115 - 160.875 - 0.937514 - 150.875 - 114 - 16

Botões - Valores Exatos Completos (REM e PX)

TamanhoBreakpointPadding (rem)Padding (px)Font (rem)Font (px)
LargeDesktop1.25 2.520 401.125 - 1.2518 - 20
LargeTablet1.125 2.2518 361.0625 - 1.187517 - 19
LargeMobile1 216 321 - 1.12516 - 18
MediumDesktop1 216 321 - 1.12516 - 18
MediumTablet0.875 1.7514 280.9375 - 1.062515 - 17
MediumMobile0.75 1.512 240.875 - 114 - 16
SmallDesktop0.75 1.512 240.875 - 114 - 16
SmallTablet0.625 1.2510 200.8125 - 0.937513 - 15
SmallMobile0.625 1.2510 200.8125 - 0.937513 - 15

13. Padrões de HTML Semântico

Por Que HTML Semântico?

Google lê HTML para entender seu site! HTML semântico = Google entende = Melhor SEOTudo div genérica = Google confuso = SEO ruim

Tags Semânticas e Quando Usar

<header>

Quando usar: Cabeçalho do site (logo, menu)Não confunda com <head> (metadados)Elementor usa automaticamente se você marca seção como “Header”

<nav>

Quando usar: Menu de navegaçãoExemplo: Menu principal, menu rodapéIndica para Google: “Isso é navegação”

<main>

Quando usar: Conteúdo principal (apenas 1 por página!)Exemplo: Todo conteúdo entre header e footerGoogle prioriza conteúdo dentro de <main>

<section>

Quando usar: Cada seção temáticaExemplo: Sobre, Serviços, DepoimentosElementor gera automaticamente

<article>

Quando usar: Conteúdo independente (posts de blog)Exemplo: Card de blog, notícia, produtoIndica conteúdo reutilizável

<footer>

Quando usar: Rodapé do siteLinks úteis, copyright, redes sociaisElementor marca automaticamente
Elementor cuida disso automaticamente! Mas entender ajuda a organizar melhor suas páginas.

14. Acessibilidade (A11y)

Por Que Acessibilidade?

  • Legal: Muitos países exigem por lei
  • Ético: 15% da população tem alguma deficiência
  • SEO: Google favorece sites acessíveis
  • Conversão: Mais gente consegue usar = mais vendas!

Checklist de Acessibilidade

1

✅ Contraste mínimo 4.5:1

Teste em WebAIM
2

✅ Textos alternativos em imagens

Como fazer: Elementor → Imagem → “Alt Text”Exemplo: “Logo Easy Builder” ou “Screenshot do painel”Por quê: Leitores de tela descrevem imagem para cegos
3

✅ Links descritivos

Errado: “Clique aqui”Certo: “Baixe o manual do Easy Builder”Por quê: Leitor de tela lê links fora de contexto
4

✅ Formulários com labels

Sempre use <label> associado ao campo!Por quê: Leitores de tela precisam saber o que é cada campo
5

✅ Hierarquia de headings correta

H1 → H2 → H3 (sem pular!)Navegação por headings é essencial para cegos
6

✅ Botões clicáveis (44x44px mínimo)

Dedos precisam de área suficiente!Mobile: Botões com pelo menos 44px de altura

15. Checklist Antes de Publicar

Use este checklist TODA VEZ antes de entregar site:
1

✅ 1. Nomenclatura

  • Todos containers principais nomeados
  • Botões importantes com nomes claros
  • Fácil de encontrar elementos
2

✅ 2. Responsividade Testada

  • Desktop: OK
  • Tablet: OK
  • Mobile: TESTADO EM CELULAR REAL!
3

✅ 3. Imagens Otimizadas

  • Formato AVIF ou WebP
  • Compressão 60-80%
  • Tamanhos corretos
  • Alt text preenchido
4

✅ 4. Tipografia Consistente

  • H1 único
  • Hierarquia H1→H2→H3 correta
  • Tamanhos seguem padrão
  • Legível em todos dispositivos
5

✅ 5. Espaçamentos Harmoniosos

  • Múltiplos de 0.5rem (8px)
  • Consistente entre seções similares
  • Não tem espaços gigantes nem apertados demais
6

✅ 6. Contraste Adequado

  • Testado em WebAIM Contrast Checker
  • Mínimo 4.5:1 para texto normal
  • Texto legível em fundos coloridos
7

✅ 7. Links Funcionando

  • Todos botões linkam corretamente
  • WhatsApp com número certo
  • Links externos abrem em nova aba
  • Links internos funcionam
8

✅ 8. Formulários Testados

  • Campos com tamanho adequado (min 44px altura mobile)
  • Labels preenchidas
  • Placeholder como exemplo
  • Validação funcionando
  • Envia para email correto
9

✅ 9. Performance Otimizada

  • CSS regenerado (Elementor → Tools)
  • Widgets não usados desabilitados
  • Fontes do Google: máximo 3 famílias
  • Vídeos com lazy load
10

✅ 10. SEO Básico

  • Título da página preenchido
  • Meta description preenchida (Yoast SEO)
  • Headings com hierarquia correta
  • URLs amigáveis (sem “pagina-123”)
Se passou em todos 10 itens = Site profissional pronto para entregar!

16. Erros Comuns e Como Evitar

Erro: Confiar só no preview do ElementorPor quê é problema: Preview não mostra 100% real (especialmente animações, fontes, scroll)Solução:
  1. Publique página (pode ser privada)
  2. Acesse do seu celular
  3. Teste tudo: scroll, cliques, formulários
  4. Use DevTools do Chrome (F12 → Toggle Device Toolbar)
Erro: Animar tudo (títulos, textos, imagens, botões)Por quê é problema:
  • Site fica lento (especialmente mobile)
  • Distrai ao invés de guiar
  • Parece amador
Solução:
  • Anime APENAS: Hero, CTAs principais, cards importantes
  • Use animações sutis (fade-in, slide-up)
  • Evite animações longas (máximo 0.5s)
Erro: Subir fotos direto da câmera (5-10MB cada!)Por quê é problema:
  • Site MUITO lento
  • Cliente perde vendas (gente desiste de esperar)
  • Gasta banda do servidor
Solução:
  1. SEMPRE converta para AVIF ou WebP
  2. Use Squoosh.app
  3. Qualidade 60-80% (invisível ao olho nu!)
  4. Redimensione para tamanho certo (não use 4K para thumbnail!)
Erro: Deixar tudo como “Container”, “Coluna”, “Section”Por quê é problema:
  • Impossível achar elemento depois
  • Perde tempo clicando em tudo
  • Dificulta manutenção
Solução:
  • Nomeie TODOS containers principais
  • Use padrão: tipo-funcao-identificador
  • Exemplo: container-hero, btn-cta-whatsapp
Erro: Posicionar tudo com position: absolutePor quê é problema:
  • Quebra TUDO no mobile
  • Elementos sobrepõem
  • Difícil de manter
Solução:
  • Use Flexbox ou CSS Grid
  • Position absolute SÓ para casos específicos (badges, overlays)
Erro: Copiar código do Google e colar sem lerPor quê é problema:
  • Pode conflitar com outros estilos
  • Pode quebrar responsividade
  • Difícil de debugar depois
Solução:
  • Use Easy Coder IA (gera código explicado!)
  • Leia código antes de colar
  • Teste após adicionar
  • Comente código complexo
Erro: Carregar 5-10 famílias de fontes diferentesPor quê é problema:
  • Cada fonte = +100-200kb
  • Site fica lento
  • Poluição visual (muitas fontes diferentes)
Solução:
  • Máximo 2-3 famílias
  • Máximo 4-5 pesos por família
  • Exemplo: Roboto (400, 700) + Montserrat (600, 800)

17. Padrões de Código CSS Avançado

Animações e Transições

Quando adicionar animações:
  • ✅ Hover em botões (feedback visual)
  • ✅ Entrada de elementos (scroll-triggered)
  • ✅ Modais/popups (abertura/fechamento)
Código padrão de animação:
/* ============================================
   BOTÃO COM HOVER SUAVE
   ============================================ */
.btn-cta {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border: none;
  color: white;
  padding: 1rem 2rem;
  border-radius: 0.5rem;

  /* Transição suave */
  transition: all 0.3s ease;

  /* Otimização de performance */
  will-change: transform;
}

.btn-cta:hover {
  /* Levanta botão */
  transform: translateY(-3px);

  /* Adiciona sombra */
  box-shadow: 0 10px 25px rgba(102, 126, 234, 0.3);
}

/* ============================================
   CARD QUE CRESCE NO HOVER
   ============================================ */
.card-servico {
  background: white;
  padding: 2rem;
  border-radius: 1rem;
  border: 1px solid #e5e5e5;

  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-servico:hover {
  transform: scale(1.05); /* Cresce 5% */
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

/* ============================================
   GRADIENTE ANIMADO (FUNDO)
   ============================================ */
.hero-gradiente {
  background: linear-gradient(
    270deg,
    #667eea,
    #764ba2,
    #f093fb,
    #4facfe
  );
  background-size: 400% 400%;
  animation: gradient-shift 15s ease infinite;
}

@keyframes gradient-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

Efeitos Visuais Comuns

Quando usar: Cards, botões elevados, modais
/* Sombra sutil (cards) */
box-shadow: 0 4px 6px rgba(0,0,0,0.1);

/* Sombra média (hover) */
box-shadow: 0 10px 25px rgba(0,0,0,0.15);

/* Sombra forte (modais) */
box-shadow: 0 25px 50px rgba(0,0,0,0.25);
Dica: Use Box Shadow Generator

18. Meta Tags e SEO

O Que São Meta Tags?

Meta tags = informações SOBRE a página (invisíveis para visitantes, visíveis para Google)

Meta Tags Essenciais

O que é: Título que aparece na aba do navegador e no GoogleComo configurar:
  • Yoast SEO → “Título SEO”
  • Ou Elementor → Configurações da Página → SEO
Regras:
  • Máximo 60 caracteres
  • Inclui palavra-chave principal
  • Atrativo para clicar
Exemplo BOM:
✅ "Easy Builder - Crie Sites Profissionais em Horas | WordPress"
Exemplo RUIM:
❌ "Home" (genérico demais!)
❌ "Easy Builder é a melhor ferramenta do mundo para criar sites incríveis..." (longo demais!)
O que é: Texto que aparece abaixo do título no GoogleComo configurar:
  • Yoast SEO → “Meta Description”
Regras:
  • Máximo 155 caracteres
  • Resumo atrativo da página
  • Inclui benefício ou CTA
Exemplo BOM:
✅ "Crie landing pages e sites profissionais com Easy Builder. Templates prontos, IA integrada e suporte 24/7. Comece grátis hoje!"
Exemplo RUIM:
❌ "Página inicial do Easy Builder." (sem benefício!)
O que é: Como página aparece ao compartilhar no Facebook, LinkedIn, WhatsAppComo configurar:
  • Yoast SEO → “Social”
  • Defina título, descrição e imagem
Imagem OG recomendada:
  • Tamanho: 1200x630px
  • Formato: JPG ou PNG (redes sociais não suportam WebP bem)
  • Com texto/logo visível
Por quê importante: Compartilhamento bonito = mais cliques!

19. Conversão Rápida: REM ↔ PX

Tabela de Conversão

Pequenos

  • 0.5rem = 8px
  • 0.75rem = 12px
  • 1rem = 16px
  • 1.25rem = 20px
  • 1.5rem = 24px

Médios

  • 2rem = 32px
  • 2.5rem = 40px
  • 3rem = 48px
  • 3.5rem = 56px
  • 4rem = 64px

Grandes

  • 5rem = 80px
  • 6rem = 96px
  • 7.5rem = 120px
  • 10rem = 160px

Quando Usar Cada Unidade

UnidadeQuando UsarExemploPor Quê?
remFontes, espaçamentos, padding, marginfont-size: 1remRelativo ao root (escalável)
emElementos que escalam com paiicon-size: 1.2emEscala com elemento pai
%Larguras de containers, colunaswidth: 50%Relativo ao elemento pai
vwElementos que escalam com largura da telafont-size: 5vwRelativo à viewport width
vhAlturas full-screenmin-height: 100vhRelativo à viewport height
pxBordas, valores fixos críticosborder: 1px solidValor absoluto e fixo
Evite px para textos e espaçamentos! Use rem para melhor responsividade.

20. Ferramentas Essenciais


Resumo Executivo: Referência Rápida

Formatos:
  • 1ª: AVIF (50-70%)
  • 2ª: WebP (60-80%)
  • SVG (logos/ícones)
Tamanhos:
  • Hero: 1920px (desktop) / 1080px (mobile)
  • Conteúdo: 1200px
  • Cards: 600px

Aplicando no Easy Builder

Para o Time Easy Builder:Ao criar templates, siga TODOS esses padrões. Templates que não seguem voltam para revisão!
Para Usuários:Templates já vêm com esses padrões aplicados! Ao personalizar, mantenha os mesmos padrões para qualidade profissional.
Este guia é vivo! Será atualizado conforme novas práticas surgirem. Versão atual: 3.0 (Janeiro 2026)

Próximos Passos