/* Construtor de ICP e persona: complementa nt.css (nt-calc, nt-campo, nt-opcao, nt-barra, nt-botao). Mobile-first. */

.ip-ferramenta [hidden] { display: none !important; }

/* formulário guiado */
.ip-progresso { margin: 0 0 1.2rem; }
.nt-corpo .ip-progresso-texto { margin: 0 0 .45rem; font-family: var(--nt-fonte-titulo); font-weight: 500; font-size: .95rem; color: #95A5A6; }

.ip-etapa { border: 0; margin: 0; padding: 0; min-width: 0; }
.ip-etapa > legend {
  padding: 0; margin: 0 0 1rem; font-family: var(--nt-fonte-titulo); font-weight: 500;
  font-size: clamp(1.2rem, 3.6vw, 1.4rem); color: #ffffff;
}
.ip-etapa > * + * { margin-top: 1.1rem; }
.ip-etapa > legend + * { margin-top: 0; }

.ip-grupo { border: 0; margin-inline: 0; margin-bottom: 0; padding: 0; min-width: 0; } /* sem zerar o topo: o espaço vem de .ip-etapa > * + * */
.ip-grupo > legend {
  padding: 0; margin: 0 0 .5rem; font-family: var(--nt-fonte-titulo); font-weight: 500; font-size: .98rem;
  color: #ffffff; line-height: 1.35;
}
.ip-grupo .nt-opcoes { margin-bottom: 0; }
.ip-grupo .nt-opcao { font-size: .92rem; padding: .45rem .8rem; min-height: 40px; }

.ip-form textarea {
  width: 100%; min-height: 70px; padding: .6rem .8rem; border-radius: 10px; resize: vertical;
  border: 1px solid var(--nt-borda-forte, rgba(255, 255, 255, .14)); background: var(--nt-campo, #101214);
  color: var(--nt-texto, #ECEFF1); font: inherit; font-size: 1rem; line-height: 1.5;
}
.ip-form textarea:focus { border-color: #1296FC; outline: 2px solid rgba(18, 150, 252, .5); outline-offset: 1px; }
.ip-form input::placeholder, .ip-form textarea::placeholder { color: #5F6A6C; opacity: 1; }

.ip-navegacao { margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid var(--nt-borda-forte, rgba(255, 255, 255, .14)); }

.nt-corpo .ip-status:empty { display: none; }
.nt-corpo .ip-status {
  margin: 0 0 1rem; padding: .7rem .95rem; border-radius: 10px;
  background: rgba(18, 150, 252, .08); border-left: 3px solid #1296FC; font-size: .95rem; line-height: 1.5;
}

/* ficha */
.ip-ficha { margin: 0 0 1.6em; }
.ip-ficha-papel {
  background: #1A1D1F; border: 1px solid var(--nt-borda-forte, rgba(255, 255, 255, .14)); border-top: 4px solid #1296FC;
  border-radius: 16px; padding: 1.1rem 1rem 1rem;
}
.ip-ficha-topo { margin-bottom: 1rem; }
.nt-corpo .ip-ficha-selo {
  margin: 0 0 .3rem; font: 500 .75rem var(--nt-fonte-titulo); letter-spacing: .08em; text-transform: uppercase; color: #1296FC;
}
.nt-corpo .ip-ficha-topo h2 { margin: 0 0 .25rem; font-size: clamp(1.3rem, 4.2vw, 1.6rem); overflow-wrap: anywhere; }
.nt-corpo .ip-ficha-data { margin: 0; font-size: .85rem; color: #95A5A6; }

.ip-ficha-resumo {
  background: #141619; border: 1px solid var(--nt-borda, rgba(255, 255, 255, .05)); border-radius: 12px;
  padding: .85rem .95rem; margin-bottom: 1rem;
}
.nt-corpo .ip-rotulo { margin: 0 0 .15rem; font: 500 .72rem var(--nt-fonte-titulo); letter-spacing: .08em; text-transform: uppercase; color: #95A5A6; }
.nt-corpo .ip-frase { margin: 0 0 .7rem; font-size: 1.02rem; line-height: 1.55; color: #ffffff; overflow-wrap: anywhere; }
.nt-corpo .ip-frase:last-child { margin-bottom: 0; }

.ip-ficha-grade { display: grid; gap: .8rem; grid-template-columns: 1fr; }
.ip-bloco {
  background: #1C1C1E; border: 1px solid var(--nt-borda, rgba(255, 255, 255, .05)); border-radius: 12px; padding: .85rem .95rem;
  min-width: 0;
}
.nt-corpo .ip-bloco h3 {
  margin: 0 0 .6rem; padding-left: .6rem; border-left: 3px solid #1296FC;
  font-size: 1rem; line-height: 1.3; color: #ffffff;
}
.ip-itens { margin: 0; display: grid; gap: .45rem; }
.ip-item { display: grid; gap: .05rem; }
.ip-item dt { font-size: .78rem; letter-spacing: .02em; color: #95A5A6; }
.ip-item dd { margin: 0; font-size: .95rem; line-height: 1.45; color: #ECEFF1; overflow-wrap: anywhere; }
.ip-vazio dd, .nt-corpo p.ip-vazio { color: #95A5A6; font-style: italic; }
.nt-corpo .ip-lista { margin: 0; padding-left: 1.1em; font-size: .95rem; line-height: 1.5; }
.nt-corpo .ip-lista li { margin-bottom: .3em; }
.nt-corpo .ip-texto, .nt-corpo .ip-vazio { margin: 0; font-size: .98rem; }
.nt-corpo .ip-ficha-rodape { margin: 1rem 0 0; font-size: .78rem; color: #95A5A6; }

@media (min-width: 640px) {
  .ip-ficha-papel { padding: 1.4rem 1.4rem 1.2rem; }
  .ip-ficha-grade { grid-template-columns: 1fr 1fr; }
  .ip-bloco-lista, .ip-bloco-qualificacao { grid-column: 1 / -1; }
}

/* qualidade e alertas */
.ip-qualidade {
  margin: 1rem 0 0; background: #1C1C1E; border: 1px solid var(--nt-borda, rgba(255, 255, 255, .05));
  border-radius: 12px; padding: .9rem 1rem;
}
.nt-corpo .ip-qualidade-titulo { margin: 0 0 .45rem; font-family: var(--nt-fonte-titulo); font-weight: 500; color: #ffffff; }
.ip-medidor { margin-bottom: .8rem; }
.nt-corpo .ip-alertas { list-style: none; padding: 0; margin: 0; }
.nt-corpo .ip-alerta { margin: 0 0 .55rem; font-size: .93rem; line-height: 1.5; color: #ECEFF1; }
.nt-corpo .ip-alerta:last-child { margin-bottom: 0; }
.ip-alerta-selo {
  display: inline-block; margin-right: .2rem; padding: .05rem .5rem; border-radius: 999px;
  font: 500 .7rem var(--nt-fonte-titulo); letter-spacing: .06em; text-transform: uppercase; vertical-align: .1em;
  border: 1px solid #ECEFF1; color: #ECEFF1;
}
.ip-alerta-dica .ip-alerta-selo { border-color: #5F6A6C; color: #95A5A6; }
.ip-alerta-honesto .ip-alerta-selo { border-color: #1296FC; color: #1296FC; background: rgba(18, 150, 252, .12); }
.nt-corpo .ip-ok { margin: 0; color: #ECEFF1; }

.ip-ficha-acoes { margin: 1rem 0 0; }
.ip-cta { margin-top: 1.2rem; }

/* impressão: a ficha sai sozinha quando a pessoa usa "Imprimir a ficha" (as outras partes recebem .ip-oculto-impressao) */
@page { margin: 14mm; }
@media print {
  .ip-oculto-impressao { display: none !important; }
  html.ip-imprimindo body, html.ip-imprimindo .nt-principal { background: #ffffff; padding: 0; margin: 0; }
  html.ip-imprimindo .nt-artigo { max-width: none; }
  .ip-form, .ip-status, .ip-qualidade, .ip-ficha-acoes, .ip-cta { display: none !important; }
  .ip-ficha-papel { background: #ffffff; color: #111111; border: 0; border-top: 3px solid #1296FC; border-radius: 0; padding: 6pt 0 0; font-size: 9.5pt; line-height: 1.35; }
  .ip-ficha-topo { margin-bottom: 6pt; }
  .nt-corpo .ip-ficha-topo h2 { font-size: 15pt; margin: 0 0 2pt; }
  .ip-ficha-resumo { padding: 6pt 8pt; margin-bottom: 6pt; }
  .nt-corpo .ip-frase { font-size: 10pt; line-height: 1.35; margin-bottom: 4pt; }
  .ip-bloco { padding: 5pt 7pt; }
  .nt-corpo .ip-bloco h3 { font-size: 10pt; margin-bottom: 3pt; }
  .ip-itens { gap: 2pt; }
  .ip-item dt { font-size: 7.5pt; }
  .ip-item dd, .nt-corpo .ip-lista, .nt-corpo .ip-texto { font-size: 9pt; line-height: 1.3; }
  .nt-corpo .ip-lista li { margin-bottom: 1pt; }
  .nt-corpo .ip-ficha-rodape { margin-top: 6pt; font-size: 7.5pt; }
  .nt-corpo .ip-ficha-topo h2, .nt-corpo .ip-bloco h3, .nt-corpo .ip-frase, .ip-item dd, .nt-corpo .ip-lista, .nt-corpo .ip-texto { color: #111111 !important; }
  .nt-corpo .ip-ficha-selo { color: #0b5fa5; }
  .nt-corpo .ip-ficha-data, .ip-item dt, .nt-corpo .ip-rotulo, .nt-corpo .ip-ficha-rodape { color: #555555 !important; }
  .ip-ficha-resumo { background: #f3f5f6; border: 1px solid #cccccc; }
  .ip-ficha-grade { grid-template-columns: 1fr 1fr; gap: 5pt; }
  .ip-bloco-lista, .ip-bloco-qualificacao { grid-column: 1 / -1; }
  .ip-bloco { background: #ffffff; border: 1px solid #bbbbbb; break-inside: avoid; }
  .ip-vazio dd, .nt-corpo p.ip-vazio { color: #777777 !important; }
}
