/* Card Slider (orbisk/card-slider) */

.orbisk_card_slider {
    width: 100%;
}

.orbisk-cs-track {
    display: flex;
    width: max-content;
    max-width: 100%;
    margin: 0 auto;
}

.orbisk-cs-list {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.orbisk-cs-list--clone {
    display: none;
}

/* Static row (15 or fewer cards) — plain flex row, falls back to its own
   horizontal scroll if content is wider than the viewport. */
.orbisk_card_slider:not(.is-auto-scrolling) .orbisk-cs-track {
    overflow-x: auto;
}

/* Auto-scrolling marquee — only added by assets/js/card-slider.js when
   there are more than 15 cards AND the viewport is desktop/tablet
   (min-width: 768px). The second .orbisk-cs-list is a JS-cloned duplicate
   of the first, appended as the track's second flex child, so translating
   by -50% loops seamlessly. */
.orbisk_card_slider.is-auto-scrolling .orbisk-cs-track {
    animation: orbisk-cs-marquee 60s linear infinite;
}

.orbisk_card_slider.is-auto-scrolling .orbisk-cs-list--clone {
    display: flex;
}

.orbisk_card_slider.is-auto-scrolling:hover .orbisk-cs-track {
    animation-play-state: paused;
}

@keyframes orbisk-cs-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
    .orbisk_card_slider.is-auto-scrolling .orbisk-cs-track {
        animation: none;
    }
}

/* Mobile: never auto-scroll — native touch swipe instead, with both edges
   of the adjacent cards peeking in from off-screen. */
@media (max-width: 767px) {
    .orbisk_card_slider.is-auto-scrolling .orbisk-cs-track {
        animation: none !important;
        transform: none !important;
    }

    .orbisk_card_slider .orbisk-cs-track {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .orbisk_card_slider .orbisk-cs-track::-webkit-scrollbar {
        display: none;
    }

    .orbisk_card_slider .orbisk-cs-list {
        gap: 20px;
        padding: 0 32px;
    }

    .orbisk_card_slider .orbisk-cs-list--clone {
        display: none !important;
    }

    .orbisk_card_slider_item {
        flex: 0 0 80%;
        max-width: 255px;
        scroll-snap-align: center;
    }
}

/* ── Slider Card (orbisk/card-slider-item) ── */

.orbisk_card_slider_item {
    flex: 0 0 255px;
    max-width: 255px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    background-color: #FAF5F1;
    border-radius: 24px;
    padding: 16px;
}

.orbisk_card_slider_item .et_pb_module_inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0;
}

.orbisk-cs-logo-box {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 154px;
    max-height: 154px;
    box-sizing: border-box;
    padding: 0 24px;
    background-color: #FFFFFF;
    border-radius: 17px;
}

.orbisk-cs-logo {
    max-width: 100%;
    max-height: 45px;
    object-fit: contain;
}

.orbisk-cs-title {
    /* 16px card padding + 9px own margin = 25px total inset from the card border */
    display: block;
    margin: 16px 9px 12px;
    padding: 0;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 150%;
    color: #035939;
}

.orbisk-cs-content {
    margin: 0 9px 4px;
    padding: 0;
    font-family: "Poppins", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 150%;
    color: #13382A;
}
