.bp-painel[data-painel="prumo"] { height: 100%; overflow: hidden; } #prumo-host { height: 100%; }
/* Vista "Prumo": mesma placa de vidro do Congresso, com dois instrumentos. */
.bp-prumo { height: 100%; display: flex; flex-direction: column; overflow: hidden; border-radius: 5px;
  box-shadow: 0 18px 48px rgba(2,12,30,.34); font-family: "Inter", system-ui, sans-serif; }
.bp-prumo-vidro { position: relative; isolation: isolate; flex: 1; min-height: 0; overflow: hidden; display: flex; flex-direction: column;
  padding: 1.1rem 2.2rem .8rem; color: #102A50; border-radius: 22px;
  background: linear-gradient(150deg, rgba(246,250,255,.9), rgba(222,234,248,.84));
  backdrop-filter: blur(12px) saturate(140%); -webkit-backdrop-filter: blur(12px) saturate(140%);
  border: 1px solid rgba(255,255,255,.6); box-shadow: 0 30px 80px rgba(2,12,30,.35), inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(18,48,94,.06); }
.bp-prumo-inst { background: rgba(255,255,255,.42); border: 1px solid rgba(255,255,255,.55); border-radius: 20px; box-shadow: inset 0 1px 0 rgba(255,255,255,.7); padding: .4rem .6rem 0; }
.bp-prumo-cabecalho { display: flex; align-items: center; gap: 1.4rem; padding-bottom: .6rem; border-bottom: 1px solid rgba(18,48,94,.14); }
/* identificação: mesma posição do Congresso, maior */
.bp-prumo-id { display: flex; flex-direction: column; min-width: 15rem; line-height: 1.05; }
.bp-prumo-id strong { font-size: 2.1rem; font-weight: 800; letter-spacing: -.01em; color: #12305E; }
.bp-prumo-id span { font-size: 1.05rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #43608C; margin-top: .25rem; }
.bp-prumo-cargos { display: flex; gap: .4rem; align-items: center; margin-left: auto; }
.bp-prumo-cargo, .bp-prumo-uf, .bp-prumo-comparar { font: inherit; font-weight: 700; font-size: .95rem; color: #12305E; background: rgba(255,255,255,.55);
  border: 1px solid rgba(18,48,94,.22); border-radius: 999px; padding: .42rem .95rem; cursor: pointer; }
.bp-prumo-cargo-on { background: #12305E; color: #fff; border-color: #12305E; }
.bp-prumo-uf { border-radius: 8px; padding: .38rem .6rem; }
.bp-prumo-direita { display: flex; align-items: center; gap: 1rem; margin-left: 1rem; }
.bp-prumo-apuracao { text-align: right; line-height: 1.05; } .bp-prumo-apuracao span { display: block; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: #43608C; }
.bp-prumo-apuracao strong { font-size: 1.6rem; font-weight: 800; color: #12305E; font-variant-numeric: tabular-nums; }
.bp-prumo-comparar[aria-pressed="true"] { background: #E3A72F; border-color: #E3A72F; color: #071A38; }
/* palcos */
.bp-prumo-palcos { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: .4rem; }
.bp-prumo-palco { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.bp-prumo-ano { font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #43608C; height: 1.1rem; }
.bp-prumo-par { flex: 1; min-height: 0; display: flex; gap: 2.5rem; align-items: stretch; justify-content: center; }
.bp-prumo-inst { flex: 0 1 46%; min-width: 0; display: flex; align-items: flex-end; } .bp-prumo-inst svg { width: 100%; height: 100%; }
/* leituras alinhadas na mesma linha, grandes; só aparecem quando o prumo equilibra */
.bp-prumo-leituras, .bp-prumo-margens { display: flex; gap: 2.5rem; justify-content: center; }
.bp-prumo-leitura, .bp-prumo-margens > div { flex: 0 1 46%; text-align: center; }
.bp-prumo-leitura { opacity: 0; transform: translateY(6px); transition: opacity .6s ease, transform .6s ease; }
.bp-prumo-leitura.bp-prumo-visivel { opacity: 1; transform: none; }
.bp-prumo-leitura em { display: block; font-family: "Playfair Display", Georgia, serif; font-style: italic; font-size: 1.25rem; color: #12305E; }
.bp-prumo-leitura strong { display: block; font-size: 3.4rem; font-weight: 800; line-height: 1.05; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.bp-prumo-margens > div { font-size: 1rem; font-weight: 600; color: #43608C; min-height: 1.4rem; } .bp-prumo-margens b { color: #12305E; }
/* comparar: 2026 encolhe, 2022 aparece embaixo, mesma escala */
.bp-prumo-comparando .bp-prumo-leitura strong { font-size: 2.2rem; } .bp-prumo-comparando .bp-prumo-leitura em { font-size: 1rem; }
.bp-prumo-comparando .bp-prumo-margens > div { font-size: .85rem; }
.bp-prumo-2022 { border-top: 1px dashed rgba(18,48,94,.3); padding-top: .3rem; }
.bp-prumo-scrub { display: flex; gap: .6rem; align-items: center; font-size: .8rem; font-weight: 700; color: #43608C; }
.bp-prumo-scrub input { flex: 1; accent-color: #12305E; } .bp-prumo-scrub .hora { font-size: 1.1rem; color: #12305E; min-width: 3.2rem; text-align: right; }

/* mapa municipal (sub-vista do Prumo) */
.bp-prumo-mapa-btn { font: inherit; font-weight: 700; font-size: .95rem; color: #12305E; background: rgba(255,255,255,.55); border: 1px solid rgba(18,48,94,.22); border-radius: 999px; padding: .42rem .95rem; cursor: pointer; }
.bp-prumo-mapa-btn[aria-pressed="true"] { background: #12305E; color: #fff; border-color: #12305E; }
.bp-prumo-mapa { flex: 1; min-height: 0; display: flex; gap: 1.2rem; align-items: stretch; }
.bp-mapa-cena { flex: 1; min-width: 0; perspective: 1500px; perspective-origin: 50% 20%; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bp-mapa-placa { flex: 0 0 auto; transform: rotateX(38deg) rotateZ(-3deg); transform-origin: 50% 50%; filter: drop-shadow(0 26px 22px rgba(5,18,45,.35)); }
.bp-mapa-placa canvas { display: block; }
.bp-mapa-legenda { width: 17rem; flex: 0 0 auto; display: flex; flex-direction: column; justify-content: flex-end; gap: .7rem; padding-bottom: .4rem; font-size: .85rem; color: #43608C; font-weight: 600; }
.bp-mapa-escala { display: flex; align-items: center; gap: .5rem; font-weight: 800; color: #12305E; }
.bp-mapa-escala i { flex: 1; height: 12px; border-radius: 6px; background: linear-gradient(90deg, #1E4FA8, #F1EDE6 50%, #D63A2F); }
.bp-mapa-itens b { color: #12305E; } .bp-mapa-itens b.q { display: inline-block; width: 1.2em; height: 1.2em; line-height: 1.2em; text-align: center; border-radius: 50%; background: #C9CED6; }
.bp-mapa-contagem { font-size: .95rem; line-height: 1.35; } .bp-mapa-contagem b { color: #12305E; font-size: 1.15rem; }

/* vista Mapas: mesma placa de vidro */
.bp-painel[data-painel="mapas"] { height: 100%; overflow: hidden; }
.bp-mapas { height: 100%; display: flex; flex-direction: column; overflow: hidden; border-radius: 5px; box-shadow: 0 18px 48px rgba(2,12,30,.34); font-family: "Inter", system-ui, sans-serif; }
.bp-mapas-vidro { position: relative; flex: 1; min-height: 0; display: flex; flex-direction: column; padding: 1rem 1.6rem .8rem; color: #102A50;
  background: linear-gradient(145deg, rgba(240,245,252,.9), rgba(214,226,242,.86)); backdrop-filter: blur(10px) saturate(118%); -webkit-backdrop-filter: blur(10px) saturate(118%);
  border: 1px solid rgba(255,255,255,.34); box-shadow: inset 0 1px 0 rgba(255,255,255,.55); }
.bp-mapas-cabecalho { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: .55rem 1rem; padding: 0 8rem .5rem 0; border-bottom: 1px solid rgba(18,48,94,.14); }
.bp-mapas-cabecalho .bp-mapas-id { flex: 1 1 100%; }
.bp-mapas-cabecalho .bp-mapas-max { position: absolute; right: 0; top: .1rem; }
.bp-mapas-cabecalho .bp-mapas-legenda { margin-left: auto; }
.bp-mapas-id { flex: 1; min-width: 0; line-height: 1.1; } .bp-mapas-id strong { display: block; font-size: 1.2rem; font-weight: 800; color: #12305E; }
.bp-mapas-id span { font-size: .78rem; font-weight: 600; color: #43608C; }
.bp-mapas-visoes { display: flex; gap: .4rem; } .bp-mapas-visao { font: inherit; font-weight: 700; font-size: .9rem; color: #12305E; background: rgba(255,255,255,.55); border: 1px solid rgba(18,48,94,.22); border-radius: 999px; padding: .38rem .9rem; cursor: pointer; }
.bp-mapas-visao-on { background: #12305E; color: #fff; border-color: #12305E; }
.bp-mapas-legenda { display: flex; align-items: center; gap: .5rem; font-size: .8rem; font-weight: 700; color: #12305E; }
.bp-mapas-legenda i { width: 9rem; height: 12px; border-radius: 6px; background: linear-gradient(90deg, #1E4FA8, #F4F1EC 50%, #D63A2F); }
.bp-mapas-legenda em { font-style: normal; font-weight: 600; color: #43608C; font-size: .72rem; }
.bp-mapas-palco { flex: 1; min-height: 0; } .bp-mapas-palco canvas { display: block; }

/* mapa maximizado: só a barra superior, a barra de replay e o botão Brasil (volta à home, Presidente) */
body.bp-maximizado .bp-subtopo, body.bp-maximizado .bp-lateral, body.bp-maximizado .bp-mapas-cabecalho { display: none !important; }
body.bp-maximizado #btn-brasil { display: block !important; }
body.bp-maximizado .bp-mapas-vidro { padding: .6rem .8rem; }
body.bp-maximizado .bp-mapas-legenda-flutuante { display: flex; }
.bp-mapas-legenda-flutuante { display: none; position: absolute; left: 1.2rem; bottom: 1rem; z-index: 3; flex-direction: column; gap: .35rem;
  background: rgba(255,255,255,.62); border: 1px solid rgba(18,48,94,.14); border-radius: 10px; padding: .6rem .8rem; font-size: .8rem; font-weight: 700; color: #12305E; }
.bp-mapas-legenda-flutuante strong { font-size: 1.05rem; } .bp-mapas-legenda-flutuante .bp-mapas-legenda { font-size: .75rem; }
.bp-mapas-max { font: inherit; font-weight: 700; font-size: .9rem; color: #fff; background: #12305E; border: 0; border-radius: 999px; padding: .4rem .95rem; cursor: pointer; }
.bp-mapas-bolhas { flex: 1; min-height: 0; display: flex; gap: 1.2rem; }
body.bp-maximizado .bp-mapa-legenda { padding-bottom: 6.5rem; }

.bp-mapas-estilo { display: flex; border: 1px solid rgba(18,48,94,.22); border-radius: 999px; overflow: hidden; }
.bp-mapas-estilo button { font: inherit; font-weight: 700; font-size: .85rem; color: #12305E; background: rgba(255,255,255,.55); border: 0; padding: .36rem .8rem; cursor: pointer; }
.bp-mapas-estilo button.bp-mapas-estilo-on { background: #12305E; color: #fff; }
.bp-mapas-modo-setas .bp-mapas-legenda i { background: none; width: 4.2rem; height: 18px; position: relative; }
.bp-mapas-modo-setas .bp-mapas-legenda i::before { content: "↖"; position: absolute; left: .4rem; top: -4px; font-style: normal; font-size: 1.2rem; font-weight: 800; color: #123FC0; }
.bp-mapas-modo-setas .bp-mapas-legenda i::after { content: "↗"; position: absolute; right: .4rem; top: -4px; font-style: normal; font-size: 1.2rem; font-weight: 800; color: #D63A2F; }

/* ====================== mapas imersivos (tela cheia, vidro escuro) ====================== */
body.bp-tela-cheia .bp-topo, body.bp-tela-cheia .bp-subtopo, body.bp-tela-cheia .bp-lateral { display: none !important; }
body.bp-tela-cheia .bp-main { padding: 0; gap: 0; position: relative; }
body.bp-tela-cheia .bp-palco { position: fixed; inset: 0; z-index: 20; }
body.bp-tela-cheia #btn-brasil { display: block !important; position: fixed; right: 1.4rem; bottom: 1.4rem; z-index: 40; }
body.bp-tela-cheia .bp-controles { position: fixed; left: 50%; transform: translateX(-50%); bottom: 1.2rem; width: min(900px, 60vw); z-index: 40;
  background: rgba(10,20,40,.55); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(140,180,240,.18); border-radius: 14px; }
.bp-m3 { position: relative; width: 100%; height: 100%; overflow: hidden; background: #050c1a; font-family: Inter, system-ui, sans-serif; color: #DCE8FA; }
.bp-m3-gl { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: crosshair; }
.bp-m3-vinheta { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 55% 45%, transparent 55%, rgba(3,8,18,.75) 100%); }
.bp-m3-painel { position: absolute; z-index: 5; background: linear-gradient(160deg, rgba(22,36,62,.62), rgba(10,18,34,.52)); backdrop-filter: blur(10px) saturate(130%); -webkit-backdrop-filter: blur(10px) saturate(130%);
  border: 1px solid rgba(150,190,255,.16); border-radius: 18px; box-shadow: 0 20px 60px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08); }
.bp-m3-esq { left: 1.4rem; top: 0; bottom: 0; margin: auto 0; height: fit-content; max-height: calc(100% - 3rem); overflow: auto; width: 22rem; padding: 1.2rem 1.3rem; display: flex; flex-direction: column; gap: .8rem; }
.bp-m3-marca { font-size: .7rem; letter-spacing: .24em; color: #7FA9E6; font-weight: 700; }
.bp-m3-titulo { margin: 0; font-size: 1.55rem; line-height: 1.15; font-weight: 800; color: #fff; }
.bp-m3-sub { margin: 0; font-size: .82rem; line-height: 1.45; color: #9DB5D8; }
.bp-m3-visoes, .bp-m3-turnos { display: flex; flex-wrap: wrap; gap: .35rem; }
.bp-m3-visoes button, .bp-m3-turnos button, .bp-m3-lista button { font: inherit; cursor: pointer; color: #CFE0F8; background: rgba(255,255,255,.05); border: 1px solid rgba(150,190,255,.18); border-radius: 999px; padding: .36rem .75rem; font-size: .8rem; font-weight: 600; transition: background .2s, color .2s, border-color .2s; }
.bp-m3-visoes button:hover, .bp-m3-turnos button:hover, .bp-m3-lista button:hover { background: rgba(120,170,255,.14); }
.bp-m3-visoes button.on, .bp-m3-turnos button.on { background: #fff; color: #0B1A33; border-color: #fff; }
.bp-m3-numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
.bp-m3-numeros div { background: rgba(255,255,255,.04); border: 1px solid rgba(150,190,255,.12); border-radius: 12px; padding: .55rem .6rem; }
.bp-m3-numeros strong { display: block; font-size: 1.35rem; font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; } .bp-m3-numeros span { font-size: .68rem; color: #8FA8CC; }
.bp-m3 .vm { color: #FF6A5C !important; } .bp-m3 .az { color: #5B8FFF !important; }   /* mesmo tom das setas, legível como texto */
.bp-m3-legenda { font-size: .76rem; color: #9DB5D8; display: flex; flex-direction: column; gap: .4rem; }
.bp-m3-legenda .esc { display: flex; align-items: center; justify-content: space-between; gap: .5rem; font-weight: 700; color: #DCE8FA; }
.bp-m3-legenda .grad { flex: 1; height: 8px; border-radius: 4px; background: linear-gradient(90deg, #4C8DFF, #C9D6EA 50%, #FF5A4A); }
.bp-m3-legenda .anel { display: inline-block; width: .8rem; height: .8rem; border-radius: 50%; border: 2px solid #9fb8dd; vertical-align: -2px; }
.bp-m3-legenda .feixe { display: inline-block; width: .3rem; height: .9rem; background: linear-gradient(#fff0, #FF5A4A); vertical-align: -2px; }
.bp-m3-dir { right: 1.4rem; top: 1.4rem; bottom: 7.5rem; width: 13rem; padding: .9rem .6rem .9rem .9rem; display: flex; flex-direction: column; }
.bp-m3-lista-tit { font-size: .7rem; letter-spacing: .24em; color: #7FA9E6; font-weight: 700; margin-bottom: .5rem; }
.bp-m3-lista { overflow-y: auto; display: flex; flex-direction: column; gap: .2rem; padding-right: .3rem; mask-image: linear-gradient(transparent, #000 6%, #000 94%, transparent); -webkit-mask-image: linear-gradient(transparent, #000 6%, #000 94%, transparent); }
.bp-m3-lista button { border-radius: 10px; text-align: left; border-color: transparent; background: transparent; color: #9DB5D8; padding: .32rem .55rem; }
.bp-m3-lista button b { display: inline-block; width: 1.9rem; color: #CFE0F8; } .bp-m3-lista button.on { background: rgba(120,170,255,.22); color: #fff; border-color: rgba(150,200,255,.4); }
.bp-m3-reg { font-size: .64rem; letter-spacing: .18em; text-transform: uppercase; color: #5F7DA8; margin: .55rem 0 .15rem .5rem; font-weight: 700; }
.bp-m3-dica { position: absolute; z-index: 6; pointer-events: none; font-size: .8rem; line-height: 1.35; color: #DCE8FA; background: rgba(10,20,40,.78); border: 1px solid rgba(150,190,255,.2); border-radius: 10px; padding: .45rem .65rem; backdrop-filter: blur(8px); }
.bp-m3-dica b { color: #fff; }
/* abertura: os painéis entram depois do mergulho da câmera */
.bp-m3-entrou .bp-m3-esq { animation: bp-m3-entra-e .9s 1.2s both cubic-bezier(.2,.8,.2,1); }
.bp-m3-entrou .bp-m3-dir { animation: bp-m3-entra-d .9s 1.4s both cubic-bezier(.2,.8,.2,1); }
.bp-m3-entrou .bp-m3-vinheta { animation: bp-m3-veu 1.8s both ease-out; }
@keyframes bp-m3-entra-e { from { opacity: 0; transform: translateX(-30px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes bp-m3-entra-d { from { opacity: 0; transform: translateX(30px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes bp-m3-veu { from { background-color: rgba(5,12,26,1); } to { background-color: rgba(5,12,26,0); } }

/* quadriculado da tela principal, em baixa opacidade, esmaecendo nas bordas */
.bp-m3-grade { position: absolute; inset: 0; pointer-events: none; z-index: 1; opacity: .55;
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 34px 34px;
  -webkit-mask-image: radial-gradient(ellipse 70% 65% at 55% 50%, #000 35%, transparent 100%); mask-image: radial-gradient(ellipse 70% 65% at 55% 50%, #000 35%, transparent 100%); }
.bp-m3-vinheta { z-index: 2; }
/* botões discretos */
.bp-m3-discreto { font: inherit; font-size: .72rem; font-weight: 600; letter-spacing: .04em; color: #8FA8CC; background: transparent; border: 1px solid rgba(150,190,255,.14); border-radius: 999px; padding: .3rem .7rem; cursor: pointer; align-self: flex-start; transition: color .2s, border-color .2s, background .2s; }
.bp-m3-discreto:hover, .bp-m3-discreto[aria-pressed="true"] { color: #DCE8FA; border-color: rgba(150,190,255,.4); background: rgba(120,170,255,.08); }
.bp-m3-controles { position: absolute; left: 1.4rem; bottom: 1.4rem; z-index: 6; }
/* barra de apuração ocultável, com transição */
body.bp-tela-cheia .bp-controles { transition: transform .5s cubic-bezier(.2,.8,.2,1), opacity .4s; }
body.bp-tela-cheia.bp-sem-barra .bp-controles { transform: translate(-50%, 160%); opacity: 0; pointer-events: none; }
/* ranking enxuto, transposto: os 4 primeiros, containers quase imperceptíveis */
.bp-m3-ranking { position: absolute; left: 50%; bottom: 1.3rem; transform: translate(-50%, 30px); opacity: 0; z-index: 6; display: flex; gap: .6rem; align-items: center; pointer-events: none; transition: opacity .5s .15s, transform .6s .15s cubic-bezier(.2,.8,.2,1); }
.bp-m3-ranking.on { opacity: 1; transform: translate(-50%, 0); }
.bp-m3-cand { display: flex; align-items: center; gap: .6rem; padding: .45rem .9rem .45rem .45rem; border-radius: 999px; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.06); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.bp-m3-cand img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--cor); background: #1b2c4a; }
.bp-m3-cand span { display: block; font-size: .72rem; font-weight: 600; color: #9DB5D8; letter-spacing: .02em; white-space: nowrap; }
.bp-m3-cand strong { display: block; font-size: 1.35rem; font-weight: 800; color: #fff; line-height: 1.05; font-variant-numeric: tabular-nums; }
.bp-m3-cand i { display: block; height: 2px; margin-top: .25rem; width: 6.5rem; background: rgba(255,255,255,.08); border-radius: 2px; position: relative; overflow: hidden; }
.bp-m3-cand i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--cor); border-radius: 2px; }
.bp-m3-apur { font-size: 1.1rem; font-weight: 800; color: #DCE8FA; padding-left: .4rem; line-height: 1; } .bp-m3-apur span { display: block; font-size: .64rem; font-weight: 600; color: #8FA8CC; margin-top: .2rem; }
/* saída para a home: o mapa inteiro esmaece; a home entra com fade */
.bp-m3 { transition: opacity .55s ease; }
.bp-m3-saindo { opacity: 0; }
.bp-entra-home { animation: bp-entra-home .6s both ease-out; }
@keyframes bp-entra-home { from { opacity: 0; } to { opacity: 1; } }
.bp-m3-so-pontos-on .bp-m3-grade { opacity: .8; }

.bp-m3-discretos { display: flex; gap: .4rem; }
/* tema claro */
.bp-m3.bp-m3-claro { background: #eef3f9; color: #12305E; }
.bp-m3-claro .bp-m3-painel { background: linear-gradient(160deg, rgba(255,255,255,.78), rgba(232,240,250,.66)); border-color: rgba(255,255,255,.9); box-shadow: 0 20px 50px rgba(18,48,94,.16), inset 0 1px 0 #fff; }
.bp-m3-claro .bp-m3-titulo, .bp-m3-claro .bp-m3-numeros strong, .bp-m3-claro .bp-m3-legenda .esc { color: #12305E; }
.bp-m3-claro .bp-m3-sub, .bp-m3-claro .bp-m3-legenda, .bp-m3-claro .bp-m3-numeros span, .bp-m3-claro .bp-m3-lista button { color: #43608C; }
.bp-m3-claro .bp-m3-marca, .bp-m3-claro .bp-m3-lista-tit, .bp-m3-claro .bp-m3-reg { color: #2C74D6; }
.bp-m3-claro .bp-m3-lista button b { color: #12305E; }
.bp-m3-claro .bp-m3-visoes button, .bp-m3-claro .bp-m3-turnos button, .bp-m3-claro .bp-m3-discreto { color: #12305E; background: rgba(255,255,255,.6); border-color: rgba(18,48,94,.16); }
.bp-m3-claro .bp-m3-visoes button.on, .bp-m3-claro .bp-m3-turnos button.on, .bp-m3-claro .bp-m3-discreto[aria-pressed="true"] { background: #12305E; color: #fff; border-color: #12305E; }
.bp-m3-claro .bp-m3-lista button.on { background: rgba(44,116,214,.14); color: #12305E; border-color: rgba(44,116,214,.35); }
.bp-m3-claro .bp-m3-numeros div { background: rgba(255,255,255,.55); border-color: rgba(18,48,94,.1); }
.bp-m3-claro .bp-m3-grade { background-image: linear-gradient(rgba(18,48,94,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(18,48,94,.07) 1px, transparent 1px); }
.bp-m3-claro .bp-m3-vinheta { background: radial-gradient(ellipse at 55% 45%, transparent 60%, rgba(214,226,242,.7) 100%); }
.bp-m3-claro .bp-m3-dica { background: rgba(255,255,255,.92); color: #12305E; border-color: rgba(18,48,94,.15); } .bp-m3-claro .bp-m3-dica b { color: #12305E; }
.bp-m3-claro .bp-m3-cand { background: rgba(255,255,255,.5); border-color: rgba(18,48,94,.08); } .bp-m3-claro .bp-m3-cand strong, .bp-m3-claro .bp-m3-apur { color: #12305E; }
.bp-m3-claro .bp-m3-cand span, .bp-m3-claro .bp-m3-apur span { color: #43608C; } .bp-m3-claro .bp-m3-cand i { background: rgba(18,48,94,.1); }
.bp-m3-claro .vm { color: #D2281C !important; } .bp-m3-claro .az { color: #123FC0 !important; }

.bp-m3-legenda .q { display: inline-grid; place-items: center; width: 1rem; height: 1rem; border-radius: 50%; background: #9DB4D8; color: #0B1A33; font-weight: 900; font-size: .7rem; vertical-align: -3px; }
.bp-m3-claro .bp-m3-legenda .q { background: #1B3566; color: #fff; }
.bp-m3-legenda .domo { display: inline-block; width: 1rem; height: .55rem; border-radius: 1rem 1rem 0 0; background: rgba(242,193,78,.45); vertical-align: -1px; }
/* legenda do mapa das urnas: o ponto pulsante (anel que se abre) ao lado do "?" */
.bp-m3-legenda .pulso { display: inline-block; width: 12px; height: 12px; margin: 0 .35rem 0 .2rem; vertical-align: -1px; border-radius: 50%;
  border: 2px solid #9fb8dd; animation: bp-m3-pulso 1.1s ease-out infinite; }
@keyframes bp-m3-pulso { from { transform: scale(.5); opacity: 1; } to { transform: scale(1.4); opacity: 0; } }

