 :root {
    /* Cores principais do site */
    --cor-primaria: #FB6F92;
    --cor-secundaria: #620A40;
    --cor-accent: #20AB00FA;
    --cor-bnt: #2FDB08;
    --cor-texto: #7A7A7A;
    --cor-fundo-claro: #FFF1F4;
    --cor-branco: #ffffff;
    --cor-preto: #000000;


    /* Tipografia */
    --fonte-principal: 'Montserrat', sans-serif;
    /* Fonte padrão do site */
    --tamanho-fonte-base: 16px;
    /* Tamanho base (1rem = 16px) */
    --altura-linha: 1.6;
    /* Espaçamento entre linhas */
    --titulos: 'Jost', serif;
    --peso-fino: 300;
    /* Textos leves */
    --peso-normal: 400;
    /* Textos padrão */
    --peso-medio: 600;
    /* Textos médios como nav */
    --peso-negrito: 700;
    /* Títulos negrito */
    --peso-maximo: 900;

    /* Espaçamentos padrão */
    --espacamento-pequeno: 15px;
    --espacamento-medio: 30px;
    --espacamento-grande: 60px;

    /* Tamanhos de fontes */
    --fonte-pequena: 0.875rem;
    /* 14px */
    --fonte-normal: 1rem;
    /* 16px */
    --fonte-media: 1.5rem;
    /* ~20px */
    --fonte-grande: 2.5rem;
    /* ~40px */
    --fonte-extra-grande: 3rem;
    /* ~48px */

    /* Bordas */
    --borda-radius-pequeno: 5px;
    --borda-radius-medio: 10px;

    /* Sombras */
    --sombra-leve: 0 2px 5px rgba(255, 69, 69, 0.1);
    --sombra-media: 0 10px 20px rgba(0, 0, 0, 0.1);

    /* Largura máxima do conteúdo */
    --largura-maxima: 1200px;

 }

 /* Seletor universal - aplica estilos a todos os elementos */
 * {
    margin: 0;
    /* Remove margem padrão de todos os elementos */
    padding: 0;
    /* Remove padding padrão de todos os elementos */
    box-sizing: border-box;
    /* Inclui padding e border no tamanho total do elemento */
    /* transition: 0.2s linear; */
 }

 /* Configuração do elemento raiz (html) */
 html {
    font-size: var(--tamanho-fonte-base);
    /* Define tamanho base da fonte usando variável */
    scroll-behavior: smooth;
    /* Adiciona rolagem suave ao clicar em links âncora */
    -webkit-font-smoothing: antialiased;
    /* Melhora renderização de fontes no Safari/Chrome */
    -moz-osx-font-smoothing: grayscale;
    /* Melhora renderização de fontes no Firefox */
 }

 /* Estilos do corpo da página */
 body {
    font-family: var(--fonte-principal);
    /* Define a fonte padrão usando variável */
    line-height: var(--altura-linha);
    /* Define o espaçamento entre linhas usando variável */
    color: var(--cor-texto);
    /* Define a cor do texto padrão usando variável */
    overflow-x: hidden;
    /* Previne scroll horizontal indesejado */
    min-height: 100vh;
    /* Garante que o body ocupe pelo menos 100% da altura da tela */
 }

 h1,
 h2,
 h3 {
    font-family: var(--titulos);
    font-weight: var(--peso-negrito);
    color: var(--cor-texto);
 }

 /* Remove TODOS os estilos de links */
 a {
    all: unset;
    /* Remove todos os estilos padrão */
    cursor: pointer;
    /* Mantém o cursor de mãozinha */
 }

 /* Remove estilos padrão de listas */
 ul,
 ol {
    list-style: none;
    /* Remove marcadores de lista */
 }

 /* Garante que imagens sejam responsivas */
 img {
    max-width: 100%;
    /* Imagem não ultrapassa largura do container */
    height: auto;
    /* Mantém proporção da imagem */
    display: block;
    /* Remove espaço extra abaixo da imagem */
 }

 section {
    padding: var(--espacamento-grande)
 }

 .hero-container {
    background-image: url('/img/banner\ primeira\ dobra.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; /* Valor padrão (tamanho original da img) */
    min-height: 600px; /* altura mínima */
    height: auto;
 }
.hero{
   padding: var(--espacamento-medio);
   display: flex;
   flex-direction: column;
   gap: var(--espacamento-medio);
   margin-left: 7vw; /* 7% da largura da tela */
   max-width: 600px;
}

 .hero h1 {
    font-family: var(--fonte-principal);
    color: var(--cor-secundaria);
    font-size: var(--fonte-grande);
    font-weight: var(--peso-maximo);
    line-height: 1;
     text-align: center;
     
 }

 .hero iframe {
    align-items: flex-start; /* alinha tudo à esquerda da div */
    border-radius: 10px;
   width: 100%;
  max-width: 550px; /* responsivo */
  aspect-ratio: 16/9; /* mantém proporção */
 }

 .hero h4 {
    font-size: var(--fonte-normal);
    font-family: var(--fonte-principal);
    color: var(--cor-secundaria);
    line-height: 1;
   text-align: center;
 }
 .btn-base{
    background-color: var(--cor-bnt);
    color: var(--cor-branco);
    font-size: var(--fonte-normal);
    text-transform: uppercase;
    padding: 15px 100px;
    border-radius: 7px;
    cursor: pointer;
    transition: all 0.3s linear;
    border: none;
    width: fit-content;
    align-self: center;
 }


 .btn-base:hover {
    transform: translateY(-3px);
    /* Sobe 3px */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    /* Adiciona sombra */
 }

 .hero img {
   width: 300px;
   height: auto;
   align-self: center;
 }
 .tecnicas h1 {
    font-family: var(--fonte-principal);
    font-size: var(--fonte-grande);
    font-weight: var(--peso-maximo);
    color: var(--cor-primaria);
    text-align: center;
    line-height: 40px;
 }

 .tecnicas h4 {
    margin-top: 10px;
    font-family: var(--fonte-principal);
    font-size: var(--fonte-pequena);
    font-weight: var(--peso-medio);
    text-align: center;
    color: var(--cor-secundaria);
 }

 .cards-container {
    display: flex;
    flex-wrap: wrap;
    /* Permite quebra de linha */
    gap: 20px;
    /* Espaçamento entre os cards */
    padding: 50px;
    justify-content: center;
 }

 .cards img {
    width: 200px;
    height: 200px;
    content: center;
 }

 .cards {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: 0 0 calc(25% - 20px);
    /* 4 cards por linha */
    background-color: var(--cor-fundo-claro);
    padding: var(--espacamento-medio);
    border-radius: 10px;
    border: 1px solid var(--cor-fundo-claro);
    box-shadow: var(--sombra-media);

 }

 .publico-alvo {
    background-image: url(/img/banner\ para\ quem\ é\ o\ curso.png);
    background-size: cover;
    background-position: center;
    height: 800px;
    padding: var(--espacamento-grande);
    box-shadow: var(--sombra-media);
 }

 .alvo {
    position: relative;
    left: 50px;
 }

 .alvo h1 {
    color: var(--cor-primaria);
    font-family: var(--fonte-principal);
    font-weight: var(--peso-maximo);
    font-size: var(--fonte-grande);
    line-height: 35px;
    margin-left: 50px;
    margin-bottom: 20px;
 }

 .alvo h4 {
    font-family: var(--titulos);
    color: var(--cor-secundaria);
    font-size: var(--fonte-media);
    margin-bottom: 15px;
 }

 .pgm-container {
    display: flex;
    justify-content: center;
    align-items: center;
 }

 .pagamento {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap:var(--espacamento-medio);
    padding: var(--espacamento-grande);
    height: 750px;
    width: 600px;
    margin-top: 150px;
    background-color: var(--cor-primaria);
    border-radius: 10px;
    box-shadow: var(--sombra-media);
 }

 .mokap {
    transform: translateY(-230px);
    width: 400px;
    height: 400px;
    margin-bottom: -230px;
 }

 .pagamento h2 {
    color: var(--cor-branco);
    font-family: var(--titulos);
    font-weight: var(--peso-maximo);
    font-size: 30px;
 }

 .pagamento h1 {
    color: var(--cor-branco);
    font-family: var(--titulos);
    font-size: 70px;
    font-weight: var(--peso-maximo);
    line-height: 1;
 }

 .pagamento h3 {
    color: var(--cor-branco);
    font-size: 30px;
    font-weight: var(--peso-medio);
    line-height: 0;
 }

 .conteudo {
    background-color: var(--cor-secundaria);
    text-align: center;
 }

 .conteudo h1 {
    font-size: var(--fonte-grande);
    font-weight: var(--peso-maximo);
    color: var(--cor-branco);
    line-height: 1;
 }

 .conteudo-container {
    display: flex;
    flex-wrap: wrap;
    /* Permite quebra de linha */
    gap: 20px;
    /* Espaçamento entre os cards */
    padding: var(--espacamento-grande);
    justify-content: center;
 }

 .conteudo-cards {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 0 0 calc(33, 33% - 20px);
    /* 4 cards por linha */
    background-color: var(--cor-primaria);
    padding: var(--espacamento-medio);
    border-radius: 10px;
    border: 1px solid var(--cor-primaria);
    box-shadow: var(--sombra-media);
    width: 350px;
    height: 300px;

 }

 .conteudo-cards img {
    height: 50px;
    width: 50px;
 }

 .conteudo-cards h3 {
    color: var(--cor-secundaria);
    font-size: var(--fonte-media);

 }

 .conteudo-cards p {
    color: var(--cor-secundaria);
    font-size: var(--fonte-pequena);
 }
 .text h2{
   color: var(--cor-primaria);
   font-size: var(--fonte-media);
 }
 .text h1{
   font-family: var(--titulos);
   font-weight: var(--peso-maximo);
 }

 .fornecedores-container {
    padding: var(--espacamento-medio);
    display: flex;
    gap: 20px;
    justify-content: center;
 }

 .cardsf img {
    width: 130px;
    height: auto;
    object-fit: cover;
    /* ajusta imagem sem distorcer */
 }

 .cardsf {
    display: flex;
    gap: 20px;
    flex: 1; /* cada card ocupa metade do espaço */
    align-items: center;
    padding: var(--espacamento-medio);
    width: 550px;
    height: 250px;
    background-color: var(--cor-branco);
    border-radius: 10px;
 }
 .texto h2{
   color: var(--cor-secundaria);
   font-size: var(--fonte-normal);
   font-family: var(--fonte-principal);
 }
 .texto{
   text-align: left;
 }
 .cardg{
   display: flex;
   gap: 20px;
   align-items: center;
   padding: var(--espacamento-medio);
   background-color: #6d0e49;
   max-width: 1200px; /* não estoura */
   width: 95%; /* responsivo */
   border-radius: 10px;
   margin: 0 auto; /* centraliza */
 }
 .cardg img{
   width: 200px;
 }
 .cardg h2{
   font-family: var(--fonte-principal);
   color: var(--cor-primaria);
   font-size: var(--fonte-media);
 }
 .cardg p{
   color: var(--cor-branco);
 }
 .certificado-container{
   background-color: var(--cor-fundo-claro);
 }
 .certificado{
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   gap: 20px;
 }
 .certificado h1{
   color: var(--cor-primaria);
   font-weight: var(--peso-maximo);
   font-family: var(--titulos);
   font-size: var(--fonte-grande);
   line-height: 25px;
 }
 .certificado h3{
   color: var(--cor-primaria);
   font-size: 30px;
 }
.certificado img{
   width: 600px;
   height: auto;
   border-radius: 10px;
}
 .depoimentos{
   background-image: url('/img/banner\ depoimentos.png');
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   height: 550px;
   text-align: center;
 }
 .depoimentos h1{
   font-size: var(--fonte-grande);
   color: var(--cor-primaria);
   font-weight: var(--peso-maximo);
 }
 .depoimentos h3{
   color: var(--cor-secundaria);
   font-size: var(--fonte-media);
 }
 .img-depoimentos{
   padding: var(--espacamento-medio);
   display: flex;
   gap: 15px;
   align-items: center;
   justify-content: center;
   height: auto;
 }
 .img-depoimentos img{
   width: 400px;
   border-radius: 10px;
 }
 .mentora-container{
   background-image: url('/img/banner\ quem\ sou.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 750px;
 }
 .mentora{
   padding: 30px;

 }
 .mentora h1{
   color: var(--cor-primaria);
   font-size: var(--fonte-grande);
   font-weight: var(--peso-maximo);
 }
 .mentora p{
   font-size: var(--fonte-normal);
   text-align: justify;
   max-width: 600px;
   margin: 20px 0;
 }
 .faq {
  max-width: 1000px;
  margin: 5px auto;
}

.faq h1 {
  text-align: center;
  margin-bottom: 20px;
  color: var(--cor-primaria);
  text-transform: uppercase;
}

.faq-item {
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: 8px;
}

.faq-item summary {
  padding: 15px;
  background-color: #f5f5f5;
  cursor: pointer;
  font-weight: 600;
  font-size: 16px;
  list-style: none; /* remove a setinha padrão */
  border-radius: 8px;
  transition: background-color 0.3s;
  color: var(--cor-secundaria);
  text-transform: uppercase;
}

.faq-item summary:hover {
  background-color: #e8e8e8;
}

/* Adiciona um ícone customizado */
.faq-item summary::before {
  content: '+';
  margin-right: 10px;
  font-size: 20px;
  font-weight: bold;
}

.faq-item[open] summary::before {
  content: '−';
}

.faq-item p {
  padding: 20px;
  margin: 0;
  line-height: 1.6;
  background-color: white;
}
/* ADICIONE AQUI - Estados de foco para acessibilidade */
.btn-base:focus,.faq-item summary:focus {
  outline: 2px solid var(--cor-primaria);
  outline-offset: 2px;
}
.footer{
   background-color: var(--cor-fundo-claro);
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 15px;
}
.footer h5{
   color: var(--cor-secundaria);
   font-size: var(--fonte-principal);
   text-align: center;
}
.footer h4{
   color: var(--cor-secundaria);
   font-weight: var(--peso-maximo);
   text-align: center;
   font-size: var(--fonte-pequena);
}
.footer img{
   width: 250px;
}
/* ====================================
   MEDIA QUERIES - RESPONSIVIDADE
   ==================================== */

/* Tablets */
@media (max-width: 768px) {
  .hero {
    margin-left: 20px;
    max-width: 100%;
    padding: 20px;
  }
  
  .hero h1 {
    margin-right: 0;
    font-size: 2rem;
  }
  
  .hero iframe {
    width: 100%;
    height: auto;
  }
  
  .cards {
    flex: 0 0 calc(50% - 20px); /* 2 cards por linha */
  }
  
  .fornecedores-container {
    flex-direction: column;
  }
  
  .cardg {
    width: 95%;
    margin: 0 auto;
    height: auto;
  }
  
  .cardsf {
    width: 100%;
    height: auto;
  }
  
  .publico-alvo,
  .depoimentos,
  .mentora-container {
    height: auto;
    min-height: 400px;
  }
  
  .pagamento {
    width: 90%;
    margin-top: 50px;
  }
  
  .mokap {
    width: 300px;
    height: 300px;
  }
  
  .certificado img {
    width: 90%;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .hero {
    margin-left: 10px;
  }
  
  .hero h1 {
    font-size: 1.8rem;
    line-height: 1.2;
  }
  
  
  .cards {
    flex: 0 0 100%; /* 1 card por linha */
  }
  
  .img-depoimentos {
    flex-direction: column;
  }
  
  .img-depoimentos img {
    width: 100%;
  }
  
  .btn-base {
    padding: 12px 40px;
    font-size: 0.9rem;
  }
  
  .pagamento {
    width: 95%;
    padding: 30px;
    height: auto;
  }
  
  .pagamento h1 {
    font-size: 50px;
  }
  
  .mokap {
    width: 250px;
    height: 250px;
    transform: translateY(-150px);
    margin-bottom: -150px;
  }
}