/* ─────────────────────────────────────────────────────────────────────────
   renovar-map — CSS (nomes neutros, sem vínculo com "sp")
   Tokens do site: terra #33383d · sombra preto 55% · grade branca 7%
   pin/destaques #981e2a · cartão branco, apoio #7e7e7e · banda #25282b
   ───────────────────────────────────────────────────────────────────────── */
.renovar-map{position:relative;width:100%;max-width:560px;margin:0 auto}
.renovar-map__svg{display:block;width:100%;height:auto}
.renovar-map__grid line{stroke:#fff;stroke-opacity:.07;stroke-width:1}
.renovar-map__shadow{fill:#000;fill-opacity:.55}
.renovar-map__land{fill:#33383d;stroke:#fff;stroke-opacity:.1;stroke-width:1.5}
/* Norte e Nordeste ficam sem pontos: a hierarquia resolve isso pelo realce
   dos estados com obras, sem inventar pins. */
.renovar-map__focus{fill:#474e55;stroke:#981e2a;stroke-opacity:.55;stroke-width:2}
.renovar-map__pins{position:absolute;inset:0}
.renovar-map__slot{position:absolute;width:0;height:0;opacity:0;transform:translateY(6px);transition:opacity 200ms cubic-bezier(.2,0,.3,1),transform 200ms cubic-bezier(.2,0,.3,1)}
.renovar-map__slot.is-in{opacity:1;transform:none}
.renovar-map__slot.is-on{z-index:3}
.renovar-map__pin{position:absolute;left:-24px;top:-24px;width:48px;height:48px;display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer}
.renovar-map__dot{position:relative;z-index:2;width:14px;height:14px;border-radius:9999px;background:#981e2a;box-shadow:0 0 0 3px rgba(0,0,0,.45);transition:transform 160ms cubic-bezier(.2,0,.3,1),background 160ms cubic-bezier(.2,0,.3,1)}
.renovar-map__pulse{position:absolute;width:14px;height:14px;border-radius:9999px;border:1px solid #981e2a;animation:renovarMapPulse 2.6s cubic-bezier(.2,0,.3,1) infinite}
.renovar-map__pin:hover .renovar-map__dot,.renovar-map__pin:focus-visible .renovar-map__dot,.is-on .renovar-map__dot{transform:scale(1.45);background:#c02a39}
.renovar-map__pin:focus-visible{outline:2px solid var(--color-focus,#981e2a);outline-offset:2px;border-radius:9999px}
.renovar-map__label{position:absolute;left:40px;top:11px;white-space:nowrap;font:800 12px/1 var(--font-display,Archivo),Archivo,sans-serif;letter-spacing:.5px;text-transform:uppercase;color:#fff;opacity:.78}
.renovar-map__label.is-left{left:auto;right:40px;text-align:right}
.is-on .renovar-map__label{opacity:0}
@keyframes renovarMapPulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(3.4);opacity:0}100%{transform:scale(3.4);opacity:0}}
@media(prefers-reduced-motion:reduce){.renovar-map__pulse{animation:none}}
.renovar-map__card{position:absolute;left:18px;top:-8px;width:262px;background:#fff;color:#25282b;border-radius:6px;padding:16px;display:grid;gap:6px}
.renovar-map__card.is-flipped{left:auto;right:18px}
.renovar-map__card.is-up{top:auto;bottom:18px}
.renovar-map__card-title{margin:0;font:700 19px/24px var(--font-display,Archivo),Archivo,sans-serif}
.renovar-map__card-meta{margin:0;font:800 12px/1 var(--font-display,Archivo),Archivo,sans-serif;letter-spacing:.5px;text-transform:uppercase;color:#981e2a}
.renovar-map__card-text{margin:0;font:400 15px/22px var(--font-core,Roboto),Roboto,sans-serif;color:#6f6f6f}
.renovar-map__card a{font:600 15px/22px var(--font-core,Roboto),Roboto,sans-serif}
.renovar-map-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.renovar-map-list li{display:grid;gap:4px;padding-top:16px;border-top:1px solid rgba(255,255,255,.25)}
.renovar-map-list__title{margin:0;font:700 18px/24px var(--font-display,Archivo),Archivo,sans-serif;color:#fff}
.renovar-map-list__meta{margin:0;font:800 12px/1 var(--font-display,Archivo),Archivo,sans-serif;letter-spacing:.5px;text-transform:uppercase;color:#e26d78}
.renovar-map-list__text{margin:0;font:400 15px/22px var(--font-core,Roboto),Roboto,sans-serif;color:#bebebe}
/* Brasil é quase quadrado: o mapa divide a faixa com a coluna de apoio para
   a seção não virar um bloco alto. */
.renovar-map-section{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:64px;align-items:start}
.renovar-map-aside{display:grid;gap:24px;min-width:0}
.renovar-map-legend{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.renovar-map-legend li{display:flex;align-items:center;gap:12px;font:400 15px/22px var(--font-core,Roboto),Roboto,sans-serif;color:#bebebe}
.renovar-map-legend i{flex:0 0 auto;width:16px;height:16px;border-radius:3px;display:block}
.renovar-map-legend i.is-land{background:#33383d;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.renovar-map-legend i.is-focus{background:#474e55;box-shadow:inset 0 0 0 1px #981e2a}
.renovar-map-legend i.is-pin{width:14px;height:14px;border-radius:9999px;background:#981e2a}
@media(max-width:1080px){.renovar-map-section{grid-template-columns:1fr;gap:40px}.renovar-map{max-width:460px;margin:0}}
@media(max-width:900px){.renovar-map-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
.renovar-map-list{grid-template-columns:1fr}
.renovar-map{max-width:100%}
.renovar-map__label{display:none}
.renovar-map__card{width:min(74vw,250px)}
.renovar-map__card.is-flipped{right:14px}
}
.renovar-map-note{margin:0;font:400 14px/21px var(--font-core,Roboto),Roboto,sans-serif;color:#bebebe}

/* O atributo hidden precisa vencer o display:grid do cartao: a regra do
   navegador para [hidden] tem prioridade menor que qualquer display do autor. */
.renovar-map__card[hidden]{display:none}
