@charset "UTF-8";

*,
*::before,
*::after {
    box-sizing: border-box;
}

/* ======================================================= */
/* Fontes (Pré-carregamento e Font-Display: Swap são CRÍTICOS) */
/* Impacta diretamente o LCP e CLS.                         */
/* A recomendação é usar <link rel="preload"> no HTML para as fontes. */
/* ======================================================= */

@font-face {
    font-family: 'Montserrat';
    src: url('/assets/fonts/Montserrat-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap; 
}


@font-face {
    font-family: 'Montserrat';
    src: url('/assets/fonts/Montserrat-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

main {
    width: 100%;
    margin: 0;
    padding: 0;
}

footer {
    display: inline-block;
    background-color: #000;
    width: 100%;
    border-top:1px solid #fff;
}

.copy-footer{
    text-align: center;
    color: #fff;
}

:root {
    /* Se as variáveis não mudam, mantê-las aqui é ideal. */
    --cor-laranja: #f2740d;
    --cor-verde1: #26d303;
    --cor-verde2: #2bff00;
    --cor-verde-light: #a5ff95;
    --cor-cinza: #e1e8f0;
    --cor-amarelo: #faaa00;
    --cor-amarelo-light: #f8d488;
    --font-principal: 'Montserrat', sans-serif;
}

.p-extra-conf{
    text-align: center;
}

.paragrafo-extra-body{
    text-align: center;
    color: #000;
}

.icon-confianca, .icon-dores, .icon-beneficios, .icon-skill{
    width: 48px;
    right: 48px;
}

/* ======================================================= */
/* CSS Base: Mobile-First (0px e Acima)                    */
/* Foco no layout de COLUNA, largura TOTAL (100%).         */
/* ======================================================= */

/* --- Títulos e Parágrafos Comuns (Mobile) --- */

.h-dores, .h-beneficios, .h-confianca, .h-prints, .h-caminho, .h-skills, .h-prova {
    font-family: var(--font-principal);
    font-weight: 700;
    font-style: normal;
    font-size: 2em; /* Tamanho ajustado para mobile */
    color: rgb(0, 0, 0);
    text-align: center;
    padding: 50px 20px 20px 20px; /* Padding ajustado para mobile */
    margin: 0;
}

.p-dores, .p-beneficios, .p-confianca, .p-prints {
    font-family: var(--font-principal);
    font-weight: 400;
    font-style: normal;
    font-size: 1.2em;
    color: #000;
    margin: 0;
    padding: 0 20px;
}

.p-extra-conf, .p-extra-prints {
    font-size: 1.2em; /* Reduzido de 2.5em/1.5em para mobile */
    padding: 10px 20px;
}

.paragrafo-extra-prints{
    text-align: center;
}

.btn-body{
    margin: 0 auto;
}

/* --- SECTION DORES (Mobile) --- */

.container-dores {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin: 0 auto;
    width: 100%; /* Largura total em mobile */
}

.container-titulo {
    display: flex;
    margin: 0 auto;
    flex-direction: column;
    width: 100%; /* Largura total em mobile */
    text-align: center;
    padding: 20px;
}

.container-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%; /* Largura total em mobile */
    gap: 20px; /* Reduzindo gap em mobile */
    margin: 0 auto;
    padding: 30px 20px 0 20px;
}

.card-dores {
    border-radius: 10px;
    border: 2px dotted red;
    width: 100%; /* Card ocupa largura total em mobile */
    max-width: none;
    align-self: stretch;
    padding: 20px;
}

/* --- SECTION CAMINHO (Mobile) --- */

.container-caminho {
    background-color: #000;
    padding: 50px 0; /* Padding vertical reduzido */
    width: 100%;
    margin-top: 50px; /* Margem reduzida */
}

.secao-caminho {
    background-color: #000;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    width: 100%; 
}

.h-caminho {
    color: var(--cor-amarelo);
    font-size: 2em; /* Tamanho ajustado para mobile */
    padding: 0;
}

.p-caminho{
    color: #fff;
    text-align: center;
}

.img-caminho {
    display: flex;
    flex-direction: column; /* FORÇA COLUNA em mobile */
    gap: 40px; /* Reduzindo gap */
    flex-wrap: nowrap; /* Não quebra em mobile */
    justify-content: center;
    padding: 10px;
    align-items: center;
}

.img-left{
    width: 225px; 
    height:300px;
    border-radius: 10px;
}

.img-center{
    width: 300px;
    height: 200px;
    border-radius: 10px;
}

.img-rigth {
    width: 225px; 
    height:300px; 
    border-radius: 10px;
}

.par-caminho {
    font-size: 1em;
    padding: 20px;
    text-align: center;
    background-color: var(--cor-amarelo);
    padding: 20px;
    border-radius: 0 0 20px 20px;
}



/* --- SECTION BENEFÍCIOS (Mobile) --- */

.container-beneficios {
    width: 100%;
    margin: 0 auto;
    padding: 20px;
}

.card-beneficios {
    width: 100%; /* Card ocupa largura total em mobile */
    max-width: none;
    margin-bottom: 20px; /* Espaçamento entre cards em mobile */
    border: 2px solid var(--cor-amarelo);
    border-radius: 10px;
    padding: 20px;
    align-self: stretch;
    text-align: center;
}

.card-beneficios:hover{
    box-shadow: 1px 1px 15px var(--cor-laranja);
}


/* --- SECTION PROVA (Mobile) --- */

.container-prova {
    margin-top: 50px; /* Margem reduzida */
    padding-bottom: 50px;
    background-color: var(--cor-laranja);
}

.section-prova {
    display: flex;
    flex-direction: column; /* FORÇA COLUNA em mobile */
    width: 100%;
    padding: 20px;
    gap: 30px;
    align-items: center;
}

.h-prova{
    text-align: center;
    color: #fff;
    margin: 0;
}

.p-prova{
    text-align: center;
    color: #fff;
    padding: 0;
}

.prova-img {
    flex-direction: column; /* FORÇA COLUNA em mobile */
    margin-top: 10px;
    display: flex;
    gap: 50px;
}

.img-prova {
    width: 100%; /* Imagem em largura total para mobile */
    max-width: 250px;
    height: auto;
    border-radius: 10px;
}

/* --- SECTION CONFIANCA (Mobile) --- */

.container-confianca {
    width: 100%;
    padding: 10px;
}

.card-confianca {
    width: 100%;
    margin-bottom: 20px; /* Espaçamento entre cards em mobile */
    background-color: var(--cor-verde-light);
    border-radius: 10px;
    padding: 20px;
    align-self: stretch;
    text-align: center;
}

.card-confianca:hover{
    background-color: rgb(210, 243, 232);
}

/* --- SECTION SKILL (Mobile) --- */

.container-skills {
    padding-bottom: 50px;
    background-color: #000;  
}

.secao-skills {
    width: 100%;
    padding: 30px 20px;
}

.h-skills{
    color: var(--cor-laranja);
}

.container-grid-skills {
    display: flex;
    flex-direction: column; /* FORÇA COLUNA em mobile */
    gap: 20px;
    padding: 0 20px;
}

.card-skill-left {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px;
    width: 100%;
    border-radius: 200px 0 0 200px; /* Retorna o border-radius complexo */
    background-color: var(--cor-amarelo);
}

.card-skill-center {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px;
    width: 100%;
    background-color: var(--cor-laranja);
}

.card-skill-right {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px;
    width: 100%;
    border-radius: 0 200px 200px 0; /* Retorna o border-radius complexo */
    background-color: var(--cor-amarelo);
}

/* --- SECTION PRINTS (Mobile) --- */

.container-prints{
    width: 100%;
    margin: 0 auto;
    padding: 20px;
}

.container-titulo{
    width: 100%;
}

.img-prints{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 20px;
}

.img-prints img{
    width: 100%;
    height: auto;
}

.p-extra-prints{
    text-align: center;
}



/* --- SECTION FAQ (Mobile) --- */

.container-faq{
    background-color: black;
    max-width: 100%;
    margin: 100px auto 0 auto;
    padding-bottom: 100px;
}

.faq-itens{
    display: flex;
    max-width: 900px;
    margin: 0 auto;
    flex-direction: column;
    gap: 30px;
    padding: 20px;
}

.faq-item{
    margin: 10px;

}

.faq-pergunta{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0 30px 0 30px;
    cursor: pointer;
    border-radius: 10px;
    background-color:rgba(106, 106, 106, 0.487);
    font-size: 1.2em;
    color: var(--cor-amarelo);
    border: 0px;
    text-align: left;
    gap: 20px;
    min-height: 100px;
}

.faq-pergunta:hover{
    border-radius: 0;
}

.faq-resposta{
    padding: 0 30px 0 30px;
    max-height: 0; 
    overflow: hidden;
    transition: max-height 0.4s ease-in-out;
    font-size: 1em;
    color: #ffffff;
    text-align: left;
    margin-top: -5px;
}

.faq-resposta.open {
    max-height: 500px; 
    justify-content: space-between;
    align-items: center;
    padding: 0 30px 0 30px;
    line-height: 1.5em;
}

.icon-toggle{
    font-size: 1.5em;
    padding: 10px;
    width: 20px;
    height: 20px;
    position: relative;
    transition: transform 0.3s ease-in-out;
}

.icon-toggle::before,
.icon-toggle::after {
    content: '';
    position: absolute;
    background-color: #ffffff;
}

/* NOVA REGRA: Altera a cor do ícone quando o botão está 'active' */
.faq-pergunta.active .icon-toggle::before,
.faq-pergunta.active .icon-toggle::after {
background-color: #000000; /* Cor ativa: Preto */
}

/* Regra que você já tinha: Rotaciona para formar o 'X' e inverte o fundo do botão */
.faq-pergunta.active .icon-toggle{
transform: rotate(45deg);
}

.icon-toggle::before {
    top: 0;
    left: 50%;
    width: 2px;
    height: 100%;
    transform: translateX(-50%);
}

.icon-toggle::after {
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    transform: translateY(-50%);
}

.faq-pergunta.active .icon-toggle{
    transform: rotate(45deg);
}

.faq-pergunta.active{
    border-radius: 10px 10px 0px 0px;
    background-color: var(--cor-amarelo);
    color: #000;
}

.h-faq{
    color: var(--cor-laranja);
    font-size: 2.5em;
}

.p-faq{
    color: #ffffff;
    font-size: 1.2em;
}


.faq-itens {
    width: 100%;
    gap: 15px;
}


.pitch-cons{
    text-align: center;
    font-size: 1.3em;
    padding: 30px 0 0 0;
    color: #fff;
}

.cont-accordion{
    padding:0 10px 0 10px;
}

.p-extra-accordion{
    color: #fff; 
    text-align: center;
}


/* --- Footer (Mobile) --- */

.copy-footer {
    padding: 30px 20px;
}


/* ======================================================= */
/* Media Query: Desktop/Tablet (769px e Acima)             */
/* Usa MIN-WIDTH para APRIMORAR (adicionar complexidade).  */
/* ======================================================= */

@media (min-width: 769px) {

    /* --- Títulos e Parágrafos Comuns (Desktop) --- */
    
    .h-dores, .h-beneficios, .h-confianca, .h-prints {
        font-size: 2.5em; /* Retorna ao tamanho original de desktop */
        padding: 50px 0 20px 0;
    }
    
    /* --- SECTION DORES (Desktop) --- */

    .container-dores {
        max-width: 1000px;
    }

    .container-grid {
        gap: 40px;
        padding-top: 50px;
        flex-wrap: wrap;
    }

    .card-dores {
        max-width: 450px; /* Retorna o limite de largura para grid */
    }
    
    /* --- SECTION CAMINHO (Desktop) --- */

    .container-caminho {
        padding: 100px 0;
        margin-top: 100px;
    }

    .secao-caminho {
        max-width: 1000px;
    }
    
    .h-caminho {
        font-size: 2.5em;
    }

    .img-caminho {
        flex-direction: row; /* Volta para LINHA (row) em desktop */
        gap: 30px;
        padding-top: 50px;
    }

    .par-caminho {
        font-size: 1.3em;
        padding: 30px; 
    }
    
    /* --- SECTION BENEFÍCIOS (Desktop) --- */

    .container-beneficios {
        max-width: 1140px;
    }
    
    .card-beneficios {
        max-width: 450px; /* Retorna o limite de largura para grid */
    }

    /* --- SECTION PROVA (Desktop) --- */

    .container-prova {
        margin-top: 100px;
        padding-bottom: 100px;
    }
    
    .section-prova {
        max-width: 900px;
        margin: 0 auto;
    }

    .prova-img {
        flex-direction: row; /* Volta para LINHA (row) em desktop */
        gap: 30px;
        margin-top: 50px;
        align-items: center;
        margin: 0 auto;
    }

    .img-prova {
        width: 250px;
    }

    /* --- SECTION CONFIANCA (Desktop) --- */
    
    .container-confianca {
        max-width: 1140px;
        margin: 0 auto;
    }
    
    .card-confianca {
        width: 300px;
    }

    .p-extra-conf {
        font-size: 1.5em;
        padding: 30px;
    }
    
    /* --- SECTION SKILL (Desktop) --- */

    .container-skills {
        padding-bottom: 100px;
    }
    
    .secao-skills {
        max-width: 900px;
        padding: 50px 20px 20px 0;
        margin: 0 auto;
    }

    .container-grid-skills {
        flex-direction: row; /* Volta para LINHA (row) em desktop */
        max-width: 1140px;
        gap: 30px;
        padding: 0;
        margin: 0 auto;

    }

    .card-skill-left {
        border-radius: 200px 0 0 200px; /* Retorna o border-radius complexo */
    }
    
    
    .card-skill-right {
        border-radius: 0 200px 200px 0; /* Retorna o border-radius complexo */
    }
    
    /* --- SECTION PRINTS (Desktop) --- */

    .container-titulo{
        max-width: 900px;
    }

    .img-prints{
        max-width: 900px;
        flex-direction: row;
        justify-content: center;
        margin: 0 auto;
    }

    .img-prints img{
        width: 50%;
        height: auto;
    }
    
    .p-extra-prints {
        font-size: 2.5em;
    }

    /* --- SECTION FAQ (Desktop) --- */

    .container-faq {
        margin-top: 100px;
        padding-bottom: 100px;
    }

    .faq-itens {
        max-width: 900px;
        padding: 0;
        margin: 0 auto;
    }
    
}