/* FFF ZoomMap */
.fff-zoommap-wrap{
  position:relative;
  width:100%;
  height:100vh;
  margin:0;
  overflow:hidden;
  background:#0b0b0b;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
}

.fff-zoommap-toolbar{
  position:absolute;
  top:12px;
  left:12px;
  z-index:9999;
  display:flex;
  gap:8px;
  background:rgba(20,20,20,.7);
  padding:8px;
  border-radius:12px;
  backdrop-filter:blur(4px);
}

.fff-btn{
  cursor:pointer;
  border:none;
  padding:8px 10px;
  border-radius:10px;
  background:#fff;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
.fff-btn:focus{outline:2px solid #000}

.fff-zoommap-viewport{
  position:absolute;
  inset:0;
  overflow:hidden;
  touch-action:none;
  outline:none;
  opacity:0;
}
.fff-zoommap-wrap.ready .fff-zoommap-viewport{
  opacity:1;
  transition:opacity .2s;
}

.fff-zoommap-canvas{
  position:absolute;
  top:0;
  left:0;
  transform:translate(0,0) scale(1);
  transform-origin:0 0;
  will-change:transform;
}
.fff-zoommap-canvas img{
  display:block;
  max-width:none;
  height:auto;
  user-select:none;
  pointer-events:none;
}

.fff-zoommap-help{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:3;
  color:#ddd;
  font:14px/1.3 system-ui;
  background:rgba(0,0,0,.45);
  padding:6px 10px;
  border-radius:10px;
}

@media (max-width:980px){
  .fff-zoommap-toolbar{
    top:auto !important;
    left:12px;
    right:auto;
    bottom:calc(env(safe-area-inset-bottom,0px)+var(--fff-mobile-bottom,96px)) !important;
  }
  .fff-zoommap-help{
    bottom:calc(env(safe-area-inset-bottom,0px)+max(12px,var(--fff-mobile-bottom,96px)-44px)) !important;
  }
}
@media (max-width:782px){
  .admin-bar .fff-zoommap-toolbar{
    bottom:calc(env(safe-area-inset-bottom,0px)+(var(--fff-mobile-bottom,96px)+36px)) !important;
  }
}
