/* ============================================================================
   QUIZ · motor visual (funil 02 / funil 03) · Crédito360
   Usa só os tokens do funil.css (--fundo, --ouro, --osso, --cinza, --r...).
   Uma pergunta por tela. A resposta responde em <100ms, a tela troca em 260ms.
   ========================================================================== */
:root{
  --quiz-largura:720px;
  --tela-ms:260ms;
}

body.quiz-corpo{padding-bottom:0;min-height:100svh;display:flex;flex-direction:column}

/* --------------------------------------------------------- topo fixo ---- */
.quiz__topo{
  position:sticky;top:0;z-index:20;
  background:rgba(1,12,20,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--linha)}
.quiz__topo-int{
  width:min(100% - var(--gutter)*2,var(--quiz-largura));margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-block:12px}
.quiz__logo{width:clamp(110px,12vw,150px);height:auto}
.quiz__passo{
  margin:0;font-size:clamp(10.5px,.9vw,12px);font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ouro);white-space:nowrap;
  font-variant-numeric:tabular-nums}

/* barra de progresso: largura = pergunta atual / total, sem enfeite */
.quiz__trilho{height:3px;background:var(--linha)}
.quiz__barra{
  height:100%;width:0;background:linear-gradient(90deg,var(--ouro),var(--ouro-luz));
  transition:width .45s var(--expo)}

/* --------------------------------------------------------- palco -------- */
.quiz__palco{
  flex:1;display:grid;align-content:start;
  width:min(100% - var(--gutter)*2,var(--quiz-largura));margin-inline:auto;
  padding-block:clamp(28px,5vw,64px) clamp(40px,6vw,80px)}

.tela{outline:none}
.tela--entra{animation:telaEntra var(--tela-ms) var(--expo) both}
.tela--sai{animation:telaSai 180ms ease both;pointer-events:none}
@keyframes telaEntra{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes telaSai{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}
@media (prefers-reduced-motion:reduce){.tela--entra,.tela--sai{animation:none}}

.tela__kicker{
  margin:0 0 14px;font-size:clamp(10.5px,.9vw,11.5px);font-weight:700;
  letter-spacing:.28em;text-transform:uppercase;color:var(--ouro)}
.tela__titulo{
  margin:0;font-size:clamp(24px,3.2vw,38px);line-height:1.2;font-weight:600;
  color:var(--osso);letter-spacing:-.015em;text-wrap:balance}
.tela__titulo .ouro{font-weight:700}
.tela__sub{margin:14px 0 0;max-width:60ch;color:var(--cinza);font-size:clamp(14px,1.25vw,16px);line-height:1.6}
.tela__sub b{color:var(--osso);font-weight:600}

/* ------------------------------------------------------ tela inicial ---- */
.inicio{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;
  padding-top:clamp(12px,3vw,40px)}
.inicio .tela__titulo{font-family:var(--display);font-size:clamp(26px,4.2vw,44px);
  font-weight:700;font-stretch:105%;text-transform:uppercase;letter-spacing:-.015em;line-height:1.16}
.inicio .tela__sub{margin-inline:auto}
.inicio__cta{margin-top:clamp(18px,2.6vw,30px)}
.inicio__nota{
  margin:14px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;
  font-size:clamp(11px,1vw,12.5px);color:var(--cinza-fraco)}
.inicio__nota span{display:inline-flex;align-items:center;gap:6px}
.inicio__nota svg{width:13px;height:13px;color:var(--ouro)}
.inicio__foto{
  width:min(100%,520px);margin:clamp(18px,3vw,34px) auto 0;
  border-radius:var(--r);border:1px solid var(--ouro-linha);overflow:hidden}
.inicio__foto img{width:100%;height:auto;display:block}

/* --------------------------------------------------------- opções ------- */
.opcoes{list-style:none;margin:clamp(22px,3vw,34px) 0 0;padding:0;display:grid;gap:10px}
.opcao{
  position:relative;display:grid;grid-template-columns:34px 1fr 22px;align-items:center;gap:14px;
  width:100%;padding:16px 18px;text-align:left;
  border-radius:var(--r-mini);border:1px solid var(--linha);background:var(--superficie);
  color:var(--osso);font-size:clamp(14px,1.25vw,16px);font-weight:500;line-height:1.4;
  transition:border-color .16s ease,background .16s ease,transform .12s ease;
  -webkit-tap-highlight-color:transparent}
.opcao:hover{border-color:var(--ouro-fraco);background:var(--superficie-2)}
.opcao:active{transform:scale(.985)}
.opcao__tecla{
  display:grid;place-items:center;width:34px;height:34px;border-radius:9px;
  border:1px solid var(--linha);background:rgba(255,255,255,.04);
  font-size:12px;font-weight:700;color:var(--cinza);letter-spacing:.06em}
.opcao__txt small{display:block;margin-top:2px;font-size:clamp(12px,1.05vw,13.5px);font-weight:400;color:var(--cinza)}
.opcao__ok{
  width:22px;height:22px;border-radius:50%;border:1px solid var(--ouro-fraco);
  display:grid;place-items:center;color:var(--tinta);background:transparent;
  transition:background .14s ease,transform .18s var(--expo)}
.opcao__ok svg{width:12px;height:12px;opacity:0;transition:opacity .12s ease}
/* estado escolhido: responde no clique, antes da tela trocar */
.opcao--escolhida{border-color:var(--ouro);background:linear-gradient(180deg,rgba(198,156,109,.16),rgba(198,156,109,.06))}
.opcao--escolhida .opcao__tecla{border-color:var(--ouro);color:var(--ouro)}
.opcao--escolhida .opcao__ok{background:var(--ouro);border-color:var(--ouro);transform:scale(1.08)}
.opcao--escolhida .opcao__ok svg{opacity:1}
.opcoes--travadas .opcao{pointer-events:none}
.opcoes--travadas .opcao:not(.opcao--escolhida){opacity:.55}

/* --------------------------------------------------------- rodapé da tela */
.tela__pe{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:clamp(18px,2.4vw,26px)}
.voltar{
  display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--pill);
  color:var(--cinza);font-size:13px;font-weight:600;transition:color .2s ease,background .2s ease}
.voltar:hover{color:var(--osso);background:rgba(255,255,255,.05)}
.voltar svg{width:14px;height:14px;transform:rotate(-135deg)}
.tela__dica{margin:0;font-size:12px;color:var(--cinza-fraco)}
@media (hover:none){.tela__dica{display:none}}

/* ------------------------------------------------------ interlúdio ------ */
.interludio{
  padding:clamp(24px,3vw,40px);border-radius:var(--r);
  border:1px solid var(--ouro-linha);background:linear-gradient(180deg,#0E1E2C,#08141F)}
.interludio .tela__kicker{margin-bottom:10px}
.interludio__n{
  margin:6px 0 4px;font-family:var(--display);font-size:clamp(34px,4.6vw,60px);
  font-weight:500;font-stretch:125%;line-height:1;color:var(--osso)}
.interludio__cta{margin-top:clamp(18px,2.4vw,26px)}

/* ------------------------------------------------------- carregando ----- */
.carregando{text-align:center;padding-top:clamp(20px,4vw,48px)}
.carregando__anel{
  width:72px;height:72px;margin:0 auto 22px;border-radius:50%;
  border:2px solid var(--linha);border-top-color:var(--ouro);
  animation:gira 1s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.carregando__anel{animation:none;border-color:var(--ouro)}}
.passos{list-style:none;margin:clamp(22px,3vw,30px) auto 0;padding:0;max-width:420px;
  display:grid;gap:10px;text-align:left}
.passos li{
  display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:center;
  padding:12px 14px;border-radius:var(--r-mini);border:1px solid var(--linha);
  background:var(--superficie);color:var(--cinza-fraco);font-size:14px;
  transition:color .25s ease,border-color .25s ease}
.passos li i{
  width:20px;height:20px;border-radius:50%;border:1px solid var(--linha);
  display:grid;place-items:center;color:var(--tinta);font-style:normal;
  transition:background .2s ease,border-color .2s ease}
.passos li i svg{width:11px;height:11px;opacity:0}
.passos li.feito{color:var(--osso);border-color:var(--ouro-linha)}
.passos li.feito i{background:var(--ouro);border-color:var(--ouro)}
.passos li.feito i svg{opacity:1}
.passos li.agora{color:var(--osso)}
.passos li.agora i{border-color:var(--ouro)}

/* -------------------------------------------------------- resultado ----- */
.resultado{text-align:center}
.resultado__selo{
  display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:var(--pill);
  border:1px solid var(--ouro-fraco);background:rgba(198,156,109,.10);
  font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ouro)}
.resultado__selo svg{width:13px;height:13px;flex:none}
.resultado .tela__titulo{margin-top:16px;font-size:clamp(26px,3.6vw,42px)}
.resultado .tela__sub{margin-inline:auto}
.pontos{
  list-style:none;margin:clamp(22px,3vw,32px) auto 0;padding:0;max-width:560px;
  display:grid;gap:10px;text-align:left}
.pontos li{
  display:grid;grid-template-columns:16px 1fr;gap:12px;align-items:start;
  padding:14px 16px;border-radius:var(--r-mini);border:1px solid var(--linha);
  background:var(--superficie);font-size:clamp(13px,1.15vw,15px);line-height:1.5;color:rgba(255,255,255,.86)}
.pontos li svg{width:14px;height:14px;margin-top:3px;color:var(--ouro)}
.pontos li b{color:var(--osso)}
.resultado__cta{margin-top:clamp(22px,3vw,32px)}
.resultado__nota{margin:12px 0 0;font-size:12px;color:var(--cinza-fraco)}
.refazer{display:inline-block;margin-top:18px;font-size:12.5px;color:var(--cinza-fraco);text-decoration:underline;text-underline-offset:3px}
.refazer:hover{color:var(--osso)}

/* --------------------------------------------------------- rodapé ------- */
.quiz__rodape{
  width:min(100% - var(--gutter)*2,var(--quiz-largura));margin-inline:auto;
  padding-block:18px;border-top:1px solid var(--linha);
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  font-size:11.5px;color:var(--cinza-fraco)}

@media (max-width:620px){
  .opcao{grid-template-columns:30px 1fr 20px;gap:12px;padding:14px 14px}
  .opcao__tecla{width:30px;height:30px}
  .quiz__passo{font-size:10px}
}

/* ═══════════════════ v2 · sem letras espaçadas, abertura, reação ══════════ */
/* O Max não quer texto com tracking largo. Rótulos passam a caixa normal,
   peso alto, espaçamento zero. */
.quiz__passo,.tela__kicker,.opcao__tecla,.resultado__selo,.inicio__nota,.interludio .tela__kicker{letter-spacing:0;text-transform:none}
.quiz__passo{font-size:clamp(12px,1vw,13.5px);font-weight:700;color:var(--ouro)}
.tela__kicker{font-size:clamp(13px,1.1vw,14.5px);font-weight:700;color:var(--ouro);margin-bottom:10px}
.resultado__selo{font-size:12.5px;font-weight:700}
.interludio__n{font-stretch:100%;letter-spacing:-.02em}
.tela__titulo{letter-spacing:-.01em}

/* abertura em cima da pergunta 1: a promessa do funil, curta */
.abertura{margin:0 0 clamp(22px,3vw,34px);padding-bottom:clamp(18px,2.4vw,26px);border-bottom:1px solid var(--linha)}
.abertura__kicker{margin:0 0 8px;font-size:clamp(12px,1vw,13.5px);font-weight:700;color:var(--ouro)}
.abertura__titulo{
  margin:0;font-size:clamp(22px,2.9vw,34px);line-height:1.2;font-weight:700;
  color:var(--osso);letter-spacing:-.015em;text-wrap:balance}
.abertura__titulo .ouro{color:var(--ouro)}
.abertura__sub{margin:10px 0 0;max-width:62ch;color:var(--cinza);font-size:clamp(13.5px,1.15vw,15px);line-height:1.55}

/* reação à resposta: uma linha que aparece por ~1s antes de trocar de tela */
.reacao{
  display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;padding:12px 14px;
  border-radius:var(--r-mini);border:1px solid var(--ouro-linha);background:rgba(198,156,109,.08);
  color:var(--osso);font-size:clamp(13px,1.1vw,14.5px);line-height:1.5;
  animation:reacaoEntra .22s var(--expo) both}
.reacao svg{width:14px;height:14px;margin-top:3px;color:var(--ouro);flex:none}
@keyframes reacaoEntra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.reacao{animation:none}}

/* bloco "o que vem agora", entre os pontos e o botão do resultado */
.entrega{
  margin:clamp(20px,2.6vw,28px) auto 0;max-width:560px;padding:clamp(16px,2vw,22px);
  border-radius:var(--r);border:1px solid var(--ouro-linha);
  background:linear-gradient(180deg,#0E1E2C,#08141F);text-align:left}
.entrega__t{margin:0 0 10px;font-size:clamp(13px,1.1vw,14.5px);font-weight:700;color:var(--ouro)}
.entrega ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.entrega li{
  display:grid;grid-template-columns:14px 1fr;gap:10px;align-items:start;
  font-size:clamp(12.5px,1.05vw,14px);line-height:1.5;color:rgba(255,255,255,.86)}
.entrega li svg{width:13px;height:13px;margin-top:4px;color:var(--ouro)}

/* abertura sem parágrafo: o título do funil e a pergunta 1 ficam mais perto,
   e a linha de baixo continua separando os dois */
.abertura{margin-bottom:clamp(20px,2.6vw,30px);padding-bottom:clamp(16px,2vw,22px)}
