.ovva-marquee {
  --ovva-rotate: -2deg;
  --ovva-overflow: hidden;
  --ovva-line-gap: 12px;
  --ovva-icon-size: 18px;
  --ovva-icon-gap: 12px;
  --ovva-icon-opacity: 0.9;
  --pause-hover: paused;
  --ovva-rm-play-state: running;
  --ovva-rm-multiplier: 2.5;
  overflow: var(--ovva-overflow, hidden);
  transform: rotate(var(--ovva-rotate, -2deg));
  display: flex;
  flex-direction: column;
  gap: var(--ovva-line-gap, 12px);
}

.ovva-marquee-line {
  --ovva-width: 120%;
  --ovva-offset: -10%;
  --ovva-gap: 18px;
  --duration: 34s;
  width: var(--ovva-width, 120%);
  margin-left: var(--ovva-offset, -10%);
  overflow: hidden;
}

.ovva-marquee-track {
  display: flex;
  width: max-content;
  gap: var(--ovva-gap, 18px);
  --ovva-loop-distance: calc(50% + var(--ovva-gap-half, 9px));
  --ovva-loop-start: calc(var(--ovva-loop-distance) * -0.5);
  animation: ovva-marquee-left var(--duration, 34s) linear infinite;
  will-change: transform;
}

.ovva-marquee-segment {
  display: flex;
  width: max-content;
  gap: var(--ovva-gap, 18px);
  flex: 0 0 auto;
}

.ovva-marquee-right .ovva-marquee-track {
  animation-name: ovva-marquee-right;
}

.ovva-marquee-item {
  display: inline-flex;
  align-items: center;
  gap: var(--ovva-icon-gap, 12px);
  flex: 0 0 auto;
  justify-content: center;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.ovva-marquee-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: var(--ovva-icon-size, 18px);
  color: var(--ovva-icon-color, currentColor);
  opacity: var(--ovva-icon-opacity, 0.9);
}

.ovva-marquee-icon svg {
  width: 1em;
  height: 1em;
  display: block;
  fill: currentColor;
}

.ovva-marquee-icon i {
  font-size: 1em;
  line-height: 1;
}

.ovva-marquee-text {
  white-space: nowrap;
}

.ovva-marquee:hover .ovva-marquee-track {
  animation-play-state: var(--pause-hover, running);
}

@keyframes ovva-marquee-left {
  from {
    transform: translateX(var(--ovva-loop-start, 0));
  }

  to {
    transform: translateX(calc(var(--ovva-loop-start, 0) - var(--ovva-loop-distance, 0)));
  }
}

@keyframes ovva-marquee-right {
  from {
    transform: translateX(calc(var(--ovva-loop-start, 0) - var(--ovva-loop-distance, 0)));
  }

  to {
    transform: translateX(var(--ovva-loop-start, 0));
  }
}

@media (prefers-reduced-motion: reduce) {
  .ovva-marquee-track {
    animation-play-state: var(--ovva-rm-play-state, running);
    animation-duration: calc(var(--duration, 34s) * var(--ovva-rm-multiplier, 2.5));
  }
}

@media (max-width: 767px) {
  .ovva-marquee {
    --ovva-line-gap: 10px;
  }

  .ovva-marquee-line {
    --ovva-width: 130%;
  }
}

/* Séparateur : image centrée entre chaque mot */
.ovva-marquee-sep {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  margin: 0 var(--ovva-sep-gap, 18px);
  transform: translateY(var(--ovva-sep-offset, 0px)); /* alignement vertical (haut/bas) */
}

.ovva-marquee-sep img {
  height: var(--ovva-sep-size, 24px);
  width: auto;
  display: block;
  pointer-events: none;
}
