body {
    font-family: 'Roboto', sans-serif;
}

/* TOP BANNER */
.top-banner-section {
    background: url('../images/top-banner-ppfl.png') no-repeat center center/cover;
    padding: 100px 0;
    color: #ffffff;
}

    .top-banner-section .titulo-banner {
        font-size: 42px;
        font-weight: 700;
        line-height: 1.2;
        margin-bottom: 20px;
    }

    .top-banner-section .descricao-banner {
        font-size: 18px;
        margin-bottom: 30px;
    }

.botoes-banner .btn {
    font-size: 16px;
    padding: 10px 20px;
    margin-right: 15px;
    border-radius: 8px;
    font-weight: 600;
}

.btn-conheca {
    color: #394195;
    border-radius: 6px;
    background: #FFF;
    box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.10), 0px 4px 6px -4px rgba(0, 0, 0, 0.10);
}



.video-banner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.video-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    /* 16:9 Aspect Ratio */
    overflow: hidden;
    border: 10px solid #ffffff;
}

    .video-container iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

.video-descricao {
    color: #000;
    text-align: center;
    font-family: Roboto;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.1;
    padding: 0 5rem;
}

/* Responsividade */
@media (max-width: 992px) {
    .top-banner-section {
        padding: 60px 0;
    }

        .top-banner-section .titulo-banner {
            font-size: 32px;
        }

    .video-banner {
        margin-top: 40px;
    }
}

@media (max-width: 768px) {
    .top-banner-section .titulo-banner {
        font-size: 28px;
    }

    .top-banner-section .descricao-banner {
        font-size: 16px;
    }

    .botoes-banner .btn {
        width: 100%;
        margin-bottom: 10px;
    }

    .video-banner {
        margin-top: 30px;
    }

    .video-descricao {
        font-size: 20px;
        padding: 0 1rem;
    }
}

/* INDICADORES */

.numero-indicador {
    transition: all 0.3s ease;
    font-weight: bold;
    font-size: 2rem;
}


.indicadores-section {
    background-color: #f3f4fb;
    padding: 45px 0 25px;
    text-align: center;
    font-family: 'Montserrat', sans-serif;
}

.indicador-item {
    margin-bottom: 20px;
}

.numero-indicador {
    font-size: 48px;
    font-weight: bold;
    color: #2c295d;
}

.descricao-indicador {
    font-size: 16px;
    color: #000;
    line-height: 1.2;
    font-weight: 300;
}

@media (max-width: 768px) {
    .numero-indicador {
        font-size: 36px;
    }

    .descricao-indicador {
        font-size: 14px;
    }
}

.ppfl-section {
    padding: 80px 0 0;
    text-align: center;
}

    .ppfl-section .titulo-secao {
        font-size: 36px;
        font-weight: bold;
        margin-bottom: 15px;
        color: #1F2937;
        font-family: 'Montserrat', sans-serif;
    }

        .ppfl-section .titulo-secao::after {
            content: '';
            display: block;
            width: 80px;
            height: 3px;
            background-color: #f28c2b;
            margin: 15px auto;
        }

    .ppfl-section .descricao-secao {
        font-size: 18px;
        color: #555;
        font-family: 'Montserrat', sans-serif;
        width: 60%;
        margin: 30px auto 50px;
    }

.card-ppfl {
    background-color: #ffffff;
    border-radius: 10px;
    padding: 30px 30px 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s;
}

    .card-ppfl:hover {
        transform: translateY(-10px);
    }

.card-icone {
    width: 60px;
    height: 60px;
    background-color: #fddabf;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.card-titulo {
    color: #1F2937;
    text-align: center;
    font-family: Montserrat;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
}

.card-descricao {
    color: #4B5563;
    text-align: center;
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4;
    padding: 5px 15px 0px;
}

@media (max-width: 768px) {
    .ppfl-section .titulo-secao {
        font-size: 28px;
    }

    .ppfl-section .descricao-secao {
        font-size: 16px;
        width: 100%;
    }

    .card-ppfl {
        padding: 10px;
        margin-bottom: 15px;
    }

    .card-icone {
        width: 50px;
        height: 50px;
    }

        .card-icone img {
            width: 50px;
            height: 50px;
        }
}

.turma-section {
    padding: 80px 0;
    text-align: center;
}

    .turma-section .titulo-secao {
        font-size: 36px;
        font-weight: bold;
        margin-bottom: 15px;
        color: #2c3e50;
    }

        .turma-section .titulo-secao::after {
            background-color: #f28c2b;
            margin: 15px auto;
            color: #1F2937;
            text-align: center;
            font-family: Montserrat;
            font-size: 30px;
            font-style: normal;
            font-weight: 700;
            line-height: 36px;
        }

    .turma-section .descricao-secao {
        color: #000;
        text-align: center;
        font-family: Montserrat;
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 1.3;
        width: 60%;
        margin: 30px auto 50px;
    }

.card-turma {
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
}

.card-turma-header {
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 30px;
    font-weight: bold;
    text-transform: uppercase;
    border-radius: 10px 10px 0 0;
    line-height: 0.8;
}

.card-saude .card-turma-header {
    background: url('../images/bnn-saude-v2.png') no-repeat center/cover;
    background-color: rgba(0, 128, 128, 0.8);
    /* background-blend-mode: multiply; */
}

.card-industria .card-turma-header {
    background: url('../images/bnn-industria-v2.png') no-repeat center/cover;
    background-color: rgba(255, 140, 0, 0.8);
    /* background-blend-mode: multiply; */
}

.card-digital .card-turma-header {
    background: url('../images/bnn-digital-v2.png') no-repeat center/cover;
    background-color: rgba(0, 51, 153, 0.8);
    /* background-blend-mode: multiply; */
}

.card-turma-body {
    padding: 30px;
    text-align: left;
}

    .card-turma-body h3 {
        font-size: 22px;
        font-weight: bold;
        color: #2c3e50;
        margin-bottom: 15px;
        font-family: 'Montserrat', sans-serif;
        text-align: center;
    }

    .card-turma-body ul {
        padding-left: 0;
        list-style: none;
        margin-bottom: 20px;
        font-family: 'Montserrat', sans-serif;
    }

        .card-turma-body ul li {
            padding-left: 25px;
            position: relative;
            margin-bottom: 10px;
        }

            .card-turma-body ul li::before {
                content: '\2714';
                position: absolute;
                left: 0;
                color: #ffffff;
                background-color: #28a745;
                padding: 2.5px 3px;
                border-radius: 50%;
                line-height: 1;
                font-size: 8px;
                margin: 5px;
            }

.btn-turma {
    background-color: #28a745;
    color: #ffffff;
    font-weight: 400;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    margin: auto;
    display: block;
    width: max-content;
    padding: 5px 25px;
}

.badge-esgotadas {
    position: absolute;
    top: -3%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #4a549f;
    color: #fff;
    padding: 5px 15px;
    border-radius: 6px;
    font-size: 15px !important;
    color: #FFF;
    font-family: Montserrat;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.1;
    width: max-content;
    border-radius: 10 10 0 0;
}

.card-turma {
    position: relative;
}

@media (max-width: 768px) {
    .turma-section .titulo-secao {
        font-size: 28px;
    }

    .turma-section .descricao-secao {
        font-size: 16px;
        width: 90%;
    }
}

.como-funciona-section {
    background: rgba(57, 65, 149, 0.10);
    padding: 80px 0;
    text-align: center;
}

.titulo-secao {
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 15px;
    color: #2c3e50;
}

    .titulo-secao::after {
        content: '';
        display: block;
        width: 80px;
        height: 3px;
        background-color: #f28c2b;
        margin: 15px auto;
    }

.descricao-secao {
    font-size: 18px;
    color: #555;
    margin-bottom: 50px;
}

.etapa-card {
    background-color: #ffffff;
    border-radius: 10px;
    padding: 25px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
    position: relative;
    text-align: left;
    font-family: 'Montserrat', sans-serif;
}

.etapa-card-numero {
    width: 40px;
    height: 40px;
    background-color: #4a549f;
    color: #ffffff;
    border-radius: 50%;
    position: absolute;
    top: -12%;
    left: 2%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.etapa-card-titulo {
    font-size: 20px;
    font-weight: 600;
    color: #2c3e50;
    margin: 30px 0 15px;
}

.etapa-card-descricao {
    font-size: 16px;
    color: #555;
    font-weight: 400;
}

@media (max-width: 992px) {
    .etapa-card {
        margin-top: 40px;
    }
}

@media (max-width: 768px) {
    .titulo-secao {
        font-size: 28px;
    }

    .descricao-secao {
        font-size: 16px;
    }

    .etapa-card-numero {
        top: -5%;
        left: 50%;
    }

    .etapa-card {
        padding: 10px;
        margin-bottom: 10px;
        margin-top: 30px;
        height: 90%;
    }
}

.beneficios-section {
    padding: 80px 0;
    text-align: center;
}

    .beneficios-section .titulo-secao {
        font-size: 36px;
        font-weight: bold;
        margin-bottom: 15px;
        color: #2c3e50;
    }

        .beneficios-section .titulo-secao::after {
            content: '';
            display: block;
            width: 80px;
            height: 3px;
            background-color: #f28c2b;
            margin: 15px auto;
        }

    .beneficios-section .descricao-secao {
        font-size: 18px;
        color: #555;
        width: 40%;
        margin: 20px auto 50px;
        font-family: 'Montserrat', sans-serif;
    }

.card-beneficio {
    background-color: #ffffff;
    border-radius: 10px;
    padding: 25px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
    text-align: left;
    transition: transform 0.3s;
    font-family: 'Montserrat', sans-serif;
}

    .card-beneficio:hover {
        transform: translateY(-5px);
    }

.card-beneficio-icone {
    width: 50px;
    height: 50px;
    background-color: #fddabf;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 60px;
    margin-right: 15px;
    float: left;
}

.card-beneficio-titulo {
    font-size: 20px;
    font-weight: bold;
    color: #2c3e50;
    margin-bottom: 10px;
}

.card-beneficio-descricao {
    font-size: 16px;
    color: #555;
}

@media (max-width: 768px) {
    .beneficios-section .titulo-secao {
        font-size: 28px;
    }

    .beneficios-section .descricao-secao {
        font-size: 16px;
        width: 90%;
    }

    .card-beneficio-icone {
        margin-bottom: 0px;
    }
}



/* Sessão Depoimentos SwiperJS  */

/* Garante que os slides tenham altura igual no SwiperJS */
.swiper {
    display: flex;
    align-items: stretch;
}

.swiper-wrapper {
    height: auto !important;
    /* Impede que o Swiper imponha altura automática */
}

.swiper-slide {
    height: auto !important;
    /* permite que slides tenham a mesma altura */
    display: flex;
}

.depoimento-card {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.depoimento-texto {
    flex-grow: 1;
    /* Ocupa todo espaço restante, mantendo altura igual */
}


.depoimentos-section {
    padding: 80px 0;
    text-align: center;
    background: #F9FAFB;
    font-family: 'Montserrat', sans-serif;
}

.depoimentosSwiper {
    padding: 30px 0;
}

.depoimentos-section .titulo-secao {
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 15px;
    color: #2c3e50;
}

    .depoimentos-section .titulo-secao::after {
        content: '';
        display: block;
        width: 80px;
        height: 3px;
        background-color: #f28c2b;
        margin: 15px auto;
    }

.depoimentos-section .descricao-secao {
    font-size: 18px;
    color: #555;
    font-family: 'Montserrat', sans-serif;
    width: 45%;
    margin: 30px auto 50px;
}

.depoimento-card {
    background-color: #ffffff;
    border-radius: 10px;
    padding: 25px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    text-align: left;
    height: 100%;
}

.depoimento-header {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.depoimento-avatar {
    width: 40px;
    height: 40px;
    background-color: #ddd;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-right: 10px;
}

.depoimento-nome {
    font-weight: bold;
    color: #1F2937;
}

.depoimento-cargo {
    font-size: 14px;
    color: #6B7280;
}

.depoimento-texto {
    font-size: 15px;
    color: #4B5563;
    margin-bottom: 15px;
    font-style: italic;
}

.estrelas {
    color: #ffc107;
}

.swiper-pagination-bullet {
    background-color: #f28c2b;
}

@media (max-width: 768px) {
    .depoimentos-section .titulo-secao {
        font-size: 28px;
    }

    .depoimentos-section .descricao-secao {
        font-size: 16px;
        width: 90%;
    }
}

/* CONTEÚDO DOS PROGRAMAS */
.detalhes-programa-section {
    padding: 80px 0;
    font-family: 'Montserrat', sans-serif;
}

.tab-programa {
    box-shadow: 0 4px 15px -4px rgba(0, 0, 0, 0.1);
    padding: 20px;
    border-radius: 0 0px 10px 10px;
}

.titulo-secao {
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 15px;
    color: #2c3e50;
    font-family: 'Montserrat', sans-serif;
}

    .titulo-secao::after {
        content: '';
        display: block;
        width: 80px;
        height: 3px;
        background-color: #f28c2b;
        margin: 15px auto;
    }

.descricao-secao {
    font-size: 18px;
    color: #555;
    text-align: center;
    margin-bottom: 50px;
    font-family: 'Montserrat', sans-serif;
}

.nav-tabs {
    justify-content: start;
    border-bottom: 1px solid #E5E7EB4D;
    border-left: 1px solid #E5E7EB4D;
    border-right: 1px solid #E5E7EB4D;
    margin-bottom: 0;
}

    .nav-tabs .nav-link {
        font-size: 18px;
        border: none;
        color: #2c3e50;
        padding: 10px 20px;
        border-radius: 0;
    }

        .nav-tabs .nav-link.active {
            color: #f28c2b;
            border-bottom: 2px solid #f28c2b;
        }

.conteudo-lista,
.resultados-lista {
    list-style: none;
    padding-left: 0;
}

    .conteudo-lista li,
    .resultados-lista li {
        margin-bottom: 10px;
        position: relative;
        padding-left: 25px;
        color: #555;
    }

        .conteudo-lista li::before,
        .resultados-lista li::before {
            content: '\2714';
            position: absolute;
            left: 0;
            color: #ffffff;
            background-color: #28a745;
            padding: 2.5px 3px;
            border-radius: 50%;
            line-height: 1;
            font-size: 8px;
            margin: 5px;
        }




        .resultados-lista li::before {
            color: #fff;
            background-color: #2563EB !important;
        }

.cta-turma {
    background-color: #28a745;
    color: #ffffff;
    font-weight: 400;
    padding: 10px 100px;
    border-radius: 8px;
}

.box-destaque {
    background-color: #e3edff;
    color: #4a549f;
    border-radius: 8px;
    padding: 15px;
    margin-top: 20px;
}

@media (max-width: 768px) {
    .titulo-secao {
        font-size: 28px;
    }

    .descricao-secao {
        font-size: 16px;
    }
}
