/* ============================================================
   Pagina final de venda — estrutura modelada da referencia
   (19 secoes), com a marca Sana Pilates.
   Carregada so na ultima etapa do funil.
   ============================================================ */
:root{
  --f-bg:#efeaf4;
  --f-card:#ffffff;
  --f-ink:#1c1726;
  --f-ink-70:rgba(28,23,38,.72);
  --f-ink-50:rgba(28,23,38,.52);
  --f-line:#e2dbea;
  --f-purple:#8b5cf6;
  --f-purple-dk:#6d28d9;
  --f-green:#1f9d1f;
  --f-green-dk:#157715;
  --f-rose:#e11d48;
  --f-rose-dk:#be123c;
  --f-amber:#f59e0b;
}

/* o palco do quiz limita a 28rem; a pagina final ocupa a tela toda */
body.final-page #stage{max-width:none;padding:0;min-height:0}
body.final-page #topbar{display:none}
body.final-page .step{gap:0;margin-block:0}
body.final-page{background:var(--f-bg)}

.fp{
  color:var(--f-ink);font-size:17px;line-height:1.6;
  padding-bottom:96px;                     /* espaco da barra fixa */
}
.fp *{box-sizing:border-box}
.fp .wrap{max-width:46rem;margin:0 auto;padding:0 1.1rem}
.fp section{padding:2.4rem 0}
.fp h1,.fp h2,.fp h3{margin:0 0 .6rem;line-height:1.22;font-weight:800}
.fp h1{font-size:clamp(1.7rem,5.6vw,2.5rem)}
.fp h2{font-size:clamp(1.35rem,4.4vw,1.9rem)}
.fp h3{font-size:clamp(1.1rem,3.4vw,1.35rem)}
.fp p{margin:0 0 .7rem}
.fp .c{text-align:center}
.fp .muted{color:var(--f-ink-70)}
.fp .sm{font-size:.9rem}
.fp .xs{font-size:.82rem}
.fp .purple{color:var(--f-purple-dk)}
.fp .rose{color:var(--f-rose)}
.fp .green{color:var(--f-green)}

/* ---------- barra de espectadores ---------- */
.fp-viewers{
  position:sticky;top:0;z-index:60;background:var(--f-bg);
  padding:.5rem 1rem;display:flex;justify-content:center;
}
.fp-viewers span{
  display:inline-flex;align-items:center;gap:.45rem;
  background:var(--f-card);border:1px solid var(--f-line);
  border-radius:99px;padding:.3rem .9rem;font-size:.82rem;font-weight:600;
  box-shadow:0 2px 8px rgba(28,23,38,.07);
}
.fp-viewers i{width:8px;height:8px;border-radius:50%;background:#22c55e;
  animation:fpPulse 1.6s ease-in-out infinite;font-style:normal}
@keyframes fpPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}

.fp-logo{display:block;height:78px;margin:.6rem auto 0;object-fit:contain}

/* ---------- caixa de urgencia ---------- */
.fp-alert{
  background:#fff5f6;border:1px solid #fecdd3;border-radius:1rem;
  padding:1.1rem 1rem;text-align:center;margin:1.2rem 0 0;
}
.fp-alert .t{font-weight:900;letter-spacing:.04em;color:var(--f-rose-dk)}
.fp-alert .badge{background:var(--f-rose);color:#fff;font-weight:800;
  padding:.08rem .45rem;border-radius:.4rem}
.fp-clock{display:flex;justify-content:center;align-items:flex-start;gap:.5rem;margin-top:.9rem}
.fp-clock .box{background:var(--f-rose);color:#fff;border-radius:.7rem;
  min-width:60px;padding:.45rem .2rem;box-shadow:0 6px 14px -6px rgba(225,29,72,.7)}
.fp-clock .n{font-size:1.6rem;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
.fp-clock .u{font-size:.6rem;letter-spacing:.12em;opacity:.9;margin-top:.15rem}
.fp-clock .sep{font-size:1.4rem;font-weight:900;color:var(--f-rose);padding-top:.35rem}

/* ---------- selos / pilulas ---------- */
.fp-pill{
  display:inline-block;background:#dcfce7;color:#157715;border:1px solid #bbf7d0;
  border-radius:99px;padding:.28rem .95rem;font-size:.85rem;font-weight:700;
}
.fp-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1.2rem 0}
/* Fica 2x2 em qualquer largura, como na oferta de referencia — empilhar
   em coluna unica alonga demais o topo da pagina. */
.fp-checks div{
  display:flex;align-items:center;gap:.45rem;background:var(--f-card);
  border:1px solid var(--f-line);border-radius:.8rem;padding:.7rem .65rem;
  font-size:.88rem;font-weight:600;line-height:1.3;text-align:left;
}
@media (max-width:400px){
  .fp-checks{gap:.45rem}
  .fp-checks div{font-size:.8rem;padding:.6rem .5rem}
}

.fp-print{
  display:flex;gap:.6rem;align-items:flex-start;background:#fffbeb;
  border:1px solid #fde68a;border-radius:.9rem;padding:.8rem .9rem;
  font-size:.88rem;color:#78500a;margin:1rem 0;
}

/* ---------- botao ---------- */
.fp-cta{
  display:block;width:100%;max-width:34rem;margin:1.1rem auto 0;
  background:linear-gradient(180deg,#25b325,var(--f-green-dk));
  color:#fff;text-decoration:none;text-align:center;
  border:0;border-radius:1rem;padding:1.05rem 1.2rem;cursor:pointer;
  font-size:1.12rem;font-weight:900;line-height:1.25;
  box-shadow:0 12px 24px -10px rgba(31,157,31,.85);
  position:relative;overflow:hidden;
  animation:fpBeat 2s ease-in-out infinite;
}
.fp-cta small{display:block;font-size:.8rem;font-weight:600;opacity:.92;margin-top:.3rem}
.fp-cta::after{
  content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-18deg);animation:fpShine 3s ease-in-out infinite;
}
@keyframes fpShine{0%{left:-60%}55%,100%{left:130%}}
@keyframes fpBeat{0%,100%{transform:scale(1)}50%{transform:scale(1.022)}}
.fp-cta:hover{filter:brightness(1.06)}
.fp-secure{text-align:center;font-size:.84rem;color:var(--f-ink-50);margin-top:.6rem}

/* ---------- cartao de oferta ---------- */
.fp-offer{
  background:var(--f-card);border:2px solid var(--f-green);border-radius:1.4rem;
  padding:1.5rem 1.2rem;text-align:center;box-shadow:0 18px 40px -22px rgba(28,23,38,.4);
}
.fp-offer .kicker{font-size:.78rem;letter-spacing:.14em;font-weight:800;color:var(--f-purple-dk)}
.fp-offer .price{font-size:clamp(2.4rem,9vw,3.4rem);font-weight:900;color:var(--f-green);line-height:1}
.fp-offer .old{text-decoration:line-through;color:var(--f-ink-50);font-weight:600}
.fp-offer img{border-radius:1rem;margin:.9rem auto 0}

/* ---------- dores ---------- */
.fp-dark{background:var(--f-ink);color:#f3f0f7}
.fp-dark h2,.fp-dark h3{color:#fff}
.fp-dark .muted{color:rgba(255,255,255,.72)}
.fp-pains{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1.1rem}
.fp-pains div{
  display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);border-radius:.8rem;padding:.7rem .75rem;font-size:.9rem;
}
@media (max-width:430px){.fp-pains{grid-template-columns:1fr}}

.fp-meter{margin-top:1.4rem}
.fp-meter .lbl{font-size:.75rem;letter-spacing:.12em;font-weight:800;opacity:.85}
.fp-meter .track{height:12px;border-radius:99px;background:rgba(255,255,255,.14);margin-top:.45rem;overflow:hidden}
.fp-meter .fill{height:100%;width:0;border-radius:99px;
  background:linear-gradient(90deg,#f59e0b,var(--f-rose));transition:width 1.6s cubic-bezier(.22,1,.36,1)}
.fp-meter .pct{text-align:right;font-weight:900;font-size:1.5rem;margin-top:.2rem}

.fp-quotes{display:grid;gap:.5rem;margin-top:1rem}
.fp-quotes div{background:rgba(255,255,255,.06);border-left:3px solid var(--f-purple);
  border-radius:.6rem;padding:.7rem .85rem;font-style:italic;font-size:.94rem}

/* ---------- comparativo ---------- */
.fp-vs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1.2rem}
@media (max-width:560px){.fp-vs{grid-template-columns:1fr}}
.fp-vs .col{border-radius:1.1rem;padding:1.1rem 1rem;border:1px solid}
.fp-vs .bad{background:#fff5f6;border-color:#fecdd3}
.fp-vs .good{background:#f0fdf4;border-color:#bbf7d0}
.fp-vs h3{font-size:1rem;letter-spacing:.04em}
.fp-vs .bad h3{color:var(--f-rose-dk)}
.fp-vs .good h3{color:var(--f-green-dk)}
.fp-vs ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.fp-vs li{display:flex;gap:.5rem;font-size:.92rem;align-items:flex-start}

/* ---------- frase riscada + virada ---------- */
.fp-strike{
  background:#f3eefb;border:1px solid #e2d9fb;border-radius:1rem;
  padding:.95rem 1.1rem;text-align:center;margin:.9rem auto 0;max-width:34rem;
  color:var(--f-ink-50);font-weight:600;
  text-decoration:line-through;text-decoration-thickness:2px;
  text-decoration-color:rgba(28,23,38,.55);
}
.fp-turn{
  font-size:clamp(1.15rem,4vw,1.45rem);font-weight:800;margin:1.1rem 0 .2rem;
}

/* ---------- niveis / cards numerados ---------- */
/* Sequencia 1 → 2 → 3: cor unica da marca (verde/vermelho ja significam
   benefício/dor no resto da pagina) e um trilho vertical ligando os passos,
   que e o que estes cards realmente sao — etapas encadeadas. */
.fp-levels{--rail:calc(1.15rem + 25px);display:grid;gap:1rem;margin-top:1.4rem}
.fp-levels .lv{
  position:relative;display:flex;gap:1rem;align-items:flex-start;
  background:linear-gradient(160deg,#f7f4fe,#f2ecfd);
  border:1px solid #e2d9fb;border-radius:1.1rem;padding:1.15rem;
  box-shadow:0 8px 20px -16px rgba(109,40,217,.55);
}
/* trecho de trilho que atravessa o vao entre um card e o seguinte */
.fp-levels .lv + .lv::before{
  content:"";position:absolute;left:var(--rail);top:calc(-1rem - 1px);
  width:3px;height:calc(1rem + 2px);border-radius:2px;
  background:linear-gradient(180deg,#c4b5fd,var(--f-purple));
  transform:translateX(-50%);
}
.fp-levels .num{
  flex:0 0 50px;width:50px;height:50px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(150deg,var(--f-purple),var(--f-purple-dk));color:#fff;
  font-weight:900;font-size:1.35rem;line-height:1;
  box-shadow:0 6px 14px -6px rgba(109,40,217,.85);
}
.fp-levels .txt{flex:1;min-width:0;padding-top:.15rem}
.fp-levels .txt h3{margin-bottom:.3rem;letter-spacing:.02em}
.fp-levels .txt p{margin:0}
.fp-grid4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1rem}
.fp-grid4 div{background:var(--f-card);border:1px solid var(--f-line);border-radius:.9rem;
  padding:.85rem .7rem;text-align:center;font-size:.9rem;font-weight:600}
.fp-grid4 .ico{font-size:1.6rem;display:block;margin-bottom:.25rem}

/* ---------- tabela de inclusos ---------- */
.fp-incl{background:var(--f-card);border:1px solid var(--f-line);border-radius:1.2rem;overflow:hidden;margin-top:1.1rem}
.fp-incl .row{display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border-bottom:1px solid var(--f-line);font-size:.95rem}
.fp-incl .row:last-child{border-bottom:0}
.fp-incl .ico{font-size:1.3rem;flex:0 0 auto}
.fp-incl .ok{margin-left:auto;color:var(--f-green);font-weight:900}

/* ---------- bonus: titulo em cima, arte no meio, descricao embaixo ---------- */
.fp-bonus{display:grid;gap:2rem;margin-top:1.4rem}
.fp-bonus .bn{text-align:center}
.fp-bonus .bn-t{
  font-size:.98rem;line-height:1.4;color:var(--f-ink);
  margin-bottom:.65rem;padding:0 .2rem;
}
.fp-bonus .bn-t b{color:var(--f-purple-dk);font-weight:900;letter-spacing:.02em}
.fp-bonus .bn img{
  width:100%;border-radius:1.1rem;display:block;
  box-shadow:0 16px 34px -20px rgba(28,23,38,.55);
}
.fp-bonus .bn-d{
  font-size:.88rem;color:var(--f-ink-70);line-height:1.5;
  margin:.7rem auto 0;max-width:34rem;
}
.fp-bonus .bn.especial{
  background:#fffbeb;border:1px solid #fde68a;border-radius:1.1rem;padding:1.1rem 1rem;
}
.fp-bonus .bn.especial .bn-t b{color:#a16207}
.fp-bonus .bn.especial .bn-d{margin-top:.2rem}

/* ---------- pilha de valor ---------- */
.fp-stack{background:var(--f-card);border:1px solid var(--f-line);border-radius:1.2rem;overflow:hidden;margin-top:1.1rem}
.fp-stack .row{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border-bottom:1px solid var(--f-line);font-size:.92rem}
.fp-stack .row:last-child{border-bottom:0}
.fp-stack .val{margin-left:auto;font-weight:800;white-space:nowrap}
.fp-stack .total{background:#faf5ff;font-weight:900;font-size:1.05rem}
.fp-stack .total .val{color:var(--f-rose);text-decoration:line-through}

.fp-deal{
  background:linear-gradient(160deg,#faf5ff,#f3e8ff);border:2px dashed var(--f-purple);
  border-radius:1.3rem;padding:1.4rem 1.1rem;text-align:center;margin-top:1.2rem;
}
.fp-deal .off{
  display:inline-block;background:var(--f-rose);color:#fff;font-weight:900;
  padding:.25rem .8rem;border-radius:99px;font-size:.9rem;
}
.fp-deal .big{font-size:clamp(2.6rem,10vw,3.8rem);font-weight:900;color:var(--f-green);line-height:1;margin:.4rem 0}

/* ---------- garantia ---------- */
.fp-guar{
  background:#fffdf5;border:2px solid var(--f-green);border-radius:1.3rem;
  padding:0;text-align:center;overflow:hidden;
}
.fp-guar .g-txt{padding:1.5rem 1.15rem .4rem}
.fp-guar .g-txt h3{font-size:clamp(1.15rem,4.2vw,1.5rem);margin-bottom:.9rem}
.fp-guar .g-txt p{
  font-size:.95rem;line-height:1.6;color:var(--f-ink-70);
  max-width:32rem;margin:0 auto .75rem;
}
.fp-guar .g-txt p b{color:var(--f-ink)}
.fp-guar .g-txt p.vira{
  background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.9rem;
  padding:.85rem .95rem;color:var(--f-ink);margin-top:1.1rem;
}
.fp-guar .g-selo{
  width:min(210px,58%);height:auto;display:block;margin:.4rem auto 1.2rem;
  filter:drop-shadow(0 10px 22px rgba(28,23,38,.28));
}
.fp-guar .risco{
  margin:0;padding:.9rem 1rem;font-weight:900;letter-spacing:.04em;
  background:var(--f-green);color:#fff;font-size:.98rem;
}
.fp-seal{
  width:96px;height:96px;margin:0 auto .8rem;border-radius:50%;
  background:radial-gradient(circle at 50% 35%,#25b325,var(--f-green-dk));
  color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-weight:900;line-height:1;box-shadow:0 10px 22px -10px rgba(31,157,31,.9);
}
.fp-seal b{font-size:1.9rem}
.fp-seal span{font-size:.62rem;letter-spacing:.08em;margin-top:.15rem}

/* ---------- fechamento emocional ---------- */
.fp-close{display:grid;gap:.5rem;margin-top:1rem}
.fp-close div{display:flex;gap:.6rem;align-items:center;background:var(--f-card);
  border:1px solid var(--f-line);border-radius:.9rem;padding:.8rem .9rem;font-weight:600}

/* ---------- depoimentos ---------- */
.fp-tst{display:grid;gap:.8rem;margin-top:1.1rem}
.fp-tst figure{margin:0;background:var(--f-card);border:1px solid var(--f-line);
  border-radius:1.1rem;overflow:hidden}
.fp-tst img{width:100%;display:block}
.fp-tst figcaption{padding:.7rem .9rem;font-size:.9rem;color:var(--f-ink-70);text-align:center}

/* ============================================================
   Carrossel de relatos
   A "espiada" na proxima foto (peek) e o sinal mais forte de que
   da para arrastar — mais do que setas ou bolinhas.
   ============================================================ */
.fp-car{position:relative;margin-top:1.1rem}
.fp-car-view{overflow:hidden;border-radius:1.2rem;touch-action:pan-y;cursor:grab}
.fp-car-view.dragging{cursor:grabbing}
.fp-car-track{
  display:flex;gap:.7rem;
  transition:transform .45s cubic-bezier(.22,1,.36,1);will-change:transform;
}
.fp-car-track.nosnap{transition:none}
.fp-car-slide{
  flex:0 0 78%;                       /* o resto sobra = a espiada do proximo */
  min-width:0;                        /* sem isso a imagem larga estica o slide */
  margin:0;                           /* <figure> vem com margin 1em 40px do navegador */
  background:var(--f-card);border:1px solid var(--f-line);border-radius:1.2rem;
  overflow:hidden;transition:opacity .35s,transform .35s;
}
.fp-car-slide:not(.on){opacity:.45;transform:scale(.965)}
/* As 5 fotos tem proporcoes bem diferentes (de 0,56 a 1,13). Fixamos a
   moldura e usamos "contain" para igualar a altura dos slides sem cortar
   nenhuma foto — recorte em antes/depois arrisca decepar cabeca ou o
   rotulo de peso gravado na imagem. */
.fp-car-slide img{
  width:100%;display:block;aspect-ratio:3/4;object-fit:contain;
  background:#f5f2fa;-webkit-user-drag:none;user-select:none;
}
.fp-car-slide figcaption{
  padding:.65rem .6rem;text-align:center;font-size:.82rem;line-height:1.4;
  color:var(--f-ink-70);font-weight:700;
  min-height:4.5rem;                 /* trava a altura: nome+cidade / resultado */
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border-top:1px solid var(--f-line);
}
.fp-car-slide figcaption b{
  color:var(--f-green);font-size:1.08rem;font-weight:900;margin-top:.15rem;
}

/* setas */
.fp-car-nav{
  position:absolute;top:38%;transform:translateY(-50%);z-index:3;
  width:38px;height:38px;border-radius:50%;border:1px solid var(--f-line);
  background:rgba(255,255,255,.94);color:var(--f-ink);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 16px -6px rgba(28,23,38,.4);transition:opacity .2s,transform .15s;
}
.fp-car-nav:hover{transform:translateY(-50%) scale(1.08)}
.fp-car-nav[disabled]{opacity:0;pointer-events:none}
.fp-car-nav.prev{left:-6px}
.fp-car-nav.next{right:-6px}
.fp-car-nav svg{width:19px;height:19px}

/* rodape: bolinhas + contador + dica */
.fp-car-foot{display:flex;align-items:center;justify-content:center;gap:.7rem;margin-top:.8rem}
.fp-car-dots{display:flex;gap:.35rem}
.fp-car-dots i{width:7px;height:7px;border-radius:50%;background:#cfc7dc;cursor:pointer;transition:.25s}
.fp-car-dots i.on{background:var(--f-purple);width:22px;border-radius:99px}
.fp-car-count{font-size:.82rem;font-weight:700;color:var(--f-ink-50);font-variant-numeric:tabular-nums}

.fp-car-hint{
  display:flex;align-items:center;justify-content:center;gap:.4rem;
  margin-top:.45rem;font-size:.83rem;color:var(--f-ink-50);
}
.fp-car-hint svg{width:15px;height:15px;animation:hintSlide 1.8s ease-in-out infinite}
@keyframes hintSlide{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(5px);opacity:1}}
.fp-car-hint.gone{opacity:0;transition:opacity .4s;pointer-events:none}

/* empurraozinho na primeira vez que a secao aparece */
.fp-car-track.nudge{animation:nudge 1.1s cubic-bezier(.4,0,.2,1) .25s 1}
@keyframes nudge{
  0%{transform:var(--pos)}
  35%{transform:translateX(calc(var(--x) - 34px))}
  70%{transform:translateX(calc(var(--x) + 6px))}
  100%{transform:var(--pos)}
}

@media (min-width:640px){
  .fp-car-slide{flex-basis:62%}
}

/* ---------- FAQ ---------- */
.fp-faq{display:grid;gap:.5rem;margin-top:1.1rem}
.fp-faq .it{background:var(--f-card);border:1px solid var(--f-line);border-radius:1rem;overflow:hidden}
.fp-faq button{
  width:100%;border:0;background:transparent;cursor:pointer;text-align:left;
  padding:1rem;font-size:.98rem;font-weight:700;color:var(--f-ink);
  display:flex;align-items:center;gap:.7rem;font-family:inherit;
}
.fp-faq button span.q{flex:1}
.fp-faq button i{
  flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#f3e8ff;color:var(--f-purple-dk);
  display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:900;
  transition:transform .3s;
}
.fp-faq .it.open button i{transform:rotate(45deg)}
.fp-faq .a{max-height:0;overflow:hidden;transition:max-height .38s cubic-bezier(.4,0,.2,1)}
.fp-faq .a p{padding:0 1rem 1rem;margin:0;font-size:.93rem;color:var(--f-ink-70)}

/* ---------- barra fixa ---------- */
.fp-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:rgba(255,255,255,.97);border-top:1px solid var(--f-line);
  padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));
  box-shadow:0 -8px 24px -12px rgba(28,23,38,.35);
  transform:translateY(120%);transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.fp-bar.on{transform:none}
.fp-bar .fp-cta{margin:0 auto;padding:.85rem 1rem;font-size:1rem;animation:none}

/* ---------- toast de compra ---------- */
/* Compacto de proposito: prova social nao pode competir com a leitura. */
.fp-toast{
  position:fixed;left:.7rem;bottom:5.2rem;z-index:70;max-width:15.5rem;
  background:var(--f-card);border:1px solid var(--f-line);border-radius:.8rem;
  padding:.45rem .6rem;box-shadow:0 10px 22px -12px rgba(28,23,38,.4);
  display:flex;gap:.5rem;align-items:center;
  animation:fpToastIn .45s cubic-bezier(.22,1,.36,1);
}
.fp-toast.out{animation:fpToastOut .35s ease forwards}
@keyframes fpToastIn{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes fpToastOut{to{opacity:0;transform:translateX(-18px)}}
.fp-toast .av{
  flex:0 0 30px;width:30px;height:30px;border-radius:50%;
  background:linear-gradient(140deg,var(--f-purple),var(--f-purple-dk));color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.7rem;
}
.fp-toast .nm{font-weight:800;font-size:.78rem;line-height:1.2}
.fp-toast .ct{font-size:.68rem;color:var(--f-ink-50);line-height:1.2}
.fp-toast .tag{font-size:.6rem;font-weight:800;color:var(--f-green);line-height:1.2}

/* ---------- faixa antes × depois ---------- */
.fp-ad{
  display:flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.2rem 0;margin:1.1rem auto 0;
}
.fp-ad .a,.fp-ad .d{
  font-weight:900;font-size:.92rem;letter-spacing:.06em;
  padding:.15rem .6rem;border-radius:99px;
}
.fp-ad .a{background:#fee2e2;color:var(--f-rose-dk)}
.fp-ad .d{background:#dcfce7;color:var(--f-green-dk)}
.fp-ad .x{font-weight:900;color:var(--f-purple-dk);font-size:1rem}

/* palavra riscada em vermelho: o que o corpo NAO precisa */
.fp .corte{
  text-decoration:line-through;text-decoration-color:var(--f-rose);
  text-decoration-thickness:3px;color:var(--f-ink-50);
}

/* ---------- mockup solto nas secoes ---------- */
.fp-mockup{
  width:100%;max-width:30rem;display:block;margin:1.1rem auto;
  border-radius:1.1rem;
  filter:drop-shadow(0 18px 34px rgba(28,23,38,.3));
}

/* ============================================================
   PENDENTES — blocos de aviso do que ainda falta trazer.
   Desligue com CFG.mostrarPendentes = false antes de publicar.
   ============================================================ */
.fp-todo{
  max-width:46rem;margin:1.1rem auto 0;
  background:#fffbeb;border:2px dashed var(--f-amber);border-radius:1.2rem;
  padding:1.1rem 1.15rem;color:#5c3d05;
}
.fp-todo h3{font-size:1.05rem;color:#8a5a06;margin-bottom:.2rem}
.fp-todo>p{font-size:.86rem;margin:0 0 .8rem}
.fp-todo ol{margin:0;padding-left:1.3rem;display:grid;gap:.5rem}
.fp-todo li{font-size:.9rem;line-height:1.45}
.fp-todo a{color:#8a5a06;font-weight:800}
.fp-todo .tag{
  display:inline-block;font-size:.66rem;font-weight:900;letter-spacing:.06em;
  padding:.08rem .4rem;border-radius:.35rem;margin-right:.4rem;vertical-align:1px;
}
.fp-todo .tag.arte{background:#e0e7ff;color:#3730a3}
.fp-todo .tag.dado{background:#fce7f3;color:#9d174d}
.fp-todo .tag.tec{background:#dbeafe;color:#1e40af}
.fp-todo .off{margin:.9rem 0 0;font-size:.78rem;opacity:.85}
.fp-todo code{background:rgba(0,0,0,.07);padding:.05rem .3rem;border-radius:.25rem;font-size:.9em}

.fp-ph{
  border:2px dashed var(--f-amber);background:repeating-linear-gradient(
    45deg,#fffbeb,#fffbeb 12px,#fef6d8 12px,#fef6d8 24px);
  border-radius:1.1rem;padding:1.15rem 1rem;text-align:center;color:#5c3d05;
  margin:1rem 0;scroll-margin-top:5rem;
}
.fp-ph .h{font-weight:900;font-size:.95rem;color:#8a5a06}
.fp-ph .d{font-size:.86rem;margin-top:.3rem;line-height:1.45}
.fp-ph .n{
  display:inline-block;background:var(--f-amber);color:#fff;font-weight:900;
  width:22px;height:22px;line-height:22px;border-radius:50%;font-size:.78rem;margin-right:.4rem;
}
.fp-dark .fp-ph{background:rgba(245,158,11,.12);color:#fde68a}
.fp-dark .fp-ph .h{color:#fcd34d}

/* ---------- entrada por rolagem ---------- */
.fp-rev{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1)}
.fp-rev.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .fp *{animation:none!important;transition:none!important}
  .fp-rev{opacity:1;transform:none}
}

/* ---------- ativacao do app (Europa: plano gratis + taxa unica) ---------- */
.fp-taxa{
  background:#f7f3fd;border:1px solid #e6dcf7;border-radius:1rem;
  padding:.85rem 1rem;margin:.9rem 0 .2rem;text-align:left;
}
.fp-taxa .tx-top{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;color:var(--f-ink)}
.fp-taxa .tx-top b{font-size:1.35rem;font-weight:900;color:var(--f-purple-dk)}
.fp-taxa .tx-d{font-size:.86rem;line-height:1.5;color:var(--f-ink-70);margin:.4rem 0 .3rem}
.fp-taxa .tx-d b{color:var(--f-ink)}
.fp-taxa .tx-s{font-size:.78rem;color:var(--f-ink-50);margin:0}
