/* =======================================================================
   Ajustes de responsividade e legibilidade — Dra Larissa Munhoz
   Carregado DEPOIS do CSS do Elementor, então prevalece.
   Mexe só em tamanho de fonte / quebra de layout; não altera o visual.
   ======================================================================= */

/* ---- Segurança: nunca rolar na horizontal ---- */
html, body { overflow-x: hidden; max-width: 100%; }
img, svg, video, iframe { max-width: 100%; height: auto; }
.elementor-section, .e-con, .elementor-widget-wrap { min-width: 0; }

/* ---- Logo do cabeçalho: nunca gigante ---- */
header img, .elementor-location-header img, .site-header img { max-height: 56px; width: auto; }

/* =======================================================================
   CELULAR  (até 767px)
   ======================================================================= */
@media (max-width: 767px) {

  /* corpo de texto — mínimo confortável de 16px */
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p,
  .elementor-widget-theme-post-content,
  .elementor-widget-theme-post-content p,
  .elementor-widget-theme-post-content li,
  p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  /* listas de ícones (blocos de serviços, benefícios) */
  .elementor-icon-list-item,
  .elementor-icon-list-text,
  li.elementor-icon-list-item {
    font-size: 15.5px !important;
    line-height: 1.55 !important;
  }

  /* botões */
  .elementor-button,
  .elementor-button .elementor-button-text {
    font-size: 15px !important;
    line-height: 1.3 !important;
  }
  .elementor-button { padding: 13px 22px !important; }

  /* rótulos pequenos / "olho" acima dos títulos */
  .elementor-heading-title {
    line-height: 1.25 !important;
    word-break: break-word;
  }
  /* qualquer heading configurado abaixo de 15px sobe para 14px */
  h1, h2, h3, h4, h5, h6 { word-break: break-word; }

  /* títulos grandes: mantém impacto sem estourar a tela */
  h1, h1.elementor-heading-title { font-size: clamp(26px, 7.5vw, 34px) !important; line-height: 1.18 !important; }
  h2, h2.elementor-heading-title { font-size: clamp(22px, 6.2vw, 29px) !important; line-height: 1.2 !important; }
  h3, h3.elementor-heading-title { font-size: clamp(19px, 5.2vw, 24px) !important; line-height: 1.25 !important; }
  h4, h4.elementor-heading-title { font-size: 17px !important; line-height: 1.3 !important; }

  /* campos de formulário: 16px evita zoom automático no iOS */
  input, select, textarea, button { font-size: 16px !important; }

  /* espaçamento vertical um pouco menor entre seções muito altas */
  .elementor-section.elementor-section-boxed > .elementor-container { padding-left: 4vw; padding-right: 4vw; }
}

/* =======================================================================
   TABLET  (768px – 1024px)
   ======================================================================= */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p,
  .elementor-widget-theme-post-content p,
  p { font-size: 16.5px !important; line-height: 1.65 !important; }

  .elementor-icon-list-text { font-size: 16px !important; }
  .elementor-button, .elementor-button .elementor-button-text { font-size: 15.5px !important; }

  h1, h1.elementor-heading-title { font-size: clamp(30px, 4.6vw, 44px) !important; }
  h2, h2.elementor-heading-title { font-size: clamp(24px, 3.6vw, 34px) !important; }
}

/* =======================================================================
   DESKTOP: leve folga de leitura no texto corrido
   ======================================================================= */
@media (min-width: 1025px) {
  .elementor-widget-text-editor p,
  .elementor-widget-theme-post-content p { line-height: 1.7 !important; }
}
