/* Mobile fix: max-device-width usa ancho físico del dispositivo,
   no el layout viewport expandido por Safari — inmune a la
   expansión de viewport que rompe max-width en iPhones. */
@media screen and (max-device-width: 430px) {

  /* Grids de contenido: forzar columna única.
     :not([data-stats]) excluye las grids de estadísticas */
  div[style*="1fr"]:not([data-stats]) {
    grid-template-columns: 1fr !important;
  }
  div[style*="1fr"]:not([data-stats]) img {
    width: 100% !important;
    height: auto !important;
    max-height: 260px !important;
    object-fit: cover !important;
  }

  /* Stats de Nosotros (4 items): mostrar en 2x2 */
  div[data-stats] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Grids con clase CSS (Nosotros, homepage Quiénes Somos) */
  .nosotros-grid,
  .nos-hero-grid,
  .nos-compromisos-grid {
    grid-template-columns: 1fr !important;
  }

  /* Imágenes de personas en Nosotros: altura digna y sin cortar cabezas */
  .nos-hero-img,
  .nos-compromisos-img {
    min-height: 360px !important;
  }
  .nos-hero-img img,
  .nos-compromisos-img img {
    object-position: center top !important;
  }

  /* Separador visual entre secciones de servicio */
  section[id] {
    border-top: 4px solid #D5DEEC;
  }
}
