/* Calculadora de funil reverso · complementa /assets/nt.css (nt-calc, nt-campo, nt-calc-numero...).
   Só cores da marca: azul #1296FC, fundos #141619/#1A1D1F/#1C1C1E, cinzas #5F6A6C/#95A5A6. */

/* --------------------------------------------- partes comuns das calculadoras */
.calc-grupo { border: 0; margin: 0 0 1.4rem; padding: 0; min-width: 0; }
.calc-grupo legend {
  padding: 0; margin: 0 0 .8rem;
  font-family: var(--nt-fonte-titulo); font-weight: 500; font-size: .8rem; letter-spacing: .06em;
  text-transform: uppercase; color: var(--nt-cinza-claro);
}
.nt-campo input[aria-invalid="true"] { border-color: #ffffff; border-style: dashed; }
.calc-resumo {
  margin: 1.3rem 0 0; padding: .9rem 1rem; border-radius: 12px;
  background: var(--nt-azul-fundo); border: 1px solid rgba(18, 150, 252, .35);
  font-family: var(--nt-fonte-titulo); font-weight: 500; color: #ffffff; line-height: 1.5;
}
.calc-cta {
  margin: 1rem 0 0; padding: 1rem 1.1rem; border-radius: 12px;
  background: var(--nt-campo); border: 1px solid var(--nt-borda-forte);
}
.calc-cta p { margin: 0 0 .85rem; font-size: .98rem; line-height: 1.6; color: var(--nt-texto-suave); }
.calc-alavancas { margin: 1.3rem 0 0; }
.calc-alavancas-titulo { margin: 0 0 .5rem; font-family: var(--nt-fonte-titulo); font-weight: 500; color: #ffffff; }
.nt-corpo .calc-alavancas ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.nt-corpo .calc-alavancas li {
  margin: 0; padding: .65rem .85rem; border-radius: 10px;
  border: 1px solid var(--nt-borda-forte); background: rgba(255, 255, 255, .02);
  font-size: .95rem; line-height: 1.5; color: var(--nt-texto-suave);
}
.nt-corpo .calc-alavancas li[data-melhor] { border-color: rgba(18, 150, 252, .6); background: var(--nt-azul-fundo); color: #ffffff; }
.nt-corpo .calc-alavancas li[data-melhor]::before { content: "Maior efeito · "; font-weight: 600; color: var(--nt-azul); }

/* --------------------------------------------- o funil */
.nt-corpo ol.funil-etapas { list-style: none; padding: 0; margin: .6rem 0 0; display: grid; gap: .45rem; }
.nt-corpo .funil-etapa {
  display: grid; grid-template-columns: minmax(6.5rem, 32%) 1fr 4.2rem; align-items: center; gap: .6rem;
  margin: 0;
}
.funil-etapa-nome { font-size: .92rem; line-height: 1.3; color: var(--nt-texto-suave); }
.funil-etapa-barra {
  display: flex; justify-content: center; height: 28px; border-radius: 6px;
  background: rgba(255, 255, 255, .03);
}
.funil-etapa-barra span {
  display: block; height: 100%; border-radius: 6px; background: var(--nt-azul);
  transition: width .25s ease;
}
.funil-etapa:nth-child(2) .funil-etapa-barra span { opacity: .9; }
.funil-etapa:nth-child(3) .funil-etapa-barra span { opacity: .8; }
.funil-etapa:nth-child(4) .funil-etapa-barra span { opacity: .7; }
.funil-etapa:nth-child(5) .funil-etapa-barra span { opacity: .6; }
.funil-etapa strong {
  font-family: var(--nt-fonte-titulo); font-weight: 700; color: #ffffff; text-align: right;
  font-variant-numeric: tabular-nums;
}
.calc-funil .nt-calc-resultado { margin-top: 1.1rem; }

/* celular: números secundários em duas colunas; principais e textos longos ocupam a linha toda */
@media (max-width: 639px) {
  .calc-funil .nt-calc-resultado { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calc-funil .nt-calc-numero-principal, .calc-funil .calc-numero-largo { grid-column: 1 / -1; }
}
