/* === GENERIC SLIDER STYLES === */

.slider {
    width: 100vw;
    height: 120px;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

.slider::before,
.slider::after {
    content: '';
    position: absolute;
    top: 0;
    width: 100px;
    height: 100%;
    z-index: 2;
}

.slider::before {
    left: 0;
    background: linear-gradient(to left, rgba(255, 255, 255, 0), white);
}

.slider::after {
    right: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), white);
}

.slide-track {
    display: flex;
}

.slider:hover .slide-track {
    animation-play-state: paused;
}

.slide {
    height: 80px;
    width: 80px;
    min-width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px;
    border-radius: 50%; /* rounded-full */
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease-in-out;
    background-color: #f8f9fa;
}

.slide:hover {
    transform: scale(1.1);
}

.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.social-icon {
    padding: 15px;
    box-sizing: border-box;
}

.social-icon img {
    object-fit: contain;
}

/* === ANIMATION SPECIFIC STYLES === */

/* --- Flag Slider (Slides Left) --- */
.flag-track {
    width: calc(120px * 24);
    animation: scroll-left 30s linear infinite;
}

@keyframes scroll-left {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-120px * 12));
    }
}

/* --- Social Media Slider (Slides Right) --- */
.social-track {
    width: calc(120px * 20);
    animation: scroll-right 25s linear infinite;
}

@keyframes scroll-right {
    /* START from the translated position */
    0% {
        transform: translateX(calc(-120px * 10));
    }
    /* END at the initial position */
    100% {
        transform: translateX(0);
    }
}
