/* Instrumento de posição política evidence-pol-1 (TECH-050 frente 8).
   Só classes pp-*; cores da família (tokens). Nenhum texto abaixo de 12 px. */

.pp-doc { max-width: 56rem; }
.pp-doc section + section { margin-top: 2.5rem; }
.pp-doc h2, .pp-h2 { margin: 0 0 .9rem; color: var(--rvf-ink); font-size: 1.5rem; font-weight: 600; letter-spacing: -.03em; line-height: 1.2; }
.pp-doc h3 { margin: 1.25rem 0 .5rem; color: var(--rvf-ink); font-size: 1.1rem; font-weight: 600; }
.pp-doc p, .pp-doc li, .pp-bloco p, .pp-bloco li, .pp-resumo p { color: var(--rvf-ink-soft); font-size: 16px; line-height: 1.7; }
.pp-doc ul, .pp-doc ol, .pp-bloco ul { padding-left: 1.2rem; }
.pp-doc li + li, .pp-bloco li + li { margin-top: .4rem; }
.pp-doc a:not(.rvf-btn), .pp-resultado a:not(.rvf-btn), .pp-q-intro a:not(.rvf-btn) { color: var(--rvf-accent-paper); text-decoration: underline; text-underline-offset: .2em; }
.pp-doc code, .pp-formula { font: 500 14px/1.6 var(--rv-font-mono); color: var(--rvf-ink); }
.pp-formula { display: block; margin: .75rem 0; padding: .75rem 1rem; border: 1px solid var(--rvf-paper-line); border-radius: var(--rv-radius-sm); overflow-x: auto; white-space: pre-wrap; }

.pp-cta { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; margin-top: 1.75rem; }
.pp-nota { color: var(--rvf-ink-soft); font-size: 14px; line-height: 1.6; }

/* Tabelas do método e das fontes */
.pp-tabela-wrap { overflow-x: auto; margin: 1rem 0; }
.pp-tabela { width: 100%; border-collapse: collapse; font-size: 15px; }
.pp-tabela th, .pp-tabela td { padding: .6rem .7rem; border-bottom: 1px solid var(--rvf-paper-line); color: var(--rvf-ink); text-align: left; vertical-align: top; line-height: 1.5; }
.pp-tabela thead th { color: var(--rvf-ink-soft); font: 600 12px/1.5 var(--rv-font-mono); letter-spacing: .06em; text-transform: uppercase; }
.pp-tabela td { color: var(--rvf-ink-soft); }
.pp-fontes { margin: .5rem 0 0; padding-left: 1.2rem; }
.pp-fontes li { font-size: 14px; }

/* [hidden] vence o display das classes (botões rvf-btn são inline-flex). */
.pp-questionario [hidden], .pp-resultado [hidden] { display: none !important; }

/* Estados de evidência */
.pp-estado { display: inline-flex; align-items: center; gap: .35rem; padding: .1rem .5rem; border: 1px solid currentColor; border-radius: var(--rv-radius-pill); font: 600 12px/1.5 var(--rv-font-mono); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; vertical-align: middle; }
.pp-estado::before { width: 6px; height: 6px; border-radius: 50%; background: currentColor; content: ''; }
.pp-estado--derived { color: var(--rv-profile-evidence-relation); }
.pp-estado--imported { color: var(--rvf-ink-soft); }
.pp-estado--unknown { color: var(--rvf-ink-soft); border-style: dashed; }

/* Questionário */
.pp-questionario { max-width: 52rem; }
.pp-progresso { display: grid; gap: .4rem; margin: 0 0 1.5rem; padding: .75rem 0; background: var(--rvf-paper); border-bottom: 1px solid var(--rvf-paper-line); }
.pp-progresso p { margin: 0; color: var(--rvf-ink); font: 600 14px/1.4 var(--rv-font-mono); }
.pp-progresso progress { width: 100%; height: 8px; accent-color: var(--rvf-accent-paper); }
.pp-q { margin: 0 0 1rem; padding: 1rem 1.1rem 1.1rem; border: 1px solid var(--rvf-paper-line); border-radius: var(--rv-radius-sm); }
.pp-q.is-respondida { border-color: color-mix(in srgb, var(--rvf-accent-paper) 45%, var(--rvf-paper-line)); }
.pp-q legend { float: left; width: 100%; margin: 0 0 .85rem; padding: 0; color: var(--rvf-ink); font-size: 17px; font-weight: 500; line-height: 1.5; }
.pp-q legend + * { clear: both; }
.pp-q-n { display: block; margin-bottom: .2rem; color: var(--rvf-ink-soft); font: 600 12px/1.5 var(--rv-font-mono); letter-spacing: .06em; }
.pp-escala { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)) minmax(0, .9fr); gap: .4rem; }
.pp-opcao { position: relative; display: flex; flex-direction: column; align-items: center; gap: .35rem; min-height: 44px; padding: .55rem .35rem; border: 1px solid var(--rvf-paper-line); border-radius: var(--rv-radius-sm); color: var(--rvf-ink-soft); font-size: 13px; line-height: 1.3; text-align: center; cursor: pointer; }
.pp-opcao input { width: 18px; height: 18px; margin: 0; accent-color: var(--rvf-accent-paper); cursor: pointer; }
.pp-opcao:has(input:checked) { border-color: var(--rvf-accent-paper); color: var(--rvf-ink); font-weight: 600; }
.pp-opcao:has(input:focus-visible) { outline: 2px solid var(--rvf-accent-paper); outline-offset: 2px; }
.pp-opcao--nao-sei { border-style: dashed; }
.pp-rodape { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; margin-top: 1.5rem; }
.pp-aviso, .pp-erro { margin: .75rem 0 0; color: var(--rv-profile-evidence-conflict-dark); font-weight: 600; font-size: 15px; }
.pp-status { min-height: 1.5em; margin: .5rem 0 0; color: var(--rvf-ink-soft); font-size: 14px; }

/* Resultado */
.pp-resultado { max-width: 56rem; }
.pp-resumo { margin-bottom: 1.5rem; }
.pp-resumo p { margin: .35rem 0; }
.pp-dims { display: grid; gap: 1rem; margin: 0 0 2.5rem; padding: 0; list-style: none; }
.pp-dim { padding: 1rem 1.1rem; border: 1px solid var(--rvf-paper-line); border-radius: var(--rv-radius-sm); }
.pp-dim-topo { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; }
.pp-dim-titulo { margin: 0; color: var(--rvf-ink); font-size: 17px; font-weight: 600; }
.pp-dim-score { margin-left: auto; color: var(--rvf-ink); font: 600 14px/1.4 var(--rv-font-mono); font-variant-numeric: tabular-nums; }
.pp-svg { display: block; width: 100%; height: auto; margin-top: .6rem; overflow: visible; }
.pp-svg-trilho { fill: var(--rvf-paper-line); }
.pp-svg-marca { stroke: var(--rvf-ink-soft); stroke-width: 1; opacity: .45; }
.pp-svg-meio { stroke: var(--rvf-ink-soft); stroke-width: 1.5; }
.pp-svg-faixa { fill: color-mix(in srgb, var(--rvf-accent-paper) 55%, transparent); }
.pp-svg-ponto { fill: var(--rvf-accent-paper); stroke: var(--rvf-paper); stroke-width: 2; }
.pp-svg-outro { fill: none; stroke: var(--rv-profile-evidence-relation); stroke-width: 2.5; }
.pp-svg.is-unknown .pp-svg-trilho { fill: none; stroke: var(--rvf-ink-soft); stroke-width: 1; stroke-dasharray: 4 4; }
.pp-polos { display: flex; justify-content: space-between; gap: 1rem; margin-top: .25rem; color: var(--rvf-ink-soft); font: 500 12px/1.4 var(--rv-font-mono); letter-spacing: .04em; text-transform: uppercase; }
.pp-dim-frase { margin: .6rem 0 0; color: var(--rvf-ink); font-size: 15px; }
.pp-dim-meta { margin: .3rem 0 0; color: var(--rvf-ink-soft); font-size: 13px; line-height: 1.6; }
.pp-dim-link { margin: .3rem 0 0; font-size: 13px; }
.pp-conf { font-weight: 600; color: var(--rvf-ink); }
.pp-conf--baixa, .pp-conf--sem_dado { color: var(--rv-profile-evidence-conflict-dark); }
.pp-bloco { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--rvf-paper-line); }
.pp-rotulo { display: block; margin: 1rem 0 .4rem; color: var(--rvf-ink); font-size: 14px; font-weight: 600; }
.pp-input { width: 100%; min-height: 44px; padding: .6rem .75rem; border: 1px solid var(--rv-profile-evidence-input-border); border-radius: var(--rv-radius-sm); background: var(--rv-profile-evidence-input-surface); color: var(--rvf-ink); font: 400 14px/1.4 var(--rv-font-mono); }
.pp-acoes { display: flex; flex-wrap: wrap; gap: .6rem .9rem; margin-top: .9rem; }
.pp-legenda { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: 1rem 0 .5rem; padding: 0; list-style: none; font-size: 14px; color: var(--rvf-ink); }
.pp-legenda li::before { display: inline-block; width: 12px; height: 12px; margin-right: .45rem; vertical-align: -1px; content: ''; }
.pp-legenda-este::before { border-radius: 50%; background: var(--rvf-accent-paper); }
.pp-legenda-outro::before { border: 2px solid var(--rv-profile-evidence-relation); transform: rotate(45deg) scale(.8); }
.pp-avisos li { font-size: 14px; }
.pp-perigo { color: var(--rv-profile-evidence-conflict-dark); }
.pp-vazio p { color: var(--rvf-ink-soft); font-size: 16px; }

@media (max-width: 640px) {
  .pp-escala { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pp-dim-score { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .pp-q, .pp-opcao, .pp-dim { transition: none; }
}
