/* Afirmações e perguntas com cadeia de evidência (TECH-050, frente 15).
   Camada sobre evidence.css, eleicao.css e a família rvf-*. Só tokens, nenhum texto
   abaixo de 12 px, sem animação. A figura SVG não escala: rola dentro do quadro. */
.af-h1 { max-width: 30ch; }
.af-lead { max-width: 46rem; }
.af-hero-badges { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0 0; }
.af-hero-badges .rvf-badge { white-space: normal; }

.af-trilha { margin: 0 0 2rem; font-size: 13px; }
.af-trilha ol { display: flex; flex-wrap: wrap; gap: .25rem .5rem; margin: 0; padding: 0; list-style: none; }
.af-trilha li { display: inline-flex; align-items: center; gap: .5rem; color: var(--rv-profile-evidence-content); }
.af-trilha li + li::before { color: var(--rv-profile-evidence-content-muted); content: '/'; }
.af-trilha a { color: var(--rvf-accent-paper); }
.af-trilha [aria-current] { color: var(--rv-profile-evidence-ink); font-weight: 600; }

.af-doc a:focus-visible, .af-svg-wrap:focus-visible, .af-fatores summary:focus-visible { outline: 2px solid var(--rv-profile-evidence-focus); outline-offset: 2px; }

.af-resposta { margin: 0; padding: 1.1rem 1.25rem; border: 1px solid var(--rv-profile-evidence-line-strong); border-left: 4px solid var(--rv-profile-evidence-signal); border-radius: 6px; background: #fff; }
.af-doc .af-resposta-texto { margin: .5rem 0 0; color: var(--rv-profile-evidence-ink); font-size: 18px; font-weight: 600; line-height: 1.55; }
.af-doc .af-resposta-estado { margin: 0; }
.af-doc .af-resposta-claim { margin: .75rem 0 0; font-size: 14px; }

.af-figura { margin: 1rem 0 1.5rem; }
.af-svg-wrap { overflow-x: auto; border: 1px solid var(--rv-profile-evidence-line); border-radius: 6px; background: var(--rv-profile-evidence-canvas); }
.af-svg-wrap svg.af-svg { display: block; width: 720px; max-width: none; height: auto; }
.af-figura figcaption { margin-top: .5rem; color: var(--rv-profile-evidence-content); font-size: 13px; line-height: 1.5; }

.af-svg-fundo { fill: var(--rv-profile-evidence-canvas); }
.af-svg-claim { fill: #fff; stroke: var(--rv-profile-evidence-ink); stroke-width: 1.5; }
.af-svg-card { fill: #fff; stroke: var(--rv-profile-evidence-line-strong); stroke-width: 1; }
.af-svg-card--supporting { stroke: var(--rv-profile-evidence-signal); stroke-width: 1.5; }
.af-svg-card--contradicting { stroke: var(--rv-profile-evidence-conflict); stroke-width: 1.5; }
.af-svg-card--context { stroke: var(--rv-profile-evidence-relation); stroke-dasharray: 5 4; }
.af-svg-card--vazio { fill: transparent; stroke: var(--rv-profile-evidence-relation); stroke-dasharray: 3 4; stroke-width: 1; }
.af-svg-espinha, .af-svg-liga { fill: none; stroke: var(--rv-profile-evidence-relation); stroke-width: 1.5; }
.af-svg-liga--contradicting { stroke: var(--rv-profile-evidence-conflict); }
.af-svg-liga--context { stroke-dasharray: 4 4; }
.af-svg text { fill: var(--rv-profile-evidence-ink); font-family: var(--rv-font-sans); }
.af-svg .af-svg-eyebrow, .af-svg .af-svg-grupo { fill: var(--rv-profile-evidence-content); font: 600 12px var(--rv-font-mono); letter-spacing: .04em; }
.af-svg .af-svg-grupo--contradicting { fill: var(--rv-profile-evidence-conflict-dark); }
.af-svg .af-svg-titulo { font-size: 15px; font-weight: 600; }
.af-svg .af-svg-label { font-size: 14px; }
.af-svg .af-svg-mono { fill: var(--rv-profile-evidence-content); font: 400 12px var(--rv-font-mono); }
.af-svg .af-svg-estado--observed, .af-svg .af-svg-estado--confirmed { fill: var(--rv-profile-evidence-signal); }
.af-svg .af-svg-estado--disputed { fill: var(--rv-profile-evidence-conflict-dark); }
.af-svg .af-svg-estado--derived, .af-svg .af-svg-estado--unknown, .af-svg .af-svg-estado--unsupported { fill: var(--rv-profile-evidence-content); }

.af-itens { display: grid; gap: .75rem; margin: .5rem 0 1rem; padding: 0; list-style: none; }
.af-item { padding: 1rem 1.1rem; border: 1px solid var(--rv-profile-evidence-line); border-left: 3px solid var(--rv-profile-evidence-signal); border-radius: 6px; background: #fff; }
.af-item--contradicting { border-left-color: var(--rv-profile-evidence-conflict); }
.af-item--context { border-left-style: dashed; border-left-color: var(--rv-profile-evidence-relation); }
.af-doc .af-item p { margin: .35rem 0 0; font-size: 15px; line-height: 1.6; }
.af-doc .af-item .af-item-cab { margin: 0; }
.af-doc .af-item .af-item-label { color: var(--rv-profile-evidence-ink); font-weight: 600; }
.af-doc .af-item .af-item-nota { color: var(--rv-profile-evidence-content); font-size: 14px; }
.af-tipo { color: var(--rv-profile-evidence-content); font: 600 12px var(--rv-font-mono); letter-spacing: .04em; text-transform: uppercase; }
.af-trecho { margin: .6rem 0 0; padding: .1rem 0 .1rem 1rem; border-left: 2px solid var(--rv-profile-evidence-relation); }
.af-doc .af-trecho p { color: var(--rv-profile-evidence-ink-soft); font-style: italic; }
.af-entradas, .af-fontes { display: grid; gap: .35rem; margin: .6rem 0 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.5; }
.af-fontes li, .af-entradas li { overflow-wrap: anywhere; }
.af-fontes a { color: var(--rvf-accent-paper); }
.af-fatores { margin-top: .75rem; font-size: 14px; }
.af-fatores summary { color: var(--rvf-accent-paper); cursor: pointer; font-weight: 600; }
.af-fatores dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: .5rem 1rem; margin: .6rem 0 0; }
.af-fatores dt { color: var(--rv-profile-evidence-content); font: 600 12px var(--rv-font-mono); letter-spacing: .04em; text-transform: uppercase; }
.af-fatores dd { margin: .15rem 0 0; color: var(--rv-profile-evidence-ink); overflow-wrap: anywhere; }
.af-doc .af-vazio { color: var(--rv-profile-evidence-content); font-size: 15px; }

.af-estados ul { margin: 0; padding-left: 1.1rem; font-size: 15px; line-height: 1.6; }
.af-doc .af-def { margin: .35rem 0 0; color: var(--rv-profile-evidence-content); font-size: 14px; }

.af-cards { display: grid; gap: .6rem; margin: .5rem 0 0; padding: 0; list-style: none; }
.af-card { padding: .9rem 1.1rem; border: 1px solid var(--rv-profile-evidence-line); border-radius: 6px; background: #fff; }
.af-card-link { color: var(--rv-profile-evidence-ink); font-size: 16px; font-weight: 600; line-height: 1.5; text-decoration-color: var(--rv-profile-evidence-relation); text-underline-offset: 3px; }
.af-card-link:hover { color: var(--rvf-accent-paper); }
.af-doc .af-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; margin: .4rem 0 0; color: var(--rv-profile-evidence-content); font-size: 14px; line-height: 1.5; }
.af-grupo h3 { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }

.af-passos, .af-regras, .af-ver { margin: .5rem 0 0; padding-left: 1.25rem; color: var(--rv-profile-evidence-ink-soft); font-size: 15px; line-height: 1.7; }
.af-ver a { color: var(--rvf-accent-paper); }

@media (max-width: 720px) {
  .af-resposta { padding: 1rem; }
  .af-doc .af-resposta-texto { font-size: 17px; }
  .af-item { padding: .9rem; }
}
