/* ============================================================
   Atsys Elements – Text Marquee Widget
   ============================================================ */

/* ── Keyframes ── */
@keyframes atsys-marquee-left {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes atsys-marquee-right {
    0%   { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

/* ── Wrapper ── */
.atsys-marquee-wrap {
    overflow: hidden;
    width: 100%;
    position: relative;
}

/* ── Track ── */
.atsys-marquee-track {
    display: flex;
    align-items: center;
    width: max-content;

    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-fill-mode: none;
    will-change: transform;
}

/* Pause on hover (opcional) */
.atsys-marquee-pause-hover:hover .atsys-marquee-track {
    animation-play-state: paused;
}

/* ── Set (grupo de items) ── */
.atsys-marquee-set {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

/* ── Item individual ── */
.atsys-marquee-item {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ── Separador ── */
.atsys-marquee-sep {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    line-height: 1;
    vertical-align: middle;
}

/* Icono: tanto los iconos de fuente (FontAwesome) como los SVG inline se
   dimensionan con el font-size del span contenedor, que controla el
   control `separator_size` (em). Así el separador escala junto al texto. */
.atsys-marquee-sep--icon i,
.atsys-marquee-sep--icon svg {
    display: block;
    line-height: 1;
}

.atsys-marquee-sep--icon svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
}

/* Imagen: el ancho lo fija `separator_image_width`; la altura se deja auto
   para no deformar el aspecto. `max-width:none` evita que temas con
   `img { max-width:100% }` interfieran dentro del track de ancho max-content. */
.atsys-marquee-sep--image img {
    display: block;
    height: auto;
    max-width: none;
    object-fit: contain;
}

/* Sin separador: el span queda vacío y solo aporta sus márgenes laterales,
   que es lo que genera el espacio entre elementos. Mantenerlo en el DOM (en
   lugar de omitirlo) conserva intacta la aritmética del bucle: todos los sets
   son idénticos y el track sigue desplazándose exactamente un 50%. */
.atsys-marquee-sep--none {
    width: 0;
}
