/* Logo Carousel - Vollständig */
.logo-carousel-container {
    --logo-gap: 40px;
    --animation-speed: 60s; /* Standard auf 60 Sekunden */
    overflow: hidden;
    width: 100%;
    position: relative;
}

.logo-carousel-track {
    display: flex;
    align-items: center;
    width: max-content;
    gap: var(--logo-gap);
    padding: 20px 0;
    animation: logo-scroll var(--animation-speed) linear infinite;
}

.logo-carousel-track.paused {
    animation-play-state: paused !important;
}

.logo-carousel-logo {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    outline: none;
    cursor: pointer;
}

/* Alle Logos grau */
.logo-carousel-container:not(:hover) .logo-carousel-logo img {
    filter: grayscale(100%);
    opacity: 0.7;
    transition: all 0.3s ease;
}

/* Hover-Effekte */
.logo-carousel-logo:hover img,
.logo-carousel-logo.is-hovered img,
.logo-carousel-logo:focus img {
    filter: grayscale(0%) !important;
    opacity: 1 !important;
    transform: scale(1.1);
}

/* Animation */
@keyframes logo-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(calc(-50% - (var(--logo-gap) / 2))); }
}

/* Responsive */
@media (max-width: 768px) {
    .logo-carousel-container { 
        --logo-gap: 20px; 
        --animation-speed: 80s; /* Langsamer auf mobilen Geräten */
    }
}

/* Barrierefreiheit */
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}