/* Announcement bar — fixed own layer (no blend) */
#announce {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 56;
  max-height: 42px;
  transition: max-height 0.3s ease, opacity 0.3s ease;
}
#announce.collapsed {
  max-height: 0;
  opacity: 0;
}

/* Floating pill header — blends with page via mix-blend-difference */
#navbar {
  top: 36px;
  transition: top 0.3s ease;
}
#navbar.scrolled {
  top: 0;
}
.nav-pill {
  transition: background 0.3s ease;
}
#navbar.scrolled .nav-pill {
  background: rgba(255, 255, 255, 0.07);
}

/* Marquee animation */
@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Reveal on scroll */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Custom scrollbar — monochrome */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #f4f4f5; }
::-webkit-scrollbar-thumb { background: #d4d4d8; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #0b0b0c; }

/* Lucide icons default */
[data-lucide] {
  display: inline-block;
  vertical-align: middle;
}

/* Product thumb dot pattern — light */
.dot-pattern {
  background-image: radial-gradient(rgba(11, 11, 12, 0.14) 1px, transparent 1px);
  background-size: 14px 14px;
}
/* Product thumb dot pattern — inverted on hover */
.group:hover .dot-pattern {
  background-image: radial-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1px);
}

/* Cart item enter animation */
@keyframes itemIn {
  from { opacity: 0; transform: translateX(16px); }
  to { opacity: 1; transform: translateX(0); }
}
.cart-item {
  animation: itemIn 0.3s ease both;
}
