/* =====================================================================
   TIPOGRAFIA E TELA (padrão Everoli — WCAG 2.2 / Material / Apple / Fluent)
   Pedido permanente do Everson (09/10/2026). Só tipografia e responsividade:
   não muda textos, cores da marca nem a estrutura montada no Elementor.
   - tamanhos em rem: respeitam a letra escolhida no navegador (WCAG 1.4.4);
   - site de conteúdo: corpo 16–18px; nada abaixo de 12px; entrelinha 1.4–1.6;
   - texto corrido com no máximo ~75 caracteres por linha;
   - títulos em escala que diminui suavemente no celular (clamp);
   - celular: alvos de toque com 44px e campos com 16px.
   O Elementor grava os tamanhos em px por elemento; por isso as regras usam
   !important (sobrescrevem só a tipografia, nada mais).
   ===================================================================== */
html { font-size: 100% !important; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-size: 1rem; line-height: 1.6; }

/* ---------- Escala de títulos ---------- */
/* Topo (hero): 58px no computador → ~32px no celular */
.elementor-element-adf7342 .elementor-heading-title {
  font-size: clamp(2rem, 1.1rem + 3vw, 3.625rem) !important; line-height: 1.15 !important; }
/* Frase de apoio do topo: 28px → ~19px */
.elementor-element-d661fcd .elementor-heading-title {
  font-size: clamp(1.1875rem, 0.95rem + 0.9vw, 1.75rem) !important; line-height: 1.4 !important; }
/* Títulos de seção (Sobre a Empresa, Nossas soluções, Nosso Diferencial…): 52px → 30px */
.elementor-element-64220adf .elementor-heading-title,
.elementor-element-ba5e42d .elementor-heading-title,
.elementor-element-539dfe9b .elementor-heading-title,
.elementor-element-6a44c75 .elementor-heading-title,
.elementor-element-46d0301e .elementor-heading-title {
  font-size: clamp(1.875rem, 1.2rem + 2.4vw, 3.25rem) !important; line-height: 1.15 !important; }
/* "Agendar Reunião" (rodapé): 38px, entrelinha estava 0 */
.elementor-element.elementor-element-7918e8a {
  font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.375rem) !important; line-height: 1.2 !important; }
/* Sobretítulo "A Everoli" */
.elementor-element-6c52bef7 .elementor-heading-title { font-size: 1.3125rem !important; line-height: 1.3 !important; }
/* Títulos dos cartões de soluções */
.elementor-cta__title { font-size: clamp(1.375rem, 1rem + 1.1vw, 1.875rem) !important; line-height: 1.25 !important; }
.elementor-element-25d1815 .elementor-cta__title { font-size: clamp(1.375rem, 1rem + 1.2vw, 2rem) !important; }
/* Títulos dos cartões (Foco no cliente, Diferenciais) */
.elementor-element-73cb29f6 .elementor-heading-title,
.elementor-element-3263416e .elementor-heading-title,
.elementor-element-0410758 .elementor-heading-title,
.elementor-element-2e60001 .elementor-heading-title,
.elementor-element-c1d8407 .elementor-heading-title {
  font-size: clamp(1.25rem, 1.05rem + 0.6vw, 1.5rem) !important; line-height: 1.3 !important; }
/* Títulos do rodapé */
.elementor-element-a20e363 .elementor-heading-title,
.elementor-element-c9a53d0 .elementor-heading-title {
  font-size: clamp(1.375rem, 1.15rem + 0.7vw, 1.75rem) !important; line-height: 1.25 !important; }

/* ---------- Texto corrido ---------- */
.elementor-widget-text-editor { font-size: 1rem !important; line-height: 1.6 !important; }
.elementor-element.elementor-element-92304da { font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem) !important; }
.elementor-cta__description { font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem) !important; line-height: 1.55 !important; }
.elementor-testimonial__text { font-size: 1.125rem !important; line-height: 1.6 !important; }
.elementor-testimonial__name, .elementor-testimonial__title { font-size: 0.875rem !important; }
/* Linha de leitura confortável: no máximo ~72 caracteres, centralizada */
.elementor-widget-text-editor p,
.elementor-cta__description { max-width: 72ch; margin-left: auto; margin-right: auto; }

/* ---------- Menu, botões e rodapé ---------- */
.elementor-nav-menu .elementor-item, .elementor-nav-menu .elementor-sub-item { font-size: 0.9375rem !important; }
/* item ativo do menu: azul mais claro para ter contraste 4.5:1 sobre o azul escuro */
.elementor-element-ccfd08b .elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-element-ccfd08b .elementor-nav-menu--main .elementor-item:focus { color: #5CB8FF !important; }
.elementor-button { font-size: 0.9375rem !important; line-height: 1.2 !important; }
.elementor-element-1cf42ec .elementor-button { font-size: clamp(1rem, 0.95rem + 0.2vw, 1.1875rem) !important; }
.elementor-element-a9b89eb a, .elementor-element-a9b89eb .elementor-icon-list-text {
  font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem) !important; line-height: 1.5 !important; }
input, select, textarea { font-size: 1rem; }

/* ---------- Telas grandes: usa melhor o monitor sem esticar o texto ---------- */
@media (min-width: 1500px) {
  .e-con { --container-max-width: 1320px; }
  .elementor-section.elementor-section-boxed > .elementor-container { max-width: 1320px; }
}

/* ---------- Celular ---------- */
@media (max-width: 767px) {
  /* topo: menos margem lateral para o título não virar uma coluna estreita */
  .elementor-element-adf7342, .elementor-element-d661fcd { padding-left: 4% !important; padding-right: 4% !important; }
  /* texto justificado no celular abre buracos entre as palavras: alinhado à esquerda */
  .elementor-element-71c317f6, .elementor-element-92304da { text-align: left !important; }
  /* alvos de toque com pelo menos 44px */
  .elementor-button, .elementor-nav-menu--dropdown a, .elementor-menu-toggle { min-height: 44px; }
  .elementor-button { display: inline-flex !important; align-items: center; justify-content: center; }
  .elementor-nav-menu--dropdown a { display: flex !important; align-items: center; font-size: 1.0625rem !important; }
  .elementor-element-a9b89eb .elementor-icon-list-item > a { min-height: 44px; display: flex; align-items: center; }
  .elementor-menu-toggle { min-width: 44px; justify-content: center; }
  input, select, textarea { font-size: 1rem !important; }
}
