/* ========================
   SLIDER PARCEIROS
======================== */
#parceiro {
    padding: 3rem 0;
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('https://images.unsplash.com/photo-1557683316-973673baf926?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80') no-repeat center center fixed;
    background-size: cover;
    color: #fff;
}

.section-title {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.section-intro {
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 2rem;
    color: #f0f0f0;
    background: rgba(0, 0, 0, 0.5);
    padding: 8px 16px;
    border-radius: 5px;
    opacity: 1;
}

.banner {
    width: 100%;
    height: 70vh;
    margin: 20px 0;
    text-align: center;
    position: relative;
}

.banner .slider {
    position: absolute;
    width: 220px;
    height: 280px;
    top: 15%;
    left: calc(50% - 110px);
    transform-style: preserve-3d;
    transform: perspective(1200px);
    animation: autoRun 60s linear infinite;
}

@keyframes autoRun {
    from {
        transform: perspective(1200px) rotateY(0deg);
    }
    to {
        transform: perspective(1200px) rotateY(360deg);
    }
}

.banner .slider .item {
    position: absolute;
    inset: 0;
    transform:
        rotateY(calc((var(--position) - 1) * (360 / var(--quantity)) * 1deg))
        translateZ(480px);
}

.banner .slider .item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 10px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.banner .slider .item img:hover {
    transform: scale(1.1);
    box-shadow: 0 0 20px rgba(0, 221, 255, 0.9);
}

/* ========================
   RESPONSIVIDADE
======================== */
@media (max-width: 768px) {
    .banner {
        height: 60vh;
        margin: 15px;
    }

    .banner .slider {
        width: 180px;
        height: 220px;
        left: calc(50% - 90px);
    }

    .banner .slider .item {
        transform:
            rotateY(calc((var(--position) - 1) * (360 / var(--quantity)) * 1deg))
            translateZ(400px);
    }
}

@media (max-width: 480px) {
    .banner {
        height: 50vh;
        margin: 10px 5px;
    }

    .banner .slider {
        width: 140px;
        height: 180px;
        left: calc(50% - 70px);
    }

    .banner .slider .item {
        transform:
            rotateY(calc((var(--position) - 1) * (360 / var(--quantity)) * 1deg))
            translateZ(320px);
    }

    .section-title {
        font-size: 2rem;
    }

    .section-intro {
        font-size: 1rem;
    }
}