/* Baza */
.ns-plan { position: relative; width: 100%; max-width: 100%; box-sizing: border-box; }
.ns-plan__wrap { position: relative; width: 100%; max-width: 100%; overflow: visible; }
.ns-plan__switch { display: flex; gap: 8px; margin: 0 0 12px; flex-wrap: wrap; position: absolute;
  z-index: 99;
  right: 1vw;
  top: 2vw;
}
.ns-plan__controls { display: block; }
.ns-plan__switch-btn {
  border: 1px solid #d0d7de;
  background: #fff;
  color: #111;
  font-size: 15px;
  line-height: 1;
  border-radius: 0px;
  padding: 9px 12px;
  cursor: pointer;
}
.ns-plan__switch-btn.is-active {
  background: #111;
  color: #fff;
  border-color: #111;
}
.ns-plan__zoom { display: none; gap: 8px; margin: 0 0 12px; }
.ns-plan__zoom-btn {
  border: 1px solid #d0d7de;
  background: #fff;
  color: #111;
  font-size: 18px;
  line-height: 1;
  border-radius: 8px;
  width: 38px;
  height: 38px;
  padding: 0;
  cursor: pointer;
}
.ns-plan__zoom-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.ns-plan__view { display: none; }
.ns-plan__view.is-active { display: block; }
g.ns-plan__inline-view { display: none !important; }
g.ns-plan__inline-view.is-active { display: inline !important; }

/* Kluczowe dla rozmiaru SVG */
.ns-plan svg { display: block; width: 100%; height: auto; max-width: 100%; }


.ns-plan path { 
cursor: pointer;
stroke: #555;
stroke-width: 1px;
vector-effect: non-scaling-stroke;
stroke-linejoin: round;
stroke-linecap: round; 
opacity: .2; 
transition: opacity .15s ease; 
}
.ns-plan path:focus { outline: none; }


/* Interakcje */
.ns-plan path:hover,
.ns-plan path:focus,
.ns-plan path:active { opacity: .7; }

/* Tooltip – bez zmian jeśli już masz */
/* Tooltip positioning (bez zmian) */
/* TOOLTIP — zero transformów, pozycjonujemy left/top */
.ns-plan__tooltip{
  position: absolute;
  left: 0; top: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .12s ease, visibility .12s step-end;
  z-index: 50;
}

.ns-plan__tooltip.is-visible{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;      /* pozwól kliknąć/hoverować tooltip */
  cursor: pointer;
}


/* Wnętrze – zawężone */
.ns-tip__inner{
  background: rgba(255,255,255,0.8);
  color:#111;
  border-radius: 10% 10% 10% 0;  /* ścięty lewy-dolny */
  padding: 1rem;
  box-shadow: 0 6px 26px rgba(0,0,0,.15);
 /*min-width: 200px;
  max-width: 200px;  */        
}

/* Tytuł + separator (#3) */
.ns-tip__title{ font-weight:700; font-size:18px; margin:0 0 8px; }
.ns-tip__sep{ height:2px; width:36px; background:#111; opacity:.2; margin:0 0 10px; border-radius:2px; }

/* Meta – każda wartość w nowej linii, wyrównanie do lewej */
.ns-tip__inner { font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
.ns-tip__meta {display:block; line-height:1.35; }
.ns-tip__meta > div {display:block; margin:0 0 6px; }

/* Kolory statusu przez klasę na samym statusie */
.ns-tip__status {font-weight:600; }
.ns-tip__status.is-aktualny{   color: #a1cd3a; }
.ns-tip__status.is-rezerwacja{ color:#ce3030; }
.ns-tip__status.is-sprzedany{  color:#777; }
.ns-tip__status.is-w-budowie{ color:#dfa86b; }


.ns-tip__cena {font-weight:600;}

.ns-tip__btn{
  display:inline-block; padding:10px 14px;
  background:#fff; border-radius:999px; text-decoration:none;
  border:1px solid rgba(0,0,0,.08);
}

@media (max-width: 991px) {
  .ns-plan__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 0px;
  }
  .ns-plan__switch {
    position: static;
    top: auto;
    right: auto;
    z-index: auto;
    margin: 0;
    justify-content: flex-end;
    flex: 1 1 auto;
  }
  .ns-plan__zoom { display: flex; }
  .ns-plan__controls .ns-plan__zoom { margin: 0; }
  .ns-plan__wrap {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
  }
  .ns-plan__view { min-width: 100%; }
  .ns-plan--zoom-0 .ns-plan__view svg {
    width: 100%;
    max-width: 100%;
  }
  .ns-plan--zoom-1 .ns-plan__view svg {
    width: 140%;
    max-width: none;
  }
  .ns-plan--zoom-2 .ns-plan__view svg {
    width: 180%;
    max-width: none;
  }
}
