/* Guia da Transparência · "O governo federal em números": cartão da página inicial (govCartaoHome em assets/governo-home.js)
   e a tela de espera da rota #/governo enquanto a página baixa. Cores do Guia; com os tokens do site (--surface, --text, --line),
   o alto contraste continua valendo. A página em si tem a própria folha (assets/governo.css), dentro de um Shadow DOM. */
.gvh{display:grid;grid-template-columns:1fr;gap:20px;margin:28px 0 8px;padding:22px;border-radius:24px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-2);position:relative;overflow:hidden}
.gvh::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--green) 0 33%,var(--yellow) 33% 66%,var(--blue-70) 66%)}
@media (min-width:880px){.gvh{grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:28px;padding:28px 32px}}
.gvh-k{display:flex;align-items:center;gap:8px;margin:0;font-size:.8rem;font-weight:700;color:var(--muted);letter-spacing:.02em}
.gvh-selo{display:inline-flex;padding:2px 9px;border-radius:999px;background:var(--yellow);color:#071D41;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.gvh h2{margin:6px 0 6px;font-size:clamp(1.45rem,3.4vw,2rem);line-height:1.12;letter-spacing:-.02em;color:var(--blue-90)}
.gvh-lead{margin:0 0 14px;color:var(--text);max-width:60ch}
.gvh-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:520px){.gvh-nums{grid-template-columns:1fr}}
.gvh-num{display:flex;flex-direction:column;gap:2px;min-height:96px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--blue-5);color:var(--text);text-decoration:none;transition:transform .25s cubic-bezier(.22,1,.36,1),border-color .25s}
.gvh-num:hover{transform:translateY(-3px);border-color:var(--primary)}
.gvh-num:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.gvh-num b{font-size:1.45rem;font-weight:800;line-height:1.15;color:var(--blue-80)}
.gvh-num span{font-weight:700;color:var(--blue-90);font-size:.9rem}
.gvh-num small{font-size:.74rem;color:var(--muted);line-height:1.35}
.gvh-novo{display:inline-block;margin-top:3px;padding:1px 8px;border-radius:999px;background:var(--yellow);color:#071D41;font-style:normal;font-weight:800;font-size:.68rem}
.gvh-esq{display:block;width:70%;height:22px;border-radius:6px;background:linear-gradient(90deg,var(--line),var(--blue-10),var(--line));background-size:200% 100%;animation:gvhBrilho 1.4s linear infinite}
@keyframes gvhBrilho{to{background-position:-200% 0}}
.gvh-mem{display:flex;flex-direction:column;gap:8px;margin:14px 0 0}
.gvh-lembra{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:44px;padding:8px 14px;border-radius:12px;background:var(--blue-5);border:1px solid var(--line);color:var(--blue-90);text-decoration:none;font-size:.92rem;align-self:flex-start}
.gvh-lembra b{color:var(--blue-80)}
.gvh-lembra span{color:var(--primary);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.gvh-lembra:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.gvh-cid{display:grid;gap:4px;max-width:480px}
.gvh-cid label{font-weight:700;color:var(--blue-90);font-size:.92rem}
.gvh-cid>span{display:flex;gap:8px}
.gvh-cid input{flex:1;min-width:0;min-height:44px;padding:0 14px;border:2px solid var(--gray-20);border-radius:12px;font:inherit;background:var(--surface);color:var(--text)}
.gvh-cid input:focus{outline:3px solid var(--focus);outline-offset:2px;border-color:var(--primary)}
.gvh-cid small{color:var(--muted);font-size:.78rem}
.gvh-acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.gvh-acoes .btn{min-height:44px}
.gvh-palp{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-content:start;padding:20px;border-radius:20px;background:radial-gradient(circle at 85% 15%,rgba(255,205,7,.3),transparent 50%),linear-gradient(135deg,#071D41,#1351B4);color:#fff}
.gvh-pk{grid-column:1/-1;margin:0;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#FFE27A}
.gvh-palp label{grid-column:1;font-size:1.08rem;font-weight:600;line-height:1.35}
.gvh-palp label b{color:#FFE27A}
.gvh-palp output{grid-column:2;grid-row:2;align-self:end;font-size:1.6rem;font-weight:800;color:#FFCD07;min-width:4.5ch;text-align:right}
.gvh-palp input{grid-column:1/-1;width:100%;height:44px;margin:0;accent-color:#FFCD07;cursor:pointer}
.gvh-palp .btn{grid-column:1/-1;justify-self:start;min-height:48px}
.gvh-palp small{grid-column:1/-1;color:#C5D4EB;font-size:.76rem;line-height:1.4}
[data-theme="contrast"] .gvh-palp{background:#000;border:2px solid #fff}
[data-theme="contrast"] .gvh h2,[data-theme="contrast"] .gvh-num b,[data-theme="contrast"] .gvh-num span,[data-theme="contrast"] .gvh-lembra,[data-theme="contrast"] .gvh-lembra b,[data-theme="contrast"] .gvh-cid label{color:#fff}
/* rota #/governo: espera enquanto a página baixa */
.gov-host{display:block;min-height:60vh}
.gov-carrega{display:flex;align-items:center;gap:12px;margin:24px 0;padding:18px 20px;border-radius:20px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font-weight:600}
.gov-carrega-b{width:22px;height:22px;border-radius:50%;border:3px solid var(--blue-10);border-top-color:var(--blue-70);animation:gvhGira .8s linear infinite}
@keyframes gvhGira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.gvh-num,.gvh-esq,.gov-carrega-b{animation:none!important;transition:none!important}}
/* menu de topo: com "Governo em números" são 7 entradas e a barra tem no máximo 1232 px. A partir de 1280 px o rótulo quebra em
   duas linhas e o selo "novo" some (cabe exato). Entre 961 e 1279 px não cabe nem assim: o item sai da barra e a página fica no
   grupo Fiscalize > Dinheiro público ("Para onde vai o dinheiro federal"), na busca e na home. No celular (menu em lista) aparece inteiro. */
@media (min-width:961px){
  #menu>.menu-top[data-route="governo"]>span{display:inline-block;max-width:88px;font-size:.88em;white-space:normal;line-height:1.15;text-align:left}
  #menu>.menu-top[data-route="governo"] .menu-novo{display:none}
}
@media (min-width:961px) and (max-width:1279px){#menu>.menu-top[data-route="governo"]{display:none}}

.gvh-comb{position:relative;flex:1;min-width:0;display:block}
.gvh-comb input{width:100%}
.gvh-sug{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;max-height:300px;overflow:auto;background:var(--surface);border:1px solid var(--gray-20);border-radius:12px;box-shadow:0 12px 28px rgba(7,29,65,.18)}
.gvh-sug li{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:8px;cursor:pointer;color:var(--text)}
.gvh-sug li[aria-selected="true"],.gvh-sug li:hover{background:var(--blue-5,#eef3fb)}
.gvh-sug li span{color:var(--muted);font-size:.82rem;font-weight:700}
.gvh-sug li.vazio{cursor:default;color:var(--muted);font-size:.86rem}
.gvh-sug li.vazio:hover{background:none}
