/* Mapa de Hotspots — estilos do front (sem dependências). */
.mrosc-mapa-box{max-width:1060px;margin:0 auto;}
.mrosc-mapa-box .mrosc-mapa-titulo{margin:0 0 14px;font-size:1.4rem;line-height:1.3;}
.mrosc-mapa-fig{position:relative;margin:0;line-height:0;}
.mrosc-mapa-img{width:100%;height:auto;display:block;border-radius:12px;box-shadow:0 10px 30px rgba(20,25,60,.12);}

/* ---- âncora invisível do tooltip (posição na capital; sem pino) ---- */
.mrosc-mapa-wrap{position:absolute;width:0;height:0;line-height:0;pointer-events:none;}
/* UF com conteúdo é clicável; vazia não. */
.mrosc-mapa-uf{cursor:pointer;}
.mrosc-mapa-uf-vazia{cursor:default;}
/* Card aberto: sobe acima de tudo (wrap vira âncora visível só do tooltip). */
.mrosc-mapa-wrap.mrosc-mapa-top{pointer-events:auto;}

/* ---- tooltip ---- */
.mrosc-mapa-tip{position:absolute;bottom:calc(100% + 18px);left:0;transform:translateX(-50%);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s;pointer-events:none;z-index:5;max-width:340px;line-height:1.2;text-align:left;}
.mrosc-mapa-tip.mrosc-mapa-aberto{opacity:1;visibility:visible;pointer-events:auto;}
.mrosc-mapa-inner{background:#fff;border-radius:10px;padding:12px;box-shadow:0 18px 40px rgba(20,25,60,.22);max-width:340px;line-height:1.45;}
.mrosc-mapa-ptit{display:block;font-size:.95rem;color:#1d2148;margin:0 0 6px;line-height:1.35;}
.mrosc-mapa-desc{white-space:pre-line;font-size:.83rem;line-height:1.55;color:#444;margin:4px 0 10px;word-break:break-word;}
/* ---- ficha de campos (plataformas) ---- */
.mrosc-mapa-campos{list-style:none;margin:2px 0 10px;padding:0;display:grid;gap:8px;}
.mrosc-mapa-campo{display:flex;gap:8px;align-items:flex-start;font-size:.83rem;line-height:1.5;}
.mrosc-mapa-campo-rotulo{display:block;font-size:.68rem;font-weight:700;letter-spacing:.35px;text-transform:uppercase;color:#7c87a8;margin-bottom:1px;}
.mrosc-mapa-campo-valor{color:#333;word-break:break-word;white-space:pre-line;}
.mrosc-mapa-campo-texto{min-width:0;}
.mrosc-mapa-icone{flex:none;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:1px;border-radius:6px;background:#eef1fa;color:#2d3265;}
.mrosc-mapa-icone svg{width:15px;height:15px;}
.mrosc-mapa-btn{display:inline-flex;align-items:center;gap:8px;background:#2d3265;color:#fff;text-decoration:none;font-size:.85rem;font-weight:700;letter-spacing:.2px;padding:9px 15px;border-radius:4px;white-space:nowrap;box-shadow:0 3px 10px rgba(45,50,101,.35);}
.mrosc-mapa-btn:hover{background:#1d2148;color:#fff;}
.mrosc-mapa-btn svg{flex:none;}
.mrosc-mapa-semnome{display:inline-block;padding:4px 2px;font-size:.85rem;font-weight:600;}
.mrosc-mapa-close{display:none;}

/* ---- mobile (<690px): tooltip em overlay de tela cheia ---- */
@media (max-width:689px){
  .mrosc-mapa-tip{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;transform:none;border-radius:0;display:grid;place-items:center;background:rgba(22,26,58,.55);padding:0;box-shadow:none;line-height:1.5;}
  .mrosc-mapa-inner{position:relative;background:#fff;border-radius:14px;padding:0;text-align:left;max-width:340px;width:calc(100vw - 40px);box-shadow:0 20px 60px rgba(0,0,0,.35);}
  .mrosc-mapa-scroll{max-height:74vh;overflow:auto;padding:20px 22px 18px;}
  .mrosc-mapa-close{display:flex;align-items:center;justify-content:center;position:absolute;top:-14px;right:-14px;width:32px;height:32px;border-radius:50%;border:none;background:#2d3265;color:#fff;font-size:15px;cursor:pointer;line-height:1;z-index:2;}
  .mrosc-mapa-close:hover{background:#1d2148;}
}

/* ---- modo vetorial (Brasil/UF) ---- */
.mrosc-mapa-vetorial .mrosc-mapa-fig{background:#fff;border-radius:12px;}
.mrosc-mapa-svg{width:100%;height:auto;display:block;border-radius:12px;box-shadow:0 10px 30px rgba(20,25,60,.12);}
.mrosc-mapa-uf{fill:#cfe0f2;stroke:#ffffff;stroke-width:1.2;transition:fill .15s ease,stroke .15s ease;}
/* Hover direto no estado (path) com conteúdo: contorno reforçado, cor levemente destacada. */
.mrosc-mapa-uf:not(.mrosc-mapa-uf-vazia):hover{fill:#a9c6e6;stroke:#2d3265;stroke-width:2.4;}
/* Foco por teclado no estado. Anula o anel de foco padrão do navegador, que
   em SVG vira um retângulo em volta do bounding box do estado, e o substitui
   pelo mesmo reforço de contorno de .mrosc-mapa-uf-foco — em CSS puro, para
   que o teclado ainda enxergue onde está se o mapa.js não carregar. */
.mrosc-mapa-uf:focus{outline:none;}
.mrosc-mapa-uf:focus-visible{outline:none;fill:#bcd6ef;stroke:#2d3265;stroke-width:2.8;}
/* UF em foco (hover no estado): reforço de contorno. */
.mrosc-mapa-uf.mrosc-mapa-uf-foco{fill:#bcd6ef;stroke:#2d3265;stroke-width:2.8;}
.mrosc-mapa-uf.mrosc-mapa-uf-foco:hover{fill:#a9c6e6;stroke:#2d3265;stroke-width:2.8;}
/* UF selecionada pelo clique (card aberto): cor de destaque bem distinta. */
.mrosc-mapa-uf.mrosc-mapa-uf-aberta{fill:#ffd166;stroke:#2d3265;stroke-width:3.4;}
.mrosc-mapa-uf.mrosc-mapa-uf-aberta:hover{fill:#ffd166;stroke:#2d3265;stroke-width:3.4;}
/* UF ativa no modo filtrar (página de signatárias com ?uf=xx): mantém a cor
   de estado preenchido, com contorno reforçado para indicar o filtro atual. */
.mrosc-mapa-uf.mrosc-mapa-uf-ativa{fill:#ffd166;stroke:#2d3265;stroke-width:3.4;}
.mrosc-mapa-uf.mrosc-mapa-uf-ativa:hover{fill:#ffd166;stroke:#2d3265;stroke-width:3.4;}
.mrosc-mapa-uf-vazia{fill:#eef1f6;stroke:#e2e8f0;stroke-width:1.2;}
.mrosc-mapa-aviso-admin{max-width:1060px;margin:10px auto 0;font-size:.85rem;color:#7a3e00;background:#fcf0dd;border:1px solid #f2d9a8;border-radius:6px;padding:8px 12px;}
