.carousel {
    position: relative;
    width: 100%;
    height: 80vh;        /* responsive based on screen height */
    max-height: 800px;   /* keeps your desktop look */
    min-height: 400px;   /* prevents too small on mobile */
    overflow: hidden;
    background-color: #000;
}

        /* Slides Track */
        .slides {
            display: flex;
            height: 100%;
            transition: transform 0.6s ease-in-out;
        }

        /* Individual Slide */
        .slide {
            min-width: 100%;
            height: 100%;
            position: relative;
        }

        .slide img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Ensures image covers area without stretching */
            display: block;
        }
.carousel {
    aspect-ratio: 16 / 9;
    max-height: 800px;
}
        /* =========================================
           NAVIGATION BUTTONS
           ========================================= */
        .prev, .next {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(0, 0, 0, 0.4);
            color: #fff;
            border: none;
            padding: 15px 20px;
            cursor: pointer;
            font-size: 24px;
            z-index: 20; /* Buttons sit on top */
            transition: background 0.3s;
        }

        .prev:hover, .next:hover {
            background: rgba(0, 0, 0, 0.8);
        }

        .prev { left: 0; }
        .next { right: 0; }

        /* =========================================
           TEMPLATE 2: CLASSIC BOTTOM STYLES
           ========================================= */
        .hero-text {
            /* Positioning: Stick to bottom center */
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            z-index: 10;
            text-align: center; /* Center align text */
            color: #fff;
            
            /* Gradient Overlay for Readability */
            /* Fade from black (90% opacity) at bottom to transparent at top */
            padding: 4rem 2rem; /* Top padding pushes text up slightly */
            background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);
        }

        .hero-text h1 {
            font-size: 3rem;
            margin-bottom: 0.5rem;
            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
            color: white;
        }

        .hero-text p {
            font-size: 1.2rem;
            margin-bottom: 1.5rem;
            opacity: 0.9;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto; /* Centers paragraph */
        }

        /* Button Styling */
        .btn-primary {
            padding: 12px 30px;
            background-color: #fb4275;
            color: white;
            border: none;
            border-radius: 50px;
            font-size: 1rem;
            font-weight: 600;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 10px; /* Space between text and icon */
            transition: background 0.3s, transform 0.2s;
            text-decoration: none;
        }

        .btn-primary:hover {
            background-color: #ffffff;
            transform: translateY(-2px);
            color: #000;
        }

        /* =========================================
           RESPONSIVE STYLES (Mobile & Tablet)
           ========================================= */
        @media (max-width: 1024px) {
            .hero-text h1 { 
                font-size: 2.5rem;
                color: white;
             }
        }

        @media (max-width: 768px) {
            /* Adjust Text */
            .hero-text {
                padding: 2rem 1rem;
                text-align: center; /* Keep centered */
            }

            .hero-text h1 {
                font-size: 2rem;
                margin-bottom: 0.5rem;
                color: white;
            }

            .hero-text p {
                font-size: 1rem;
                margin-bottom: 1.2rem;
            }

            /* Make button full width on very small screens or keep inline? 
               Usually keeping it inline is cleaner for this template. */
            .btn-primary {
                width: auto;
                padding: 10px 24px;
                font-size: 0.9rem;
            }

            /* Shrink Nav Buttons */
            .prev, .next {
                padding: 10px 15px;
                font-size: 18px;
            }
        }