/* =========================================================================
 * TIPOGRAFIA PADRÃO DO SITE — DM Sans (direção de arte v1.0)
 * Carregado por php/fonte-site.php em todas as páginas, menos a home do ERP.
 * Só a família da fonte (e o peso dos botões); os tamanhos continuam os de cada página.
 * ========================================================================= */

body, h1, h2, h3, h4, h5, h6, p, a, li, label, input, textarea, select, button, table,
.fTimes, .ff, .spaceGrotesk {
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
}

/* Botões: DM Sans peso 600 (cabeçalho, seções, cards de plano, formulários e avisos). */
.btnRedondo a, .btn-plano, .lpBtn, .lpBarraMobile a, .lpSegBtn,
.modalVendas button[type="submit"], .formContato button[type="submit"],
#submitForm, .btn-404 a, #btnAceitarCookie {
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  font-weight: 600;
}

@media (min-width: 992px) {
  /* A DM Sans 600 é mais larga: sem isto o botão do cabeçalho quebra em duas ou três linhas.
     Abaixo de 992px ele não cabe numa linha e continua quebrando, como antes. */
  .btnRedondo a { white-space: nowrap; }
  .menu-fixo .logoTopo { min-width: 120px; } /* a coluna do logo não pode encolher demais */
}

/* Página de Planos: foi aprovada vendo a fonte do sistema; com a DM Sans de verdade o
   espaçamento entre letras dos títulos (-0,045em / -0,035em) fica apertado demais.
   Mesmos valores da página de Cafeicultura. A home não carrega este arquivo. */
.lpPlanos .lpHeroTitulo { letter-spacing: -.03em; }
.lpPlanos .lpTitulo { letter-spacing: -.02em; }

/* =========================================================================
 * ESCALA DE TAMANHOS — a mesma da página de Cafeicultura (css/lp-segmento.css)
 * Título principal (h1)   36px celular · 44px tablet · 56-60px computador · peso 500
 * Título de seção         28px celular · 40px a partir do tablet          · peso 500
 * Título de bloco         22px celular · 26px a partir do tablet          · peso 600
 * Texto                   16px celular · 18px a partir do tablet          · peso 400
 * Cada página marca esses papéis com classes de tamanho diferentes (.e60, .e40,
 * .e36, .e22...); aqui elas são agrupadas pelo papel. Ficam de fora o cabeçalho,
 * o menu do celular, o rodapé, o modal, os cards de plano, o FAQ, o aviso de
 * cookies e o que já segue a escala (página de Planos e o layout novo dos segmentos).
 * O :not(... *) também dá a estas regras peso suficiente para vencer as classes .eNN.
 * ========================================================================= */

h1:not(:is(.menu-fixo, .overlay, .rodapeConag, .modalVendas, .plano-box, .panel-group, .lpPlanos, .lpSeg, .lpSegGestao, .lpSegGestaoFim, [id="containerCookie"]) *) {
  font-size: 36px; font-weight: 500; line-height: 1.1; letter-spacing: -.03em;
}

:is(h2, h3, p):is(.e60, .e50, .e40):not(:is(.menu-fixo, .overlay, .rodapeConag, .modalVendas, .plano-box, .panel-group, .lpPlanos, .lpSeg, .lpSegGestao, .lpSegGestaoFim, [id="containerCookie"]) *),
.segmentoHeadSecao3:not(:is(.lpSeg) *) {
  font-size: 28px; font-weight: 500; line-height: 1.15; letter-spacing: -.02em;
}

:is(h2, h3):is(.e36, .e32, .e24, .e22):not(:is(.menu-fixo, .overlay, .rodapeConag, .modalVendas, .plano-box, .panel-group, .lpPlanos, .lpSeg, .lpSegGestao, .lpSegGestaoFim, [id="containerCookie"]) *),
p:is(.e36, .e32):not(:is(.menu-fixo, .overlay, .rodapeConag, .modalVendas, .plano-box, .panel-group, .lpPlanos, .lpSeg, .lpSegGestao, .lpSegGestaoFim, [id="containerCookie"]) *),
.segmentoTextoSecao3 strong {
  font-size: 22px; font-weight: 600; line-height: 1.25; letter-spacing: -.02em;
}

:is(p, li):not(:is(.e60, .e50, .e40, .e36, .e32, .e16, .e14, .e12)):not(:is(.menu-fixo, .overlay, .rodapeConag, .modalVendas, .plano-box, .panel-group, .lpPlanos, .lpSeg, .lpSegGestao, .lpSegGestaoFim, [id="containerCookie"]) *),
.segmentoTextoSecao3 {
  font-size: 16px; line-height: 1.65;
}

/* Negrito dentro dos títulos: como na Cafeicultura, o título é todo no mesmo peso. */
:is(h1, h2, h3):not(:is(.menu-fixo, .overlay, .rodapeConag, .modalVendas, .plano-box, .panel-group, .lpPlanos, .lpSeg, .lpSegGestao, .lpSegGestaoFim, [id="containerCookie"]) *) strong {
  font-weight: inherit;
}

@media (min-width: 768px) {
  h1:not(:is(.menu-fixo, .overlay, .rodapeConag, .modalVendas, .plano-box, .panel-group, .lpPlanos, .lpSeg, .lpSegGestao, .lpSegGestaoFim, [id="containerCookie"]) *) {
    font-size: 44px; line-height: 1.06;
  }
  :is(h2, h3, p):is(.e60, .e50, .e40):not(:is(.menu-fixo, .overlay, .rodapeConag, .modalVendas, .plano-box, .panel-group, .lpPlanos, .lpSeg, .lpSegGestao, .lpSegGestaoFim, [id="containerCookie"]) *),
  .segmentoHeadSecao3:not(:is(.lpSeg) *) {
    font-size: 40px;
  }
  :is(h2, h3):is(.e36, .e32, .e24, .e22):not(:is(.menu-fixo, .overlay, .rodapeConag, .modalVendas, .plano-box, .panel-group, .lpPlanos, .lpSeg, .lpSegGestao, .lpSegGestaoFim, [id="containerCookie"]) *),
  p:is(.e36, .e32):not(:is(.menu-fixo, .overlay, .rodapeConag, .modalVendas, .plano-box, .panel-group, .lpPlanos, .lpSeg, .lpSegGestao, .lpSegGestaoFim, [id="containerCookie"]) *),
  .segmentoTextoSecao3 strong {
    font-size: 26px;
  }
  :is(p, li):not(:is(.e60, .e50, .e40, .e36, .e32, .e16, .e14, .e12)):not(:is(.menu-fixo, .overlay, .rodapeConag, .modalVendas, .plano-box, .panel-group, .lpPlanos, .lpSeg, .lpSegGestao, .lpSegGestaoFim, [id="containerCookie"]) *),
  .segmentoTextoSecao3 {
    font-size: 18px;
  }
}

@media (min-width: 992px) {
  h1:not(:is(.menu-fixo, .overlay, .rodapeConag, .modalVendas, .plano-box, .panel-group, .lpPlanos, .lpSeg, .lpSegGestao, .lpSegGestaoFim, [id="containerCookie"]) *) {
    font-size: clamp(56px, 4.2vw, 60px); line-height: 1.04;
  }
}
