.dpm-marquee {
  --dpm-item-gap: 16px;
  --dpm-row-gap: 12px;
  --dpm-duration: 24s;
  --dpm-fade-width: 60px;
  display: flex;
  flex-direction: column;
  gap: var(--dpm-row-gap);
  width: 100%;
  overflow: hidden;
  background: #fff7ed;
  padding: 28px 0 52px;
}

.dpm-row { width: 100%; overflow: hidden; }

.dpm-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: dpm-scroll-left var(--dpm-duration) linear infinite;
}

.dpm-direction-right .dpm-track { animation-name: dpm-scroll-right; }

.dpm-group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--dpm-item-gap);
  padding-right: var(--dpm-item-gap);
}

.dpm-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  margin: 0;
  padding: 12px 24px;
  border-radius: 999px;
  color: #24150f;
  background: #f4d7de;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  transition: color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.dpm-pause-hover:hover .dpm-track { animation-play-state: paused; }

.dpm-fade-edges {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 var(--dpm-fade-width), #000 calc(100% - var(--dpm-fade-width)), transparent);
  mask-image: linear-gradient(90deg, transparent, #000 var(--dpm-fade-width), #000 calc(100% - var(--dpm-fade-width)), transparent);
}

@keyframes dpm-scroll-left { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
@keyframes dpm-scroll-right { from { transform: translate3d(-50%,0,0); } to { transform: translate3d(0,0,0); } }

@media (prefers-reduced-motion: reduce) {
  .dpm-track { animation-play-state: paused; }
}
