/* Partners Carousel Styles */

.partners-section {
    padding: 2.25rem 0 2.75rem 0;
    overflow: hidden;
    position: relative;
    background: transparent;
}

.partners-title {
    text-align: center;
    font-family: var(--font-heading);
    font-size: 2.6rem;
    color: #fff;
    margin-bottom: 0.5rem;
    letter-spacing: 2px;
}

.partners-disclaimer {
    text-align: center;
    font-size: 0.85rem;
    color: var(--text-muted);
    letter-spacing: 0.5px;
    margin-bottom: 1.25rem;
    font-style: italic;
}

/* Πάνω σειρά: ίδια νοοτροπία με την κάτω – αχνό χρώμα, μικρότερα, περισσότερο κενό, κινούμενα */
.partners-names-slider {
    width: 100vw;
    max-width: 100%;
    margin: 0 auto 2rem;
    overflow: hidden;
    white-space: nowrap;
    mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
}

.partners-names-track {
    display: inline-block;
    white-space: nowrap;
    animation: infiniteScrollNames 35s linear infinite;
    padding: 0.5rem 0;
}

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

@keyframes infiniteScrollNames {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.partner-name {
    font-family: var(--font-body);
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--text-muted);
    letter-spacing: 0.5px;
    white-space: nowrap;
    padding-bottom: 3px;
    border-bottom: 1px solid var(--neon-blue);
    display: inline-block;
    margin: 0 2.75rem;
    overflow: visible;
}

.partner-name:hover {
    color: rgba(255, 255, 255, 0.85);
}

.partners-slider {
    width: 100vw;
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    overflow: hidden;
    white-space: nowrap;
    mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

.partners-track {
    display: inline-block;
    white-space: nowrap;
    animation: infiniteScroll 30s linear infinite;
}

/* Pause animation on hover */
.partners-slider:hover .partners-track {
    animation-play-state: paused;
}

.partner-logo {
    display: inline-block;
    vertical-align: middle;
    width: 150px;
    /* Adjust based on logo size */
    margin: 0 4rem;
    /* Spacing between logos */
    filter: invert(1) opacity(0.5);
    /* Make dark logos turn white and dim in dark mode */
    transition: filter 0.3s ease, transform 0.3s ease;
}

.partner-logo img {
    width: 100%;
    height: auto;
    display: block;
}

.partner-logo:hover {
    filter: invert(1) opacity(1);
    transform: scale(1.05);
}

@keyframes infiniteScroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

@media (max-width: 768px) {
    .partner-name {
        font-size: 0.95rem;
        margin: 0 2rem;
    }

    .partner-logo {
        width: 140px;
        margin: 0 1.5rem;
    }

    .partners-title {
        font-size: 2.1rem;
    }
}