#dgeo-map {
    height: calc(100vh - 280px);
    min-height: 480px;
    border-radius: .5rem;
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .06);
}

/* Painel flutuante "info" (canto superior direito) */
.dgeo-info {
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
    border-radius: .35rem;
    padding: .5rem .75rem;
    font: 14px/1.4 system-ui, -apple-system, sans-serif;
    min-width: 200px;
    max-width: 260px;
}
.dgeo-info h4 {
    margin: 0 0 .35rem;
    font-size: .95rem;
    color: #495057;
}
.dgeo-info b { color: #212529; }

/* Legenda (canto inferior direito) */
.dgeo-legend {
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
    border-radius: .35rem;
    padding: .5rem .75rem;
    font: 13px/1.5 system-ui, -apple-system, sans-serif;
    color: #495057;
}
.dgeo-legend i {
    width: 16px;
    height: 16px;
    float: left;
    margin-right: 6px;
    opacity: .85;
    border: 1px solid rgba(0, 0, 0, .1);
}

.dgeo-popup-title {
    font-weight: 600;
    margin-bottom: .35rem;
    color: #212529;
}
.dgeo-popup-list ol { padding-left: 1.1rem; margin: 0; max-height: 300px; overflow-y: auto; }

/* Animação suave de "pisca-pisca" no aviso "clique para ver os nomes" */
.blink-me {
    animation: dgeo-blink 1.6s ease-in-out infinite;
    color: #0d6efd;
    font-size: .85rem;
}
@keyframes dgeo-blink {
    0%, 100% { opacity: 1; }
    50%      { opacity: .35; }
}

/* Cor "purple" para o ícone editora (Bootstrap não traz nativamente) */
.text-purple { color: #6f42c1; }
