﻿
.banner-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.banner-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
}

.main-banner {
    position: relative;
    height: 200px; /* ✅ give banner a real height */
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    overflow: hidden;
    z-index: 1;
}

    .main-banner:hover {
        transform: scale(1.02);
    }

.carousel-container-banner {
    position: relative; /* ✅ so indicators stay inside */
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

.carousel-track-banner {
    display: flex;
    height: 100%;
    animation: slideCarousel 12s infinite;
}

.carousel-item-banner {
    min-width: 100%; /* ✅ each item fills full banner */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: bold;
    color: #fff;
}

    .carousel-item-banner:nth-child(1) {
        background: linear-gradient(45deg, #ff6b6b, #ffa500);
    }

    .carousel-item-banner:nth-child(2) {
        background: linear-gradient(45deg, #4ecdc4, #44a08d);
    }

    .carousel-item-banner:nth-child(3) {
        background: linear-gradient(45deg, #a8edea, #fed6e3);
        color: #333;
    }

    .carousel-item-banner:nth-child(4) {
        background: linear-gradient(45deg, #d299c2, #fef9d7);
        color: #333;
    }

@keyframes slideCarousel {
    0% {
        transform: translateX(0%);
    }

    20% {
        transform: translateX(0%);
    }

    25% {
        transform: translateX(-100%);
    }

    45% {
        transform: translateX(-100%);
    }

    50% {
        transform: translateX(-200%);
    }

    70% {
        transform: translateX(-200%);
    }

    75% {
        transform: translateX(-300%);
    }

    95% {
        transform: translateX(-300%);
    }

    100% {
        transform: translateX(0%);
    }
}

.carousel-indicators-banner {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
}

.indicator {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    animation: indicatorAnimation 12s infinite;
}

    .indicator:nth-child(1) {
        animation-delay: 0s;
    }

    .indicator:nth-child(2) {
        animation-delay: 3s;
    }

    .indicator:nth-child(3) {
        animation-delay: 6s;
    }

    .indicator:nth-child(4) {
        animation-delay: 9s;
    }

@keyframes indicatorAnimation {
    0%, 20% {
        background: rgba(255, 255, 255, 1);
        transform: scale(1.2);
    }

    25%, 100% {
        background: rgba(255, 255, 255, 0.5);
        transform: scale(1);
    }
}

.side-banners {
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%;
}

.side-banner {
    background: linear-gradient(45deg, #ffeaa7, #fab1a0);
    color: #2d3436;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    padding: 20px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    cursor: pointer;
    flex: 1;
}

    .side-banner:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);
    }

    .side-banner:first-child {
        background: linear-gradient(45d, #74b9ff, #0984e3);
        color: white;
    }

    .side-banner:last-child {
        background: linear-gradient(45deg, #fd79a8, #e84393);
        color: white;
    }

/* Responsive Design */
@media (max-width: 768px) {
    .banner-grid {
        grid-template-columns: 1fr;
        height: auto;
        gap: 15px;
    }

    .main-banner {
        height: 150px;
        font-size: 20px;
    }

    .carousel-item-banner {
        font-size: 20px;
        padding: 15px;
    }

    .side-banners {
        flex-direction: row;
        gap: 15px;
    }

    .side-banner {
        font-size: 16px;
        padding: 15px;
        height: 80px;
    }
}

@media (max-width: 480px) {
    .side-banners {
        flex-direction: column;
    }

    .carousel-item-banner {
        font-size: 18px;
    }
}
