/**
 * ROBELL SiteKit frontend presentation.
 * Shared logo rail for contractor, manufacturer and accreditation strips.
 */

.rbsk-logo-rail-track {
    box-sizing: border-box;
    list-style: none;
    padding: 0.25rem 0.25rem;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.rbsk-logo-rail-track::-webkit-scrollbar {
    display: none;
}

.rbsk-logo-rail-item {
    box-sizing: border-box;
    margin: 0 !important;
}

.rbsk-logo-rail-item img.rbsk-logo {
    height: clamp(48px, 5.8vw, 82px) !important;
    max-height: 82px !important;
    max-width: min(220px, 48vw) !important;
    width: auto !important;
    object-fit: contain !important;
}

.rbsk-logo-rail-shell {
    position: relative;
    min-width: 0;
    width: 100%;
    display: flex;
    align-items: center;
}

.rbsk-logo-rail-shell:not(.is-overflowing) .rbsk-logo-rail-track {
    justify-content: center !important;
}

.rbsk-logo-rail-shell.is-overflowing {
    padding-inline: 2.75rem;
}

.rbsk-logo-rail-shell.is-overflowing .rbsk-logo-rail-track {
    justify-content: flex-start !important;
}

.rbsk-logo-rail-control {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 2.1rem;
    height: 2.1rem;
    transform: translateY(-50%);
    display: none;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(15, 55, 92, 0.2);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #173f68;
    cursor: pointer;
    font: inherit;
    line-height: 1;
    transition: opacity 160ms ease, border-color 160ms ease;
}

.rbsk-logo-rail-shell.is-overflowing .rbsk-logo-rail-control {
    display: inline-flex;
}

.rbsk-logo-rail-control:hover,
.rbsk-logo-rail-control:focus-visible {
    border-color: rgba(15, 55, 92, 0.55);
}

.rbsk-logo-rail-control--prev {
    left: 0.2rem;
}

.rbsk-logo-rail-control--next {
    right: 0.2rem;
}

@media (max-width: 900px) {
    .rbsk-logo-rail-item {
        flex-basis: clamp(145px, 30%, 190px) !important;
        min-width: 145px !important;
    }

    .rbsk-logo-rail-item img.rbsk-logo {
        height: clamp(46px, 7vw, 68px) !important;
        max-height: 68px !important;
        max-width: 190px !important;
    }
}

@media (max-width: 640px) {
    .rbsk-logo-rail-shell.is-overflowing {
        padding-inline: 2.25rem;
    }

    .rbsk-logo-rail-item {
        flex-basis: clamp(130px, 48%, 165px) !important;
        min-width: 130px !important;
    }

    .rbsk-logo-rail-item img.rbsk-logo {
        height: clamp(44px, 12vw, 58px) !important;
        max-height: 58px !important;
        max-width: 160px !important;
    }

    .rbsk-logo-rail-control {
        width: 1.85rem;
        height: 1.85rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rbsk-logo-rail-track {
        scroll-behavior: auto !important;
    }
}
