/* ============================================================
   LP DE VENDA — componentes extras (anúncio/contador, nº de vendas,
   galeria e feedbacks em carrossel, quebra de objeção, cupom)
   ============================================================ */
.demo { opacity: .92; }
.demo-line { text-align: center; font-family: var(--font-mono); font-size: 11px; letter-spacing: .06em; color: var(--text-mut); margin-top: 16px; }

/* barra de anúncio + contador de cupom */
.announce { position: relative; z-index: 131; background: var(--grad-ember); color: #fff; }
.ann-in { display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 40px; padding: 6px 0; flex-wrap: wrap; font-size: 13px; font-weight: 600; }
.ann-tag b { font-family: var(--font-display); letter-spacing: .04em; }
.ann-sep { width: 1px; height: 14px; background: rgba(255,255,255,.45); }
.ann-cd { display: inline-flex; align-items: center; gap: 6px; }
.cd { font-family: var(--font-mono); font-weight: 700; letter-spacing: .04em; display: inline-flex; gap: 2px; }
.cd b { background: rgba(0,0,0,.3); padding: 2px 5px; border-radius: 5px; }
.ann-cta { color: #fff; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 560px) { .ann-in { gap: 8px; font-size: 12px; } .ann-sep { display: none; } }

/* números de venda */
.stats { background: var(--ink-950); padding: 44px 0 38px; border-bottom: 1px solid rgba(255,255,255,.06); }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.stat { text-align: center; position: relative; }
.stat:not(:last-child)::after { content: ""; position: absolute; right: -10px; top: 20%; height: 60%; width: 1px; background: rgba(255,255,255,.08); }
.st-n { display: block; font-family: var(--font-display); font-weight: 900; font-size: clamp(34px,4.4vw,52px); letter-spacing: -.03em; background: var(--grad-ember); -webkit-background-clip: text; background-clip: text; color: transparent; line-height: 1; }
.st-l { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--text-dim); }
@media (max-width: 620px) { .stats-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; } .stat:nth-child(2)::after { display: none; } }

/* galeria em carrossel */
.gallery { background: var(--grad-ink); color: #fff; padding: 80px 0 88px; overflow: hidden; }
.gal-wall { overflow: hidden; margin-top: 34px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.gal-track { display: flex; gap: 16px; width: max-content; animation: wall 40s linear infinite; }
.gallery:hover .gal-track { animation-play-state: paused; }
.gcard { flex: none; width: 360px; margin: 0; position: relative; border-radius: var(--r-lg); overflow: hidden; border: 1px solid rgba(255,255,255,.08); }
.gcard img { width: 100%; height: 240px; object-fit: cover; display: block; }
.gcard figcaption { position: absolute; bottom: 10px; left: 12px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #fff; background: rgba(10,11,14,.72); padding: 5px 10px; border-radius: 7px; }
@keyframes wall { to { transform: translateX(-50%); } }
@media (max-width: 620px) { .gcard { width: 280px; } .gcard img { height: 190px; } }

/* feedbacks em carrossel */
.feedbacks { position: relative; background: var(--ink-950); color: #fff; padding: 88px 0; overflow: hidden; }
.fb-bg .fb-glow { position: absolute; width: 560px; height: 560px; top: -160px; right: -120px; border-radius: 50%; filter: blur(90px); background: radial-gradient(circle, rgba(255,77,26,.14), transparent 62%); }
.feedbacks .sec-lead.on-d { color: var(--text-dim); }
.fb-wall { overflow: hidden; margin-top: 34px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.fb-track { display: flex; gap: 16px; width: max-content; animation: wall 46s linear infinite; }
.feedbacks:hover .fb-track { animation-play-state: paused; }
.fbc { flex: none; width: 340px; padding: 24px; border-radius: var(--r-md); background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.09); }
.fbc .stars { color: #ffb020; letter-spacing: 2px; font-size: 14px; }
.fbc p { color: #dfe2ea; font-size: 15px; margin: 10px 0 16px; }
.fbc footer { display: flex; align-items: center; gap: 10px; }
.fbc .avatar.sm { width: 34px; height: 34px; font-size: 14px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--grad-ember); font-family: var(--font-display); font-weight: 800; }
.fbc footer b { font-size: 14px; color: #fff; }
@media (max-width: 620px) { .fbc { width: 280px; } }

/* quebra de objeção (comparativo) */
.objection { background: var(--white); color: var(--text-ink); padding: 88px 0; }
.cmp { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; max-width: 920px; margin: 0 auto; }
.cmp-col { border-radius: var(--r-lg); padding: 30px; }
.cmp-h { display: block; font-family: var(--font-display); font-weight: 800; font-size: 18px; margin-bottom: 18px; text-transform: uppercase; letter-spacing: .01em; }
.cmp-col ul { display: flex; flex-direction: column; gap: 13px; }
.cmp-col li { position: relative; padding-left: 30px; font-size: 15.5px; }
.cmp-bad { background: var(--paper-2); color: var(--text-ink-dim); }
.cmp-bad .cmp-h { color: var(--text-ink-dim); }
.cmp-bad li::before { content: "\2715"; position: absolute; left: 0; top: -1px; color: #c0504d; font-weight: 800; }
.cmp-good { background: linear-gradient(160deg, #15171c, #0d0e12); color: #fff; box-shadow: var(--sh-card); }
.cmp-good .cmp-h { background: var(--grad-ember); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cmp-good li { color: #eaecf2; }
.cmp-good li::before { content: "\2713"; position: absolute; left: 0; top: -1px; color: var(--ember-400); font-weight: 800; }
@media (max-width: 620px) { .cmp { grid-template-columns: 1fr; } }

/* cupom + countdown na oferta / CTA final */
.coupon { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 10px; border: 1px dashed var(--ember-500); background: rgba(255,77,26,.06); margin-bottom: 12px; }
.cp-k { font-family: var(--font-mono); font-size: 10px; letter-spacing: .14em; color: var(--text-mut); }
.cp-code { font-family: var(--font-display); font-weight: 900; color: #fff; letter-spacing: .06em; }
.cp-v { font-size: 12px; color: var(--ember-400); font-weight: 700; }
.off-cd { font-family: var(--font-mono); font-size: 12px; color: var(--text-dim); margin-bottom: 14px; }
.off-from { display: block; font-size: 14px; color: var(--text-mut); text-decoration: line-through; }
.off-now { display: flex; align-items: baseline; justify-content: center; gap: 8px; margin-top: 2px; }
.off-cash { display: block; font-size: 12px; color: var(--text-dim); margin: 4px 0 14px; }
.ct-cd { font-family: var(--font-mono); font-size: 14px; color: var(--text-dim); margin-bottom: 22px; }
.ct-cd b, .off-cd b { color: #fff; }
.sc-cd { font-size: 13px; color: #fff; }
