.carousel-item {
    overflow: hidden;
    height: 60vh;
}

/* Responsive adjustments for the hero video used in place of the
   carousel on smaller screens. These values mirror the existing
   breakpoints applied to `.carousel-item` so the layout remains
   consistent. */
#hero-video,
#hero-animation {
    overflow: hidden;
    height: 60vh;
}

@media (max-width: 575px) {
    .carousel-item {
        height: 96px;
    }

    #hero-video,
    #hero-animation {
        height: 96px;
    }

    .carousel-item img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
}

@media (min-width: 576px) and (max-width: 991px) {
    .carousel-item {
        height: 200px;
    }

    #hero-video,
    #hero-animation {
        height: 200px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .carousel-item {
        height: 260px;
    }

    #hero-video,
    #hero-animation {
        height: 260px;
    }
}

@media (min-width: 1200px) and (max-width: 1920px) {
    .carousel-item {
        height: 520px;
    }

    #hero-video,
    #hero-animation {
        height: 520px;
    }
}

@media (max-width: 991px) {
    html,
    body {
        width: 100%;
        overflow-x: hidden;
    }

    #master-hero-carousel,
    .master-swiper,
    .swiper-wrapper,
    .swiper-slide {
        max-width: 100%;
    }
}

@media (max-width: 767px) {

    /* Evita seções invisíveis quando AOS é desativado no mobile */
    [data-aos] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    /* Garante que cada seção empilhe no fluxo normal no mobile */
    main>section:not(.hero-gamer-section):not(#master-hero-carousel) {
        position: static !important;
        display: block !important;
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }
}
