:root {
    --BgPrimary: #FFDDBF ;
    --green-500: #009100 ;
    --green-600: #1e7118;
    --contraste: #6F3A28;
    --rosinha: #d07272;
    --branco: white; 
    --red-500:  #DE0030;
    --black: black;
    --fundoclaro: #f0f0f0;
    --shadow-medium: 4px 4px 8px 2px hsla(0, 0%, 0%, 0.384);
    font-family: sans-serif;
}

body {
    margin: 0 auto;
}

section {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 16px;
}

h1 {
    color: var(--contraste);
    font-size: 25px;
}

p {
    color: var(--black);
    font-size: 18px;
    margin: 0px;
}

img {
    width: 100%;
    height: auto;
    max-width: 600px;
    object-fit: contain;
}


div {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 16px;
    height: auto;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    padding: 16px;
    align-items: center;
}

a {
    font-size: 20px;
    color: var(--branco);
    background-color: var(--green-500);
    padding: 12px 24px;
    border-radius: 8px;
    cursor: pointer;
    margin: 0px;
    border: 0px;
    text-decoration: none;
}

button {
    font-size: 20px;
    color: var(--branco);
    background-color: var(--green-500);
    padding: 12px 24px;
    border-radius: 8px;
    cursor: pointer;
    margin: 0px;
    border: 0px;
}

button:hover {
    background-color: var(--green-600);
}

span {
    font-size:14px;
    font-weight:300;
    color: var(--branco);
}

ul {
    width: 100%;
}

li {
    text-align: start;
    color: var(--branco);
}

.header {
    width: 100%;
    height: auto;
    background-color: var(--green-500);
    align-content: center;
    margin: 0 auto;
    position: relative;
    padding: 10px 5px;
    text-align: center;
    padding: 16px;
}

.header:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 29px;
  right: 0;
  bottom: -24px;
  left: 0;
  background: 
    linear-gradient(-45deg, transparent 70%, var(--green-500) 75% ), 
    linear-gradient( 45deg, transparent 70%, var(--green-500) 75% );
  background-repeat: repeat-x;
  background-size: 25px 20px, 25px 20px;
  background-position: center;
}

.text-header {
    font-size: 25px;
    color: var(--branco);
    font-weight: bold;
}

.primeira-dobra { 
    background-color: var(--BgPrimary);
}

.preco-antigo {
    text-decoration: line-through;
    color: var(--red-500);
    font-size: 18px;
    font-weight: bold;
}

.p-preco {
    color: var(--contraste);
    font-size: 25px;
    font-weight: bold;
}

.lista-garantias {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}


.item-garantia {
    display: flex;
    flex-direction: row; 
    align-items: start;
    column-gap: 8px;
    width: auto; 
    padding: 0px;
}

/* --- Estilos do Ícone --- */
.icone-check {
    display: flex;
    width: 18px;
    height: 18px;
    color: var(--green-500);
}

.icone-check svg {
    width: 100%;
    height: 100%;
    stroke: currentColor; 
}

/* --- Estilos do Texto --- */
.texto-garantia {
    font-size: 16px;
    font-weight: bold;
    color: var(--black);
    margin: 0;
}

.condicao-especial {
    font-size: 25px;
    font-weight: bold;
    color: var(--contraste);

}


.text-title {
    color: var(--contraste);
    font-size: 25px;
    font-weight: 600;

}

.icon-beneficios {
    color: var(--contraste);
}

.beneficios {
    border: 2px dashed var(--contraste);
    border-radius: 8px;
    width: 100%;
    height: auto;
    padding: 24px;
    align-items: center;
    justify-content: center;
}

.principais-beneficios {
    display: flex;
    flex-direction: row; 
    align-items: stretch;
    column-gap: 8px;
    width: auto; 
    padding: 16px;
}

.back-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--black);
    text-align: start;
}

.span-queme {
    font-size: 20px;
    font-weight: bold;
    color: var(--green-500);
}

.span-quemne {
    font-size: 20px;
    font-weight: bold;
    color: var(--red-500);
}

.pra-quem {
    display: flex;
    flex-direction: row; 
    width: auto;
    padding: 16px;
    align-items: stretch;
}

.div-pra-quem {
    border-radius: 8px;
    gap: 16px;
    padding: 16px;
    align-items: start;
    justify-content: start;
    background-color: var(--fundoclaro);
    box-shadow: var(--shadow-medium);
}

.item-pra-quem {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
    text-align: start;
    column-gap: 8px;
    width: auto; 
    padding: 0px;
    margin: 0;
}

.lucide-x {
    color: var(--red-500)
}

.hero {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: auto;
    padding: 24px;
    align-items: center;
    justify-content: start;
}

.div-hero-text {
    display: flex;
    row-gap: 20px;
    flex-wrap: wrap;
    width: 100%;
    text-align: start;
}

.especial-text {
    font-size: 18px;
    font-weight: 300;
    color: var(--contraste);
    letter-spacing: 2px;
}

.spam-hero {
    font-size: 20px;
    font-weight: 600;
    color: var(--black);
    text-align: start;
    color: var(--rosinha);
}

.img-hero {
    width: 100%;
}

.flexbox-vantagens {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    column-gap: 16px;

}

.vantagens{
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    row-gap: 16px;
    width: 100%;
}

.section-modulos {
    background-color: var(--contraste);
}

.text-title-modulos {
    color: var(--BgPrimary);
    font-size: 25px;
    font-weight: 600;
}

.div-pai-modulos {
    width: 100%;
    max-width: 1200px ;
}

.colunas-modulos {
    width: 100%;
    flex-direction: row;
    align-items: stretch;
}

.conteudo {
    width: 100%;
    border: 1px solid var(--branco);
    border-radius: 8px;
    text-align: start;
}

.img-modulo {
    width: 300px;
    height: 300px;
    object-fit: fill;
}

.div-pai-depoimento {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;   
}

.depoimento {
    width: 100%;
    border-radius: 16px;
    background-color: var(--fundoclaro);
    box-shadow: var(--shadow-medium);
}

.img-depoimento {
    border: 5px solid var(--contraste);
    border-radius: 80px;
    width: 100px;
    height: 100px;
    object-fit: cover;
}

.name-depoimento {
    font-size: 20px;
    font-weight: bold;
    color: var(--contraste);
}

.profissao-depoimento {
    font-size: 16px;
    color: var(--contraste);
}

.text-depoimento {
    font-size: 16px;
}

.section-certificado {
    background-color: var(--BgPrimary);
}

.icon-fill {
    background-color: var(--contraste);
    color: var(--fundoclaro);
    width: 50px;
    height: 50px;
    border-radius: 80px;
    padding: 8px;
}

.countdown {
    background-color: var(--black);
}

.div-pai-countdown {
    flex-direction: row;
}

.div-countdown {
    background-color: var(--contraste);
    border-radius: 16px;
    width: 100px;
}

.p-countdown {
    font-size: 30px;
    font-weight: bold;
    color: var(--branco);
}

.time-countdown {
    font-size: 30px;
    color: var(--branco);
}

.countdown-text {
    font-size: 18px;
    color: var(--branco);
}

.p-fim-countdown {
    color: var(--branco);
    font-size: 16px;
    text-decoration: underline;
    font-style: italic;
    display: none;
}

.offer {
    background-color: var(--BgPrimary);
    padding: 16px;
}

.div-offer {
    width: fit-content;
    height: auto;
    max-width: 500px;
    align-items: center;
    background-color: var(--branco);
    border: 1px solid var(--contraste);
    border-radius: 16px;
}

.img-offer {
    width: 150px;
    height: 150px;
}

.list-offer {
    width: 100%;
    padding: 0;
}

.icon-round-check {
    width: 20px;
    height: 20px;
    padding: 2px;
    background-color: var(--contraste);
    border-radius: 50%; /* 50% é mais seguro para círculos que um valor fixo em px */
    display: flex;
    justify-content: center;
    align-items: center;
    /* Adiciona uma margem à direita para separar do texto */
    margin-right: 15px; /* Ajuste este valor conforme o espaçamento desejado */
    flex-shrink: 0; /* Impede que o ícone encolha se o espaço for limitado */
}

.icon-round-check svg {
    width: 24px; /* Tamanho do SVG dentro do círculo */
    height: 24px;
    stroke: var(--branco); /* Cor do checkmark */
}

/* Estilos para a lista UL */
.icon-list-with-svg {
    list-style: none; /* Remove o marcador de lista padrão */
    padding: 0; /* Remove o padding padrão da UL */
    margin: 0; /* Remove a margem padrão da UL */
    text-align: left; /* Alinha o texto da lista à esquerda */
}

/* Estilos para cada item LI da lista */
.icon-list-with-svg li {
    display: flex; /* Transforma o LI em um container flexbox */
    align-items: center; /* Alinha verticalmente o ícone e o texto */
    margin-bottom: 15px; /* Espaçamento entre os itens da lista */
    font-size: 1.1em;
    line-height: 1.4;
    color: var(--black);
}

/* Remove a margem do último item para não adicionar espaço extra no final da lista */
.icon-list-with-svg li:last-child {
    margin-bottom: 0;
}

.list-offer p {
    color: var(--contraste);
}

.div-offer button {
    width: 100%;
}

.accordion-container {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    overflow: hidden; /* Garante que as bordas arredondadas funcionem bem */
}

.accordion-item {
    border-bottom: 1px solid #eee; /* Linha divisória entre os itens */
    width: 100%;
}

.accordion-item:last-child {
    border-bottom: none; /* Remove a linha do último item */
}

.accordion-header {
    width: 100%;
    background-color: #f8f9fa;
    color: #333;
    padding: 18px 25px;
    text-align: left;
    border: none;
    outline: none;
    cursor: pointer;
    font-size: 1.1em;
    font-weight: bold;
    display: flex; /* Para alinhar o texto e o ícone */
    justify-content: space-between; /* Espaça texto e ícone */
    align-items: center;
    transition: background-color 0.3s ease; /* Transição suave no hover */
}

.accordion-header:hover {
    background-color: #e2e6ea;
}

.accordion-header .icon {
    font-size: 1.5em; /* Tamanho do ícone +/- */
    font-weight: normal; /* Garante que não fique muito negrito */
    transition: transform 0.3s ease; /* Animação suave para o ícone */
}

/* Rotação do ícone quando o acordeão está ativo */
.accordion-header.active .icon {
    transform: rotate(45deg); /* Gira o '+' para virar um 'x' */
}

.accordion-content {
    background-color: #ffffff;
    padding: 0 25px; /* Padding horizontal fixo */
    max-height: 0; /* **ESCONDE O CONTEÚDO POR PADRÃO** */
    overflow: hidden; /* Garante que o conteúdo seja cortado ao esconder */
    transition: max-height 0.4s ease-out, padding 0.4s ease-out; /* Animação suave */
    width: 100%;
    align-items: flex-start;
}

.accordion-content p {
    margin: 15px 0; /* Margem interna para o parágrafo no conteúdo */
    line-height: 1.6;
    color: #555;
    text-align: start;
}

/* Classe que será adicionada/removida pelo JavaScript */
.accordion-content.show {
    max-height: 200px; /* Altura máxima para mostrar o conteúdo. AJUSTE CONFORME SEU CONTEÚDO! */
    padding: 15px 25px; /* Adiciona padding vertical quando expandido */
    text-align: start;
    width: 100%;
    align-items: flex-start;
}

.rodape {
    background-color: var(--black);
}

.rodape p {
    color: var(--branco)
}


@media (max-width: 600px) {
html, body {
    margin: 0;
    padding: 0;
    width: 100%; 
    height: 100%; 
    overflow-x: hidden;
}

    section {
        padding: 0;
    }

    .lista-garantias {
        flex-direction: column;
    }
    .principais-beneficios {
        flex-wrap: wrap;
    }
    .pra-quem {
        flex-wrap:wrap ;
    }   

    .hero {
        flex-wrap: wrap;
        padding: 0;
    }

    .flexbox-vantagens{
        flex-wrap: wrap;
    }
    .colunas-modulos{
        flex-direction: column;
        padding: 0;
    }

    .div-pai-modulos {
        padding: 0;
    }

    .conteudo {
        width: auto;
    }
    .depoimento {
        width: auto;
    }
    .div-pai-depoimento {
        flex-direction: column;
    }


    .offer {
        padding: 8px 0px;
    }

    .div-offer {
    width: 80%;
    height: auto;
    max-width: none; 
    align-items: center; 
    background-color: var(--branco);
    border: 1px solid var(--contraste);
    border-radius: 16px;
    display: flex;
    flex-direction: column
}
}
