/************************ BANNER *******************************/
.overlay-azul {
    width: 41%;
    background: #007AFF;
    backdrop-filter: blur(8.5px);
    padding: 2rem 1rem 3rem 1rem;
    backdrop-filter: blur(8.5px);
    z-index: 1; /* Importante: menor que o header */
    height: 560px;
}
.overlay-image {
    width: 59%;
    position: relative;
}

.banner-container {
    overflow: hidden;
    position: relative;
    max-height: 560px;
}

.text-banner{
    font-size: 3.15rem;
    font-style: normal;
    font-weight: 300;
}
.sub-banner{
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 300;
}
.desc-banner{
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 300;
}
.btn-banner{
    font-family: Roboto;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
}

/* Estado inicial (escondido à direita) */
/* Conteúdo e imagem escondidos inicialmente */
.conteudo,
.imagem {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.6s ease, transform 0.6s ease;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    visibility: hidden;
    max-height: 560px;
}

/* Quando aparecem */
.conteudo.show,
.imagem.show {
    opacity: 1;
    transform: translateX(0);
    position: relative;
    visibility: visible;
}

/* Indicadores */
.barra-indicadores {
    position: absolute;
    display: flex;
    gap: 0.75rem;
    z-index: 5;
    max-width: 450px;
}

.barra {
    width: 60px;
    height: 4px;
    background: rgba(255, 255, 255, 0.3);
    overflow: hidden;
    position: relative;
}

.barra span {
    display: block;
    height: 100%;
    background: white;
    width: 0%;
    transition: width 5s linear;
}


#banners .navs {
    display: flex;
    position: relative;
    top: 50%;
}
.navegadores {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 41%;
    margin: 0 auto;
    width: 100%;
    z-index: 10;
    position: absolute;
    top: 90%;
    padding: 0 20px;
}


#solucoes-home .title{
    color:  #2D39F5;
    text-align: center;
    /* Titles/Bold/H3 */
    font-size: 40px;
}

#solucoes-home .sub{
    color: #52575C;
    text-align: center;
    font-size: 14px;
}

#solucoes-home .card{
    background-repeat: no-repeat;
    background-size: cover;
}

.navs-solucao{
    text-align: center;
    position: absolute;
    max-width: 170px;
    left: 86%;
}

.card-solucao {
    position: relative;
    color: white;
    padding: 4.8rem 2rem;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    aspect-ratio: 2 / 1;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.card-solucao::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0; /* gradiente na base */
    transition: opacity 0.3s ease;
}

.card-solucao::after {
    content: "";
    position: absolute;
    inset: 0;
    background: black;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1; /* sombra por cima do gradiente */
}

.card-solucao:hover::after {
    opacity: 0.3; /* camada preta sutil por cima do gradiente */
}

/*.card-solucao-3{*/
/*    align-items: self-end;*/
/*}*/
/*.card-solucao-4{*/
/*    align-items: self-end;*/
/*}*/

.card-solucao-1::before {
    background: linear-gradient(90deg, rgb(170 132 24 / 61%) 0%, rgba(0, 0, 0, 0.00) 80%);
}
.card-solucao-2::before {
    background: linear-gradient(90deg, rgb(238 113 124 / 83%) 0%, rgba(238, 113, 124, 0) 80%);
}
.card-solucao-3::before {
    background: linear-gradient(90deg, rgb(0 114 202 / 83%) 0%, rgba(0, 114, 202, 0) 80%);
}
.card-solucao-4::before {
    background: linear-gradient(90deg, rgb(43 120 120  / 83%) 0%, rgba(26, 116, 116, 0) 80%);
}

.card-solucao > * {
    position: relative;
    z-index: 2; /* conteúdo por cima de tudo */
}

.card-solucao .icon {
    width: 56px;
    height: 56px;
}

.card-solucao h2 {
    font-size: 2.5rem;
    font-weight: bold;
    margin-top: 1rem;
    max-width: 76%;
}

.card-solucao span {
    color: white;
    font-size: 1rem;
    text-decoration: none;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

#indicadores-solucoes {
    display: flex;
    justify-content: center;
    gap: 8px;
}

#indicadores-solucoes .indicador {
    width: 32px;
    height: 4px;
    background: #ccc;
    border-radius: 2px;
    transition: background 0.3s;
}

#indicadores-solucoes .indicador.ativo {
    background: #0052cc;
}
.row {
    overflow: visible;
}

.card-solucao {
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.card-solucao:hover {
    transform: scale(1.00);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    z-index: 2;
}


.card-produto {
    display: flex;
    align-items: center;
    gap: 32px;
    background: #fff;
}

.img-produto {
    background-color: #E4EDF1;
    width: 380px;
    height: 380px;
    object-fit: contain;
    padding: 10px;
}

.card-produto span {
    font-size: 14px;
    font-weight: 400;
    color: #0072CA;
}

.card-produto h3 {
    color: #1F1F20;
    font-size: 34px;
    font-weight: 300;
    font-style: normal;
    margin-bottom: 8px;
}

.card-produto p {
    color: #52575C;
    font-family: Roboto, sans-serif;
    font-size: 12px;
    font-weight: 300;
    font-style: normal;
    line-height: 16px;
    margin-bottom: 16px;
}

.card-produto .btn {
    border: 1px solid #1F1F20;
    font-family: Roboto, sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 18px;
    background-color: #ffffff;
    padding: 12px 24px;
    transition: background-color 0.2s ease;
}

.card-produto .btn:hover {
    background-color: #8585856b;
}

.navs-produtos{
    text-align: center;
    position: absolute;
    max-width: 170px;
    left: 86%;
}

.swiper-button-next,
.swiper-button-prev {
    display: none !important;
}

.btn.btn-slide {
    background-color: white;
    border: 1px solid #D3D6D9;
    color: #1F1F20;
    transition: background-color 0.3s, color 0.3s;
}

.btn.btn-slide:not(.swiper-button-disabled) {
    background-color: #003087; /* cor quando ativo */
    color: white;
    border-color: #003087;
}

.btn.btn-slide.swiper-button-disabled {
    background-color: white; /* cor quando inativo */
    color: #D3D6D9;
    border-color: #D3D6D9;
    cursor: not-allowed;
}


/* Garante que a imagem e o texto fiquem lado a lado */
.card-produto {
    display: flex;
    align-items: center;
    gap: 32px;
}

/* Remove o estilo padrão de bolinhas */
/* Centraliza os bullets */
.splide__pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 1rem;
    top: 100%
}

/* Ponto inativo = barra clara */
.splide__pagination__page {
    background: #e5e5e5;
    width: 32px;
    height: 3px;
    border-radius: 2px;
    transition: background 0.3s ease;
}

/* Ponto ativo = barra preta */
.splide__pagination__page.is-active {
    background: #000;
}


.lider h3{
    font-size: 2.5rem;
    font-style: normal;
    font-weight: 500;
    text-align: center;
    max-width: 60%;
    margin-left: auto;
    margin-right: auto;
}
.lider p{
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 500;
    text-align: center;
}

#linhas h2{
    text-align: center;
    font-size: 2.5rem;
    font-style: normal;
    font-weight: 700;
}
#linhas .textos{
    align-content: center;
    padding: 5rem;
    background-color: #F1F2F3;
}

#linhas h3{
    font-size: 2.5rem;
    font-style: normal;
    font-weight: 700;
}
#linhas p{
    font-family: Roboto;
    font-size: 1rem;
    font-style: normal;
    font-weight: 300;
}

#linhas a{
    font-family: Roboto;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 500;
}

.video-banner {
    height: 560px;
    overflow: hidden;
}
.video-banner h2 {
    max-width: 476px;
}

.video-banner video {
    object-fit: cover;
    height: 100%;
    margin-left: 0%;

}

.video-overlay {
    background: rgba(0, 0, 0, 0.4); /* escurece o vídeo levemente */
}

.bg-servico-pos-venda{
    padding: 1rem 9rem
}
.card-servico h3{
    color:  #1F1F20;
    font-size: 28px;
    font-style: normal;
    font-weight: 300;
}
.card-servico p{
    color: #52575C;
    font-family: Roboto;
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
}
.card-servico a{
    width: 44%;
    padding: 10px;
    border: 1px solid #000
}

@media (max-width: 900px) {
    /************************ BANNER *******************************/
    .overlay-azul {
        background: #007AFF;
        width: 100%;
        height: 560px;
    }
    .overlay-image {
        width: 100%;
    }

    .banner-container {
        overflow: hidden;
        position: relative;
        max-height: 560px;
    }

    .text-banner{
        font-size: 3.15rem;
        font-style: normal;
        font-weight: 300;
    }
    .sub-banner{
        font-size: 1.5rem;
        font-style: normal;
        font-weight: 300;
    }
    .desc-banner{
        font-size: 1.125rem;
        font-style: normal;
        font-weight: 300;
    }

    .card-solucao{
        padding: 0.8rem 1rem;
    }
    .card-solucao h2 {
        font-size: 2rem;
        max-width: 100%;
    }
    .overlay-azul {
        background: #007aff4f;
        position: relative;
        z-index: 2;
    }
    .overlay-image {
        width: 100%;
        position: absolute;
        z-index: 1;
        height: 100%;
    }
    .barra-indicadores{
        max-width: 220%;
    }
    #banners .navs {
        display: flex;
        position: absolute;
        bottom: 41%;
        left: 145%;
        transform: translateX(-50%);
        z-index: 10;
        width: 100%;
    }
    #banners {
        position: relative;
    }
    .img-produto{
        width: 100%;
        height: 100%;
    }
    .btn-produto{
        width: 100%;
    }
    .video-overlay {
        position: absolute!important;
    }
    .video-banner video {
        margin-top: 44%;
        height: 70%;
        margin-left: 5%;
    }
    .bg-servico-pos-venda{
        padding: 1rem 2rem
    }
}