/* ── Loader ── */
@keyframes loaderFill {
  0%   { width: 0; }
  100% { width: 100%; }
}
#loader-bar { animation: loaderFill 1.8s cubic-bezier(0.4,0,0.2,1) forwards; }

/* ── Ticker ── */
@keyframes tickerScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.ticker-track { animation: tickerScroll 35s linear infinite; }

/* ── Reveal ── */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.delay-1 { transition-delay: 0.12s; }
.delay-2 { transition-delay: 0.24s; }
.delay-3 { transition-delay: 0.36s; }
.delay-4 { transition-delay: 0.48s; }

/* ── Modal ── */
#product-modal.open { display: flex; }
@keyframes modalIn {
  from { opacity: 0; transform: translateY(20px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
#product-modal.open #modal-panel { animation: modalIn 0.25s ease forwards; }
body.modal-open { overflow: hidden; }

/* ── Navbar scrolled ── */
#navbar.scrolled {
  background: rgba(7,10,18,0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
