/* ═══════════════════════════════════════════
   Logo Slider — Marquee styles v4
   No CSS animation — rAF drives the transform
═══════════════════════════════════════════ */
.ls-slider-wrapper {
    --ls-accent: #1a56db;
    --ls-border: #e8e8e8;
    --ls-bg:     #ffffff;
    --ls-text:   #1e293b;

    position: relative;
    background: var(--ls-bg);
    border-bottom: 1px solid var(--ls-border);
    padding: 30px 0;
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}

/* Fade edges */
.ls-slider-wrapper::before,
.ls-slider-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    width: 140px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}
.ls-slider-wrapper::before { left:  0; background: linear-gradient(to right, var(--ls-bg), transparent); }
.ls-slider-wrapper::after  { right: 0; background: linear-gradient(to left,  var(--ls-bg), transparent); }

/* Track — transform set by JS */
.ls-track-outer {
    overflow: hidden;
    width: 100%;
    /* Hidden until preload done; JS adds .ls-ready to wrapper */
    opacity: 0;
    transition: opacity .4s ease;
}
.ls-slider-wrapper.ls-ready .ls-track-outer {
    opacity: 1;
}

.ls-track {
    display: flex;
    align-items: center;
    width: max-content;
    will-change: transform;
}

/* Individual logo */
.ls-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 40px;
    flex-shrink: 0;
}

.ls-logo-box {
    width: 160px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Anchor wrapper (if URLs configured) */
.ls-logo-link {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    text-decoration: none; color: inherit;
    border: none; outline: none;
}
.ls-logo-link:focus-visible { outline: 2px solid var(--ls-accent); outline-offset: 3px; border-radius: 4px; }
.ls-logo-link-disabled { cursor: default; pointer-events: none; }

.ls-logo-box img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
    transition: transform .3s ease, opacity .3s ease;
}
.ls-slide:hover .ls-logo-box img { transform: scale(1.06); opacity: .8; }

.ls-logo-name { display: none !important; }

/* Controls */
.ls-controls {
    display: flex;
    justify-content: center;
    margin-top: 18px;
    position: relative;
    z-index: 3;
}

.ls-btn {
    width: 34px; height: 34px;
    border-radius: 50%;
    border: 1.5px solid var(--ls-border);
    background: #fff; color: var(--ls-text);
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    padding: 0;
    box-shadow: 0 1px 4px rgba(0,0,0,.07);
    transition: background .18s, border-color .18s, color .18s, transform .15s, box-shadow .18s;
}
.ls-btn:hover {
    background: var(--ls-accent); border-color: var(--ls-accent); color: #fff;
    box-shadow: 0 3px 12px rgba(26,86,219,.3); transform: scale(1.08);
}
.ls-btn:active { transform: scale(.93); }
.ls-btn svg { width: 14px; height: 14px; display: block; }

.ls-playpause { width: 38px; height: 38px; background: var(--ls-accent); border-color: var(--ls-accent); color: #fff; box-shadow: 0 2px 8px rgba(26,86,219,.3); }
.ls-playpause:hover { background: #1347c4; border-color: #1347c4; }
.ls-playpause .ls-icon-play  { display: none; }
.ls-playpause .ls-icon-pause { display: block; }
.ls-playpause.ls-is-paused .ls-icon-play  { display: block; }
.ls-playpause.ls-is-paused .ls-icon-pause { display: none; }

/* Mobile */
@media (max-width: 600px) {
    .ls-slider-wrapper { padding: 15px 0; }
    .ls-slide { padding: 0 24px; }
    .ls-logo-box { width: 110px; height: 56px; }
    .ls-slider-wrapper::before,
    .ls-slider-wrapper::after { width: 60px; }
}
