/* Nort: mapa em linha fina (site + painel) */
.mapa-svg { width: 100%; height: auto; overflow: visible; }
.estado { fill: var(--white); stroke: var(--silver); stroke-width: 0.8; transition: fill var(--d-fast); }
.estado:hover { fill: var(--fog); }
.nacao { fill: none; stroke: var(--cornflower); stroke-width: 1.4; stroke-linejoin: round; }
.rota { fill: none; stroke: var(--cornflower); stroke-width: 1.6; stroke-dasharray: 4 6; stroke-linecap: round; opacity: 0.55; }
.pin { cursor: pointer; outline: none; }
.pin .pin-corpo { transform-box: fill-box; transform-origin: 50% 100%; transition: transform var(--d-fast) var(--ease); }
.pin:hover .pin-corpo, .pin:focus-visible .pin-corpo { transform: scale(1.25); }
.pin:focus-visible path { stroke: var(--electric); stroke-width: 2.4; }
.pin-cai .pin-corpo { animation: pin-cai 0.65s var(--ease) both; }
.pin-pulsa .pin-corpo { animation: pin-pulsa 0.65s var(--ease); }
@keyframes pin-cai { from { transform: translateY(-40px) scale(0.6); opacity: 0; } }
@keyframes pin-pulsa { 40% { transform: scale(1.5); } }
.mapa-offline .mapa-estados { display: none; }
