/* ==========================================================================
   Corrección del desborde horizontal (2026-10-20)
   Se carga en todo el sitio desde functions.php. Las reglas de la home van acotadas
   con .elementor-70 (página 70) y las del footer con .elementor-7459 (plantilla global).
   Ver informe-menu/INFORME-PRODUCCION.md, sección "Desborde horizontal".
   ========================================================================== */

/* ---------- Home: botón "ADMISIÓN" (e78c035) ----------
   Su ancho personalizado de desktop (111.233 %) se hereda en tablet y móvil, donde se sale
   de la columna y de la pantalla (scroll de 18–24 px). */
@media (max-width: 1024px) {
  .elementor-70 .elementor-element-e78c035 {
    --container-widget-width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ---------- Home: título "FUTURO" del hero (503dcfa) ----------
   300 px fijos necesitan ~1250 px de ancho y la caja mide vw-160, así que entre 1025 y
   ~1440 la "O" se cortaba y generaba scroll horizontal. Escala con el viewport
   (ancho del texto ≈ 4.17 × font-size) con tope de 300 px. */
@media (min-width: 1025px) {
  .elementor-70 .elementor-element-503dcfa .elementor-heading-title {
    font-size: min(300px, calc(24vw - 40px)) !important;
    line-height: 1.3 !important;
  }
}

/* ---------- Home: títulos de sección en móvil ----------
   Tamaño fijo (55–80 px) que no entra en pantallas angostas (desborde medido a 320 px).
   Escalan con el viewport (caja = 100vw - 40px) y el tamaño original queda como tope,
   así que a partir de ~375 px no cambian. Divisor = ancho del texto / font-size, con margen. */
@media (max-width: 767px) {
  .elementor-70 :is(.elementor-element-1151c78, .elementor-element-5b74a83, .elementor-element-637d71c) .elementor-heading-title {
    font-size: min(80px, calc((100vw - 40px) / 4)) !important;   /* FUTURO, CAMPUS */
  }
  .elementor-70 .elementor-element-dd7b18f .elementor-heading-title {
    font-size: min(63px, calc((100vw - 40px) / 4.9)) !important; /* ADMISIÓN */
  }
  .elementor-70 .elementor-element-273908a .elementor-heading-title {
    font-size: min(55px, calc((100vw - 40px) / 5.6)) !important; /* VIDA ZAMORANO */
  }
}

/* Home: red de seguridad del hero; el título usa "seguir el mouse" (motion effects) y puede
   desplazarse unos px. */
.elementor-70 .elementor-element-250d475 {
  overflow-x: clip;
}

/* ---------- Footer global (plantilla 7459, sección 14e82783) ----------
   En móvil muestra 2 columnas de ~120 px útiles; "INVESTIGACIONES" (148 px) e
   "Internacionalización" (152 px) no entran y desbordan la página. Por debajo de 400 px
   las columnas se apilan. */
@media (max-width: 399px) {
  .elementor-7459 .elementor-element-14e82783 > .elementor-container > .elementor-column {
    width: 100% !important;
  }
}
