/* Property gallery lightbox: prev/next, keyboard and swipe. */
.nb-gallery a { cursor: zoom-in; }
.nb-lb { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; background: rgba(21, 47, 59, 0.96); }
.nb-lb.is-open { display: flex; }
.nb-lb__img { max-width: calc(100vw - 160px); max-height: calc(100vh - 120px); object-fit: contain; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35); user-select: none; transition: opacity .2s ease; }
.nb-lb__img.is-loading { opacity: 0; }
.nb-lb button { position: absolute; background: transparent; border: 1px solid rgba(246, 244, 239, 0.35); color: #F6F4EF; cursor: pointer; font-family: Arial, sans-serif; line-height: 1; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.nb-lb button:hover, .nb-lb button:focus-visible { background: #B49B76; border-color: #B49B76; color: #152F3B; outline: none; }
.nb-lb__prev, .nb-lb__next { top: 50%; transform: translateY(-50%); width: 52px; height: 52px; font-size: 30px; }
.nb-lb__prev { left: 24px; }
.nb-lb__next { right: 24px; }
.nb-lb__close { top: 20px; right: 24px; width: 44px; height: 44px; font-size: 26px; }
.nb-lb__count { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); color: #E3D6C0; font-family: Arial, sans-serif; font-size: 12px; letter-spacing: 3px; }
@media (max-width: 767px) {
	.nb-lb__img { max-width: 100vw; max-height: calc(100vh - 140px); }
	.nb-lb__prev, .nb-lb__next { top: auto; bottom: 16px; transform: none; width: 46px; height: 46px; font-size: 26px; }
	.nb-lb__prev { left: 16px; }
	.nb-lb__next { right: 16px; }
	.nb-lb__close { top: 14px; right: 14px; }
	.nb-lb__count { bottom: 32px; }
}
