.badge--marquee {
  width: 150px;
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
}
.badge-marquee {
  display: block;
  overflow: hidden;
}
.badge-marquee__track {
  display: flex;
  width: max-content;
  animation: badge-marquee 8s linear infinite;
}
.badge-marquee__group {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  white-space: nowrap;
}
.badge-marquee__item {
  padding: 0 8px;
}
.badge-marquee__sep {
  opacity: 0.7;
}
@keyframes badge-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .badge-marquee__track { animation: none; }
}

/* Black Friday: independent scrolling ribbon above product media. */
.bf-card-strip {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  background: #8f2e3c;
  color: #fff;
  padding: 7px 0;
  line-height: 1;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .04em;
}
.bf-card-strip__track {
  display: flex;
  width: max-content;
  animation: bf-card-scroll 9s linear infinite;
}
.bf-card-strip__group {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  white-space: nowrap;
  gap: 10px;
  padding-right: 10px;
}
.bf-card-strip__dot { opacity: .75; }
.product-card__figure { position: relative; }
@keyframes bf-card-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .bf-card-strip__track { animation: none; }
}
