/* v3: confronto recortado, a checagem ao vivo como peça principal, candidatos lado a lado.
   Carrega depois do estilo.css e só sobrescreve o necessário. */
.cand { position: relative; overflow: hidden; isolation: isolate; grid-template-columns: 170px 1fr; grid-template-areas: "cab cab" "rosca contas" "int int" "fita fita";
  padding: 40px 46% 28px 36px; min-height: 540px; align-content: end; }
#cand-lula { padding: 40px 36px 28px 46%; }
.cand::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(70% 60% at 82% 100%, rgba(233, 236, 241, .08), transparent 70%); }
#cand-lula::before { background: radial-gradient(70% 60% at 18% 100%, rgba(233, 236, 241, .08), transparent 70%); }
.cand > :not(.retrato) { position: relative; z-index: 1; }
.cand .retrato { position: absolute; z-index: 0; bottom: 0; right: -1%; left: auto; width: 47%; max-width: 380px; aspect-ratio: auto; margin: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; }
#cand-lula .retrato { right: auto; left: -1%; }
.cand .retrato img { width: 100%; height: auto; object-fit: contain; filter: none; -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent 99%); mask-image: linear-gradient(180deg, #000 72%, transparent 99%); }
.cand .retrato::after { display: none; }
.cand .retrato figcaption { position: absolute; bottom: 8px; right: 10px; font-size: 10px; color: var(--palco-fraco); opacity: .75; }
#cand-lula .retrato figcaption { right: auto; left: 10px; }
.cand-cab { align-self: start; }
.cand .nome { font-size: clamp(40px, 4.4vw, 64px); }
.rosca { width: 170px; height: 170px; }
.rosca .pct { font-size: 44px; }

.feed-cab { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; margin: 64px 0 18px; }
.feed-cab .sec { margin: 0; }
.aovivo { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; padding: 6px 12px 6px 10px; border-radius: 99px; background: var(--tinta); color: #fff; }
.pulso { width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: pulso-v3 1.8s cubic-bezier(.2, .8, .2, 1) infinite; }
@keyframes pulso-v3 { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .7); } 100% { box-shadow: 0 0 0 9px rgba(255, 255, 255, 0); } }
.contador { margin-left: auto; font-family: var(--mono); font-size: 13px; color: var(--tinta-3); }
.chk { grid-template-columns: 172px 1fr; border-radius: 18px; border-color: #DADEE4; box-shadow: 0 1px 0 rgba(14, 17, 22, .03), 0 18px 40px -28px rgba(14, 17, 22, .35); }
.chk.novo { animation: entra-v3 .7s cubic-bezier(.16, 1, .3, 1); }
@keyframes entra-v3 { from { opacity: 0; transform: translateY(-16px); filter: blur(6px); } }
.veredito { padding: 22px 18px; justify-content: flex-start; gap: 14px; }
.veredito .ic { width: 34px; height: 34px; }
.veredito .rot-selo { font-size: 23px; line-height: 1; }
.corpo { padding: 22px 26px 20px; }
.cab { align-items: center; gap: 6px 12px; }
.cab .mini { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; object-position: 50% 8%; background: var(--papel); border: 1px solid var(--linha); flex: none; }
.cab .quem { font-size: 20px; }
.cab .tema { padding: 2px 8px; border-radius: 6px; background: var(--papel); color: var(--tinta-2); }
.chk blockquote { margin: 14px 0 12px; font-size: clamp(19px, 2vw, 25px); line-height: 1.3; letter-spacing: -.005em; quotes: "\201C" "\201D"; }
.chk blockquote::before { content: open-quote; }
.chk blockquote::after { content: close-quote; }
.exp { font-size: 16px; line-height: 1.55; max-width: 72ch; }
.fontes { display: grid; gap: 8px; margin: 2px 0 6px; }
.fonte { border-left: 0; margin: 0; padding: 10px 12px; background: var(--papel); border-radius: 10px; display: flex; gap: 12px; align-items: flex-start; font-size: 14px; }
.fonte-txt { min-width: 0; overflow-wrap: anywhere; }
.fonte-txt q { display: block; color: var(--tinta-2); margin-top: 2px; quotes: "\201C" "\201D"; }
.tipo-f { flex: none; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 6px; border: 1px solid var(--tinta-3); color: var(--tinta); white-space: nowrap; margin-top: 1px; }
.tipo-f.oficial { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.tipo-f.checagem { background: var(--branco); border-color: var(--tinta); }
.tipo-f.imprensa { color: var(--tinta-2); border-color: #C3C8CF; background: var(--branco); }
.selo .ic { width: 14px; height: 14px; flex: none; }

.fichas { display: block; }
.cmp-bloco { background: var(--branco); border: 1px solid var(--linha); border-radius: 20px; padding: 28px 30px; margin-bottom: 18px; }
.cmp-tit { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.cmp-tit h3, .cmp-h { font-family: var(--disp); font-stretch: 75%; font-weight: 800; text-transform: uppercase; font-size: 26px; line-height: 1; margin: 0; letter-spacing: 0; color: var(--tinta); }
.cmp-h { margin-bottom: 8px; }
.pdfs { display: flex; flex-wrap: wrap; gap: 8px; }
.cmp-bloco .abas { margin: 0 0 6px; }
.cmp-cab, .cmp-linha { display: grid; grid-template-columns: 170px 1fr 1fr; gap: 0 32px; }
.cmp-cab { padding: 16px 0 14px; border-bottom: 2px solid var(--tinta); }
.cmp-quem { display: flex; align-items: center; gap: 12px; }
.cmp-quem img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: 50% 8%; background: var(--papel); border: 1px solid var(--linha); }
.cmp-quem .nome { font-family: var(--disp); font-stretch: 75%; font-weight: 900; text-transform: uppercase; font-size: 24px; line-height: 1; }
.cmp-quem .meta { font-size: 13px; color: var(--tinta-3); font-weight: 700; margin-top: 4px; }
.cmp-linha { padding: 22px 0; border-bottom: 1px solid var(--linha); }
.cmp-rot { font-weight: 800; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-3); padding-top: 3px; }
.cmp-linha .props { margin: 0; padding-left: 18px; font-size: 16px; line-height: 1.55; }
.cmp-linha .props li { margin-bottom: 10px; }
.cmp-linha .pg { font-family: var(--mono); font-size: 12px; color: var(--tinta-3); white-space: nowrap; }
.grande { font-family: var(--disp); font-stretch: 75%; font-weight: 900; font-size: 38px; line-height: 1; font-variant-numeric: tabular-nums; margin-bottom: 12px; }
.mini-lista { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 15px; }
.mini-lista li { display: flex; justify-content: space-between; gap: 14px; padding-bottom: 8px; border-bottom: 1px dashed var(--linha); }
.mini-lista li span { color: var(--tinta-3); white-space: nowrap; font-variant-numeric: tabular-nums; font-size: 14px; }
.nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 14px; }
.nums dt { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--tinta-3); }
.nums dd { margin: 4px 0 0; font-family: var(--disp); font-stretch: 75%; font-weight: 800; font-size: 26px; line-height: 1; font-variant-numeric: tabular-nums; }
.barra-lim { height: 10px; background: var(--papel); border: 1px solid var(--linha); border-radius: 99px; overflow: hidden; }
.barra-lim i { display: block; height: 100%; width: 0; background: var(--tinta); border-radius: inherit; transition: width .9s cubic-bezier(.16, 1, .3, 1); }
.cmp-linha .kv { margin: 0; }

@media (max-width: 900px) {
  .cand { padding: 34px 44% 26px 26px; min-height: 480px; }
  #cand-lula { padding: 34px 26px 26px 44%; }
}
@media (max-width: 560px) {
  .cand, #cand-lula { padding: 22px 18px 20px; min-height: 0; grid-template-columns: 132px 1fr; grid-template-areas: "cab cab" "rosca contas" "int int" "fita fita"; gap: 18px 16px; }
  .cand .retrato, #cand-lula .retrato { top: 0; bottom: auto; right: -3%; left: auto; width: 50%; }
  .cand .retrato figcaption, #cand-lula .retrato figcaption { right: 8px; left: auto; bottom: 4px; }
  .cand-cab { padding-right: 50%; min-height: 168px; display: flex; flex-direction: column; justify-content: flex-end; }
  .cand .nome { font-size: 34px; }
  .rosca { width: 132px; height: 132px; }
  .rosca .pct { font-size: 34px; }
  .chk { grid-template-columns: 1fr; }
  .veredito { flex-direction: row; align-items: center; padding: 14px 18px; }
  .veredito .ic { width: 26px; height: 26px; }
  .veredito .rot-selo { font-size: 21px; }
  .corpo { padding: 18px; }
  .contador { margin-left: 0; width: 100%; }
  .cmp-bloco { padding: 18px; }
  .cmp-cab, .cmp-linha { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 14px; }
  .cmp-cab > span:first-child { display: none; }
  .cmp-rot { grid-column: 1 / -1; margin-bottom: 10px; }
  .cmp-quem { flex-direction: column; align-items: flex-start; gap: 8px; }
  .cmp-quem .nome { font-size: 18px; }
  .cmp-linha .props { font-size: 15px; padding-left: 16px; }
  .grande { font-size: 26px; }
  .nums { grid-template-columns: 1fr; gap: 8px; }
  .nums dd { font-size: 22px; }
  .mini-lista li { flex-direction: column; gap: 2px; }
}
/* ajuste v3.1: fotos maiores, conteúdo empilhado do lado de fora (nada cortado) */
.cand { grid-template-columns: 1fr; grid-template-areas: "cab" "rosca" "contas" "int" "fita"; gap: 20px; padding: 40px 50% 28px 36px; min-height: 600px; }
#cand-lula { padding: 40px 36px 28px 50%; }
.cand .retrato { width: 64%; max-width: 440px; right: -4%; }
#cand-lula .retrato { left: -4%; }
.cand .retrato img { -webkit-mask-image: linear-gradient(180deg, #000 50%, transparent 78%), linear-gradient(270deg, #000 62%, transparent 98%); mask-image: linear-gradient(180deg, #000 70%, transparent 99%), linear-gradient(270deg, #000 62%, transparent 98%); -webkit-mask-composite: source-in; mask-composite: intersect; }
#cand-lula .retrato img { -webkit-mask-image: linear-gradient(180deg, #000 50%, transparent 78%), linear-gradient(90deg, #000 62%, transparent 98%); mask-image: linear-gradient(180deg, #000 70%, transparent 99%), linear-gradient(90deg, #000 62%, transparent 98%); }
.rosca { width: 156px; height: 156px; }
.rosca .pct { font-size: 40px; }
.contas { grid-template-columns: 1fr 1fr; gap: 8px 14px; }
.contas .lin { font-size: 14px; }
.contas .lin b { font-size: 22px; min-width: 1.4ch; }
.contas .fraco { grid-column: 1 / -1; }
.intencao { grid-template-columns: auto 1fr; grid-template-areas: "rot num" "barra barra" "sub sub"; }
@media (max-width: 900px) {
  .cand { padding: 34px 48% 26px 26px; min-height: 560px; }
  #cand-lula { padding: 34px 26px 26px 48%; }
}
@media (max-width: 560px) {
  .cand, #cand-lula { padding: 22px 18px 20px; min-height: 0; grid-template-columns: 132px 1fr; grid-template-areas: "cab cab" "rosca contas" "int int" "fita fita"; gap: 18px 16px; }
  .cand .retrato, #cand-lula .retrato { width: 58%; right: -6%; left: auto; }
  .cand .retrato img, #cand-lula .retrato img { -webkit-mask-image: linear-gradient(180deg, #000 50%, transparent 78%), linear-gradient(270deg, #000 60%, transparent 98%); mask-image: linear-gradient(180deg, #000 70%, transparent 99%), linear-gradient(270deg, #000 60%, transparent 98%); }
  .contas { grid-template-columns: 1fr; }
}

.cand .retrato figcaption { right: auto; left: 18%; bottom: 6px; }
#cand-lula .retrato figcaption { left: auto; right: 18%; }
@media (max-width: 560px) { .cand .retrato figcaption, #cand-lula .retrato figcaption { left: auto; right: 10px; bottom: auto; top: 4px; } }
@media (prefers-reduced-motion: reduce) {
  .pulso, .chk.novo { animation: none; }
  .barra-lim i { transition: none; }
}
.cand .retrato figcaption { display: none; }
/* dinheiro da campanha: uma linha por número (em 3 colunas os valores se sobrepunham) */
.cmp-linha .nums { grid-template-columns: 1fr; gap: 0; margin-bottom: 12px; }
.cmp-linha .nums > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--linha); }
.cmp-linha .nums dd { margin: 0; font-size: 24px; white-space: nowrap; }
/* celular: nada pode passar da largura da tela */
html, body { overflow-x: hidden; max-width: 100%; }
img, svg, table { max-width: 100%; }
@media (max-width: 560px) {
  .cmp-cab, .cmp-linha { grid-template-columns: 1fr; gap: 10px 0; }
  .cmp-linha .cmp-rot { font-weight: 800; }
  .cmp-linha > div, .cmp-cab > div { min-width: 0; }
  .cmp-linha .nums dd { font-size: 20px; }
  .tabela-pesq, .pesq table { display: block; overflow-x: auto; }
}
/* pesquisas: nome do instituto em linha própria, acima da barra */
.pesq-linhas li { grid-template-columns: 1fr auto; grid-template-areas: "pi pv" "pb pb" "pc pc"; }
.pesq-linhas .pb { grid-area: pb; }
.pesq-linhas .pv { grid-area: pv; text-align: right; }
.pesq-linhas .pc { grid-area: pc; }
/* candidatos: botões só no celular; no computador, os dois lado a lado */
.cmp-troca { display: none; }
@media (max-width: 560px) {
  .cmp-troca { display: flex; gap: 8px; position: sticky; top: 64px; z-index: 5; background: var(--papel); padding: 10px 0; margin-bottom: 8px; }
  .cmp-btn { flex: 1; min-height: 46px; border: 2px solid var(--tinta); border-radius: 999px; background: transparent; color: var(--tinta); font: 800 15px/1 var(--txt, Manrope, sans-serif); }
  .cmp-btn[aria-pressed="true"] { background: var(--tinta); color: var(--papel); }
  .cmp .cmp-cab > span, .cmp .cmp-linha > .cmp-rot { display: block; }
  .cmp[data-ver="flavio"] .cmp-cab > div:nth-of-type(2), .cmp[data-ver="flavio"] .cmp-linha > div:nth-of-type(2) { display: none; }
  .cmp[data-ver="lula"] .cmp-cab > div:nth-of-type(1), .cmp[data-ver="lula"] .cmp-linha > div:nth-of-type(1) { display: none; }
}
/* agregador de pesquisas recolhido: só abre quem quiser */
.pesq-sanfona > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border: 1px solid var(--linha); border-radius: 14px; background: #fff; }
.pesq-sanfona > summary::-webkit-details-marker { display: none; }
.pesq-sanfona > summary .sec { margin: 0; font-size: clamp(20px, 3vw, 28px); }
.pesq-abrir { flex: none; font-weight: 800; font-size: 14px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--tinta); }
.pesq-sanfona[open] .pesq-abrir { background: var(--tinta); color: #fff; }
.pesq-sanfona[open] > summary { margin-bottom: 16px; }
.pesq-sanfona > summary:focus-visible { outline: 3px solid var(--tinta); outline-offset: 3px; }
.pesq-cada > summary { cursor: pointer; font-weight: 800; font-size: 14px; margin: 10px 0 4px; padding: 8px 14px; border: 1px solid var(--tinta); border-radius: 999px; display: inline-block; list-style: none; }
.pesq-cada > summary::-webkit-details-marker { display: none; }
.pesq-cada[open] > summary { background: var(--tinta); color: #fff; }
.intencao { cursor: default; }
