/* Fix marquee mobile: giữ 1 hàng ngang, không cắt chữ đầu và chạy mượt. */

.marquee {
  overflow: hidden;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  --marquee-pad: 24px;
}

.marquee__track {
  display: flex;
  width: max-content;
  min-width: max-content;
  gap: 0;
  padding-left: var(--marquee-pad);
  will-change: transform;
  animation: dcp-marquee-run 12s linear infinite !important;
}

.marquee__track > span,
.marquee span {
  white-space: nowrap;
  flex: 0 0 auto;
}

@keyframes dcp-marquee-run {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

@media (max-width: 640px) {
  .dark > .marquee {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
    --marquee-pad: max(26px, env(safe-area-inset-left));
  }

  .marquee__track {
    animation-duration: 14s !important;
  }
}
