/* Running Line — seamless marquee */
.the_running_line {
  --rl-gap: 3rem;
  --rl-duration: 20s; /* fallback, overridable inline */
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  background: #ecb3c6;
  color: #fff;
  line-height: 1;
  padding: 10px 0;
}

/* Gradient fade on edges (optional) */
.the_running_line::before,
.the_running_line::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 4rem;
  pointer-events: none;
  z-index: 2;
}

.the_running_line::before {
  left: 0;
  background: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0));
  mix-blend-mode: multiply;
}

.the_running_line::after {
  right: 0;
  background: linear-gradient(to left, rgba(255,255,255,1), rgba(255,255,255,0));
  mix-blend-mode: multiply;
}

/* The track that scrolls */
.the_running_line .rl-inner {
  display: inline-flex;
  align-items: center;
  gap: var(--rl-gap);
  white-space: nowrap;
  will-change: transform;
  animation: rl-scroll var(--rl-duration) linear infinite;
  /* Make sure it's long enough to allow the loop */
  padding-right: 100%;
}

/* Each item */
.the_running_line .rl-item {
  display: inline-flex;
  align-items: center;
  font-weight: 400;
  font-size: 16px;
  padding: 0;
  margin: 0;
}

/* Optional separators */
.the_running_line .rl-item::after {
  content: "•";
  display: inline-block;
  margin-left: var(--rl-gap);
  opacity: .45;
}

/* Remove dot after the last (not strictly needed because it loops) */
.the_running_line .rl-item:last-child::after {
  content: "";
}

@keyframes rl-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Pause on hover (optional) */
.the_running_line:hover .rl-inner {
  animation-play-state: paused;
}

/* Responsive tweak */
@media (max-width: 480px) {
  .the_running_line .rl-item {
    font-size: 14px;
  }
  .the_running_line {
    --rl-gap: 1.25rem;
  }
}
