.mg-promo-marquee {
  background: #F4E8EE;
  border-bottom: 1px solid #EFDFE8;
  padding: 8px 0;
  font-size: 12px;
  color: #6B5E66;
  letter-spacing: 0.02em;
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans SC", sans-serif;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.mg-promo-marquee::before,
.mg-promo-marquee::after {
  /* fade-out edges */
  content: '';
  position: absolute;
  top: 0; bottom: 0; width: 40px;
  pointer-events: none;
  z-index: 2;
}
.mg-promo-marquee::before {
  left: 0;
  background: linear-gradient(90deg, #F4E8EE, transparent);
}
.mg-promo-marquee::after {
  right: 0;
  background: linear-gradient(90deg, transparent, #F4E8EE);
}
.mg-promo-track {
  display: flex;
  gap: 0;
  width: max-content;
  animation: mg-promo-scroll 28s linear infinite;
}
.mg-promo-marquee:hover .mg-promo-track { animation-play-state: paused; }
.mg-promo-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 28px;
  flex-shrink: 0;
  white-space: nowrap;
}
.mg-promo-item svg { color: #BC93AB; flex-shrink: 0; }
.mg-promo-sep {
  width: 4px; height: 4px;
  background: #BC93AB;
  border-radius: 50%;
  opacity: 0.5;
  flex-shrink: 0;
  align-self: center;
}
@keyframes mg-promo-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (max-width: 768px) {
  .mg-promo-marquee { font-size: 11px; padding: 6px 0; }
  .mg-promo-item { padding: 0 18px; }
  .mg-promo-marquee::before, .mg-promo-marquee::after { width: 24px; }
}