/* INIZIO - Struttura isolata e anti-overflow del banner scorrevole */
.ave-text-slider {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding-block: var(--ave-ts-padding-desktop, 16px);
  color: var(--ave-text-slider-color, #111111);
  background-color: var(--ave-text-slider-bg, transparent);
  overflow: hidden;
  contain: layout paint;
}

/* INIZIO - Stato di sfondo esplicito del contenitore visibile */
.ave-text-slider--transparent {
  background-color: transparent;
}

.ave-text-slider--colored {
  background-color: var(--ave-text-slider-bg, #ffffff);
}
/* FINE - Stato di sfondo esplicito del contenitore visibile */

.ave-text-slider,
.ave-text-slider * {
  box-sizing: border-box;
}

.ave-text-slider__viewport {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.ave-text-slider__track {
  position: relative;
  left: 100%;
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-width: max-content;
  max-width: none;
  color: inherit;
  font-size: clamp(calc(var(--ave-ts-font-size, 24px) * .75), 2vw, var(--ave-ts-font-size, 24px));
  font-weight: var(--ave-ts-font-weight, 400);
  line-height: 1.3;
  white-space: nowrap;
  will-change: transform;
  animation: ave-text-slider-marquee var(--ave-ts-duration, 20s) linear infinite;
}

/* INIZIO - Messaggi multipli, separatore e propagazione affidabile dello stile RTE */
.ave-text-slider__message {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.ave-text-slider__message,
.ave-text-slider__message > :first-child,
.ave-text-slider__message > :last-child {
  margin-block: 0;
}

.ave-text-slider .ave-text-slider__message,
.ave-text-slider .ave-text-slider__message p,
.ave-text-slider .ave-text-slider__message span,
.ave-text-slider .ave-text-slider__message strong,
.ave-text-slider .ave-text-slider__message em,
.ave-text-slider .ave-text-slider__message a,
.ave-text-slider .ave-text-slider__separator {
  color: var(--ave-text-slider-color, #111111);
}

.ave-text-slider__message a {
  text-decoration: underline;
}

.ave-text-slider__separator {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  margin-inline: 1.5em;
  opacity: .8;
}
/* FINE - Messaggi multipli, separatore e propagazione affidabile dello stile RTE */

@keyframes ave-text-slider-marquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(calc(-100% - var(--ave-ts-viewport-width, 100vw)), 0, 0); }
}
/* FINE - Struttura isolata e anti-overflow del banner scorrevole */

/* INIZIO - Pausa hover limitata ai dispositivi che supportano hover reale */
@media (hover: hover) and (pointer: fine) {
  .ave-text-slider--pause-hover:hover .ave-text-slider__track {
    animation-play-state: paused;
  }
}
/* FINE - Pausa hover limitata ai dispositivi che supportano hover reale */

/* INIZIO - Adattamento verticale smartphone senza modificare il contenuto */
@media (max-width: 767.98px) {
  .ave-text-slider {
    padding-block: var(--ave-ts-padding-mobile, 12px);
  }
}
/* FINE - Adattamento verticale smartphone senza modificare il contenuto */

/* INIZIO - Modalità statica accessibile per movimento ridotto */
@media (prefers-reduced-motion: reduce) {
  .ave-text-slider__track {
    left: auto;
    display: flex;
    justify-content: center;
    width: 100%;
    min-width: 0;
    padding-inline: 1rem;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
    animation: none;
    transform: none;
    will-change: auto;
  }
}
/* FINE - Modalità statica accessibile per movimento ridotto */
