.ls-wrapper {
    width: 100%;
    overflow: hidden;
}

.ls-item {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.ls-item img {
    height: auto;
    object-fit: contain;
    transition: filter 0.3s ease;
}

/* Grayscale Hover Effect */
.ls-wrapper.hover-grayscale .ls-item img {
    filter: none;
}
.ls-wrapper.hover-grayscale .ls-item:hover img {
    filter: grayscale(100%);
}

/* Grid Layout */
.ls-grid {
    display: grid;
    width: 100%;
}

/* Justified Layout */
.ls-justified {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

/* Carousel / Marquee Layout */
.ls-carousel {
    display: flex;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    width: 100%;
}

.ls-carousel-track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: ls-marquee linear infinite;
    animation-duration: 20s;
}

.ls-carousel:hover .ls-carousel-track {
    animation-play-state: paused;
}

@keyframes ls-marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-50% - (var(--e-column-gap, 30px) / 2))); }
}
