.gti-map-container,
.gti-map {
    width: 100%;
    height: 500px; /* ocupa la mitad de la ventana en desktop */
    border-radius: 10px;
    overflow: hidden;
    background: #f5f7fa;
    border: 1px solid #e6e9ef;
}

/* ===== Tablet (768px–1024px) ===== */
@media (max-width: 1024px) {
    .gti-map-container,
    .gti-map {
        height: 40vh; /* un poco más compacto en tablet */
    }
}

/* ===== Mobile (≤767px) ===== */
@media (max-width: 767px) {
    .gti-map-container,
    .gti-map {
        height: 300px; /* altura fija cómoda en móviles */
        min-height: 250px; /* nunca se achica demasiado */
    }
}

.gti-map--no-data {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #6b7280;
    padding: 20px;
}

.gti-map--no-data i {
    color: #9ca3af;
}

/* Leaflet tweaks */
.leaflet-container {
    font-family: inherit;
}

.leaflet-control-zoom a {
    width: 32px;
    height: 32px;
    line-height: 32px;
    font-size: 18px;
}

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
