.lm-wrapper {
    overflow: hidden;
    background: var(--lm-bg, transparent);
    padding: 20px 0;
    position: relative;
}

/* Full-bleed: lebar penuh layar walau modul ada di dalam container yang lebih sempit */
.lm-wrapper.lm-full-width {
    width: 100vw;
    max-width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.lm-track {
    display: flex;
    width: max-content;
    animation: lm-scroll var(--lm-speed, 30s) linear infinite;
}
.lm-track.lm-paused {
    animation-play-state: paused;
}

.lm-track-inner {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.lm-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: var(--lm-gap, 64px);
    flex-shrink: 0;
    text-decoration: none;
}

.lm-item img {
    display: block;
    filter: brightness(0) invert(1);
    opacity: var(--lm-logo-opacity, 0.55);
    transform: scale(1);
    transition: filter 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}

.lm-item:hover img {
    filter: none;
    opacity: 1;
    transform: scale(1.18);
}

@keyframes lm-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
    .lm-track {
        animation: none;
    }
}

@media (max-width: 640px) {
    .lm-item { margin-right: calc(var(--lm-gap, 64px) * 0.6); }
}
