/* ==========================================================================
   SuperContato – main.css (landing do e-book)
   ========================================================================== */
:root{
  --sc-primary:#5B8DEF;
  --sc-dark:#0F172A;
  --sc-accent:#22C55E;
  --sc-muted:#64748B;

  --sc-gold:#D4AF37;      /* ouro */
  --sc-bronze:#E9D98F;    /* ouro/bronze claro para textos */
  --sc-azul:#60A5FA;
  --sc-card:#0F172A;
  --sc-ink:#E5E7EB;
  --sc-green-pop:#22E55D;

  --sc-white:#FFFFFF;
  --sc-faint:#F8FAFC;
}

/* ---------- Base ---------- */
html{ scroll-behavior:smooth; }
body{ color:var(--sc-dark); }
a{ color:var(--sc-primary); text-decoration:none; }
a:hover{ color:#3B82F6; text-decoration:underline; }
.section-title{ font-weight:800; letter-spacing:-.02em; }
.navbar-brand img{ height:36px; }

.shadow-soft{ box-shadow:0 10px 30px rgba(2,6,23,.08); }
.rounded-2xl{ border-radius:1rem; }
.bg-faint{ background: var(--sc-faint); }

/* Lista com check customizado */
.list-check{ padding-left:0; }
.list-check li{
  list-style:none;            /* desliga o marcador nativo */
  position:relative;
  padding-left:1.25rem;       /* espaço para o ícone */
  margin:.4rem 0;
}
.list-check li::before{
  content:"✓";
  position:absolute;
  left:0; top:.15em;          /* alinha verticalmente ao texto */
  line-height:1;
  font-weight:900;
  color:var(--sc-green-pop,#22E55D);
}


/* ---------- Botões ---------- */
.gradient-btn{
  background:linear-gradient(90deg, var(--sc-primary), #7C3AED);
  color:#fff;
}
.gradient-btn:hover{ filter:brightness(1.05); color:#fff; }

.sticky-cta{ position:fixed; right:1rem; bottom:1rem; z-index:1030; }

/* ---------- HERO ---------- */
.hero{
  background:
    radial-gradient(1200px 600px at 10% 10%, rgba(91,141,239,.15), transparent),
    linear-gradient(180deg, #ffffff 0%, #f7fafc 100%);
}
.hero h1{ letter-spacing:-.02em; }

/* capa do livro sem “cartão” branco */
.book-img{
  border:0; border-radius:0; box-shadow:none;
  filter: drop-shadow(0 24px 60px rgba(2,6,23,.18));
}

/* Badges do HERO */
.badge-launch{
  --c:#16a34a;                     /* verde */
  background: color-mix(in srgb, var(--c) 12%, #fff);
  color: var(--c);
  border: 1px solid color-mix(in srgb, var(--c) 30%, #fff);
  font-weight: 700;
}
.badge-pages{
  --c:#4338ca;                     /* índigo */
  background: color-mix(in srgb, var(--c) 12%, #fff);
  color: var(--c);
  border: 1px solid color-mix(in srgb, var(--c) 30%, #fff);
  font-weight: 700;
  margin-left:.35rem;
}

/* Balão de bônus (reto/sóbrio) */
.bonus-bubble{
  --from:#6d28d9;  /* roxo */
  --to:#22c55e;    /* verde */
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--from) 10%, #fff),
    color-mix(in srgb, var(--to) 10%, #fff));
  border: 2px dashed var(--sc-gold, #d4af37);
  border-radius: 1.2rem;
  box-shadow: 0 14px 28px rgba(15,23,42,.12);
  padding: 1rem 1.25rem;
  position: relative;
  max-width: 560px;
}
.bonus-bubble::before{
  /* orelha do balão */
  content:"";
  position:absolute;
  left: 18px;
  bottom:-10px;
  width: 22px; height: 22px;
  background: inherit;
  border-left: 2px dashed var(--sc-gold, #d4af37);
  border-bottom: 2px dashed var(--sc-gold, #d4af37);
  transform: rotate(45deg);
  border-bottom-left-radius: .6rem;
}
.bonus-bubble .bubble-title{
  display:inline-block;
  background: #0f172a;
  color:#fff;
  font-weight:800;
  padding:.35rem .7rem;
  border-radius:.6rem;
  margin-bottom:.5rem;
  letter-spacing:.02em;
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
}
.bonus-bubble ul{
  list-style:none;
  padding-left:0;
  font-weight:600;
  line-height:1.35;
  margin:0;
}
.bonus-bubble li{
  position:relative;
  padding-left:1.25rem;
  margin:.25rem 0;
}
.bonus-bubble li::before{
  content:"✓";
  position:absolute;
  left:0; top:0;
  font-weight:900;
  color: var(--sc-green-pop, #22E55D);
}

/* ---------- SEÇÃO BOMBA (quote gigante) ---------- */
.bomb-quoted-section{
  background: linear-gradient(180deg,#ffffff 0%,#f7fafc 100%);
}
.bomb-quoted-card{
  background:#000; /* preto absoluto para contraste forte */
  position:relative;
  overflow:hidden;
}
.bomb-quoted-card::before{
  /* brilho sutil em roxo/azul como no SuperContato */
  content:"";
  position:absolute; inset:-20%;
  background:
    radial-gradient(800px 400px at 15% 10%, rgba(124,58,237,.15), transparent 60%),
    radial-gradient(600px 300px at 85% 80%, rgba(59,130,246,.12), transparent 60%);
  pointer-events:none;
}
.quoted-wrap{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:1rem;
}
.quote-mark-giant{
  font-size:clamp(3rem, 6vw, 6rem);
  line-height:1;
  font-weight:900;
  color:var(--sc-gold);
  text-shadow:0 6px 18px rgba(212,175,55,.25);
}
.quote-mark-giant.open{ margin-right:.25rem; }
.quote-mark-giant.close{ margin-left:.25rem; align-self:flex-end; }
.bomb-quoted-text{
  color:var(--sc-bronze);
  font-size:clamp(1.2rem, 1.05rem + .6vw, 1.6rem);
  line-height:1.7;
  margin:0;
}

/* ---------- PROMO (BÔNUS – GRADIENTE) ---------- */
.promo-banner{ margin-top:-.5rem; margin-bottom:1.25rem; }
.promo-card.promo--warm{
  position:relative; overflow:hidden; color:#fff;
  border:1px solid rgba(255,255,255,.18);
  background:
    radial-gradient(900px 420px at 10% 10%, rgba(124,58,237,.38), rgba(124,58,237,0) 60%),
    radial-gradient(620px 360px at 85% 25%, rgba(91,141,239,.50), rgba(91,141,239,0) 62%),
    radial-gradient(560px 300px at 20% 85%, rgba(16,185,129,.45), rgba(16,185,129,0) 65%),
    linear-gradient(135deg, #0f172a 10%, #0b1221 60%, #152e4d 100%);
  background-color:#0f172a;
}
.promo-card .promo-kicker{
  color:#FDE047; font-weight:900;
  font-size:clamp(1rem, 0.8rem + 0.9vw, 1.5rem);
  letter-spacing:.06em; text-shadow:0 2px 4px rgba(0,0,0,.5);
}
.promo-card .promo-text{ text-shadow:0 1px 2px rgba(0,0,0,.35); line-height:1.5; }
.promo-card .promo-link-underline{ color:#fff; text-decoration-thickness:.12rem; text-underline-offset:2px; }
.promo-card .promo-icon{
  width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(60% 100% at 30% 20%, rgba(255,255,255,.95), rgba(255,255,255,.75) 60%, rgba(255,255,255,.6)),
    linear-gradient(180deg, #ffffff, #f3f4f6);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.9), 0 8px 20px rgba(2,6,23,.28);
}
.promo-card .promo-icon i{ font-size:1.5rem; color:#0f172a; line-height:1; }

.bonus-title{
  font-size: clamp(1.8rem, 1.2rem + 2vw, 2.6rem);
  font-weight: 900;
  color: var(--sc-gold); /* amarelo ouro já definido */
  text-shadow: 0 3px 8px rgba(0,0,0,.55);
  letter-spacing: -0.01em;
}

/* ---------- FAQ (se usar) ---------- */
.faq-accordion details{
  border:1px solid #E2E8F0; border-radius:.75rem; background:#fff;
  margin-bottom:.75rem; overflow:hidden;
  box-shadow:0 10px 24px rgba(2,6,23,.06);
}
.faq-accordion details[open]{ box-shadow:0 12px 28px rgba(2,6,23,.10); }
.faq-accordion summary{
  list-style:none; cursor:pointer; padding:1rem 1.25rem; font-weight:600;
  color:#0F172A; display:flex; align-items:center; justify-content:space-between;
}
.faq-accordion summary::-webkit-details-marker{ display:none; }
.faq-accordion summary::after{
  content:""; width:.75rem; height:.75rem;
  border-right:2px solid var(--sc-primary); border-bottom:2px solid var(--sc-primary);
  transform:rotate(-45deg); transition:transform .2s ease;
}
.faq-accordion details[open] summary::after{ transform:rotate(45deg); }
.faq-accordion .content{
  background:#F9FAFB; color:#4B5563; font-size:.95rem;
  padding:1rem 1.25rem; border-top:1px solid #E5E7EB;
}

/* ---------- Preço / badges secundárias ---------- */
.price{ letter-spacing:-0.02em; }
.badge-promo{
  background:#FEF3C7; color:#92400E;
  border:1px solid #FDE68A; font-weight:600;
}

/* ---------- Footer ---------- */
.site-footer{
  --footer-bg:#0c111b;
  --footer-ink:#cbd5e1;
  --footer-muted:#94a3b8;
  --footer-heading:#e5e7f0;
  --footer-link:#cbd5e1;
  --footer-link-hover:#22e55d;
  --footer-bullet:#3b4452;
  --footer-rule:rgba(148,163,184,.18);
  background:var(--footer-bg);
  color:var(--footer-ink);
}
.site-footer .footer-title{
  color:var(--footer-heading);
  font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  font-size:.9rem; margin-bottom:.75rem;
}
.site-footer .footer-list{ list-style:none; margin:0; padding-left:0; }
.site-footer .footer-list li{ position:relative; margin:.28rem 0; padding-left:1rem; }
.site-footer .footer-list li::before{
  content:""; position:absolute; left:0; top:.6em;
  width:6px; height:6px; border-radius:999px; background:var(--footer-bullet);
  box-shadow:0 0 0 2px rgba(255,255,255,.03) inset;
}
.site-footer a.link-quiet{
  color:var(--footer-link) !important; text-decoration:underline;
  text-decoration-thickness:1px; text-underline-offset:3px;
  text-decoration-color: rgba(203,213,225,.35);
}
.site-footer a.link-quiet:hover{
  color:var(--footer-link-hover) !important;
  text-decoration-color: var(--footer-link-hover);
}
.site-footer .text-muted{ color:var(--footer-muted) !important; }
.footer-quote .quote-mark{ color:var(--footer-link-hover); font-size:1.1rem; }
.footer-quote blockquote{ font-style:italic; line-height:1.5; margin:0; }
.footer-quote .author{ display:block; margin-top:.35rem; color:var(--footer-muted); }

/* ---------- Pulse CTA ---------- */
@keyframes sc-cta-pulse {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(34,197,94,.0); }
  50% { transform: scale(1.025); box-shadow: 0 12px 24px rgba(16,185,129,.35); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(34,197,94,.0); }
}
.cta-pulse.pulse-always {
  animation: sc-cta-pulse 1.6s ease-in-out infinite;
  will-change: transform;
}

/* ---------- Cupom especial ---------- */
.coupon-card {
  background: linear-gradient(135deg, #ffffff, #f8fafc);
  border: 2px dashed var(--sc-gold, #d4af37);
  position: relative;
}
.coupon-card::before, 
.coupon-card::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 24px; height: 24px;
  background: #f8fafc;
  border: 2px solid var(--sc-gold, #d4af37);
  border-radius: 50%;
}
.coupon-card::before { left: -14px; }
.coupon-card::after  { right: -14px; }

.coupon-code {
  display: inline-block;
  background: #0f172a;
  color: #fff;
  font-weight: 800;
  font-size: 1.3rem;
  letter-spacing: .1em;
  padding: .7rem 1.2rem;
  border-radius: .6rem;
  box-shadow: 0 6px 16px rgba(0,0,0,.15);
  user-select: none;
}
.coupon-code.locked {
  position: relative;
  filter: blur(2px);
  opacity: .9;
}
.coupon-code.locked::after {
  content: "🔒";
  position: absolute;
  right: -14px;
  top: -14px;
  font-size: 1.1rem;
}

/* Botão gradiente reutilizável (cupom/checkout) */
.btn-gradient {
  background: linear-gradient(90deg, var(--sc-primary, #5B8DEF), var(--sc-accent, #22C55E));
  color: #fff !important;
  border: none;
  font-weight: 700;
}
.btn-gradient:hover { filter: brightness(1.08); }

/* ---------- Responsivo ---------- */
@media (max-width: 576px){
  .badge-pages{ margin-left: .25rem; }
  .bonus-bubble{ max-width: 100%; }
}

/* ---------- Seção Bônus ---------- */
.learning-list li {
  margin-bottom: 1.25rem; /* espaço entre itens */
}
