/* =====================================================================
   ePrilux · «Ver más productos» de los listados (módulo cargar-mas, 26/10/2026)
   Botón como los de la portada (F9): borde navy fino, mayúsculas espaciadas, Montserrat 600,
   esquinas rectas y el navy que entra de izquierda a derecha al pasar el ratón.
   El paginador numerado se oculta solo cuando el JS ha puesto el botón (.epx-cm-oculto).
   ===================================================================== */

nav.elementor-pagination.epx-cm-oculto { display: none !important; }

.epx-cm {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin: 40px 0 8px;
  font-family: 'Montserrat', sans-serif;
}
.epx-cm[hidden] { display: none; }
.epx-cm-arriba { margin: 0 0 28px; }

.epx-cm-boton {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 48px;
  padding: 15px 32px;
  border: 1px solid #06163d;
  border-radius: 0;
  background: transparent;
  color: #06163d;
  font-family: 'Montserrat', sans-serif;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .18em;
  line-height: 1.4;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .45s cubic-bezier(.16, 1, .3, 1);
}
.epx-cm-boton[hidden] { display: none; }
.epx-cm-boton::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #06163d;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .45s cubic-bezier(.16, 1, .3, 1);
}
.epx-cm-boton:is(:hover, :focus-visible):not(:disabled) { color: #fff; }
.epx-cm-boton:is(:hover, :focus-visible):not(:disabled)::before { transform: scaleX(1); transform-origin: left; }
.epx-cm-boton:focus-visible { outline: 2px solid #23a7d6; outline-offset: 3px; }
.epx-cm-boton:disabled { cursor: progress; }

.epx-cm-spinner {
  display: none;
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: epx-cm-gira .7s linear infinite;
}
.epx-cm-boton[aria-busy="true"] .epx-cm-spinner { display: inline-block; }
@keyframes epx-cm-gira { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .epx-cm-spinner { animation-duration: 2s; }
  .epx-cm-boton, .epx-cm-boton::before { transition: none; }
}

.epx-cm-estado {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  color: #8a909e;
}
.epx-cm-error {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: #06163d;
}
.epx-cm-error[hidden] { display: none; }

/* Solo para lectores de pantalla. */
.epx-cm-vivo {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.elementor-loop-container .e-loop-item[tabindex="-1"]:focus { outline: none; }

@media (max-width: 767px) {
  .epx-cm { margin-top: 28px; }
  .epx-cm-boton { width: 100%; padding: 15px 20px; }
}
