:root{
  --primary:#D04523;
  --primary-hi:#e85a35;
  --black:#000000;
  --surface:#0d0d0d;
  --surface-2:#161616;
  --border:#262626;
  --white:#ffffff;
  --gray:#9e9e9e;
  --gray-dark:#6b6b6b;
  --green:#16a34a;
  --radius:14px;
  --max:1080px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);
  color:var(--white);
  font-family:'Inter','Segoe UI',Arial,Helvetica,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px;}
.narrow{max-width:820px;margin:0 auto;}
section{padding:72px 0;}
.center{text-align:center;}
h1,h2,h3{line-height:1.15;font-weight:800;letter-spacing:-.5px;}
h1{font-size:clamp(1.7rem,4.6vw,3rem);text-transform:uppercase;}
h2{font-size:clamp(1.5rem,3.6vw,2.3rem);text-transform:uppercase;}
h3{font-size:1.15rem;}
.laranja{color:var(--primary);}

/* ---------- BOTÕES ---------- */
.btn{
  display:inline-block;
  background:var(--primary);
  color:var(--white);
  font-weight:800;
  font-size:clamp(.95rem,2vw,1.15rem);
  text-transform:uppercase;
  text-decoration:none;
  padding:20px 44px;
  border-radius:100px;
  letter-spacing:.5px;
  box-shadow:0 10px 30px rgba(208,69,35,.35);
  transition:transform .18s ease, background .18s ease;
}
.btn:hover{background:var(--primary-hi);transform:translateY(-2px);}
.btn-full{display:block;width:100%;text-align:center;padding:20px 16px;}
.btn-verde{background:var(--green);box-shadow:0 10px 30px rgba(22,163,74,.3);}
.btn-verde:hover{background:#18b552;}
.btn-wrap{margin-top:30px;}

/* ---------- BARRA TOPO ---------- */
.barra-topo{
  background:var(--primary);
  color:var(--white);
  text-align:center;
  font-weight:800;
  font-size:.85rem;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:12px 16px;
}

/* ---------- TAGS ---------- */
.tag{
  display:inline-block;
  border:1px solid var(--primary);
  color:var(--primary);
  background:rgba(208,69,35,.08);
  padding:8px 20px;
  border-radius:100px;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
  margin-bottom:10px;
}
.tag-destaque{
  display:inline-block;
  background:var(--primary);
  color:var(--white);
  padding:10px 24px;
  border-radius:100px;
  font-size:.85rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.5px;
  margin-bottom:22px;
}

/* ---------- HERO ---------- */
.hero{
  background:radial-gradient(circle at 50% 0%, #2a0f07 0%, var(--black) 60%);
  padding:56px 0 72px;
}
.hero .sub{
  color:var(--gray);
  font-size:clamp(1rem,2.2vw,1.15rem);
  max-width:680px;
  margin:22px auto 0;
}
.hero .preco-linha{
  margin-top:26px;
  font-size:1.05rem;
  font-weight:700;
}
.hero .preco-linha s{color:var(--gray-dark);font-weight:500;}
.hero .preco-linha b{color:var(--primary);font-size:1.25rem;}
.selos-hero{
  display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;
}
.selo-item{
  border:1px solid var(--border);
  border-radius:100px;
  padding:9px 20px;
  font-size:.8rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  color:var(--white);
}
.selo-item span{color:var(--primary);margin-right:6px;}

/* ---------- COMPARATIVO ---------- */
.comparativo{
  display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;
  max-width:720px;margin:36px auto 0;
}
@media(max-width:640px){.comparativo{grid-template-columns:1fr;}}
.card-comp{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:30px 20px;
  text-align:center;
}
.card-comp.destaque{border:2px solid var(--primary);background:#170a06;}
.card-comp .rotulo{color:var(--gray);font-size:.9rem;text-transform:uppercase;letter-spacing:1px;}
.card-comp .valor{font-size:2.6rem;font-weight:800;margin:6px 0 2px;}
.card-comp.destaque .valor{color:var(--primary);}
.card-comp .detalhe{color:var(--gray-dark);font-size:.9rem;}
.vs{
  font-weight:800;color:var(--gray-dark);font-size:1.1rem;letter-spacing:2px;
}
.faixa-resultado{
  max-width:720px;margin:18px auto 0;
  background:var(--primary);
  border-radius:var(--radius);
  padding:18px;
  text-align:center;
  font-size:clamp(1.1rem,2.6vw,1.5rem);
  font-weight:800;
  text-transform:uppercase;
}

/* ---------- TEXTO CORRIDO ---------- */
.texto-grande{
  color:var(--gray);
  font-size:clamp(1rem,2.1vw,1.12rem);
  margin-top:22px;
}
.texto-grande strong{color:var(--white);}

/* ---------- BENEFÍCIOS ---------- */
.beneficios{display:grid;gap:14px;margin-top:34px;}
.beneficio{
  display:flex;gap:14px;align-items:flex-start;
  background:var(--surface);
  border:1px solid var(--border);
  border-left:3px solid var(--primary);
  border-radius:10px;
  padding:18px 22px;
}
.beneficio .ck{color:var(--primary);font-weight:800;font-size:1.15rem;line-height:1.3;}
.beneficio p{font-size:1rem;}

/* ---------- PROVA SOCIAL / PLACEHOLDERS ---------- */
.slot{
  border:2px dashed var(--primary);
  background:rgba(208,69,35,.05);
  border-radius:var(--radius);
  min-height:280px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:24px;gap:6px;
}
.slot .slot-titulo{color:var(--primary);font-weight:800;text-transform:uppercase;font-size:.85rem;letter-spacing:1px;}
.slot .slot-desc{color:var(--gray-dark);font-size:.85rem;max-width:260px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px;}
@media(max-width:820px){.grid-3{grid-template-columns:1fr;}}
.rotulo-grupo{
  color:var(--gray);font-size:.9rem;text-transform:uppercase;letter-spacing:1.5px;
  margin-top:44px;margin-bottom:-14px;text-align:center;font-weight:700;
}

/* ---------- GRID PARA 2 VÍDEOS / ELEMENTOS ---------- */
.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 32px;
  max-width: 680px; /* Limita a largura para que os vídeos não fiquem gigantes */
  margin-left: auto;
  margin-right: auto;
}

/* Estilo para os vídeos dentro da grid-2 */
.grid-2 video {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  aspect-ratio: 9/16;
  object-fit: cover;
  background: var(--surface-2); /* Fundo escuro enquanto o vídeo carrega */
  
  /* Impede que o vídeo mude de posição ou cause reflow quando clicado */
  transform: translateZ(0);
  backface-visibility: hidden;
}

@media(max-width:640px) {
  .grid-2 {
    grid-template-columns: 1fr;
    max-width: 340px; /* Tamanho ideal para celular */
  }
}

/* ---------- VALUE STACK ---------- */
.stack{
  max-width:620px;margin:34px auto 0;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:30px 28px;
}
.stack-principal{
  display:flex;gap:14px;align-items:flex-start;
  padding-bottom:20px;border-bottom:1px solid var(--border);
}
.stack-principal .ck{color:var(--primary);font-weight:800;font-size:1.2rem;}
.stack-principal p{font-weight:700;font-size:1.1rem;}
.stack-rotulo{color:var(--gray-dark);font-size:.8rem;text-transform:uppercase;letter-spacing:1.5px;margin:20px 0 12px;}
.stack-item{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:12px 0;border-bottom:1px solid rgba(38,38,38,.6);
}
.stack-item .esq{display:flex;gap:12px;align-items:center;}
.stack-item .ck{color:var(--primary);font-weight:800;}
.stack-item .txt{font-size:.98rem;}
.stack-item .preco-riscado{
  color:var(--gray-dark);text-decoration:line-through;white-space:nowrap;font-weight:700;
}
.stack-fecho{
  margin-top:22px;background:var(--primary);border-radius:10px;
  padding:16px;text-align:center;font-weight:800;font-size:1rem;
}

/* ---------- OFERTA ---------- */
.oferta{background:var(--primary);}
.oferta h2, .oferta p{color:var(--white);}
.card-oferta{
  max-width:520px;margin:34px auto 0;
  background:var(--black);
  border-radius:20px;
  padding:40px 32px;
  text-align:center;
}
.pill-acesso{
  display:inline-block;border:1px solid var(--white);border-radius:100px;
  padding:10px 26px;font-size:.8rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
}
.de-por{margin-top:26px;font-weight:800;font-size:1.05rem;letter-spacing:.5px;}
.de-por s{color:var(--gray-dark);}
.preco-grande{
  font-size:clamp(3.4rem,11vw,5.2rem);font-weight:800;line-height:1;margin:10px 0 4px;
}
.preco-grande small{font-size:2rem;vertical-align:top;}
.parcelas{color:var(--gray);font-size:1rem;margin-bottom:26px;}
.parcelas b{color:var(--white);}
.selos-checkout{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:22px;}
.selo-mini{color:var(--gray);font-size:.78rem;text-align:center;line-height:1.3;}
.selo-mini b{display:block;color:var(--white);font-size:.85rem;}

/* ---------- GARANTIA ---------- */
.garantia-bloco{
  max-width:760px;margin:0 auto;text-align:center;
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:44px 32px;
}
.garantia-selo{
  width:88px;height:88px;margin:0 auto 20px;border-radius:50%;
  border:3px solid var(--primary);display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.8rem;color:var(--primary);text-transform:uppercase;line-height:1.2;
}

/* ---------- BIO / CARROSSEL ---------- */
.bio-texto{color:var(--gray);font-size:1.05rem;margin-top:20px;}
.bio-texto strong{color:var(--white);}
.numeros{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px;}
@media(max-width:640px){.numeros{grid-template-columns:1fr;}}
.numero{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px 14px;text-align:center;}
.numero .n{font-size:1.9rem;font-weight:800;color:var(--primary);}
.numero .d{color:var(--gray);font-size:.85rem;margin-top:4px;}

.carrossel-area{margin-top:40px;position:relative;}
.carrossel{
  display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:10px;cursor:grab;
  scrollbar-width:none;-ms-overflow-style:none;
  scroll-behavior:smooth;
}
.carrossel::-webkit-scrollbar{display:none;}
.carrossel.arrastando{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none;}

/* ---------- CARROSSEL ---------- */
.carrossel-item {
  flex: 0 0 260px;
  height: 340px;
  scroll-snap-align: center;
  border-radius: var(--radius);
  overflow: hidden; /* Garante que a imagem não vaze dos cantos arredondados */
  user-select: none;
  padding: 0; /* Remove o espaçamento interno para a imagem colar na borda */
  border: none; /* Remove a borda tracejada do layout antigo */
  background: var(--surface); /* Fundo escuro padrão caso a imagem demore a carregar */
}

.carrossel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Faz a imagem preencher todo o quadrado sem distorcer */
  display: block;
}

/* Se você ainda for manter os textos (.slot-titulo e .slot-desc) sobre a imagem, adicione isso: */
.carrossel-item .slot-titulo, 
.carrossel-item .slot-desc {
  display: none; /* Oculta os textos antigos, já que agora a imagem ocupa tudo */
}


.carrossel-nav{display:flex;justify-content:center;gap:14px;margin-top:20px;}
.seta{
  width:48px;height:48px;border-radius:50%;
  background:transparent;border:1px solid var(--primary);color:var(--primary);
  font-size:1.3rem;font-weight:800;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .18s ease,color .18s ease;
}
.seta:hover{background:var(--primary);color:var(--white);}

/* ---------- FAQ ---------- */
.faq-item{
  background:var(--surface);border:1px solid var(--border);
  border-radius:10px;padding:20px 24px;margin-bottom:12px;
}
.faq-item summary{
  cursor:pointer;font-weight:700;font-size:1rem;list-style:none;
  display:flex;justify-content:space-between;gap:16px;align-items:center;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary:after{content:"+";color:var(--primary);font-size:1.5rem;font-weight:800;line-height:1;}
.faq-item[open] summary:after{content:"–";}
.faq-item p{color:var(--gray);margin-top:14px;font-size:.98rem;}

/* ---------- FECHAMENTO / FOOTER ---------- */
.fechamento{background:radial-gradient(circle at 50% 100%, #2a0f07 0%, var(--black) 65%);}
footer{border-top:1px solid var(--border);padding:40px 0;text-align:center;}
footer p{color:var(--gray-dark);font-size:.8rem;margin-bottom:8px;}
