/* Partner and brand logo marquees. */
.home-partners-section {
    overflow: hidden;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.home-partners-section.is-commercial {
    background: transparent;
}

.home-brands-section {
    overflow: hidden;
}

.home-logo-marquee {
    --marquee-duration: 28s;
    position: relative;
    margin-top: 1.25rem;
    overflow: hidden;
    padding: 1rem 0;
    border-block: 1px solid rgba(0, 0, 0, .07);
    background: #fff;
    box-shadow: 0 18px 46px -42px rgba(0, 0, 0, .45);
    mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}

.home-logo-marquee--reverse {
    --marquee-duration: 34s;
}

.home-logo-track {
    display: flex;
    width: max-content;
    align-items: center;
    gap: 0;
    animation: home-logo-marquee var(--marquee-duration) linear infinite;
    will-change: transform;
}

.home-logo-marquee--reverse .home-logo-track {
    animation-direction: reverse;
}

.home-logo-marquee:hover .home-logo-track,
.home-logo-marquee:focus-within .home-logo-track {
    animation-play-state: paused;
}

.home-logo-item {
    display: inline-flex;
    min-width: max-content;
    align-items: center;
    gap: clamp(.75rem, 1.4vw, 1.05rem);
    padding: .2rem clamp(1.4rem, 3.2vw, 2.8rem);
    color: #1f2933;
    text-decoration: none;
    transition: color .2s ease, opacity .2s ease, transform .2s ease;
}

.home-logo-item + .home-logo-item {
    border-left: 1px solid rgba(0, 0, 0, .06);
}

.home-logo-item:hover {
    color: var(--store-orange);
    transform: none;
}

.home-logo-emblem {
    display: flex;
    width: clamp(7.5rem, 12vw, 11rem);
    height: clamp(3.2rem, 5vw, 4.4rem);
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    overflow: visible;
    border: 0;
    border-radius: 0;
    color: var(--store-orange);
    background: transparent;
    box-shadow: none;
    font-size: clamp(.78rem, 1.4vw, .95rem);
    font-weight: 850;
    letter-spacing: .04em;
}

.home-logo-emblem img {
    display: block;
    width: auto;
    max-width: 100%;
    height: 100%;
    object-fit: contain;
}

.home-logo-item--denetfils .home-logo-emblem img {
    height: 78%;
}

.home-logo-item--selakay .home-logo-emblem img {
    height: 175%;
    max-width: none;
}

.home-logo-item--brand .home-logo-emblem {
    color: var(--store-orange);
    background: transparent;
}

.home-logo-name {
    display: block;
    min-width: 0;
    color: rgba(31, 41, 51, .72);
    font-size: clamp(.72rem, 1vw, .82rem);
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.1;
    text-transform: uppercase;
    white-space: nowrap;
}

.home-logo-item:hover .home-logo-name {
    color: rgba(31, 41, 51, .92);
}

@keyframes home-logo-marquee {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(-50%, 0, 0);
    }
}

@media (max-width: 680px) {
    .home-logo-marquee {
        --marquee-duration: 22s;
        margin-top: 1rem;
        padding: .8rem 0;
    }

    .home-logo-item {
        padding-inline: 1.15rem;
    }

    .home-logo-emblem {
        width: 6.7rem;
        height: 3.4rem;
    }

    .home-logo-name {
        font-size: .68rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-logo-track {
        animation: none;
        flex-wrap: wrap;
        width: auto;
    }

    .home-logo-marquee {
        overflow: visible;
        mask-image: none;
        -webkit-mask-image: none;
    }
}
