/* Gerador de roteiro de vídeo — complementa nt.css (nt-calc, nt-campo, nt-destaque-titulo). */

.vp-gerador .vp-linha { margin-top: 1rem; }
.vp-saida { margin-top: 1.4rem; padding-top: 1.1rem; border-top: 1px solid var(--nt-borda-forte); }
.nt-corpo .vp-saida h3 { margin-top: 0; }
.nt-corpo .vp-status { margin: 0 0 .9rem; color: var(--nt-texto-suave); font-size: .95rem; }

.nt-corpo ol.vp-blocos { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .55rem; }
.vp-blocos li {
  display: grid; gap: .25rem; margin: 0; padding: .7rem .9rem; border-radius: 12px;
  background: var(--nt-campo); border: 1px solid var(--nt-borda-forte); border-left: 3px solid var(--nt-azul);
}
.vp-tempo {
  font-family: var(--nt-fonte-titulo); font-size: .78rem; font-weight: 500; letter-spacing: .05em;
  text-transform: uppercase; color: var(--nt-azul);
}
.vp-fala { color: var(--nt-texto); line-height: 1.6; overflow-wrap: anywhere; }

.vp-extras { display: grid; gap: .3rem; margin-bottom: 1rem; }
.nt-corpo .vp-rotulo {
  margin: .5rem 0 0; font-family: var(--nt-fonte-titulo); font-size: .75rem; letter-spacing: .06em;
  text-transform: uppercase; color: var(--nt-cinza-claro);
}
.nt-corpo .vp-texto {
  margin: 0; padding: .6rem .8rem; border-radius: 10px; background: #1A1D1F; border: 1px solid var(--nt-borda);
  color: var(--nt-texto); font-size: .95rem; line-height: 1.55; white-space: pre-line; overflow-wrap: anywhere;
}

.vp-cta { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1rem; }
.nt-corpo .vp-cta p { margin: 0; flex: 1 1 240px; font-size: .95rem; color: var(--nt-texto-suave); }
