/* ParallaxCarousel Styles - Scoped to parallax-carousel-section */
    .parallax-carousel-section {
        position: relative;
        min-height: 400px; /* Minimum height */
        display: flex;
        flex-direction: column;
        overflow-y: visible; /* Shapes können nach oben/unten rausragen */
    }
    
    /* Jarallax ist jetzt die Section selbst, keine absolute Positionierung mehr */
    .parallax-carousel-section.jarallax {
        position: relative; /* wichtig: nicht absolute! */
    }
    
    /* Filter/Overlay - Konfigurierbarer Gradient über dem Parallax-Bild */
    .parallax-carousel-section .parallax-filter-overlay {
        z-index: 0;
        transition: opacity 0.3s ease;
    }

    .parallax-carousel-section .container {
        position: relative;
        z-index: 1;
        flex-grow: 1;
    }
    
    /* ===================================================
       DECORATIVE SHAPES - JTL CI Style
       =================================================== */
    
    /* Base Shape Styling */
    .parallax-carousel-section .parallax-shape {
        position: absolute;
        z-index: 0;
        pointer-events: none;
        opacity: 0.85;
        transition: transform 0.3s ease-out;
        will-change: transform;
    }
    
    /* ===== SHAPE 1: INNER - Unten rechts ===== */
    .parallax-carousel-section .parallax-shape-inner {
        width: 500px;
        height: 400px;
        bottom: -50px;
        right: 100px;
        border-radius: 80px;
        transform: rotate(-25deg) skewY(-5deg);
    }
    
    /* ===== SHAPE 2: EDGE - Oben links am Rand ===== */
    .parallax-carousel-section .parallax-shape-edge {
        width: 450px;
        height: 380px;
        top: 50px;
        left: -100px;
        border-radius: 70px;
        opacity: 0.75;
        transform: rotate(22deg) skewY(4deg);
    }

    .parallax-carousel-section .parallax-headline {
        color: white;
        text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
        font-size: 2.5rem;
        font-weight: 700;
        margin-bottom: 1rem;
    }

    .parallax-carousel-section .parallax-subline {
        color: rgba(255,255,255,0.9);
        text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
        font-size: 1.25rem;
        font-weight: 300;
        margin-bottom: 2rem;
        max-width: 600px;
        /* margin-left: auto; */
        margin-right: auto;
    }

    .parallax-carousel-section .parallax-button-wrapper {
        margin-top: 2rem;
    }

    .parallax-carousel-section .products-swiper {
        padding-bottom: 50px;
    }

    .parallax-carousel-section .slider-header {
        position: relative;
        z-index: 2;
    }

    .parallax-carousel-section .slider-navigation {
        display: flex;
        gap: 8px;
    }

    .parallax-carousel-section .btn-nav {
        background: rgba(255,255,255,0.9);
        border: none;
        border-radius: 50%;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #333;
        transition: all 0.3s ease;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    }

    .parallax-carousel-section .btn-nav:hover {
        background: white;
        transform: translateY(-2px);
        box-shadow: 0 4px 15px rgba(0,0,0,0.2);
        color: #007bff;
    }

    .parallax-carousel-section .product-title-truncate {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        line-height: 1.3;
        height: calc(1.3em * 2);
    }

    .parallax-carousel-section .swiper-slide .card {
        min-height: 120px;
    }

    .parallax-carousel-section .swiper-slide .card-body {
        display: flex;
        align-items: center;
        height: 100%;
    }

    .parallax-carousel-section .swiper-pagination {
        bottom: 20px !important;
    }

    .parallax-carousel-section .swiper-pagination-bullet {
        background: rgba(255,255,255,0.7);
        opacity: 1;
    }

    .parallax-carousel-section .swiper-pagination-bullet-active {
        background: white;
    }

    @media (max-width: 768px) {
        .parallax-carousel-section .parallax-headline {
            font-size: 2rem;
        }
        
        .parallax-carousel-section .parallax-subline {
            font-size: 1rem;
        }
        
        /* Auf Mobile: Mindestens so hoch wie der Content */
        .parallax-carousel-section {
            min-height: auto !important;
        }
        
        /* Shapes auf Tablet/Mobile anpassen */
        .parallax-carousel-section .parallax-shape-inner {
            width: 350px;
            height: 280px;
            bottom: -40px;
        }
        
        .parallax-carousel-section .parallax-shape-edge {
            width: 320px;
            height: 270px;
            top: 30px;
            left: -80px;
        }
    }
    
    /* Responsive Shapes - Mobile */
    @media (max-width: 576px) {
        /* Inner Shape ausblenden auf sehr kleinen Screens */
        .parallax-carousel-section .parallax-shape-inner {
            display: none;
        }
        
        .parallax-carousel-section .parallax-shape-edge {
            width: 240px;
            height: 200px;
            top: 20px;
            left: -60px;
        }
    }

    /* Responsive Anpassungen für niedrige Höhen */
    .parallax-carousel-section[data-section-height="400px"] .parallax-headline,
    .parallax-carousel-section[data-section-height="500px"] .parallax-headline {
        font-size: 1.75rem;
        margin-bottom: 0.5rem;
    }
    
    .parallax-carousel-section[data-section-height="400px"] .parallax-subline,
    .parallax-carousel-section[data-section-height="500px"] .parallax-subline {
        font-size: 1rem;
        margin-bottom: 1rem;
    }
    
    .parallax-carousel-section[data-section-height="400px"] .container,
    .parallax-carousel-section[data-section-height="500px"] .container {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    
    .parallax-carousel-section[data-section-height="400px"] .row,
    .parallax-carousel-section[data-section-height="500px"] .row {
        margin-bottom: 1rem !important;
    }
    
    /* Mobile Anpassungen für kleine Höhen */
    @media (max-width: 768px) {
        .parallax-carousel-section[data-section-height="400px"] .parallax-headline,
        .parallax-carousel-section[data-section-height="500px"] .parallax-headline,
        .parallax-carousel-section[data-section-height="600px"] .parallax-headline {
            font-size: 1.5rem;
        }
        
        .parallax-carousel-section .slider-header {
            margin-bottom: 1rem !important;
        }
        
        .parallax-carousel-section .swiper-slide .card-body {
            padding: 0.75rem !important;
        }
    }
    
    /* Optimierung für sehr kleine Screens */
    @media (max-width: 576px) {
        .parallax-carousel-section {
            min-height: 400px !important; /* Force minimum auf mobil */
        }
        
        .parallax-carousel-section .parallax-headline {
            font-size: 1.25rem;
        }
        
        .parallax-carousel-section .parallax-subline {
            font-size: 0.875rem;
        }
    }