/* ============================================================
   SALES.CSS — Bruxaria Moderna
   Estilos EXCLUSIVOS das páginas de venda (cursos e ebooks).
   Importado SEMPRE depois do global.css.
   Não redefine variáveis nem componentes já globais.
   ============================================================ */

/* ---------- HERO ---------- */
.hero {
  text-align: center;
  padding: 56px 22px 76px;
  background:
    radial-gradient(ellipse at 50% -10%, var(--roxo-glow), transparent 55%),
    radial-gradient(circle at 15% 15%, rgba(212,175,106,.10), transparent 40%),
    radial-gradient(circle at 85% 85%, rgba(109,74,160,.14), transparent 45%),
    var(--preto);
  border-bottom: 1px solid var(--ouro-linha);
}
.brand-badge {
  display: inline-block;
  font-family: var(--font-accent);
  background: rgba(212,175,106,.06);
  color: var(--ouro-claro);
  border: 1px solid var(--ouro-linha);
  border-radius: 50px;
  padding: 9px 22px;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 30px;
}
.hero h1 {
  font-size: clamp(2.3rem, 6vw, 4rem);
  max-width: 960px;
  margin: 0 auto 22px;
  font-weight: 600;
  background: linear-gradient(180deg, var(--titulo-grad-1) 20%, var(--ouro-claro));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero .sub {
  font-size: clamp(1.05rem, 2.2vw, 1.28rem);
  color: var(--texto-sec);
  max-width: 720px;
  margin: 0 auto 40px;
  font-weight: 300;
}

/* ---------- VSL / vídeo VTurb ---------- */
#vsl-container {
  position: relative;
  width: 100%;
  max-width: 840px;
  margin: 0 auto 26px;
  aspect-ratio: 16 / 9;
  background: linear-gradient(135deg, var(--painel-2), var(--preto-alt));
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--sombra), var(--glow-ouro);
  border: 1px solid var(--ouro-linha);
  display: flex;
  align-items: center;
  justify-content: center;
}
.vsl-placeholder {
  color: var(--texto-sec);
  text-align: center;
  padding: 20px;
  font-size: .92rem;
  letter-spacing: 1px;
}
.vsl-placeholder .play {
  width: 76px; height: 76px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: rgba(212,175,106,.10);
  border: 1.5px solid var(--ouro);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.7rem;
  color: var(--ouro);
}
#vsl-container iframe,
#vsl-container video,
#vsl-container > div:not(.vsl-placeholder) {
  position: absolute; inset: 0; width: 100%; height: 100%;
}

.prova-social {
  color: var(--texto-sec);
  font-size: .96rem;
  margin: 0 auto 36px;
  max-width: 640px;
  letter-spacing: .4px;
}
.prova-social strong { color: var(--ouro-claro); font-weight: 500; }

/* ---------- Grades e cards de conteúdo ---------- */
.grid { display: grid; gap: 24px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }

.card {
  background: linear-gradient(160deg, var(--painel), var(--preto-alt));
  border-radius: var(--radius);
  padding: 32px 28px;
  box-shadow: var(--sombra-sm);
  border: 1px solid rgba(212,175,106,.14);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card:hover {
  transform: translateY(-5px);
  box-shadow: var(--sombra), var(--glow-ouro);
  border-color: var(--ouro-linha);
}
.card .icon { font-size: 2rem; display: block; margin-bottom: 14px; }
.card h3 { font-size: 1.4rem; margin-bottom: 8px; color: var(--ouro-claro); }
.card p { color: var(--texto-sec); font-size: 1rem; }

/* Card de protocolo em destaque */
.protocolo {
  background: linear-gradient(160deg, var(--painel-2), var(--preto-alt));
  border-radius: var(--radius);
  padding: 36px 30px;
  box-shadow: var(--sombra-sm);
  border: 1px solid rgba(212,175,106,.14);
  border-top: 2px solid var(--ouro);
  transition: transform .2s ease, box-shadow .2s ease;
  position: relative;
}
.protocolo:hover { transform: translateY(-5px); box-shadow: var(--sombra), var(--glow-ouro); }
.protocolo .icon {
  font-size: 2.4rem; display: inline-flex;
  width: 68px; height: 68px; align-items: center; justify-content: center;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, rgba(212,175,106,.22), rgba(109,74,160,.15));
  border: 1px solid var(--ouro-linha);
  margin-bottom: 18px;
}
.protocolo h3 { font-size: 1.55rem; margin-bottom: 10px; color: var(--ouro-claro); }
.protocolo p { color: var(--texto-sec); font-size: 1rem; }

/* Frase de destaque dourada */
.destaque-dourado {
  font-family: var(--font-heading);
  font-size: clamp(1.7rem, 4vw, 2.6rem);
  color: var(--ouro-claro);
  text-align: center;
  max-width: 820px;
  margin: 52px auto 0;
  font-weight: 600;
  font-style: italic;
  line-height: 1.3;
}

/* Texto de fechamento destacado */
.fechamento {
  background: linear-gradient(160deg, var(--painel), var(--preto-alt));
  border-left: 2px solid var(--ouro);
  border-radius: var(--radius-sm);
  padding: 28px 32px;
  max-width: 780px;
  margin: 44px auto 0;
  box-shadow: var(--sombra-sm);
  font-size: 1.1rem;
  color: var(--texto);
}

/* ---------- Blocos "o que tem dentro" ---------- */
.bloco-detalhe {
  background: linear-gradient(160deg, var(--painel), var(--preto-alt));
  border-radius: var(--radius);
  padding: 36px 36px;
  box-shadow: var(--sombra-sm);
  margin-bottom: 24px;
  border: 1px solid rgba(212,175,106,.14);
}
.bloco-detalhe:last-child { margin-bottom: 0; }
.bloco-detalhe h3 {
  font-size: 1.65rem;
  margin-bottom: 14px;
  color: var(--ouro-claro);
  display: flex; align-items: center; gap: 14px;
}
.bloco-detalhe .icon { font-size: 1.9rem; }
.bloco-detalhe p { color: var(--texto-sec); font-size: 1.05rem; }

/* ---------- Nota "como funciona" ---------- */
.como-nota {
  text-align: center;
  max-width: 640px;
  margin: 40px auto 0;
  color: var(--texto);
  font-family: var(--font-heading);
  font-style: italic;
  font-size: 1.5rem;
  line-height: 1.4;
}

/* ---------- OFERTA ---------- */
#oferta {
  background:
    radial-gradient(ellipse at 50% 0%, var(--roxo-glow), transparent 60%),
    var(--preto-alt);
}
.oferta-card {
  background: linear-gradient(165deg, var(--painel-2), var(--preto));
  max-width: 580px;
  margin: 0 auto;
  border-radius: 20px;
  padding: 46px 40px;
  box-shadow: var(--sombra), var(--glow-ouro);
  border: 1px solid var(--ouro);
  text-align: center;
  position: relative;
}
.oferta-card::before {
  content: "";
  position: absolute; inset: 6px;
  border: 1px solid var(--ouro-linha);
  border-radius: 15px;
  pointer-events: none;
}
.oferta-card .oferta-titulo {
  font-size: 1.7rem;
  margin-bottom: 24px;
  color: var(--ouro-claro);
}
.oferta-card .lista-check { text-align: left; }
.oferta-card .lista-check li { font-size: 1.02rem; }

.ancoragem {
  color: var(--texto-sec);
  font-size: 1rem;
  margin: 30px 0 6px;
  font-style: italic;
}
.preco-linha {
  display: flex; align-items: baseline; justify-content: center;
  gap: 14px; flex-wrap: wrap;
  margin-bottom: 4px;
}
.preco-de {
  color: var(--texto-fraco);
  text-decoration: line-through;
  font-size: 1.4rem;
}
.preco-por {
  font-family: var(--font-heading);
  color: var(--ouro);
  font-size: clamp(3.4rem, 10vw, 4.6rem);
  font-weight: 700;
  line-height: 1;
  text-shadow: 0 0 30px rgba(212,175,106,.25);
}
.preco-por .cifra { font-size: 1.7rem; vertical-align: super; }
.parcelas {
  color: var(--texto-sec);
  font-size: 1.08rem;
  margin-bottom: 30px;
}
.oferta-card .cta { width: 100%; }
.oferta-seguranca {
  margin-top: 18px;
  font-size: .88rem;
  color: var(--texto-sec);
  letter-spacing: .5px;
}

/* Mantém o visual do botão mesmo com o CSS do widget Hotmart,
   que é carregado depois e tentaria estilizar .hotmart-fb */
a.cta.hotmart-fb,
a.cta.hotmart__button-checkout {
  background: linear-gradient(135deg, var(--ouro-claro), var(--ouro) 55%, var(--ouro-escuro)) !important;
  color: var(--btn-texto) !important;
  font-family: var(--font-body) !important;
  text-indent: 0 !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 21px 48px !important;
  border: none !important;
  outline: none !important;
  border-radius: 50px !important;
  line-height: 1.35 !important;
  text-transform: uppercase;
}
a.cta.hotmart-fb img { display: none !important; }

/* ---------- GARANTIA ---------- */
.garantia-wrap { text-align: center; max-width: 700px; margin: 0 auto; }
.selo-garantia {
  width: 140px; height: 140px;
  margin: 0 auto 28px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 38%, var(--ouro-claro), var(--ouro) 55%, var(--ouro-escuro));
  box-shadow: 0 0 0 6px rgba(212,175,106,.12), 0 0 40px rgba(212,175,106,.3);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  color: var(--btn-texto);
}
.selo-garantia .n {
  font-family: var(--font-heading);
  font-size: 3rem; font-weight: 700; line-height: 1;
}
.selo-garantia .t {
  font-family: var(--font-accent);
  font-size: .72rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: 2px;
  margin-top: 2px;
}
.garantia-wrap h2 { font-size: clamp(1.9rem, 4.5vw, 2.6rem); margin-bottom: 10px; }
.garantia-wrap p { font-size: 1.12rem; color: var(--texto-sec); }
.assinatura {
  font-family: var(--font-heading);
  font-style: italic;
  color: var(--ouro-claro);
  font-size: 1.4rem;
  margin-top: 20px;
}

/* ---------- FAQ accordion ---------- */
.faq { max-width: 780px; margin: 0 auto; }
.faq-item {
  background: linear-gradient(160deg, var(--painel), var(--preto-alt));
  border-radius: var(--radius-sm);
  margin-bottom: 16px;
  box-shadow: var(--sombra-sm);
  overflow: hidden;
  border: 1px solid rgba(212,175,106,.14);
  transition: border-color .2s ease;
}
.faq-item.open { border-color: var(--ouro-linha); }
.faq-q {
  width: 100%;
  background: none; border: none; cursor: pointer;
  text-align: left;
  font-family: var(--font-heading);
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--ouro-claro);
  padding: 22px 58px 22px 26px;
  position: relative;
  line-height: 1.3;
}
.faq-q::after {
  content: "+";
  position: absolute;
  right: 24px; top: 50%; transform: translateY(-50%);
  font-size: 1.7rem; font-weight: 300;
  color: var(--ouro);
  transition: transform .25s ease;
}
.faq-item.open .faq-q::after { transform: translateY(-50%) rotate(45deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.faq-a-inner {
  padding: 0 26px 22px;
  color: var(--texto-sec);
  font-size: 1.05rem;
}

/* ---------- CTA FINAL ---------- */
.cta-final {
  text-align: center;
  background:
    radial-gradient(ellipse at 50% 120%, var(--roxo-glow), transparent 55%),
    radial-gradient(circle at 15% 20%, rgba(212,175,106,.10), transparent 45%),
    var(--preto);
  border-top: 1px solid var(--ouro-linha);
}
.cta-final h2 {
  font-size: clamp(2rem, 5vw, 3.2rem);
  max-width: 880px; margin: 0 auto 16px;
  font-weight: 600;
  background: linear-gradient(180deg, var(--titulo-grad-1) 20%, var(--ouro-claro));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.cta-final .sub {
  font-size: 1.25rem; color: var(--texto-sec);
  margin-bottom: 8px;
}
.frase-final {
  font-family: var(--font-heading);
  font-style: italic;
  color: var(--roxo-claro);
  font-size: 1.5rem;
  max-width: 640px;
  margin: 46px auto 6px;
  line-height: 1.45;
}
.cta-final .assinatura { margin-top: 4px; }

/* ---------- CTA flutuante ---------- */
#cta-flutuante {
  position: fixed;
  left: 50%; bottom: 18px;
  transform: translate(-50%, 140%);
  z-index: 999;
  opacity: 0;
  transition: transform .35s ease, opacity .35s ease;
  width: calc(100% - 32px);
  max-width: 480px;
}
#cta-flutuante.show { transform: translate(-50%, 0); opacity: 1; }
#cta-flutuante .cta { width: 100%; box-shadow: 0 10px 34px rgba(0,0,0,.5), 0 0 30px rgba(212,175,106,.3); }

/* ---------- Responsivo (venda) ---------- */
@media (max-width: 860px) {
  .grid-3 { grid-template-columns: 1fr; }
  .grid-2 { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .hero { padding: 36px 18px 56px; }
  .oferta-card { padding: 36px 24px; }
  .card, .protocolo, .bloco-detalhe { padding: 28px 22px; }
  .cta-wrap .cta { max-width: 440px; }
  .bloco-detalhe h3 { font-size: 1.35rem; }
  .faq-q { font-size: 1.2rem; }
}
