/* Mobile floor plans only; the owner toggles --plan-zoom. */
.plan-zoom-controls { display: none; }
@media (max-width: 768px) {
    .flats-visual.--plan-zoom .vmap {
        height: 100svh;
        overflow: hidden;
        touch-action: pan-y;
        scroll-behavior: auto;
        overscroll-behavior-x: contain;
        -webkit-user-select: none; user-select: none;
    }
    .flats-visual.--plan-zoom { overflow-anchor: none; }
    .flats-visual.--plan-zoom .plan-zoom-controls {
        position: absolute;
        top: 50%; left: var(--container-side-padding, 20px);
        transform: translateY(-50%);
        z-index: 2;
        display: flex; flex-direction: column; gap: 10px;
        touch-action: manipulation;
    }
    .plan-zoom-controls button {
        width: 42px; height: 42px; min-width: 0; padding: 0;
        display: flex; justify-content: center; align-items: center;
        background: #fff; color: #1c4a5f;
        border: 0; border-radius: 50%;
        font: 500 26px/1 sans-serif; cursor: pointer;
        touch-action: manipulation;
        -webkit-user-select: none; user-select: none;
        -webkit-tap-highlight-color: transparent;
    }
    .plan-zoom-controls button:disabled { opacity: .4; cursor: default; }
    .plan-zoom-controls button:focus-visible { outline: 2px solid #248f61; outline-offset: 2px; }
    .flats-visual .tooltip.--visible ~ .plan-zoom-controls { visibility: hidden; pointer-events: none; }
}
