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

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

.map-pin {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    color: #fff;
    font-size: 1rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .3);
    border: 2px solid rgba(255, 255, 255, .85);
}

.map-pin > i {
    transform: rotate(45deg);
}

.map-pin-escritor    { background: #dc3545; }
.map-pin-tradutor    { background: #198754; }
.map-pin-organizador { background: #0d6efd; }
.map-pin-editora     { background: #6f42c1; }

.map-popup-title {
    font-weight: 600;
    margin-bottom: .35rem;
    color: #212529;
}

.map-popup-list {
    margin: 0;
    padding-left: 1.1rem;
    max-height: 220px;
    overflow-y: auto;
}

.map-popup-list li { margin-bottom: .15rem; }
.map-popup-list a { text-decoration: none; }
.map-popup-list a:hover { text-decoration: underline; }

.legend-mapa {
    background: #fff;
    padding: .5rem .75rem;
    border-radius: .35rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
    font-size: .85rem;
    line-height: 1.5;
}

.legend-mapa .legend-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: .35rem;
    vertical-align: middle;
}
