/* ============================================ */
/*        Marquee Cards — Documents             */
/* Component: template-parts/components/marquee-cards-docs.php
/* ============================================ */

/* Mobile - 360px */
@media only screen and (min-width: 0px) {
    #marquee-cards {
        padding: var(--sectionPadding);
        background: var(--white);
        overflow: hidden;
        position: relative;
        z-index: 2;
    }

    #marquee-cards .cs-container {
        width: 100%;
        max-width: 100%;
        margin: 0 auto clamp(2.5rem, 5vw, 4rem);
        padding: 0 1rem;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    #marquee-cards .cs-header {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    #marquee-cards .cs-title {
        font-family: var(--headerFont);
        font-size: var(--headerFontSize);
        color: var(--navy);
        line-height: 1.1;
        margin: 0;
        max-width: 22ch;
    }

    #marquee-cards .cs-text {
        font-family: var(--bodyFont);
        font-size: clamp(0.9rem, 1.4vw, 1.05rem);
        font-weight: 300;
        line-height: 1.7;
        color: var(--silver);
        margin: 0;
        max-width: 36.25rem;
    }

    #marquee-cards .cs-track-wrapper {
        width: 100%;
        overflow: hidden;
        margin-bottom: 1rem;
    }

    #marquee-cards .cs-track-wrapper:last-child {
        margin-bottom: 0;
    }

    #marquee-cards .cs-track {
        display: flex;
        gap: 1rem;
        width: max-content;
    }

    #marquee-cards .cs-track-left {
        animation: marquee-docs-left 50s linear infinite;
    }

    #marquee-cards .cs-track-right {
        animation: marquee-docs-right 60s linear infinite;
    }

    #marquee-cards .cs-card {
        width: clamp(220px, 22vw, 260px);
        height: clamp(300px, 35vw, 360px);
        flex-shrink: 0;
        position: relative;
        overflow: hidden;
        border-radius: 0.5rem;
        border: 1px solid rgba(0, 0, 0, 0.08);
        background: #f5f5f5;
    }

    #marquee-cards .cs-card-img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: top;
        display: block;
        transition: transform 0.4s ease;
    }

    #marquee-cards .cs-card:hover .cs-card-img {
        transform: scale(1.05);
    }
}

/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
    #marquee-cards .cs-container {
        padding: 0 6vw;
    }

    #marquee-cards .cs-header {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 3.75rem;
    }

    #marquee-cards .cs-title {
        max-width: 18ch;
        flex-shrink: 0;
    }

    #marquee-cards .cs-text {
        max-width: 30rem;
        padding-bottom: 0.25rem;
    }

    #marquee-cards .cs-card {
        width: clamp(260px, 24vw, 320px);
        height: clamp(360px, 40vw, 460px);
    }

    #marquee-cards .cs-track {
        gap: 1.25rem;
    }

    #marquee-cards .cs-track-wrapper {
        margin-bottom: 1.25rem;
    }
}

/* Animations */
@keyframes marquee-docs-left {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes marquee-docs-right {
    0%   { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}