/* Calculadora de CAC e payback · 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); }

/* --------------------------------------------- a vida do cliente: pagando o CAC × margem livre */
.cac-vida {
  margin: 1.1rem 0 0; padding: .9rem 1rem; border-radius: 12px;
  background: var(--nt-campo); border: 1px solid var(--nt-borda-forte);
}
.cac-vida-titulo { margin: 0 0 .55rem; font-family: var(--nt-fonte-titulo); font-weight: 500; color: #ffffff; }
.cac-vida-barra { height: 16px; border-radius: 999px; overflow: hidden; background: var(--nt-azul); }
.cac-vida-pagando {
  display: block; height: 100%; width: 0; background: var(--nt-cinza);
  border-right: 2px solid var(--nt-fundo); transition: width .25s ease;
}
.cac-vida-legenda { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem 1rem; margin: .55rem 0 0; font-size: .88rem; color: var(--nt-texto-suave); }
.cac-chave::before {
  content: ""; display: inline-block; width: .75em; height: .75em; margin-right: .4em;
  border-radius: 2px; vertical-align: -.05em;
}
.cac-chave-pagando::before { background: var(--nt-cinza); }
.cac-chave-livre::before { background: var(--nt-azul); }
.cac-chave-livre:empty { display: none; }
.calc-cac .nt-calc-numero b { color: #ffffff; font-weight: 600; }

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