/* Página de vendas — Coleção MNPEF & DNPEF
   Paleta do ebook (corfisica RGB 20,90,160) · mobile-first · sem framework */

:root {
  --azul: #145aa0;
  --azul-escuro: #0d3d6e;
  --azul-claro: #eaf1f8;
  --verde: #1a7f37;
  --verde-escuro: #14602a;
  --texto: #222;
  --cinza: #667;
  --fundo: #fff;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.55;
  color: var(--texto);
  background: var(--fundo);
  max-width: 100%;
}

section, header, footer { padding: 3rem 1.25rem; }
section, header, footer { margin: 0 auto; max-width: 720px; }

h1, h2, h3 { line-height: 1.2; color: var(--azul-escuro); }
h1 { font-size: 1.9rem; margin: .4rem 0 1rem; }
h2 { font-size: 1.5rem; margin-bottom: 1rem; text-align: center; }
h3 { font-size: 1.15rem; margin-bottom: .5rem; }

p + p, ul + p { margin-top: .8rem; }
strong { color: inherit; }

/* HERO */
.hero {
  background: linear-gradient(180deg, var(--azul-claro) 0%, #fff 100%);
  text-align: center;
  padding-top: 3.5rem;
}
.eyebrow {
  display: inline-block;
  background: var(--azul);
  color: #fff;
  font-size: .8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .35rem .8rem;
  border-radius: 999px;
}
.hero h1 strong { color: var(--azul); }
.sub { color: var(--cinza); max-width: 40rem; margin: 0 auto; }
.capa-hero {
  width: 200px;
  height: auto;
  max-width: 60%;
  margin: 1.6rem auto;
  display: block;
  border-radius: 6px;
  box-shadow: 0 10px 30px rgba(13,61,110,.25);
}

/* CTA */
.cta {
  display: block;
  width: 100%;
  max-width: 420px;
  margin: 1.4rem auto .4rem;
  background: var(--verde);
  color: #fff;
  font-size: 1.15rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  padding: 1rem 1.2rem;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(26,127,55,.35);
}
.cta:hover, .cta:focus { background: var(--verde-escuro); }
.cta-note {
  text-align: center;
  font-size: .85rem;
  color: var(--cinza);
}

/* DOR */
.dor { background: #fff; }
.dor ul { list-style: none; }
.dor li {
  padding: .55rem 0 .55rem 1.8rem;
  position: relative;
}
.dor li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--azul);
  font-weight: 700;
}
.virada {
  margin-top: 1.4rem;
  padding: 1rem 1.2rem;
  background: var(--azul-claro);
  border-left: 4px solid var(--azul);
  border-radius: 0 8px 8px 0;
}

/* SOLUÇÃO */
.solucao { background: var(--azul-claro); text-align: center; }
.solucao > p { max-width: 40rem; margin: 0 auto; }
.numeros {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: .8rem;
  margin: 1.6rem 0;
}
.numeros div {
  background: #fff;
  border-radius: 10px;
  padding: 1rem .6rem;
  box-shadow: 0 3px 10px rgba(13,61,110,.08);
}
.numeros strong {
  display: block;
  font-size: 1.9rem;
  color: var(--azul);
  line-height: 1.1;
}
.numeros span { font-size: .85rem; color: var(--cinza); }
.olhe-dentro {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 1rem;
  margin: 1rem 0 1.4rem;
}
.olhe-dentro figure { text-align: center; }
.olhe-dentro img {
  width: 100%;
  height: auto;
  max-width: 280px;
  border: 1px solid #d7e3ef;
  border-radius: 6px;
  box-shadow: 0 8px 22px rgba(13,61,110,.14);
}
.olhe-dentro figcaption { font-size: .85rem; color: var(--cinza); margin-top: .5rem; }
.metodo {
  font-size: .95rem;
  color: var(--cinza);
  max-width: 40rem;
  margin: 0 auto;
}

/* O QUE RECEBE */
.recebe .vol {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border: 1px solid #e3e9f0;
  border-radius: 12px;
  padding: 1.2rem;
  margin-bottom: 1.2rem;
}
.recebe .vol img {
  width: 140px;
  height: auto;
  align-self: center;
  border-radius: 4px;
  box-shadow: 0 6px 18px rgba(13,61,110,.18);
}
.recebe .vol.bonus { background: #f4fbf6; border-color: #cde9d6; }
.badge {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #fff;
  background: var(--azul);
  border-radius: 999px;
  padding: .25rem .6rem;
  margin-left: .4rem;
  vertical-align: middle;
}
.badge.b { background: var(--verde); }
.recebe ul { list-style: none; margin-top: .4rem; }
.recebe li {
  padding: .35rem 0 .35rem 1.5rem;
  position: relative;
  font-size: .95rem;
}
.recebe li::before {
  content: "+";
  position: absolute;
  left: 0;
  color: var(--verde);
  font-weight: 800;
}
.atualiza {
  text-align: center;
  background: #fff8ee;
  border: 1px solid #f0dfc0;
  border-radius: 12px;
  padding: 1.1rem;
  margin-bottom: 1rem;
}
.atualiza h3 { color: #8a6d3b; }
.atualiza p { font-size: .95rem; }
.transparencia {
  font-size: .85rem;
  color: var(--cinza);
  border-top: 1px dashed #d7dee6;
  padding-top: .9rem;
}

/* AUTOR */
.autor { background: var(--azul-escuro); color: #e8eef5; }
.autor h2 { color: #fff; }
.autor > p:first-of-type { text-align: center; font-size: 1.2rem; font-weight: 700; color: #fff; }
.autor ul {
  list-style: none;
  text-align: center;
  margin: .8rem 0 1.2rem;
}
.autor li { padding: .2rem 0; }
.autor li::before { content: "· "; color: var(--azul-claro); }
.autor p:last-child { text-align: center; max-width: 40rem; margin: 0 auto; color: #c9d6e2; font-size: .95rem; }
.autor strong { color: #fff; }

/* OFERTA */
.oferta { text-align: center; }
.lanc { color: var(--cinza); margin-bottom: 1.2rem; }
.card-oferta {
  max-width: 420px;
  margin: 0 auto;
  border: 2px solid var(--azul);
  border-radius: 14px;
  padding: 1.6rem 1.3rem;
  background: #fff;
  box-shadow: 0 12px 34px rgba(13,61,110,.14);
}
.preco {
  font-size: 3rem;
  font-weight: 800;
  color: var(--azul);
  line-height: 1;
}
.card-oferta ul {
  list-style: none;
  text-align: left;
  margin: 1.1rem 0;
  border-top: 1px solid #e3e9f0;
  padding-top: 1rem;
}
.card-oferta li {
  padding: .3rem 0 .3rem 1.5rem;
  position: relative;
  font-size: .95rem;
}
.card-oferta li::before {
  content: "+";
  position: absolute;
  left: 0;
  color: var(--verde);
  font-weight: 800;
}

/* GARANTIA */
.garantia {
  background: #f4fbf6;
  text-align: center;
  border-top: 1px solid #cde9d6;
  border-bottom: 1px solid #cde9d6;
}
.garantia p { max-width: 40rem; margin: 0 auto; }

/* CTA FINAL */
.cta-final { text-align: center; }
.cta-final p { color: var(--cinza); max-width: 40rem; margin: 0 auto; }
.cta-final .cta { font-size: 1.25rem; }

/* FAQ */
.faq details {
  border: 1px solid #e3e9f0;
  border-radius: 10px;
  padding: .9rem 1.1rem;
  margin-bottom: .7rem;
}
.faq summary {
  font-weight: 700;
  color: var(--azul-escuro);
  cursor: pointer;
}
.faq p { margin-top: .6rem; font-size: .95rem; }

/* FOOTER */
footer {
  font-size: .8rem;
  color: var(--cinza);
  text-align: center;
  border-top: 1px solid #e3e9f0;
}

/* Telas maiores */
@media (min-width: 640px) {
  .recebe .vol { flex-direction: row; align-items: flex-start; }
  .recebe .vol img { align-self: flex-start; }
  .capa-hero { width: 240px; }
  h1 { font-size: 2.3rem; }
}
