/* ═══════════════════════════════════════════════════════════════════════════
   Base responsive del CYC Hub
   Se carga en todas las páginas del hub justo después de cyc-nav.js, antes
   de la hoja propia de cada módulo (que puede pisar estas reglas).

   Solo reglas genéricas y seguras. Lo específico de cada módulo vive en su
   propia hoja, dentro de @media (max-width: 900px) / (max-width: 600px).
   Corte principal: 900px, el mismo en que cyc-nav.js pasa a cajón.
   ═══════════════════════════════════════════════════════════════════════════ */

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

@media (max-width: 900px) {
  /* Nada debe empujar la página hacia el costado */
  /* «clip» y no «hidden»: hidden en html+body vuelve al body un contenedor
     de scroll y rompe position: sticky y el scroll de la ventana. */
  html, body { max-width: 100%; overflow-x: clip; }

  /* Imágenes y medios nunca más anchos que su contenedor */
  img, video { max-width: 100%; height: auto; }

  /* iOS hace zoom al enfocar un campo con letra menor a 16px.
     Las tablas editables (cotizador, etc.) quedan fuera a propósito. */
  :where(input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea):not(table *) {
    font-size: 16px !important;   /* gana también a estilos inline */
  }

  /* Espacio libre al final para que el botón flotante del menú no tape
     el último elemento de la página */
  html.cyc-nav-on body { padding-bottom: 76px; }

  /* Desplazamiento horizontal suave dentro de contenedores con scroll */
  .cyc-scroll-x { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
}

/* Utilidad: contenedor que hace scroll horizontal en cualquier ancho */
.cyc-scroll-x { overflow-x: auto; -webkit-overflow-scrolling: touch; }
