/* Logo Carousel Block Styles */
.kss-logo-carousselle {
    position: relative;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    overflow: hidden;
    height: var(--carousel-height, 80px);
    background-color: transparent;
}

/* Wrapper für das Karussell */
.kss-logo-carousselle__wrapper {
    width: 100vw;
    height: 100%;
    position: relative;
    overflow: hidden;
}

/* Slick Slider Container */
.kss-logo-carousselle__slider {
    height: 100%;
    width: 100vw;
}

/* Slick Slide (ersetzt die Items) */
.kss-logo-carousselle__slide {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: var(--carousel-height, 80px);
    padding: 0 calc(var(--logo-spacing, 40px) / 2);
    transition: all 0.3s ease;
}

/* Text Logos */
.kss-logo-carousselle__text-logo {
    font-size: calc(var(--logo-height, 60px) * 0.4);
    font-weight: 600;
    color: #333;
    text-align: center;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0 20px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    background: #f8f9fa;
    min-width: 120px;
    transition: all 0.3s ease;
}

/* Bild Logos */
.kss-logo-carousselle__image-logo {
    height: var(--logo-height, 60px);
    width: auto;
    max-width: 200px;
    object-fit: contain;
    transition: all 0.3s ease;
}

/* Links */
.kss-logo-carousselle__link {
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.kss-logo-carousselle__link:hover .kss-logo-carousselle__text-logo {
    border-color: #007cba;
    background: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 124, 186, 0.15);
}

.kss-logo-carousselle__link:hover .kss-logo-carousselle__image-logo {
    transform: translateY(-2px) scale(1.05);
}

/* Slick Slider spezifische Styles */
.kss-logo-carousselle .slick-list {
    height: 100%;
    width: 100vw;
    overflow: hidden;
}

.kss-logo-carousselle .slick-track {
    height: 100%;
    width: auto;
    display: flex;
    align-items: center;
}

.kss-logo-carousselle .slick-slide {
    height: inherit;
    width: auto;
}

.kss-logo-carousselle .slick-slide > div {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Slick Dots und Arrows ausblenden */
.kss-logo-carousselle .slick-dots,
.kss-logo-carousselle .slick-prev,
.kss-logo-carousselle .slick-next {
    display: none !important;
}

/* Force Full Width - überschreibt eventuelle Container-Beschränkungen */
.wp-block-kss-logo-carousselle,
.kss-logo-carousselle {
    max-width: none !important;
    width: 100vw !important;
}

/* Sicherstellen dass auch bei Container-Themes die volle Breite genutzt wird */
.wp-site-blocks .wp-block-kss-logo-carousselle,
.wp-block-group .wp-block-kss-logo-carousselle {
    width: 100vw !important;
    max-width: none !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

/* Graustufen-Effekt */
.kss-logo-carousselle.grayscale-enabled .kss-logo-carousselle__image-logo {
    filter: grayscale(100%);
}

.kss-logo-carousselle.grayscale-enabled.grayscale-hover .kss-logo-carousselle__item:hover .kss-logo-carousselle__image-logo {
    filter: grayscale(0%);
}

/* Platzhalter für fehlende Bilder */
.kss-logo-carousselle__placeholder {
    height: var(--logo-height, 60px);
    width: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f0;
    border: 2px dashed #ccc;
    border-radius: 8px;
    color: #666;
    font-size: 12px;
    text-align: center;
}

/* Empty State */
.kss-logo-carousselle__empty {
    text-align: center;
    padding: 40px 20px;
    color: #666;
    background: #f9f9f9;
    border-radius: 8px;
    margin: 20px;
}

/* Responsive Anpassungen */
@media (max-width: 768px) {
    .kss-logo-carousselle {
        height: calc(var(--carousel-height, 80px) * 0.8);
    }
    
    .kss-logo-carousselle__slide {
        height: calc(var(--carousel-height, 80px) * 0.8);
        padding: 0 calc(var(--logo-spacing, 40px) * 0.35);
    }
    
    .kss-logo-carousselle__text-logo {
        font-size: calc(var(--logo-height, 60px) * 0.3);
        padding: 0 15px;
        min-width: 90px;
    }
    
    .kss-logo-carousselle__image-logo {
        height: calc(var(--logo-height, 60px) * 0.8);
    }
}

@media (max-width: 480px) {
    .kss-logo-carousselle {
        height: calc(var(--carousel-height, 80px) * 0.6);
    }
    
    .kss-logo-carousselle__slide {
        height: calc(var(--carousel-height, 80px) * 0.6);
        padding: 0 calc(var(--logo-spacing, 40px) * 0.25);
    }
    
    .kss-logo-carousselle__text-logo {
        font-size: calc(var(--logo-height, 60px) * 0.25);
        padding: 0 10px;
        min-width: 70px;
    }
    
    .kss-logo-carousselle__image-logo {
        height: calc(var(--logo-height, 60px) * 0.6);
    }
}

/* Performance-Optimierungen */
.kss-logo-carousselle .slick-track {
    will-change: transform;
}

.kss-logo-carousselle__slide {
    backface-visibility: hidden;
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .kss-logo-carousselle .slick-slide {
        transition-duration: 1s;
    }
}