.masterplan-hotspot-container:has(.status-sold, .status-reserved) {
    pointer-events: none !important;
}

/* Popup tippy masterplan: jamin selalu muat di dalam window.
   - max-width dibatasi viewport (100vw) agar tidak keluar kanan/kiri
   - jadi flex column + max-height agar bagian data (baris unit) yang
     panjang bisa scroll di dalam popup, bukan membuat popup melebihi layar
   - 100dvh untuk mobile (URL bar), fallback 100vh */
.masterplan-popup {
    max-width: min(350px, calc(100vw - 24px)) !important;
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    display: flex;
    flex-direction: column;
}

/* Bagian berukuran tetap tidak boleh menyusut */
.masterplan-popup-image,
.masterplan-popup-buttons,
.masterplan-popup-carousel {
    flex-shrink: 0;
}

/* Bagian baris unit: satu-satunya bagian yang tingginya tidak tentu —
   biarkan dia yang scroll ke dalam, sehingga popup tidak pernah lebih
   tinggi dari viewport. */
.masterplan-popup-data {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
}

@media (max-width: 768px) {

    body[data-page-template="page-start"] .page__content::before,
    .page__content:has(.page__left.gradient)::before {
        background-image: none !important;
    }
}
