/* Guia da Transparência · cabeçalho e navegação (02/11/2026)
   Carrega por último: reescreve o topo que estava espalhado em styles.css, editorial.css, apoio.css, governo-home.css e
   eleicoes-tema.css, sem apagar aquelas regras. Para voltar ao topo antigo, basta tirar este arquivo do index.html
   (e as marcações novas do topo, que ficam inofensivas sem ele).

   Decisões de UX
   - Faixa escura: só identidade, presença, frescor dos dados, "Apoie" e UM botão "Acessibilidade" (letra, contraste e tema
     num painel). Antes eram sete controles soltos que se espremiam e cortavam o selo dos dados ("Dados d…").
   - Notebook: as 7 entradas cabem em uma linha de 961 a 1440 px ("Governo em números" sumia entre 961 e 1279 px).
     Ao rolar para baixo o topo encolhe para só a barra de navegação (52 px), com a marca e a busca nas pontas.
   - Seta de abrir menu é chevron (v), não flecha (↓), que lembra "baixar".
   - Celular: folha "Mais" com título e Fechar, linhas de 52 px com ícone em placa, ajustes em controles grandes;
     barra de baixo com o item ativo numa pílula.
   Cores só do Guia (gov.br): #071D41, #0C326F, #1351B4, #FFCD07, #168821. Movimento só em transform e opacity. */

:root{--marca-h:68px;--nav-h:52px;--topo-fixo:0px}

/* ---------- 0. Topo preso de verdade ----------
   O html e o body tinham overflow-x:hidden, o que transforma o body numa caixa de rolagem e anula o position:sticky:
   o cabeçalho ia embora com a página (no notebook e no celular). "clip" corta o que vaza para os lados sem criar caixa
   de rolagem, então o topo volta a ficar preso. Navegador antigo sem "clip" continua como antes. */
@supports (overflow:clip){html,body{overflow-x:clip}}
/* Quanto do topo está à vista, para quem fica preso abaixo dele e para a rolagem até uma parte da página (?ir=) */
@media (min-width:961px){
  :root{--topo-fixo:calc(var(--marca-h) + var(--nav-h) + 1px)}
  body.topo-compacto{--topo-fixo:calc(var(--nav-h) + 1px)}
}
@media (max-width:960px){
  :root{--topo-fixo:var(--topo-h,60px)}
  body.topo-escondido{--topo-fixo:0px}
}
html{scroll-padding-top:calc(var(--nav-h) + 16px)}
@media (max-width:960px){html{scroll-padding-top:16px}}
.vp-col-mapa{top:calc(var(--topo-fixo) + 12px);transition:top .3s}
.ap-sim{top:calc(var(--topo-fixo) + 8px)}

/* ---------- 1. Faixa institucional (escura) ---------- */
.topstrip{height:4px}
.utility{position:relative;z-index:60;font-size:.8rem;letter-spacing:.005em}
.utility-inner{min-height:40px;gap:14px}
.utility-note{gap:8px;color:#dfe9f8}
.utility-note strong{color:#fff;font-weight:700}
.utility-actions{align-items:center;gap:6px;flex:none}
.utility .link-btn{min-height:30px;padding:4px 12px;border-radius:999px;font-weight:600;line-height:1.2;transition:background .18s,color .18s,border-color .18s}
.utility .link-btn:hover{background:rgba(255,255,255,.1)}
.utility .link-btn:focus-visible{outline:2px solid #FFCD07;outline-offset:2px}
.utility-online{padding:3px 10px;background:rgba(94,226,107,.14);font-size:.78rem}
.utility-status{gap:6px;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.06);color:#dfe9f8;font-size:.76rem}
.utility-status:hover{background:rgba(255,255,255,.12)}
.utility-status .ico{width:13px;height:13px}
/* Apoie: contorno amarelo discreto (pedido de 09/10/2026), com o texto sempre que couber */
.utility .utility-apoio{min-height:30px;padding:4px 13px !important;border-radius:999px}

/* Botão e painel "Acessibilidade" */
.ajustes{position:relative;display:flex}
.ajustes-btn{gap:7px !important}
.ajustes-aa{display:inline-grid;place-items:center;min-width:24px;height:20px;padding:0 4px;border-radius:6px;background:rgba(255,255,255,.14);color:#fff;font-size:.74rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.ajustes-seta{width:14px !important;height:14px !important;opacity:.8;transition:transform .2s}
.ajustes.aberto .ajustes-btn{background:rgba(255,255,255,.14)}
.ajustes.aberto .ajustes-seta{transform:rotate(180deg)}
.ajustes-painel{position:absolute;top:calc(100% + 8px);right:0;z-index:120;width:300px;max-width:calc(100vw - 32px);padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);font-size:.9rem;box-shadow:0 24px 48px -18px rgba(7,29,65,.35),0 2px 6px rgba(7,29,65,.08);animation:cabEntra .18s cubic-bezier(.2,.8,.2,1)}
.ajustes-painel[hidden]{display:none}
.ajustes-titulo{margin:0 0 10px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.ajustes-linha{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:2px 0 10px;border-bottom:1px solid var(--line)}
.ajustes-rot{font-weight:600}
.ajustes-letra{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.ajustes-painel .ajustes-letra .link-btn{min-width:44px;min-height:40px;justify-content:center;padding:0 8px;border-radius:9px;color:var(--primary-strong);font-size:.95rem;font-weight:800}
.ajustes-painel .ajustes-letra .link-btn:hover:not(:disabled){background:var(--surface)}
.ajustes-painel .link-btn:disabled{opacity:.4;cursor:default}
.ajustes-letra output{min-width:52px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
/* Interruptores: o estado ligado vem do aria-pressed que o app.js já mantém */
.ajustes-painel .ajustes-chave,.mais-chave{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:52px;margin:0;padding:8px 66px 8px 4px;border:0;border-radius:10px;background:none;color:var(--text);font-size:.92rem;font-weight:600;text-align:left;cursor:pointer}
.ajustes-painel .ajustes-chave{border-bottom:1px solid var(--line);border-radius:0}
.ajustes-painel .ajustes-chave .ico,.mais-chave .ico{width:20px;height:20px;color:var(--primary)}
.ajustes-painel .ajustes-chave:hover{background:none}
.ajustes-painel .ajustes-chave::before,.mais-chave::before{content:"";position:absolute;right:4px;top:50%;width:46px;height:28px;margin-top:-14px;border-radius:999px;background:var(--gray-20);transition:background .2s}
.ajustes-painel .ajustes-chave::after,.mais-chave::after{content:"";position:absolute;right:24px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.ajustes-painel .ajustes-chave[aria-pressed="true"],.mais-chave[aria-pressed="true"]{background:none;color:var(--text)}
.ajustes-painel .ajustes-chave[aria-pressed="true"]::before,.mais-chave[aria-pressed="true"]::before{background:var(--green)}
.ajustes-painel .ajustes-chave[aria-pressed="true"]::after,.mais-chave[aria-pressed="true"]::after{transform:translateX(17px)}
.ajustes-nota{margin:10px 2px 0;color:var(--muted);font-size:.76rem}
@keyframes cabEntra{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
body.el-escuro .ajustes-painel{--surface:#0A1D3F;--bg:#051329;--text:#fff;--muted:#C5D4EB;--line:#1C3769;--primary:#FFCD07;--primary-strong:#FFCD07;--gray-20:#2B4C86;box-shadow:0 24px 48px -16px rgba(0,0,0,.8)}
[data-theme="contrast"] .ajustes-painel{background:#000;color:#fff;border:2px solid #fff;box-shadow:none}
[data-theme="contrast"] :is(.ajustes-painel .ajustes-chave,.mais-chave)::before{background:#000;border:2px solid #fff}
[data-theme="contrast"] :is(.ajustes-painel .ajustes-chave,.mais-chave)[aria-pressed="true"]::before{background:#FFCD07;border-color:#FFCD07}
[data-theme="contrast"] :is(.ajustes-painel .ajustes-chave,.mais-chave)::after{background:#fff}
[data-theme="contrast"] :is(.ajustes-painel .ajustes-chave,.mais-chave)[aria-pressed="true"]::after{background:#000}
[data-theme="contrast"] .ajustes-aa{background:#000;border:1px solid #fff}

/* ---------- 2. Faixa do logo e da busca ---------- */
.header{transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s}
.header-inner{min-height:68px;gap:24px}
.header-search{max-width:560px;min-height:46px;padding:2px 4px 2px 16px;background:var(--bg);border-color:var(--line);transition:border-color .2s,box-shadow .2s,background .2s}
.header-search:hover{border-color:var(--blue-20)}
.header-search:focus-within{background:var(--surface)}
.header-search input{font-size:.94rem}

/* ---------- 3. Barra de navegação ---------- */
.menu{border-top:1px solid var(--line)}
.menu-marca,.menu-buscar{display:none}
.menu-top{font-weight:600}
.menu-seta .ico{transform:none !important;width:16px !important;height:16px !important}
.menu-gaveta-bt .ico{transform:none}

@media (min-width:961px){
  .menu-linha{position:relative;display:flex;align-items:center;gap:0}
  .menu-shell{position:static;flex:1;min-width:0;padding:0;max-width:none}
  .menu-inner{gap:2px}
  .menu-top{position:relative;min-height:var(--nav-h);padding:0 14px;border-bottom:0 !important;border-radius:0;color:var(--blue-80);font-size:.9rem;font-weight:600;background:none !important;transition:color .18s}
  .menu-top .ico{color:var(--primary);opacity:.9}
  /* sublinhado que cresce do centro: claro no passar do mouse, firme na seção aberta */
  .menu-top::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--primary);transform:scaleX(0);transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity .2s;opacity:.35}
  .menu-top:hover{color:var(--primary)}
  .menu-top:hover::after{transform:scaleX(1)}
  .menu-grupo.aberto>.menu-top{color:var(--primary)}
  .menu-grupo.aberto>.menu-top::after{transform:scaleX(1)}
  .menu-grupo.ativo>.menu-top,a.menu-top.active{color:var(--primary-strong);font-weight:700}
  .menu-grupo.ativo>.menu-top::after,a.menu-top.active::after{transform:scaleX(1);opacity:1}
  .menu-top:focus-visible{outline-offset:-3px;border-radius:10px}
  /* "Governo em números" volta para a barra em qualquer largura, numa linha só (governo-home.css o escondia até 1279 px) */
  #menu>.menu-top[data-route="governo"]{display:inline-flex}
  #menu>.menu-top[data-route="governo"]>span{display:inline;max-width:none;font-size:inherit;white-space:nowrap;line-height:inherit;text-align:inherit}

  /* Painéis que abrem: cartão flutuante, entrada curta */
  .menu-drop{top:calc(100% + 1px);min-width:320px;padding:8px;border:1px solid var(--line);border-radius:0 0 18px 18px;box-shadow:0 28px 56px -22px rgba(7,29,65,.32),0 2px 6px rgba(7,29,65,.06)}
  .menu-grupo.aberto .menu-drop{animation:cabEntra .2s cubic-bezier(.2,.8,.2,1)}
  .menu-drop-mega{left:24px;right:24px;padding:14px;gap:6px}
  .menu-grupo:has(.menu-drop-tempo){position:static}
  .menu-drop-tempo{left:0;right:0;width:min(780px,calc(100% - 48px));margin-inline:auto;padding:12px;gap:0 14px}
  .menu-drop a{gap:12px;min-height:48px;padding:7px 10px;border-radius:12px;font-size:.9rem;font-weight:600;color:var(--text);white-space:normal;transition:background .15s,color .15s}
  .menu-drop a>.ico{display:inline-grid;place-items:center;width:34px;height:34px;padding:8px;border-radius:10px;background:var(--blue-5);color:var(--primary);transition:background .15s,color .15s}
  .menu-drop a:hover{background:var(--blue-5);color:var(--primary-strong)}
  .menu-drop a:hover>.ico{background:var(--surface)}
  .menu-drop a.active{background:var(--blue-5);color:var(--primary-strong)}
  .menu-drop a.active>.ico{background:var(--primary);color:#fff}
  .menu-secao{padding:2px 4px 2px 12px}
  .menu-secao-titulo{padding:6px 10px 8px;font-size:.7rem;letter-spacing:.08em}
  /* Eleições: sem a linha do tempo pendurada nos ícones (com ícone em placa ela cruzava as placas) */
  .menu-etapa::before{display:none}
  .menu .menu-etapa a{margin-left:0}
  .menu-etapa-titulo{padding:6px 10px 10px}
  .menu-drop-tempo .menu-etapa+.menu-etapa{padding-left:14px}

  /* Topo compacto: a faixa do logo sobe, a barra fica; marca e busca entram nas pontas */
  .menu-marca,.menu-buscar{display:flex;align-items:center;flex:none;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .2s,max-width .3s cubic-bezier(.2,.8,.2,1),margin .3s,visibility .2s}
  .menu-marca{max-width:0;border-radius:10px}
  .menu-marca img{display:block;width:34px;height:34px}
  .menu-buscar{justify-content:center;max-width:0;width:44px;height:44px;padding:0;border:1px solid transparent;border-radius:50%;background:var(--bg);color:var(--muted);cursor:pointer}
  .menu-buscar>span:not(.ico){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .menu-buscar .ico{width:18px;height:18px;color:var(--primary)}
  .menu-buscar:hover{border-color:var(--blue-20);color:var(--text)}
  body.topo-compacto .header{transform:translateY(calc(-1 * var(--marca-h)));box-shadow:0 10px 30px -18px rgba(7,29,65,.45)}
  body.topo-compacto .header-inner{visibility:hidden}
  body.topo-compacto .menu{border-top-color:transparent}
  body.topo-compacto :is(.menu-marca,.menu-buscar){opacity:1;visibility:visible}
  body.topo-compacto .menu-marca{max-width:44px;margin-right:12px}
  body.topo-compacto .menu-buscar{max-width:44px;margin-left:8px;border-color:var(--line)}

  /* A barra se mede (app.js, ajustaNav) e escolhe o primeiro arranjo em que os 7 itens cabem inteiros, em qualquer largura
     e com qualquer tamanho de letra: 1) com ícones; 2) sem ícones e mais justos; 3) em duas linhas (letra muito grande).
     No topo compacto, se não couber a marca, ela sai ("Início" já está na barra); se nem a busca couber, sai também. */
  body.nav-sem-icones .menu-top{padding:0 10px;gap:5px;font-size:.86rem}
  body.nav-sem-icones .menu-top::after{left:8px;right:8px}
  body.nav-sem-icones :is(#menu>.menu-top,#menu>.menu-grupo>.menu-top)>.ico{display:none}
  body.nav-quebra .menu-inner{flex-wrap:wrap;row-gap:0}
  body.nav-quebra .menu-top{min-height:46px}
  body.nav-sem-marca .menu-marca,body.nav-sem-busca .menu-buscar{display:none}
}
/* Apoie vira só o coração quando a faixa aperta de verdade (antes já virava em 1180 px) */
@media (min-width:1001px) and (max-width:1180px){
  .utility .utility-apoio span:not(.ico){position:static;width:auto;height:auto;overflow:visible;clip:auto}
  .utility .utility-apoio{width:auto;height:auto;padding:4px 13px !important;gap:6px;border-radius:999px}
}

/* Celular e tablet: o topo some ao rolar para baixo e volta ao rolar para cima (a navegação fica na barra de baixo
   no celular e no botão Menu no tablet) */
@media (max-width:960px){
  body.topo-escondido:not(.mais-aberto) .header{transform:translateY(calc(-100% - 4px))}
}

/* ---------- 4. Tablet (761 a 960 px): barra "Você está em" + Menu ---------- */
@media (min-width:761px) and (max-width:960px){
  .menu-linha{display:contents}
  .menu-mobile-bar{min-height:58px}
  .menu-mobile-location small{font-size:.72rem;letter-spacing:.02em}
  .menu-mobile-location strong{font-size:.98rem}
  .menu-toggle{min-height:44px;padding:8px 16px;border:0;border-radius:999px;background:var(--primary);color:#fff;transition:background .18s}
  .menu-toggle:hover{background:var(--primary-strong)}
  .menu-toggle .ico{color:#fff}
  .menu-toggle-chevron{transform:rotate(90deg)}
  .menu.menu-aberto .menu-toggle-chevron{transform:rotate(-90deg)}
  .menu-shell{padding:10px 24px 18px;background:transparent;border:0;box-shadow:none}
  .menu.menu-aberto .menu-shell{animation:cabEntra .2s cubic-bezier(.2,.8,.2,1)}
  .menu-inner{gap:2px;padding:8px;border-radius:18px;box-shadow:0 28px 56px -22px rgba(7,29,65,.35)}
  [data-theme="contrast"] .menu-toggle{background:#000;color:#fff;border:2px solid #fff}
  body.el-escuro .menu-toggle{background:var(--n-caneta);color:var(--n-tinta-caneta)}
  body.el-escuro .menu-toggle .ico{color:var(--n-tinta-caneta)}
}

/* ---------- 5. Lista de navegação no celular e no tablet (folha "Mais" e painel do Menu) ---------- */
@media (max-width:960px){
  .menu-top{gap:12px;min-height:52px;padding:8px 10px;border-radius:14px;color:var(--text);font-size:.98rem;font-weight:600}
  .menu-top>.ico{display:inline-grid;place-items:center;width:38px !important;height:38px !important;padding:9px;border-radius:11px;background:var(--blue-5);color:var(--primary)}
  .menu-top:hover{background:var(--blue-5)}
  .menu-grupo.ativo>.menu-top,a.menu-top.active{background:var(--blue-5);color:var(--primary-strong);font-weight:700}
  .menu-grupo.ativo>.menu-top>.ico,a.menu-top.active>.ico{background:var(--primary);color:#fff}
  .menu-grupo.aberto>.menu-top{background:none;color:var(--primary-strong)}
  .menu-seta{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;color:var(--muted);transition:transform .22s cubic-bezier(.2,.8,.2,1),background .18s}
  .menu-grupo.aberto .menu-seta{background:var(--blue-5);color:var(--primary)}
  /* Submenu: lista recuada com um fio sob a placa do ícone, sem caixa cinza */
  .menu-drop,.menu-drop-mega,.menu-drop-tempo{margin:0 0 8px 28px;padding:2px 0 4px 14px;background:none;border:0;border-left:2px solid var(--blue-10);border-radius:0}
  .menu-grupo.aberto :is(.menu-drop,.menu-drop-mega,.menu-drop-tempo){animation:cabEntra .2s cubic-bezier(.2,.8,.2,1)}
  .menu-drop a{gap:12px;min-height:46px;padding:8px 10px;border-radius:12px;color:var(--text);font-size:.92rem;font-weight:500}
  .menu-drop a .ico{width:20px;height:20px;color:var(--primary)}
  .menu-drop a.active{background:var(--blue-5);color:var(--primary-strong);font-weight:700}
  .menu-secao-titulo{padding:10px 10px 4px;font-size:.7rem;letter-spacing:.08em}
  .menu-secao+.menu-secao{margin-top:2px;border-top:0}
  .menu-etapa::before{display:none}
  .menu .menu-etapa a{margin-left:0}
  .menu-etapa-titulo{padding:8px 10px 6px}
  .menu-etapa-n{width:24px;height:24px}
  .menu-drop-tempo .menu-etapa+.menu-etapa{margin-top:4px;padding-top:4px;border-top:0}
  .menu-gaveta-bt{min-height:46px;padding:8px 10px;border-radius:12px;color:var(--primary-strong);font-size:.74rem}
  .menu-gaveta-bt:hover{background:var(--blue-5)}
  .menu-gaveta-bt .ico{width:18px;height:18px;transform:none !important;transition:transform .22s}
  .menu-gaveta.aberta .menu-gaveta-bt .ico{transform:rotate(180deg) !important}
  [data-theme="contrast"] .menu-top>.ico{background:#000;border:1px solid #fff;color:#FFCD07}
  [data-theme="contrast"] :is(.menu-grupo.ativo>.menu-top,a.menu-top.active)>.ico{background:#FFCD07;color:#000}
  [data-theme="contrast"] :is(.menu-drop,.menu-drop-mega,.menu-drop-tempo){border-left-color:#fff}
}

/* ---------- 6. Celular (até 760 px) ---------- */
@media (max-width:760px){
  /* topo de uma linha: logo e lupa, sem encostar na borda */
  .header-inner{min-height:60px;padding:8px 16px;gap:12px}
  .brand-logo{width:132px !important;height:44px !important}
  .header-search{flex:0 0 44px !important;width:44px !important;height:44px;max-width:44px !important;min-height:0;margin:0 0 0 auto !important;padding:0 !important;border-radius:12px;background:var(--blue-5);border-color:transparent}
  .header-search>.ico{width:21px;height:21px}

  /* folha "Mais" */
  .menu-linha{display:contents}
  .menu-shell{padding:0 12px 20px;border-radius:24px 24px 0 0;box-shadow:0 -20px 50px rgba(7,29,65,.3)}
  .menu.menu-aberto .menu-shell{animation:cabSobe .26s cubic-bezier(.2,.8,.2,1)}
  .mais-cabeca{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:1fr 44px;align-items:center;margin:0 -12px 6px;padding:18px 12px 8px 22px;background:var(--surface);border-bottom:1px solid var(--line)}
  .mais-alca{position:absolute;top:7px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:var(--gray-20)}
  .mais-nome{font-size:1.1rem;font-weight:800;color:var(--blue-80)}
  .mais-fechar{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--blue-5);color:var(--primary-strong);cursor:pointer}
  .mais-fechar .ico{width:20px;height:20px}
  .menu-inner{gap:2px}
  body.mais-aberto::after{background:rgba(7,29,65,.5);animation:cabFundo .2s ease-out}

  /* Acessibilidade dentro da folha */
  .mais-extras{margin-top:10px;padding:14px 10px 0;border-top:1px solid var(--line)}
  .mais-titulo{margin:0 0 6px;font-size:.72rem;letter-spacing:.08em}
  .mais-letra{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;font-size:.95rem;font-weight:600}
  .mais-letra-ctl{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}
  .mais-letra-ctl button{min-width:48px;min-height:44px;border:0;border-radius:11px;background:none;color:var(--primary-strong);font:800 1rem var(--font);cursor:pointer}
  .mais-letra-ctl button:disabled{opacity:.4;cursor:default}
  .mais-letra-ctl output{min-width:54px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
  .mais-botoes{display:grid;gap:0}
  .mais-botoes button{justify-content:flex-start;width:100%;min-height:52px;padding:8px 4px;border:0;border-radius:0;border-top:1px solid var(--line);background:none;font-size:.95rem}
  .mais-botoes .mais-chave{padding-right:66px}
  .mais-links{margin-top:6px;padding-top:6px;border-top:1px solid var(--line)}
  .mais-links a{min-height:50px;padding:8px 4px;font-weight:600}
  .mais-links .ico{color:var(--primary)}

  /* barra de baixo: item ativo numa pílula atrás do ícone */
  :root{--barra-app-h:64px}
  .barra-app{box-shadow:0 -8px 24px rgba(7,29,65,.07)}
  .barra-app-item{gap:4px;padding:8px 2px 6px;font-size:.72rem;font-weight:600;transition:color .18s}
  .barra-app-item .ico{position:relative;z-index:1;width:22px;height:22px;transform:none !important}
  .barra-app-item::before{content:"";position:absolute;top:7px;left:50%;width:56px;height:30px;margin-left:-28px;border-radius:999px;background:var(--blue-10);opacity:0;transform:scaleX(.5);transition:opacity .2s,transform .25s cubic-bezier(.2,.8,.2,1)}
  .barra-app-item.on::before,.barra-app-item[aria-expanded="true"]::before{top:7px;width:56px;height:30px;border-radius:999px;background:var(--blue-10);opacity:1;transform:none}
  .barra-app-item.on,.barra-app-item[aria-expanded="true"]{color:var(--primary-strong);font-weight:700}
  .barra-app-item:active::before{opacity:.6;transform:scaleX(.9)}
  body.el-escuro .barra-app-item{color:#C5D4EB}
  body.el-escuro .barra-app-item::before{background:rgba(255,205,7,.16)}
  body.el-escuro .barra-app-item.on,body.el-escuro .barra-app-item[aria-expanded="true"]{color:#FFCD07}
  [data-theme="contrast"] .barra-app-item::before{background:#000;border:2px solid #FFCD07}
  [data-theme="contrast"] .mais-fechar{background:#000;color:#fff;border:2px solid #fff}
}
@keyframes cabSobe{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
@keyframes cabFundo{from{opacity:0}to{opacity:1}}
.mais-cabeca{display:none}
@media (max-width:760px){.mais-cabeca{display:grid}}

/* tema escuro: as peças novas seguem os tokens do topo escuro (eleicoes-tema.css) */
body.el-escuro .menu-buscar{background:var(--n-folha);border-color:var(--n-linha);color:var(--n-tinta2)}
body.el-escuro .menu-buscar .ico{color:var(--n-caneta)}
body.el-escuro .menu-top{color:var(--n-tinta)}
body.el-escuro .menu-top::after{background:var(--n-caneta)}
body.el-escuro :is(.menu-grupo.ativo>.menu-top,a.menu-top.active,.menu-grupo.aberto>.menu-top,.menu-top:hover){color:var(--n-caneta)}
body.el-escuro .menu-drop a>.ico{background:var(--n-folha2);color:var(--n-caneta)}
body.el-escuro .menu-drop a.active>.ico{background:var(--n-caneta);color:var(--n-tinta-caneta)}
body.el-escuro .menu-drop a{color:var(--n-tinta)}
body.el-escuro .header-search{background:var(--n-folha)}
body.el-escuro .menu-marca img{background:#fff;border-radius:8px}
@media (max-width:960px){
  body.el-escuro .menu-top>.ico{background:var(--n-folha2);color:var(--n-caneta)}
  body.el-escuro :is(.menu-grupo.ativo>.menu-top,a.menu-top.active)>.ico{background:var(--n-caneta);color:var(--n-tinta-caneta)}
  body.el-escuro :is(.menu-grupo.ativo>.menu-top,a.menu-top.active,.menu-top:hover){background:var(--n-realce)}
  body.el-escuro :is(.menu-drop,.menu-drop-mega,.menu-drop-tempo){background:none;border-left-color:var(--n-linha)}
  body.el-escuro .mais-fechar{background:var(--n-folha2);color:var(--n-tinta)}
  body.el-escuro .mais-nome{color:var(--n-tinta)}
}
/* alto contraste: preto, branco e amarelo */
[data-theme="contrast"] .menu-top::after{background:#FFCD07}
[data-theme="contrast"] .menu-drop a>.ico{background:#000;border:1px solid #fff;color:#FFCD07}
[data-theme="contrast"] .menu-drop a.active>.ico{background:#FFCD07;color:#000}
[data-theme="contrast"] .menu-buscar{background:#000;color:#fff;border-color:#fff}
[data-theme="contrast"] .header-search{background:#000}

@media (prefers-reduced-motion:reduce){
  .header,.menu-top::after,.menu-marca,.menu-buscar,.barra-app-item::before{transition:none}
  .ajustes-painel,.menu-grupo.aberto .menu-drop,.menu.menu-aberto .menu-shell{animation:none !important}
}
@media print{.utility,.menu{display:none}}
