/* Welcome Page Styles */

.scroll-fade {
    opacity: 0;
    transform: translateY(40px) scale(0.98) blur(8px);
    transition: all 1s cubic-bezier(.4, 0, .2, 1);
}

.scroll-fade.visible {
    opacity: 1;
    transform: translateY(0) scale(1) blur(0);
}

.footer-glass {
    background: rgba(30, 41, 59, 0.7);
    backdrop-filter: blur(12px) saturate(1.2);
    border-radius: 2rem;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.25);
}

/* Appliquer sur la div scrollable */
.scroll-gradient {
    max-height: 480px;
    overflow-y: auto;
    padding-right: 8px;
    /* espace pour éviter contenu collé au masque */
    /* masque dégradé top & bottom */
    mask-image: linear-gradient(to bottom, transparent, black 20%, black 80%, transparent);
    -webkit-mask-image: linear-gradient(to bottom, transparent, black 20%, black 80%, transparent);
    scrollbar-width: none;
    /* Firefox : cacher scrollbar */
}

.scroll-gradient::-webkit-scrollbar {
    display: none;
    /* Chrome/Safari : cacher scrollbar */
}

/* Container slider */
.slider {
    overflow: hidden;
    position: relative;
    width: 100%;
}

/* Track contenant les logos (x2 pour boucle fluide) */
.slide-track {
    display: flex;
    width: max-content;
    animation: scroll 40s linear infinite;
}

/* Style logos */
.logo {
    margin: 0 1.5rem;
    height: 32px;
    filter: grayscale(100%);
    transition: filter 0.3s;
}

/* Responsiveness */
@media (min-width: 640px) {
    .logo { height: 40px; margin: 0 2rem; }
}
@media (min-width: 768px) {
    .logo { height: 56px; margin: 0 2.5rem; }
}
@media (min-width: 1024px) {
    .logo { height: 64px; margin: 0 3rem; }
}

.logo:hover {
    filter: grayscale(0%);
}

/* Animation continue */
@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.animate-scroll {
    animation: scroll 30s linear infinite;
}

.animate-scroll:hover {
    animation-play-state: paused;
}
