/* ============================================================
   BCAL Sports Animations — subtle, professional motion
   ============================================================ */

/* ---------- Scroll reveal ---------- */
.bacl-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s cubic-bezier(.16,.84,.44,1),
              transform .7s cubic-bezier(.16,.84,.44,1);
  will-change: opacity, transform;
}
.bacl-reveal.is-visible { opacity: 1; transform: none; }
.bacl-reveal.d1 { transition-delay: .08s; }
.bacl-reveal.d2 { transition-delay: .18s; }
.bacl-reveal.d3 { transition-delay: .28s; }
.bacl-reveal.d4 { transition-delay: .38s; }

/* ---------- Pulsing ring (sport icons / accents) ---------- */
@keyframes baclPulse {
  0%   { box-shadow: 0 0 0 0 rgba(228,27,35,.35); }
  70%  { box-shadow: 0 0 0 14px rgba(228,27,35,0); }
  100% { box-shadow: 0 0 0 0 rgba(228,27,35,0); }
}
.bacl-anim-pulse { animation: baclPulse 2.4s ease-out infinite; }

/* ---------- Floating (trophy / sport icon) ---------- */
@keyframes baclFloat {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-7px); }
}
.bacl-float { animation: baclFloat 3s ease-in-out infinite; }

/* ---------- Spin (subtle, for ball/medal accents) ---------- */
@keyframes baclSpin { to { transform: rotate(360deg); } }
.bacl-spin-slow { animation: baclSpin 9s linear infinite; }

/* ---------- Shimmer sweep across buttons ---------- */
.bacl-shimmer { position: relative; overflow: hidden; }
.bacl-shimmer::after {
  content: '';
  position: absolute; top: 0; left: -150%;
  width: 70%; height: 100%;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.35) 50%, transparent 100%);
  transform: skewX(-20deg);
  animation: baclShimmer 3.4s ease-in-out infinite;
  pointer-events: none;
}
@keyframes baclShimmer {
  0%   { left: -150%; }
  55%  { left: 150%; }
  100% { left: 150%; }
}

/* ---------- Floating multi-sport motif (decorative background) ---------- */
.bacl-sports-motif {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
.bacl-sports-motif i {
  position: absolute;
  color: rgba(228,27,35,0.10);
  animation: baclDrift 9s ease-in-out infinite;
}
@keyframes baclDrift {
  0%,100% { transform: translateY(0) rotate(0deg); }
  50%     { transform: translateY(-16px) rotate(10deg); }
}
.bacl-sports-motif i:nth-child(1) { left: 5%;  top: 28%; font-size: 26px; animation-delay: 0s;   }
.bacl-sports-motif i:nth-child(2) { left: 18%; top: 64%; font-size: 34px; animation-delay: .7s;  }
.bacl-sports-motif i:nth-child(3) { left: 33%; top: 20%; font-size: 22px; animation-delay: 1.4s; }
.bacl-sports-motif i:nth-child(4) { left: 47%; top: 70%; font-size: 30px; animation-delay: .4s;  }
.bacl-sports-motif i:nth-child(5) { left: 62%; top: 26%; font-size: 24px; animation-delay: 1.1s; }
.bacl-sports-motif i:nth-child(6) { left: 76%; top: 60%; font-size: 32px; animation-delay: 2s;   }
.bacl-sports-motif i:nth-child(7) { left: 88%; top: 30%; font-size: 22px; animation-delay: 1.7s; }
/* keep real content above the motif */
.bacl-prize-banner > div:not(.bacl-sports-motif) { position: relative; z-index: 1; }

/* ---------- Scrolling sports ticker ---------- */
.bacl-ticker {
  margin: 6px 0 52px;
  border-top: 1px solid #eceef2;
  border-bottom: 1px solid #eceef2;
  overflow: hidden;
  background: #fafbfc;
}
.bacl-ticker-track {
  display: inline-flex;
  align-items: center;
  gap: 42px;
  padding: 14px 0;
  white-space: nowrap;
  animation: baclTicker 26s linear infinite;
}
.bacl-ticker:hover .bacl-ticker-track { animation-play-state: paused; }
.bacl-ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #3a3f47;
}
.bacl-ticker-item i { color: #e41b23; font-size: 18px; }
@keyframes baclTicker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Respect users who prefer no motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .bacl-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .bacl-anim-pulse, .bacl-float, .bacl-spin-slow,
  .bacl-sports-motif i, .bacl-ticker-track { animation: none !important; }
  .bacl-shimmer::after { animation: none !important; display: none; }
}
