.diagrama-zoom-viewport,
.mapa-ubic-viewport {
    max-height: min(65vh, 520px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    background: #f8f9fa;
    overscroll-behavior: contain;
}

.diagrama-zoom-stage,
.mapa-ubic-zoom-stage {
    position: relative;
    overflow: hidden;
    line-height: 0;
}

.diagrama-zoom-canvas,
.mapa-ubic-canvas,
.ruta-mapa-canvas.diagrama-zoom-canvas {
    cursor: crosshair;
    touch-action: none;
    display: block;
    transform-origin: 0 0;
    max-width: none !important;
    max-height: none !important;
}

.diagrama-zoom-toolbar .btn[id$="-label"],
.mapa-ubic-zoom-toolbar .btn#mapa-ubic-zoom-label {
    min-width: 3.5rem;
    pointer-events: none;
    opacity: 1;
}

#mapa-ubic-pisos .btn.active {
    font-weight: 600;
}

@media (max-width: 767.98px) {
    .diagrama-zoom-viewport,
    .mapa-ubic-viewport,
    .ruta-mapa-canvas-wrap.diagrama-zoom-viewport {
        max-height: min(55vh, 420px);
    }
}
