/* Logo Wall Marquee — aum-lwm */
.aum-lwm-wrap {
    width: 100%;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
}

/* Fade edges mask */
.aum-lwm-wrap--fade::before,
.aum-lwm-wrap--fade::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: var(--aum-lwm-fade-w, 120px);
    z-index: 2;
    pointer-events: none;
}
.aum-lwm-wrap--fade::before {
    left: 0;
    background: linear-gradient(to right, var(--aum-lwm-fade, var(--bg, #ffffff)), transparent);
}
.aum-lwm-wrap--fade::after {
    right: 0;
    background: linear-gradient(to left, var(--aum-lwm-fade, var(--bg, #ffffff)), transparent);
}

/* Track — holds two identical groups side by side */
.aum-lwm-track {
    display: flex;
    align-items: stretch;
    gap: var(--aum-lwm-gap, 56px);
    width: 100%;
}

/* Each group = one full copy of the logos, at least as wide as the viewport.
   Scrolls exactly its own width + one gap, so the join between the two copies
   is pixel-identical → seamless loop with no blank tail and no end-of-loop jump,
   regardless of how many logos there are. */
.aum-lwm-group {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: var(--aum-lwm-gap, 56px);
    flex-shrink: 0;
    min-width: 100%;
    animation: aum-lwm-scroll var(--aum-lwm-speed, 30s) linear infinite;
    animation-direction: var(--aum-lwm-dir, normal);
}

.aum-lwm-wrap--pausehover:hover .aum-lwm-group {
    animation-play-state: paused;
}

@keyframes aum-lwm-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(calc(-100% - var(--aum-lwm-gap, 56px))); }
}

/* Item */
.aum-lwm-item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-decoration: none;
}

/* Logo image */
.aum-lwm-logo-img {
    display: block;
    width: auto;
    max-height: 36px;
    object-fit: contain;
    opacity: 0.5;
    transition: opacity 0.2s ease, filter 0.2s ease;
    user-select: none;
    -webkit-user-drag: none;
}

.aum-lwm-wrap--grayscale .aum-lwm-logo-img {
    filter: grayscale(100%);
}

.aum-lwm-item:hover .aum-lwm-logo-img {
    opacity: 1;
    filter: grayscale(0%);
}

.aum-lwm-logo-placeholder {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-muted, #6f6e69);
    white-space: nowrap;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .aum-lwm-group { animation: none; transform: none; }
}
