#banners {
    height: calc(100vh - 155px);
    width: 100%;
    overflow: hidden;
}

#banners .banner-html-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    /* centraliza verticalmente */
    justify-content: center;
    /* centraliza horizontalmente */
    pointer-events: none;
    /* permite clique na imagem/links abaixo */
    z-index: 2;
}

#banners .container-html-content {
    max-width: 850px;
    width: 100%;
    padding: 0 20px;
    text-align: left;
    color: #fff;
    /* ou o que combinar com a imagem */
}

/* Você pode estilizar o conteúdo HTML diretamente aqui se quiser */
#banners .container-html-content p {
    font-size: 62px;
    /* font-weight: bold; */
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.7);
    font-family: 'Aleo Light', sans-serif;
}

/* O vídeo ocupa 100% da área do swiper-container */
/* Ajuste para remover bordas pretas e garantir que o vídeo cubra toda a área */
.video-container {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.video-container iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 56.25vw;
    /* 16:9 aspect ratio */
    min-height: 100vh;
    min-width: 177.77vh;
    /* 16:9 aspect ratio */
    transform: translate(-50%, -50%);
    object-fit: cover;
    border: none;
}



@media (max-width: 991.98px) {
    #banners {
        height: calc(100vh - 118px);
        width: 100%;
        overflow: hidden;
    }
}

.swiper {
    height: 100%;
}

.swiper-slide {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-slide img {
    height: 100%;
    width: 100%;
    /* object-fit: contain; */
    display: block;
}



.swiper-custom-pagination {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    gap: 20px;
    font-size: 1rem;
    color: #ccc;
    z-index: 10;
}

.pagination-number {
    cursor: pointer;
    position: relative;
    transition: color 0.3s ease;
}

.pagination-number.active {
    color: var(--blue);
    font-weight: 500;
}

.pagination-number.active::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;
    height: 2px;
    width: 100%;
    background-color: #2a62e5;
}

/* solutions */

/* container limitado para o swiper e botões */
.swiper-limited-container {
    position: relative;
    max-width: 1400px;
    /* define o limite horizontal */
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
    /* background-color: red; */
}


.segmento-section {
    position: relative;
    overflow: hidden;
    padding: 88px 0 109px 0;
}

.segmento-section p,
.segmento-section h2 {
    padding-left: 10px;
}

.segmento-section .swiper-wrapper {
    background-color: var(--light-gray-3) !important;

}

.swiper-slide-2 {
    position: relative;
}

/* 
@media (max-width: 767.98px) {
    
} */

.card-segmento {
    width: 100%;
    max-width: 630px;
    height: 761px !important;
    overflow: hidden;
    position: relative;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center 40px !important;
    flex-shrink: 0;
    margin: auto;
}

.card-segmento img {
    margin-top: 30px !important;
    height: 730px !important;
}

.overlay-box {
    position: absolute;
    top: 0;
    left: 0;
    padding: 50px;
    width: 70%;
    border-bottom-left-radius: 30px;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    height: 410px;

}

.overlay-box h5 {
    font-family: 'Aleo Regular', serif !important;
    font-size: 30px !important;
    text-transform: uppercase;
    font-size: 18px;
    margin-bottom: 30px;
}

.overlay-box p {
    font-size: 14px;
    margin-bottom: 15px;
    font-family: 'Articulat CF Normal', sans-serif !important;
    font-size: 29px !important;
    margin-bottom: 30px;
}

.overlay-box a {
    color: white;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    text-decoration: none;
    border: 1px solid white;
    width: 130px;
    padding-left: 18px;
    font-family: 'Poppins Regular', serif !important;
    font-size: 15px !important;
}

.overlay-box a:hover {
    background-color: var(--neon-yellow);
    color: var(--blue);
}

.swiper-slide-2 .swiper-slide {
    display: flex;
    justify-content: center;
}

/* Botões personalizados no desktop */
.swiper-segmento-prev,
.swiper-segmento-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: #eee;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #000;
    cursor: pointer;
    transition: background 0.3s ease;
    z-index: 2;
}

.swiper-segmento-prev {
    left: 0px;
}

.swiper-segmento-next {
    right: 0px;
}

.swiper-segmento-prev:hover,
.swiper-segmento-next:hover {
    background: #ccc;
}

@media (max-width: 767.98px) {
    .segmento-section {
        padding: 40px 0 40px 0;
    }

    .segmento-section h2 {
        padding-left: 0px;
        /* font-size: 16px !important; */
    }

    .swiper-segmento-prev,
    .swiper-segmento-next {
        display: none;
    }

    .card-segmento {
        background-size: contain !important;
        height: 410px;
        height: initial !important;

    }


    .card-segmento .swiper-slide img {
        object-fit: contain !important;
    }

    .card-segmento img {
        height: initial !important;
    }

    .overlay-box {
        height: 200px;
    }

    .overlay-box h5 {
        font-family: 'Aleo Regular', serif !important;
        font-size: 20px !important;
        text-transform: uppercase;
        font-size: 18px;
        margin-bottom: 30px;
    }

    .overlay-box p {
        display: none;
        margin-bottom: 15px;
        font-family: 'Articulat CF Normal', sans-serif !important;
        font-size: 19px !important;
        margin-bottom: 30px;
    }

    .customers-swiper-2 .swiper-slide {
        width: 100% !important;
        max-width: 100%;
        flex: 0 0 100%;
    }
}

.packaging-section {
    padding-top: 128px;
    padding-bottom: 181px;
}

.packaging-section p,
.packaging-section h2 {
    padding-left: 10px;
}

.packaging-section .card {
    width: 100%;
    max-width: 440px;
    height: 441px;
    padding: 40px !important;
    border-color: var(--white);
    border-radius: 0px 30px !important;
}

.packaging-section .card h5 {
    color: var(--neon-yellow);
    font-family: 'Aleo Semi Bold', serif !important;
    font-size: 24px !important;
}

.packaging-section p {
    font-family: 'Articulat CF Normal', sans-serif !important;
    font-size: 18px !important;
}

.packaging-section .card img {
    width: 56px;
    height: 90px;
}

.packaging-section .card .btn:hover {
    background-color: var(--blue);
    border-color: var(--blue);
}

@media (min-width: 768px) and (max-width: 1199px) {
    .packaging-section .card p {
        font-size: 12px !important;
    }
}

@media (max-width: 991.98px) {

    .packaging-section p,
    .packaging-section h2 {
        padding-left: 0px;
    }

    .packaging-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
}

/* customers */

.customers-section {
    padding-top: 88px;
    padding-bottom: 109px;
}

.customers-section p,
.customers-section h2 {
    padding-left: 10px;
}

/* .customers-swiper .swiper-slide {
    width: 225px !important;
} */

.customers-swiper img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.customers-swiper .swiper-slide img {
    height: 100%;
    width: initial !important;
    /* object-fit: contain; */
    display: block;
}



@media (max-width: 991.98px) {

    .customers-section p,
    .customers-section h2 {
        padding-left: 0px;
    }

    .customers-section {
        padding-top: 40px;
        padding-bottom: 40px;
    }

}