/* ============================================================================
   🧭 BAQUEANO — GALERÍA EN MOVIMIENTO INFINITO (js/bq-marquee.js)
   🎯 POR QUÉ: galerías automáticas con pausa pedidas por el propietario (2026-10-07).
   ⚙️ CÓMO: la pista se desplaza de 0 a -50 % (original + copia inerte); pausa con clase
      .is-paused; con reducir movimiento o si todo cabe, fila estática con desplazamiento manual.
   📦 QUÉ: .bq-marquee*. Ancho de tarjeta: --bq-marquee-item (por defecto 280px).
   ============================================================================ */
.bq-marquee { display: block !important; position: relative; min-width: 0; }
.bq-marquee-controls { display: flex; justify-content: flex-end; margin: 0 0 10px; }
.bq-marquee-controls[hidden] { display: none; }
.bq-marquee-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 999px;
  border: 2px solid rgba(22, 93, 111, 0.35); background: #FFFFFF; color: #0E5566; font: 800 0.85rem/1 Montserrat, sans-serif; cursor: pointer; }
.bq-marquee-toggle:hover { background: #E8F1F3; }
.bq-marquee-toggle[aria-pressed="true"] { background: #165D6F; border-color: #165D6F; color: #FFFFFF; }
.bq-marquee-toggle:focus-visible { outline: 3px solid #F65E01; outline-offset: 2px; }
.bq-marquee-viewport { overflow: hidden; padding: 6px 2px 14px; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%); }
.bq-marquee-track { display: flex; gap: var(--bq-marquee-gap, 16px); width: max-content; animation: bqMarquee var(--bq-marquee-duration, 40s) linear infinite; }
.bq-marquee-track > .bq-marquee-item { flex: 0 0 var(--bq-marquee-item, 280px); width: var(--bq-marquee-item, 280px); max-width: 82vw; margin: 0; }
.bq-marquee.is-paused .bq-marquee-track { animation-play-state: paused; }
@keyframes bqMarquee { from { transform: translateX(0); } to { transform: translateX(calc(-50% - var(--bq-marquee-gap, 16px) / 2)); } }
.bq-marquee.is-static .bq-marquee-track { animation: none; }
.bq-marquee.is-static .bq-marquee-viewport { overflow-x: auto; -webkit-mask-image: none; mask-image: none; scroll-snap-type: x proximity; }
.bq-marquee.is-static .bq-marquee-item { scroll-snap-align: start; }
@media (prefers-reduced-motion: reduce) { .bq-marquee-track { animation: none; } }
