/* apuracaoeleicao.online — só o que a página pública tem a mais que a do cristianorsousa.com (08/10/2026).
   Cores só pelos tokens do cr.css. Espaços com margem (TV Samsung = Chrome 63). */
.cr-marca .ap-logo { width: 38px; height: 38px; flex: 0 0 auto; margin-right: 10px; }
.el-tv-marca-canto .ap-logo { width: 30px; height: 30px; margin-right: 10px; }
.ap-faixa .cr-faixa-item + .cr-faixa-item { margin-left: 18px; }
/* rodapé: fonte TSE e avisos */
.ap-rodape { display: block; text-align: center; padding: 22px 16px 26px; color: var(--cr-texto-2); font-size: 13px; line-height: 1.5; }
.ap-rodape p { margin: 4px auto; max-width: 760px; }
.ap-rodape .ap-priv { font-size: 12px; }
.ap-oferecido { margin: 0 auto 12px; }
/* faixa que pede a localização */
.ap-pede { position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 90; width: calc(100% - 32px); max-width: 640px;
  display: flex; align-items: center; background: var(--cr-superficie); color: var(--cr-texto); border: 1px solid var(--cr-linha); border-left: 4px solid var(--cr-dourado);
  border-radius: 16px; padding: 14px 16px; box-shadow: 0 12px 40px rgba(0,0,0,.25); }
.ap-pede-tx { flex: 1; min-width: 0; margin-right: 14px; } .ap-pede-tx b { display: block; font-size: 15px; } .ap-pede-tx span { font-size: 13px; color: var(--cr-texto-2); }
.ap-pede-bts { display: flex; flex: 0 0 auto; } .ap-pede-bts .cr-btn + .cr-btn { margin-left: 8px; }
@media (max-width: 767px) {
  .ap-pede { bottom: calc(84px + env(safe-area-inset-bottom, 0px)); flex-direction: column; align-items: stretch; }
  .ap-pede-tx { margin: 0 0 10px; } .ap-pede-bts .cr-btn { flex: 1; }
}
.ap-oferecido { font-size: 14px; color: var(--cr-texto); }
.ap-rodape .ap-direitos { font-size: 12px; margin-top: 14px; }
/* linha dos turnos: botões TV e Relatório à direita (08/10) */
.cr-abas { align-items: center; }
.cr-abas a.ap-atalho { padding: 6px 14px; margin: 0 0 0 8px; border: 1px solid var(--cr-linha); border-radius: 9999px; background: var(--cr-icone-fundo);
  color: var(--cr-marca-escura) !important; font-size: 13px; }
.cr-abas a.ap-atalho:hover { border-color: var(--cr-marca); }
.cr-abas a.ap-atalho-1 { margin-left: auto; }
.cr-abas a.ap-atalho .ic { width: 16px; height: 16px; margin: 0; }
@media (max-width: 600px) {
  .cr-abas .ap-data { display: none; }
  .cr-abas a { padding-left: 10px; padding-right: 10px; }
  .cr-abas a.ap-atalho { padding: 5px 10px; margin-left: 6px; }
  .cr-abas a.ap-atalho-1 { margin-left: auto; }
}
/* rodapé: "Oferecido por" com a marca do Vértice (sem link) e os links Sobre / Privacidade (08/10) */
.ap-oferecido { display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; font-size: 13px; color: var(--cr-texto-2); }
.ap-oferecido > span:first-child { margin-right: 10px; }
/* marca do Vértice = a OFICIAL do pacote (verticetrilhas: brand/marca_vetor_27_20.svg); no escuro, o verde vira #F4F7F5 como na versão escura do pacote */
.ap-vmarca { display: block; height: 31px; width: auto; }
.ap-vmarca-escura { display: none; }
[data-theme="dark"] .ap-vmarca-clara { display: none; }
[data-theme="dark"] .ap-vmarca-escura { display: block; }
.ap-rodape .ap-links { margin-top: 10px; font-weight: 700; }
.ap-rodape .ap-links span { margin: 0 8px; }
/* páginas Sobre e Privacidade */
.ap-texto { max-width: 760px; padding: 24px 26px; line-height: 1.65; font-size: 15px; }
.ap-texto h2 { font-size: 18px; margin: 26px 0 8px; color: var(--cr-marca-escura); }
.ap-texto h2:first-child, .ap-texto .ap-resumo + h2 { margin-top: 18px; }
.ap-texto p { margin: 0 0 10px; }
.ap-texto ul { margin: 0 0 12px; padding-left: 22px; }
.ap-texto li { margin-bottom: 6px; }
.ap-resumo { background: var(--cr-icone-fundo); border-radius: 12px; padding: 14px 16px; }
@media (max-width: 600px) { .ap-texto { padding: 18px 16px; font-size: 15px; } }
/* telas estreitas (Android de 360 px): a linha dos turnos sobrava 15 px (auditoria 08/10) */
@media (max-width: 380px) {
  .cr-abas a { padding-left: 7px; padding-right: 7px; }
  .cr-abas a.ap-atalho { padding: 5px 9px; margin-left: 4px; }
  .cr-abas a.ap-atalho-1 { margin-left: auto; }
  .cr-abas a.ap-atalho .ic { width: 14px; height: 14px; }
}

/* 09/10 (item 10): o Relatório se destaca dos botões de turno */
.cr-abas a.ap-atalho:not(.ap-atalho-1) { background: var(--cr-marca); border-color: var(--cr-marca); color: #fff !important; }
.cr-abas a.ap-atalho:not(.ap-atalho-1) .ic { color: #fff; }
.cr-abas a.ap-atalho:not(.ap-atalho-1):hover { filter: brightness(1.1); }
/* 09/10 (item 5): QR code na TV — o endereço principal (fixo), em fundo branco para qualquer celular ler */
.ap-tv-qr { position: fixed; left: 2vw; bottom: 2vh; z-index: 3; display: flex; align-items: center; background: var(--cr-superficie); border-radius: 14px; padding: 10px 16px 10px 10px; box-shadow: 0 2px 10px var(--cr-sombra); }
.ap-tv-qr img { width: 9vh; height: 9vh; min-width: 72px; min-height: 72px; background: #fff; padding: 6px; border-radius: 8px; margin-right: 14px; }
.ap-tv-qr span { font-size: 15px; line-height: 1.3; color: var(--cr-texto-2); } .ap-tv-qr b { display: block; font-size: 19px; color: var(--cr-texto); }
@media (max-width: 900px) { .ap-tv-qr { display: none; } }

/* 09/10 (pedido dele): planilha para baixar no relatório */
.ap-baixar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; margin: 0 0 16px; border-left: 4px solid var(--cr-marca); }
.ap-baixar b { display: block; color: var(--cr-texto); font-size: 16px; }
.ap-baixar span { display: block; color: var(--cr-texto-2); font-size: 13px; margin-top: 2px; }
.ap-baixar .cr-btn { flex: none; white-space: nowrap; }
@media (max-width: 640px) { .ap-baixar { flex-direction: column; align-items: stretch; } .ap-baixar .cr-btn { justify-content: center; } }
/* 13/10: com a folha "Mais" aberta, o pedido de localização não fica por cima dela (volta quando a folha fecha) */
body:has(#elMais:not([hidden])) .ap-pede { display: none; }
/* 13/10: quadro fixo das páginas por estado e município (/to/, /to/gurupi/) e lista dos estados na raiz — texto que o Google lê */
.ap-local { margin-top: 16px; }
.ap-local h2 { margin: 0 0 4px; font-size: 20px; color: var(--cr-marca-escura); }
.ap-local h3 { margin: 0 0 8px; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--cr-texto-2); }
.ap-local-trilha { margin: 0 0 8px; font-size: 13px; color: var(--cr-texto-2); }
.ap-local-sub { margin: 0 0 14px; font-size: 14px; color: var(--cr-texto-2); }
.ap-local-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ap-local ol { margin: 0; padding: 0; list-style: none; }
.ap-local ol li { padding: 7px 0; border-top: 1px solid var(--cr-linha); font-size: 15px; }
.ap-local ol li small { color: var(--cr-texto-2); margin-left: 4px; }
.ap-local ol li em { font-style: normal; font-size: 12px; font-weight: 700; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: var(--cr-icone-fundo); color: var(--cr-marca-escura); }
.ap-local ol li span { display: block; font-size: 13px; color: var(--cr-texto-2); font-variant-numeric: tabular-nums; }
.ap-local-num, .ap-local-2t, .ap-local-mais { margin: 14px 0 0; font-size: 14px; line-height: 1.5; }
.ap-local-2t { padding: 10px 14px; border-left: 4px solid var(--cr-dourado); background: var(--cr-trilho); border-radius: 8px; }
.ap-local-mh { margin-top: 20px !important; }
.ap-local-muns { margin: 0; padding: 0; list-style: none; columns: 4 180px; column-gap: 18px; font-size: 14px; }
.ap-local-muns li { padding: 3px 0; break-inside: avoid; }
.ap-local a { color: var(--cr-marca); }
@media (max-width: 767px) { .ap-local-grade { grid-template-columns: minmax(0, 1fr); } .ap-local-muns { columns: 2 140px; } }
/* 13/10: "Informar erro" — botão-link no rodapé e janela do formulário (apuracao-erro.js) */
.ap-links .ap-link-bt { background: none; border: 0; padding: 0; font: inherit; color: var(--cr-marca); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.ap-erro { position: fixed; left: 0; top: 0; right: 0; bottom: 0; z-index: 200; background: rgba(0,0,0,.45); display: flex; align-items: center; justify-content: center; padding: 16px; }
.ap-erro[hidden] { display: none; }
html.ap-erro-aberto, html.ap-erro-aberto body { overflow: hidden; }
.ap-erro-folha { position: relative; width: 100%; max-width: 520px; max-height: calc(100vh - 32px); overflow-y: auto; box-shadow: 0 16px 50px rgba(0,0,0,.3); }
.ap-erro-folha h2 { margin: 0 32px 6px 0; font-size: 20px; color: var(--cr-marca-escura); }
.ap-erro-x { position: absolute; right: 12px; top: 10px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--cr-trilho); color: var(--cr-texto); font-size: 22px; line-height: 1; cursor: pointer; }
.ap-erro-sub { margin: 0 0 14px; font-size: 14px; color: var(--cr-texto-2); }
.ap-erro-tipos { display: flex; flex-wrap: wrap; margin: 0 0 12px -6px; }
.ap-erro-tipos label { margin: 0 0 6px 6px; }
.ap-erro-tipos input { position: absolute; opacity: 0; pointer-events: none; }
.ap-erro-tipos span { display: inline-block; padding: 6px 12px; border: 1px solid var(--cr-bt-borda); border-radius: 999px; font-size: 13px; font-weight: 700; color: var(--cr-texto-2); cursor: pointer; }
.ap-erro-tipos input:checked + span { background: var(--cr-marca); border-color: var(--cr-marca); color: #fff; }
.ap-erro-tipos input:focus-visible + span { outline: 2px solid var(--cr-marca); outline-offset: 2px; }
.ap-erro-rot { display: block; margin: 10px 0 6px; font-size: 14px; font-weight: 700; color: var(--cr-texto); } .ap-erro-rot small { font-weight: 400; color: var(--cr-texto-2); }
.ap-erro textarea, .ap-erro input[name=contato] { display: block; width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--cr-bt-borda); border-radius: 10px; background: var(--cr-superficie); color: var(--cr-texto); font: 15px 'Nunito', sans-serif; }
.ap-erro textarea { resize: vertical; min-height: 110px; }
.ap-erro-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ap-erro-nota { margin: 10px 0 0; font-size: 12px; color: var(--cr-texto-2); }
.ap-erro-st { margin: 8px 0 0; min-height: 20px; font-size: 14px; font-weight: 700; } .ap-erro-st.bom { color: var(--cr-emdia); } .ap-erro-st.ruim { color: var(--cr-atencao); }
.ap-erro-bts { display: flex; justify-content: flex-end; margin-top: 8px; } .ap-erro-bts .cr-btn + .cr-btn { margin-left: 8px; }
.ap-erro-mail { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--cr-linha); font-size: 13px; color: var(--cr-texto-2); }
.ap-erro-mail a { color: var(--cr-marca); }
@media (max-width: 767px) { .ap-erro { align-items: flex-end; padding: 0; } .ap-erro-folha { max-width: none; border-radius: 18px 18px 0 0; max-height: 92vh; padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)); } .ap-erro-bts .cr-btn { flex: 1; } }
html.ap-erro-aberto .ap-pede { display: none !important; }   /* a faixa da localização não fica por cima do formulário */
