/* bfinfinitescroll: la paginación clásica queda en el HTML (sin JS y para buscadores) pero oculta */
#js-product-list.bfis-on > nav.pagination,
#js-product-list.bfis-on .ets_plp_pagination { display: none !important; }

.bfis-header { clear: both; text-align: center; padding: 0 0 20px; }
.bfis-footer { clear: both; text-align: center; padding: 28px 0 12px; }
.bfis-header .btn, .bfis-footer .btn { max-width: 100%; white-space: normal; }

.bfis-progress-text { display: block; font-size: 14px; color: #6b6b6b; margin-bottom: 8px; }
.bfis-bar { width: 240px; max-width: 80%; height: 4px; margin: 0 auto 18px; background: rgba(0, 0, 0, .1); border-radius: 2px; overflow: hidden; }
.bfis-bar i { display: block; height: 100%; width: 0; background: var(--bfis-accent, #0090ff); transition: width .3s ease; }

.bfis-more { min-width: 240px; }

.bfis-loading { display: none; color: #6b6b6b; font-size: 14px; padding: 6px 0; }
.bfis-spinner { display: inline-block; width: 18px; height: 18px; margin-right: 8px; vertical-align: -4px; border: 2px solid rgba(0, 0, 0, .15); border-top-color: var(--bfis-accent, #0090ff); border-radius: 50%; animation: bfis-spin .8s linear infinite; }

.bfis-error { display: none; color: #b00020; font-size: 14px; padding: 6px 0; }
.bfis-error .btn { margin-left: 8px; }

.bfis-sentinel { height: 1px; }

@keyframes bfis-spin { to { transform: rotate(360deg); } }

@media (max-width: 575px) {
  .bfis-header { padding-bottom: 12px; }
  .bfis-footer { padding: 20px 0 8px; }
  .bfis-more, .bfis-prev { width: 100%; min-width: 0; }
  .bfis-error .btn { display: block; margin: 8px auto 0; }
}

@media (prefers-reduced-motion: reduce) {
  .bfis-spinner { animation-duration: 2s; }
  .bfis-bar i { transition: none; }
}
