/* ==========================================================================
   Añadidos al CSS del mockup: la paginación del catálogo, que en el prototipo
   no existía porque el listado se pintaba completo desde JavaScript.
   ========================================================================== */

.paginacion {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 36px;
}

.paginacion__enlace {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--linea, #e5e1dc);
  border-radius: 10px;
  background: var(--bg, #fff);
  color: var(--ink, #14110f);
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.paginacion__enlace:hover:not(.esta-activa):not(.esta-inhabilitada) {
  border-color: var(--ink, #14110f);
}

.paginacion__enlace.esta-activa {
  background: var(--ink, #14110f);
  border-color: var(--ink, #14110f);
  color: var(--bg, #fff);
}

.paginacion__enlace.esta-inhabilitada {
  opacity: .38;
  cursor: not-allowed;
}

/* Atenúa la rejilla mientras el filtro está pidiendo resultados al servidor. */
#resultados-envoltorio.esta-cargando {
  opacity: .45;
  pointer-events: none;
  transition: opacity .15s ease;
}

/* Honeypot del formulario de contacto: invisible para las personas. */
.campo-trampa {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  opacity: 0;
}
