/* ============================================================
   RELEVANTE.IA — ENDURECIMIENTO MÓVIL
   Capa final cargada la última: overrides responsivos para
   todas las secciones y páginas. No toca escritorio.
   ============================================================ */

@media (max-width: 860px) {

  /* ---------- Ritmo general ---------- */
  .seccion { padding-block: 56px; }
  .pagina-cabecera { padding-top: 48px; padding-bottom: 32px; }
  .pagina-cabecera h1 { font-size: clamp(30px, 8.6vw, 40px); max-width: none; }
  .pagina-cabecera__intro { font-size: 16px; }

  /* ---------- Hero ---------- */
  .hero__botones { flex-direction: column; align-items: stretch; }
  .hero__botones .boton { text-align: center; }
  .hero__tabla { margin-top: 28px; }
  .hero__tabla td, .hero__tabla th { padding: 10px 8px; }
  .hero__tabla td.consulta { font-size: 11.5px; }

  /* ---------- Mapa ---------- */
  .mapa { perspective: none; }
  .mapa__pop-caja { max-width: 52vw; font-size: 11px; padding: 8px 10px; }

  /* ---------- Entregables ---------- */
  .e1__grid, .e2__grid, .e3__grid, .e4__grid, .e5__grid { grid-template-columns: 1fr; gap: 28px; }
  .e1__sticky { position: static; }
  .e2__tabla { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .e2__tabla table { min-width: 560px; }
  .e4__retrato { margin-inline: 0; }
  .e5__grafica-cabecera { flex-direction: column; gap: 4px; }
  .grafica-pro__tooltip { min-width: 150px; padding: 10px 12px; }
  .grafica-pro__tt-fila { font-size: 12px; }
  .grafica-pro__leyenda { flex-wrap: wrap; gap: 12px 18px; }

  /* ---------- Cilindro ---------- */
  .espiral__centro { zoom: 0.82; }

  /* ---------- Casos y capturas ---------- */
  .casos-rejilla { gap: 32px; }
  .gsc-slide { width: 88%; }
  .testimonio { min-width: 82vw; }

  /* ---------- Precio y captador ---------- */
  .precio__tarjeta { padding: 28px 20px; }
  .captador__flex { flex-direction: column; }
  .captador__flex > * { width: 100%; max-width: none; }

  /* ---------- Cierre y páginas ---------- */
  .cierre-cta { padding-block: 56px; }
  .compara { grid-template-columns: 1fr; }
  .chat-ia__pregunta, .chat-vivo__pregunta { max-width: 78vw; }
  .chat-vivo { min-height: 320px; }
  .motor { min-height: 0; }
  .sectores-rejilla { grid-template-columns: repeat(2, 1fr); }
  .capa { grid-template-columns: 64px 1fr; }
  .capa i { grid-column: 1 / -1; }

  /* ---------- Footer ---------- */
  .pie__grid { grid-template-columns: 1fr; gap: 40px; }
  .pie__columnas { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .pie__bajo { flex-direction: column; align-items: flex-start; gap: 8px; }

  /* ---------- Efectos: fuera lo que estorba en táctil ---------- */
  .cursor-anillo, .progreso-lectura { display: none; }
}

@media (max-width: 480px) {
  .pie__columnas { grid-template-columns: 1fr; }
  .sectores-rejilla { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .hero__tabla .col-modelo { display: none; }
  .pasos { grid-template-columns: 1fr !important; }
}

/* Cookies en móvil: banda inferior a todo el ancho */
@media (max-width: 640px) {
  .cookies { left: 0; right: 0; bottom: 0; max-width: none; padding: 16px; }
  .cookies__botones { justify-content: stretch; }
  .cookies__boton { flex: 1; }
}

/* Selector de idioma en la barra móvil */
@media (max-width: 1023px) {
  .nav__idiomas .nav__enlace { padding: 10px 4px; }
}
