/* =============================================================================
   SEO — Bloqueo visual al recategorizar encabezados
   -----------------------------------------------------------------------------
   Objetivo: poder cambiar el NIVEL de un encabezado (p. ej. H2 -> H4) en
   Elementor SIN que cambie el aspecto. Estas clases se aplican por widget en
   Elementor: Avanzado -> CSS Classes.

   Importante:
   - Solo fijan tamaño/peso/altura de línea para igualar el aspecto ACTUAL.
   - Se anidan con .elementor-heading-title para ganarle al default del tag
     (h4 {...}) sin usar !important.
   - Elementor ya liga su tipografía a .elementor-heading-title (independiente
     del tag), así que en la mayoría de los casos el cambio de tag NO altera
     nada y estas clases son solo un seguro.
   - NO cambian color, fuente, márgenes ni nada más: solo neutralizan el
     posible salto de tamaño por el default del navegador/tema.
   ============================================================================= */

/* --- Títulos de columna del footer (eran H2, pasan a H3) --- */
/* Nota: cada widget ya tiene su font-size fijado en Elementor (tag-agnóstico),
   así que el cambio de tag no altera nada. Estas clases solo replican ESE mismo
   tamaño como seguro; NO se fija line-height/peso para no introducir ningún
   micro-cambio respecto al estado actual. */

/* Nota: la clase se aplica en el WRAPPER del widget Elementor (Avanzado ->
   CSS Classes), por eso el selector es ".clase .elementor-heading-title". */

/* Corporativo Grupo Terranza · Oficina de ventas · Síguenos en: (16px) */
.ter-footer-title .elementor-heading-title {
  font-size: 16px;
}

/* Cómo Llegar (14px) */
.ter-footer-title--sm .elementor-heading-title {
  font-size: 14px;
}

/* --- Nombre de desarrollo en venta (futuro H3 dentro de cada tarjeta) --- */
/* Igualar al tamaño de los H3 de desarrollos vendidos (20px). Ajustar a la tarjeta. */
.ter-dev-title .elementor-heading-title {
  font-size: 20px;
}

/* --- Utilidad opcional: H3 semántico SIN presencia visual ---
   Úsese solo si se decide etiquetar el nombre del desarrollo para SEO/accesibilidad
   sin mostrarlo. Patrón estándar de "screen reader only". */
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}

/* =============================================================================
   Animaciones de entrada: que el TEXTO no se oculte (sin tocar velocidad).
   -----------------------------------------------------------------------------
   Elementor oculta los elementos animados con `.elementor-invisible{visibility:hidden}`
   hasta que entran en viewport. `visibility:hidden` vacía el `innerText`, por eso
   Meta Explorer / lectores de pantalla / algunas herramientas SEO los leen vacíos.

   Cambiamos SOLO el mecanismo de ocultado a `opacity:0`:
   - Visualmente idéntico: el elemento sigue invisible y la sección se sigue
     revelando con su animación en scroll (NO se quita ninguna animación).
   - El texto permanece en el DOM/innerText → ya no se lee vacío.
   - Es únicamente CSS: no añade JS ni peticiones → cero impacto en velocidad.
   ============================================================================= */
.elementor-invisible {
  visibility: visible !important;
  opacity: 0;
}

/* =============================================================================
   FAQ — el texto de cada pregunta va en un <h3> (para SEO), DENTRO del botón y
   DESPUÉS del ícono +/− (que sigue como <span>, visible e intacto, fuera del h3).
   El h3 se estiliza para verse EXACTAMENTE como el texto original del botón:
   se fuerza la tipografía heredada (16px/600/Montserrat) anulando el tamaño de
   h3 del tema, y se conserva el flex:1 / line-height del span original.
   Resultado: el texto del H3 queda limpio (sin +/−) y SIN cambio visual.
   ============================================================================= */
.faq-question .faq-question-heading {
  flex: 1;
  margin: 0;
  padding: 0;
  font: inherit;       /* hereda 16px / 600 / Montserrat del botón */
  color: inherit;      /* #635752 del botón */
  line-height: 1.5;    /* igual que el .faq-question-text original */
  text-align: left;
}
