.ntl-properties, .ntl-property { margin-block-start: 20px; padding-top: 20px; padding-bottom: 70px; }
.ntl-property-filters { display: flex; width: max-content; max-width: 100%; margin: 0 auto 20px; flex-wrap: nowrap; justify-content: center; gap: 0 30px; }
.ntl-property-filters a { position: relative; padding: 10px 0; color: #777; font-size: 16px; font-weight: 600; line-height: 1.2; text-transform: uppercase; transition: color .25s ease; }
.ntl-property-filters a:hover, .ntl-property-filters a:focus-visible, .ntl-property-filters a[aria-current="page"] { color: var(--ntl-primary); }
.ntl-property-filters a[aria-current="page"]::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: currentColor; content: ""; }

.ntl-property-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ntl-property-card { min-width: 0; margin: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 0 4px rgba(0,0,0,.12); transition: box-shadow .35s ease-in-out; }
.ntl-property-card__media { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; }
.ntl-property-card__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1); transition: transform .7s ease-out; }
.ntl-property-card__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.5); opacity: 0; transition: visibility .7s ease-out, opacity .7s ease-out; }
@media (hover: hover) and (pointer: fine) {
  .ntl-property-card:hover .ntl-property-card__media img { transform: scale(1.05); }
  .ntl-property-card:hover .ntl-property-card__overlay { opacity: 1; }
}
.ntl-property-card:focus-within .ntl-property-card__media img { transform: scale(1.05); }
.ntl-property-card:focus-within .ntl-property-card__overlay { opacity: 1; }
.ntl-property-card:hover, .ntl-property-card:focus-within { box-shadow: 0 0 9px rgba(0,0,0,.2); }
.ntl-property-card__media:focus-visible { outline: 3px solid var(--ntl-primary); outline-offset: 3px; }
.ntl-property-card__info { min-height: 107px; padding: 20px; background: #fff; text-align: center; }
.ntl-property-card__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 8px; margin-bottom: 10px; color: #6f6f6f; font-size: 16px; }
.ntl-property-card__meta span + span::before { margin-right: 8px; content: "\2022"; }
.ntl-property-card h2 { margin: 0; color: #333; font-size: 22.4px; font-weight: 600; line-height: 1.4; }
.ntl-property-card h2 a { color: inherit; transition: color .25s ease; }
.ntl-property-card h2 a:hover, .ntl-property-card h2 a:focus-visible { color: rgba(51,51,51,.65); }
.ntl-properties__empty { padding: 50px 0; text-align: center; }

.ntl-property__header { margin-bottom: 0; text-align: center; }
.ntl-property__title { margin: 0; color: var(--ntl-heading); font-size: 36px; font-weight: 600; line-height: 1; }
.ntl-property__labels { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.ntl-property__header .ntl-property__labels { display: none; }
.ntl-property__labels span { padding: 7px 14px; color: #fff; background: var(--ntl-primary-accessible); border-radius: 2px; font-size: 13px; font-weight: 600; text-transform: uppercase; }
.ntl-property__description { min-width: 0; color: #6f6f6f; font-family: "Montserrat", sans-serif; font-size: 16px; font-style: normal; font-weight: 400; line-height: 1.6; letter-spacing: normal; text-align: left; overflow-wrap: anywhere; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.ntl-property__description--primary { padding: 36px 0; border-bottom: 1px solid #e6e6e6; }
.ntl-property__description-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-bottom: 45px; padding-top: 36px; }
.ntl-property__description-grid.is-single { grid-template-columns: 1fr; }
.ntl-property__description-grid:not(.is-single) > .ntl-property__description:first-child { padding-right: 40px; }
.ntl-property__description-grid:not(.is-single) > .ntl-property__description + .ntl-property__description { padding-left: 40px; border-left: 1px solid #e6e6e6; }
.ntl-property__description h2, .ntl-property__description h3, .ntl-property__description h4 { color: var(--ntl-heading); font-weight: 600; }
.ntl-property__description p, .ntl-property__description ul, .ntl-property__description ol { margin-top: 0; margin-bottom: 20px; }
.ntl-property__description ul, .ntl-property__description ol { padding-left: 17px; }
.ntl-property__description li + li { margin-top: 10px; }
.ntl-property__description > :first-child { margin-top: 0; }
.ntl-property__description > :last-child { margin-bottom: 0; }

.ntl-property-gallery { width: min(80%, 954px); margin: 20px auto 0; background: #fff; }
.ntl-property-gallery__stage { position: relative; height: 464px; overflow: visible; background: #fff; }
.ntl-property-gallery__main { position: relative; display: block; width: 100%; height: 100%; padding: 0; overflow: hidden; border: 0; background: #fff; cursor: zoom-in; }
.ntl-property-gallery__main img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transform: translateX(0); }
.ntl-property-gallery__main.is-animating img { transition: transform 420ms cubic-bezier(.4, 0, .2, 1); will-change: transform; }
.ntl-property-gallery__main img.is-entering-from-left { transform: translateX(-100%); }
.ntl-property-gallery__main img.is-entering-from-right { transform: translateX(100%); }
.ntl-property-gallery__main img.is-leaving-left { transform: translateX(-100%); }
.ntl-property-gallery__main img.is-leaving-right { transform: translateX(100%); }
.ntl-property-gallery__previous, .ntl-property-gallery__next { position: absolute; top: 50%; display: grid; width: 46px; height: 46px; padding: 0; place-items: center; border: 0; border-radius: 5px; color: #fff; background: rgba(80,80,80,.58); line-height: 1; transform: translateY(-50%); cursor: pointer; transition: color .25s ease, background-color .25s ease, box-shadow .25s ease; }
.ntl-property-gallery__previous { left: 8px; }
.ntl-property-gallery__next { right: 8px; }
.ntl-property-gallery__previous:hover, .ntl-property-gallery__next:hover, .ntl-property-gallery__previous:focus-visible, .ntl-property-gallery__next:focus-visible { background: rgba(0,0,0,.55); }
.ntl-property-gallery__previous svg, .ntl-property-gallery__next svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: square; stroke-linejoin: miter; }
.ntl-property-gallery__main:focus-visible, .ntl-property-gallery__thumb:focus-visible { outline: 3px solid var(--ntl-primary); outline-offset: -3px; }
.ntl-property-gallery__thumbs { display: flex; gap: 6px; height: 86px; padding: 8px; overflow-x: auto; overflow-y: hidden; align-items: flex-start; background: #fff; scrollbar-width: thin; }
.ntl-property-gallery__thumb { flex: 0 0 100px; height: 70px; padding: 0; border: 2px solid transparent; background: #fff; opacity: .5; cursor: pointer; transition: opacity .25s ease, border-color .25s ease; }
.ntl-property-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ntl-property-gallery__thumb:hover, .ntl-property-gallery__thumb:focus-visible, .ntl-property-gallery__thumb.is-active { border-color: #fff; opacity: 1; }
body.ntl-scroll-locked { overflow: hidden; }

.ntl-property-parameters { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; margin-top: 30px; padding-bottom: 36px; border-bottom: 1px solid #e6e6e6; }
.ntl-property-parameter { display: flex; min-width: 0; padding: 0 8px; flex-direction: column; align-items: center; text-align: center; }
.ntl-property-parameter strong { display: block; margin-top: 8px; color: var(--ntl-text); font-size: 16px; font-weight: 600; line-height: 1.35; }
.ntl-property-parameter span { display: block; max-width: 100%; color: var(--ntl-heading); font-size: 18px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.ntl-property-parameter--price .ntl-property-price__total,
.ntl-property-parameter--price .ntl-property-price__unit { white-space: nowrap; overflow-wrap: normal; }
.ntl-property-parameters + .ntl-property__description--primary { margin-top: 0; }
.ntl-property-parameters + .ntl-property__description-grid { margin-top: 0; }

.ntl-gallery-dialog { position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; padding: 30px; }
.ntl-gallery-dialog[hidden] { display: none; }
.ntl-gallery-dialog__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.9); }
.ntl-gallery-dialog__content { position: relative; z-index: 1; display: grid; width: min(1200px, 100%); height: min(84vh, 850px); place-items: center; grid-template-columns: 52px 1fr 52px; }
.ntl-gallery-dialog__content img { max-width: 100%; max-height: 84vh; object-fit: contain; }
.ntl-gallery-dialog button { width: 46px; height: 46px; padding: 0; border: 0; color: #fff; background: rgba(0,0,0,.35); font-size: 36px; cursor: pointer; }
.ntl-gallery-dialog__close { position: absolute; top: 0; right: 0; z-index: 2; }

@media (max-width: 1099px) {
  .ntl-property-card__info { min-height: 96px; }
  .ntl-property-card__meta { font-size: 12.8px; line-height: 1.6; }
  .ntl-property-card h2 { font-size: 17.92px; line-height: 1.4; }
}
@media (max-width: 1024px) {
  .ntl-property-gallery { width: min(100%, 954px); }
}
@media (min-width: 1100px) {
  .ntl-property-gallery__previous, .ntl-property-gallery__next { width: 36px; height: 36px; border-radius: 0; color: var(--ntl-footer); background: transparent; }
  .ntl-property-gallery__previous { left: -74px; }
  .ntl-property-gallery__next { right: -74px; }
  .ntl-property-gallery__previous:hover, .ntl-property-gallery__next:hover, .ntl-property-gallery__previous:focus-visible, .ntl-property-gallery__next:focus-visible { background: transparent; box-shadow: none; }
}
@media (max-width: 700px) {
  .ntl-properties, .ntl-property { padding-top: 20px; padding-bottom: 50px; }
  .ntl-property-grid { grid-template-columns: 1fr; gap: 24px; }
  .ntl-property-card__meta { margin-bottom: 10px; font-size: 12.8px; line-height: 1.6; }
  .ntl-property-card h2 { font-size: 17.92px; line-height: 1.4; }
  .ntl-property__description-grid { grid-template-columns: 1fr; gap: 0; }
  .ntl-property__description-grid:not(.is-single) > .ntl-property__description:first-child { padding-right: 0; padding-bottom: 36px; }
  .ntl-property__description-grid:not(.is-single) > .ntl-property__description + .ntl-property__description { padding-top: 36px; padding-left: 0; border-top: 1px solid #e6e6e6; border-left: 0; }
  .ntl-property-gallery__stage { height: min(72vw, 430px); }
  .ntl-gallery-dialog { padding: 12px; }
  .ntl-gallery-dialog__content { grid-template-columns: 42px 1fr 42px; }
}
@media (max-width: 767px) {
  .ntl-property-filters { gap: 0 clamp(9px, 3.1vw, 18px); margin-bottom: 10px; }
  .ntl-property-filters a { padding: 10px 0; font-size: clamp(12px, 3.45vw, 14px); line-height: 1.2; }
  .ntl-property-parameters { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row; row-gap: 28px; }
  .ntl-property-parameter { padding-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .ntl-property-gallery__main.is-animating img { transition: none; }
}
