:root{
  --nvpx-black:#050505;
  --nvpx-charcoal:#17191d;
  --nvpx-ink:#111318;
  --nvpx-muted:#666b74;
  --nvpx-rule:#d8dce2;
  --nvpx-soft:#f2f4f6;
  --nvpx-panel:min(100%,1760px);
  --nvpx-copy:min(calc(100% - 96px),1420px);
}

/* Search-result metadata reset. PropertyMinder's new-listing classes may add
   red/orange fills; the approved card language is neutral black/white/grey. */
#_searchResultsMenu article.property-listing .days-of-market,
#_searchResultsMenu article.property-listing ._daysOnMarket,
#_searchResultsMenu article.property-listing .yesterdayListingOnMarket .days-of-market,
#_searchResultsMenu article.property-listing .newListing .days-of-market{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#777c85!important;
  box-shadow:none!important;
  outline:0!important;
}

/* Passive detail mode never changes PropertyMinder's Map/List routing or
   shared wrapper geometry. Only confirmed native detail sources are hidden. */
html[data-nvpm-passive-detail] [data-nvpm-passive-source]{display:none!important}
html[data-nvpm-passive-detail] .nvpm-property-native-shell,
html[data-nvpm-passive-detail] .nvpm-property-native-shell .search-details-inner,
html[data-nvpm-passive-detail] .nvpm-property-native-shell #_listingDetailsView,
html[data-nvpm-passive-detail] .nvpm-property-native-shell ._detailsHtmlScrolled,
html[data-nvpm-passive-detail] .nvpm-property-native-shell .mCustomScrollBox,
html[data-nvpm-passive-detail] .nvpm-property-native-shell .mCSB_container,
html[data-nvpm-passive-detail] .nvpm-property-native-shell #_detailsHtml{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
html[data-nvpm-passive-detail] .nvpm-property-native-shell .details-navigation,
html[data-nvpm-passive-detail] .nvpm-property-native-shell #detailsHtm{
  display:none!important;
  width:0!important;height:0!important;min-height:0!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
}

/* Native action row: same PropertyMinder controls, presentation only. */
html[data-nvpm-passive-detail] #_detailsView,
html[data-nvpm-passive-detail] ._detailsView,
html[data-nvpm-passive-detail] .details-menu-wrapp-wrapp,
html[data-nvpm-passive-detail] .details-menu-wrapp{
  margin-top:0!important;
  padding-top:0!important;
}
html[data-nvpm-passive-detail] .nvpm-toolbar-shell,
html[data-nvpm-passive-detail] .nvpm-toolbar-host,
html[data-nvpm-passive-detail] .nvpm-toolbar-portal{
  background:var(--nvpx-black)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.14)!important;
  box-shadow:none!important;
}
html[data-nvpm-passive-detail] .nvpm-toolbar-portal{
  padding-left:18px!important;
  padding-right:18px!important;
}
html[data-nvpm-passive-detail] .nvpm-toolbar-button,
html[data-nvpm-passive-detail] .nvpm-finance-toolbar-button{
  color:#fff!important;
  background:transparent!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;
}
html[data-nvpm-passive-detail] .nvpm-toolbar-button:hover,
html[data-nvpm-passive-detail] .nvpm-toolbar-button:focus-visible,
html[data-nvpm-passive-detail] .nvpm-finance-toolbar-button:hover,
html[data-nvpm-passive-detail] .nvpm-finance-toolbar-button:focus-visible{
  color:#fff!important;
  background:#24262b!important;
  border-color:#3a3d43!important;
}
html[data-nvpm-passive-detail] .nvpm-toolbar-back{
  min-width:auto!important;
  padding-left:10px!important;
  padding-right:14px!important;
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  border-radius:8px!important;
}
html[data-nvpm-passive-detail] .nvpm-toolbar-back:hover,
html[data-nvpm-passive-detail] .nvpm-toolbar-back:focus-visible{
  color:#fff!important;
  background:#24262b!important;
}
html[data-nvpm-passive-detail] .nvpm-toolbar-back .nvpm-toolbar-label{color:#fff!important}
html[data-nvpm-passive-detail] .nvpm-toolbar-save.nvpm-is-saved svg path{fill:currentColor!important}

.nvpm-property-experience-host{
  position:relative;z-index:2;
  width:var(--nvpx-viewport-width,100vw)!important;
  max-width:none!important;
  margin:0 0 0 calc(0px - var(--nvpx-viewport-left,0px))!important;
  padding:0!important;
  overflow-x:clip!important;
  box-sizing:border-box!important;
  background:#fff;
  opacity:0;
  transform:translateY(3px);
  transition:opacity .16s ease,transform .16s ease;
}
.nvpm-property-experience-host.is-ready{opacity:1;transform:none}
.nvpm-property-experience{
  position:relative;width:100%;max-width:none;margin:0;padding:0;overflow-x:clip;
  background:#fff;color:var(--nvpx-ink);font-family:"Poppins",Arial,sans-serif;
}

.nvpx-gallery{width:var(--nvpx-panel);margin:0 auto;background:var(--nvpx-black)}
.nvpx-gallery__stage{
  position:relative;display:grid;
  grid-template-columns:minmax(0,2.2fr) minmax(300px,.8fr);
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:4px;height:clamp(520px,66dvh,790px);overflow:hidden;background:#111;
}
.nvpx-gallery.is-single .nvpx-gallery__stage{grid-template-columns:1fr}
.nvpx-gallery.is-two .nvpx-gallery__photo--side-one{grid-row:1/span 2}
.nvpx-gallery__photo{display:block;width:100%;height:100%;padding:0;border:0;background:#111;overflow:hidden;cursor:zoom-in}
.nvpx-gallery__photo--main{grid-column:1;grid-row:1/span 2}
.nvpx-gallery__photo--side-one{grid-column:2;grid-row:1}
.nvpx-gallery__photo--side-two{grid-column:2;grid-row:2}
.nvpx-gallery__photo--mobile-third{display:none}
.nvpx-gallery__photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .42s ease}
.nvpx-gallery__photo:hover img{transform:scale(1.018)}
.nvpx-gallery__counter,.nvpx-gallery__view-all{
  position:absolute;z-index:2;bottom:16px;min-height:42px;padding:0 16px;
  border:1px solid rgba(255,255,255,.45);border-radius:0;color:#fff;
  background:rgba(5,5,5,.8);font:600 12px/1 "Poppins",Arial,sans-serif;cursor:pointer;
}
.nvpx-gallery__counter{left:16px}.nvpx-gallery__view-all{right:16px}
.nvpx-gallery__counter:focus-visible,.nvpx-gallery__view-all:focus-visible,.nvpx-gallery__photo:focus-visible{outline:2px solid #fff;outline-offset:-2px}

.nvpx-summary{
  width:var(--nvpx-panel);margin:0 auto;display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:22px 52px;padding:34px 52px 28px;background:var(--nvpx-black);color:#fff;box-sizing:border-box;
}
.nvpx-summary__address{margin:0;color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:clamp(36px,2.8vw,54px);font-weight:500;line-height:1.04;letter-spacing:-.025em}
.nvpx-summary__locality{margin:7px 0 0;color:#f2f2f4;font-size:18px;line-height:1.35}
.nvpx-summary__status{margin:12px 0 0;color:#bfc3ca;font-size:13px;line-height:1.5}
.nvpx-summary__price{align-self:center;color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:clamp(44px,3.8vw,66px);line-height:1;text-align:right;white-space:nowrap}
.nvpx-summary__facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.18);margin-top:2px}
.nvpx-summary__fact{display:grid;grid-template-columns:30px auto;grid-template-rows:auto auto;align-items:center;column-gap:12px;padding:18px 22px 0;border-right:1px solid rgba(255,255,255,.18)}
.nvpx-summary__fact:first-child{padding-left:0}.nvpx-summary__fact:last-child{border-right:0}
.nvpx-summary__fact svg{grid-row:1/span 2;width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nvpx-summary__fact strong{display:block;color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:26px;font-weight:500;line-height:1}
.nvpx-summary__fact span{display:block;margin-top:6px;color:#bfc3ca;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

.nvpx-content{width:100%;margin:0;background:#fff}
.nvpx-section{min-width:0;padding:64px max(48px,calc((100% - 1420px)/2));box-sizing:border-box}
.nvpx-section[hidden]{display:none!important}
.nvpx-section__title{margin:0 0 24px;color:inherit;font-family:"Playfair Display",Georgia,serif;font-size:clamp(30px,2.5vw,42px);font-weight:500;line-height:1.14;letter-spacing:-.018em}
.nvpx-section__title::before,.nvpx-section__title::after{content:none!important;display:none!important}

.nvpx-description{background:#fff;color:var(--nvpx-ink)}
.nvpx-description__wrap{position:relative;max-width:930px}
.nvpx-description__copy{margin:0;font-size:16px;line-height:1.85;color:#34373d;white-space:normal}
.nvpx-description__wrap.is-collapsed{max-height:13.9em;overflow:hidden}
.nvpx-description__wrap.is-collapsed::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4.6em;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 88%);pointer-events:none}
.nvpx-description__toggle{margin-top:22px;min-height:42px;padding:0 20px;border:1px solid #aeb3bb;border-radius:999px;background:#fff;color:#111318;font:600 12px/1 "Poppins",Arial,sans-serif;cursor:pointer}
.nvpx-description__toggle:hover,.nvpx-description__toggle:focus-visible{background:#111318;color:#fff;border-color:#111318}
.nvpx-description__toggle[hidden]{display:none!important}

.nvpx-details{background:var(--nvpx-black);color:#fff}
.nvpx-details__body,.nvpx-details__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 52px}
.nvpx-details .nvpx-field{border-bottom:1px solid rgba(255,255,255,.18)}
.nvpx-details .nvpx-field__label{color:#fff}
.nvpx-details .nvpx-field__value{color:#c9ccd2}

.nvpx-features{background:var(--nvpx-soft);color:var(--nvpx-ink)}
.nvpx-feature-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 44px}
.nvpx-feature-group{min-width:0;background:#fff;border:1px solid var(--nvpx-rule);padding:24px 26px}
.nvpx-feature-group h3{margin:0 0 12px;font-family:"Playfair Display",Georgia,serif;font-size:24px;font-weight:500;color:#111318}
.nvpx-feature-group__rows{display:block}

.nvpx-field{min-width:0;padding:14px 0;border-bottom:1px solid var(--nvpx-rule);display:grid;grid-template-columns:minmax(142px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}
.nvpx-field:last-child{border-bottom:0}
.nvpx-field__label{font-size:12px;font-weight:700;line-height:1.42;color:#16181c}
.nvpx-field__value{font-size:13px;font-weight:400;line-height:1.55;color:#4a4d54;overflow-wrap:anywhere}

.nvpx-map{background:var(--nvpx-black);color:#fff;padding-top:54px;padding-bottom:48px}
.nvpx-map__header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}
.nvpx-map__header .nvpx-section__title{margin:0}
.nvpx-map__filters-toggle{min-height:42px;padding:0 18px;border:1px solid rgba(255,255,255,.55);border-radius:0;background:transparent;color:#fff;font:600 12px/1 "Poppins",Arial,sans-serif;cursor:pointer}
.nvpx-map__filters-toggle:hover,.nvpx-map__filters-toggle:focus-visible{background:#fff;color:#050505;border-color:#fff}
.nvpx-map__filters-toggle[hidden]{display:none!important}
.nvpx-map__native-host{width:100%;overflow:hidden;border:1px solid #3a3d43;background:#fff;padding:10px;box-sizing:border-box}
.nvpx-map__native{display:block!important;width:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#111318!important}
.nvpx-map__native>.container{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
.nvpx-map__native .page-space{padding:0!important;margin:0!important}
.nvpx-map__native h1.heading{display:none!important}
.nvpx-map__native .MapAndLayers{width:100%!important;margin:0!important}
.nvpx-map__native .detailsMapContainer,.nvpx-map__native .mapContainerMask{min-height:390px!important;max-height:390px!important}
.nvpx-map__native.nvpx-map-filters-collapsed #_detailsLayersMapControl{display:none!important}
.nvpx-map__native #_detailsLayersMapControl{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;margin:0 0 10px!important;padding:18px!important;background:#f4f5f7!important;color:#111318!important;box-sizing:border-box!important;opacity:1!important}
.nvpx-map__native #_detailsLayersMapControl *{color:#111318!important;text-shadow:none!important}
.nvpx-map__native #_detailsLayersMapControl input,.nvpx-map__native #_detailsLayersMapControl label{opacity:1!important;visibility:visible!important}

.nvpx-map-cta{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:center;gap:36px;margin-top:26px;padding-top:26px;border-top:1px solid rgba(255,255,255,.22)}
.nvpx-map-cta__copy span{display:block;margin-bottom:7px;color:#aeb2ba;font-size:10px;font-weight:700;letter-spacing:.18em}
.nvpx-map-cta__copy h3{margin:0;color:#fff;font-family:"Playfair Display",Georgia,serif;font-size:clamp(26px,2.4vw,38px);font-weight:500;line-height:1.12}
.nvpx-map-cta__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.nvpx-map-cta__button{min-height:48px;padding:0 16px;border:1px solid rgba(255,255,255,.48);border-radius:0;background:transparent;color:#fff;font:600 12px/1 "Poppins",Arial,sans-serif;cursor:pointer}
.nvpx-map-cta__button:hover,.nvpx-map-cta__button:focus-visible{background:#24262b;border-color:#fff;color:#fff}
.nvpx-map-cta__button--primary{background:#fff;border-color:#fff;color:#050505}
.nvpx-map-cta__button--primary:hover,.nvpx-map-cta__button--primary:focus-visible{background:#e8e9eb;color:#050505}

.nvpx-courtesy{background:#fff;color:var(--nvpx-ink);padding-top:38px;padding-bottom:38px;border-bottom:1px solid var(--nvpx-rule)}
.nvpx-courtesy .nvpx-section__title{margin-bottom:10px;font-family:"Poppins",Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:#6c717a}
.nvpx-courtesy__copy{margin:0;font-size:15px;font-weight:500;color:#111318}

@media(max-width:1100px){
  .nvpx-section{padding-left:38px;padding-right:38px}
  .nvpx-feature-groups{gap:22px}
  .nvpx-summary{padding-left:38px;padding-right:38px}
}

@media(max-width:900px){
  :root{--nvpx-panel:100%;--nvpx-copy:100%}

  html[data-nvpm-passive-detail] .nvpm-toolbar-shell{
    position:sticky!important;top:0!important;z-index:220!important;
  }
  html[data-nvpm-passive-detail] .nvpm-toolbar-portal{padding-left:8px!important;padding-right:8px!important}
  html[data-nvpm-passive-detail] .nvpm-toolbar-back{padding-left:8px!important;padding-right:8px!important;border-radius:6px!important}
  html[data-nvpm-passive-detail] .nvpm-toolbar-button:hover,
  html[data-nvpm-passive-detail] .nvpm-toolbar-button:focus-visible,
  html[data-nvpm-passive-detail] .nvpm-toolbar-back:hover,
  html[data-nvpm-passive-detail] .nvpm-toolbar-back:focus-visible{color:#fff!important;background:#202226!important}

  html[data-nvpm-passive-detail] .nvpm-finance-dock,
  html[data-nvpm-passive-detail] .nvpm-direct-tour-dock.nvpm-finance-dock-host{
    background:#050505!important;
    border-top:1px solid #2f3237!important;
    box-shadow:0 -10px 28px rgba(0,0,0,.2)!important;
    gap:0!important;
    padding-left:0!important;padding-right:0!important;
  }
  html[data-nvpm-passive-detail] .nvpm-finance-dock button,
  html[data-nvpm-passive-detail] .nvpm-direct-tour-dock.nvpm-finance-dock-host button{
    min-width:0!important;
    color:#fff!important;
    background:#050505!important;
    border:0!important;
    border-right:1px solid #2f3237!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  html[data-nvpm-passive-detail] .nvpm-finance-dock button:last-child,
  html[data-nvpm-passive-detail] .nvpm-direct-tour-dock.nvpm-finance-dock-host button:last-child{border-right:0!important}
  html[data-nvpm-passive-detail] .nvpm-finance-dock button:is(:active,:focus-visible),
  html[data-nvpm-passive-detail] .nvpm-direct-tour-dock.nvpm-finance-dock-host button:is(:active,:focus-visible){background:#222429!important;color:#fff!important}

  .nvpx-gallery{width:100%;margin:0}
  .nvpx-gallery__stage{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,45svh) 82px;height:auto;gap:3px}
  .nvpx-gallery__photo--main{grid-column:1/-1;grid-row:1}
  .nvpx-gallery__photo--side{grid-row:2;display:block;width:100%}
  .nvpx-gallery__photo--side-one{grid-column:1}
  .nvpx-gallery__photo--side-two{grid-column:2}
  .nvpx-gallery__photo--mobile-third{display:block;grid-column:3;grid-row:2;width:100%;height:100%}
  .nvpx-gallery__counter{left:auto;right:14px;bottom:96px}.nvpx-gallery__view-all{display:none}

  .nvpx-summary{width:100%;grid-template-columns:1fr;padding:26px 22px 22px;gap:14px}
  .nvpx-summary__address{font-size:clamp(28px,7.7vw,36px);line-height:1.08}
  .nvpx-summary__locality{font-size:17px;margin-top:5px}
  .nvpx-summary__price{font-size:clamp(39px,10vw,50px);text-align:left}
  .nvpx-summary__status{font-size:12px;margin-top:9px}
  .nvpx-summary__facts{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:3px}
  .nvpx-summary__fact{display:flex;flex-direction:column;gap:5px;justify-content:flex-start;padding:15px 6px 0;text-align:center;column-gap:0}
  .nvpx-summary__fact:first-child{padding-left:6px}
  .nvpx-summary__fact svg{width:21px;height:21px;grid-row:auto;margin:0 auto 2px}
  .nvpx-summary__fact strong{font-size:21px}.nvpx-summary__fact span{font-size:8px;letter-spacing:.07em;margin-top:0}

  .nvpx-section{padding:42px 22px}
  .nvpx-section__title{font-size:31px;margin-bottom:20px}
  .nvpx-description__copy{font-size:16px;line-height:1.72}
  .nvpx-description__wrap.is-collapsed{max-height:12em}
  .nvpx-details__body,.nvpx-details__grid{grid-template-columns:1fr;gap:0}
  .nvpx-feature-groups{grid-template-columns:1fr;gap:16px}
  .nvpx-feature-group{padding:20px 18px}
  .nvpx-feature-group h3{font-size:23px}
  .nvpx-field{grid-template-columns:minmax(118px,.72fr) minmax(0,1.28fr);gap:14px;padding:13px 0}

  .nvpx-map{padding-top:38px;padding-bottom:calc(32px + env(safe-area-inset-bottom))}
  .nvpx-map__header{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:17px}
  .nvpx-map__filters-toggle{width:100%;min-height:44px}
  .nvpx-map__native-host{padding:6px}
  .nvpx-map__native .detailsMapContainer,.nvpx-map__native .mapContainerMask{min-height:360px!important;max-height:360px!important}
  .nvpx-map__native #_detailsLayersMapControl{padding:16px 14px!important}
  .nvpx-map-cta{grid-template-columns:1fr;gap:18px;margin-top:20px;padding-top:22px}
  .nvpx-map-cta__copy h3{font-size:30px}
  .nvpx-map-cta__actions{grid-template-columns:1fr;gap:9px}
  .nvpx-map-cta__button{min-height:46px}
  .nvpx-courtesy{padding-top:30px;padding-bottom:30px}
}

@media(max-width:520px){
  .nvpx-gallery__stage{grid-template-rows:minmax(0,42svh) 78px}
  .nvpx-gallery__counter{bottom:91px}
  .nvpx-summary{padding-left:20px;padding-right:20px}
  .nvpx-summary__address{font-size:30px}
  .nvpx-summary__price{font-size:42px}
  .nvpx-summary__facts{overflow-x:auto;scrollbar-width:none}
  .nvpx-summary__fact{min-width:74px}
  .nvpx-section{padding-left:20px;padding-right:20px}
  .nvpx-field{grid-template-columns:minmax(108px,.68fr) minmax(0,1.32fr);gap:12px}
}

/* Keep PropertyMinder's originating Map/List DOM alive, but remove it from layout only after a verified property detail has latched. */
#_searchResultsMenu.nvpm-origin-results-suppressed {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* =========================================================
   Live detail repair build 41
   One detail-flow controller, one toolbar system, one footer ending.
========================================================= */
html[data-nvpm-passive-detail] {
  --nvpx-toolbar-height: 60px;
  --nvpx-fixed-cta-height: 76px;
}

html[data-nvpm-passive-detail],
html[data-nvpm-passive-detail] body {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch !important;
}

/* PropertyMinder's search-form host is the white reservation above detail.
   Collapse the host only while a verified property is mounted. */
html[data-nvpm-passive-detail] #_searchView .searchform-wrapp-wrapp,
html[data-nvpm-passive-detail] #_searchView .searchform-wrapp._topBar,
html[data-nvpm-passive-detail] #_searchView #_topBar,
html[data-nvpm-passive-detail] #_searchView .top_bar_buttons,
html[data-nvpm-passive-detail] #_searchView :is(.nvpm-search-utility,.nvpm-search-actions,.nvpm-mobile-tools,.nvpm-mobile-filter-toggle) {
  display: block !important;
  visibility: hidden !important;
  width: 100% !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  box-shadow: none !important;
  transform: none !important;
}
html[data-nvpm-passive-detail] :is(#content,#include,#include>.layout,#_searchView,#_wrapapp) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

html[data-nvpm-passive-detail] :is(
  #_wrapapp,#_detailsView,._detailsView,#_listingDetailsView,
  .search-details-shell,.search-details-inner,.search-details-wrapp,
  ._detailsHtmlScrolled,.mCustomScrollBox,.mCSB_container,
  #_detailsHtml,._detailsHtml,.nvpm-detail-flow-owner
) {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  overflow: visible !important;
  transform: none !important;
  touch-action: pan-y !important;
}

#_searchResultsMenu.nvpm-origin-results-detail-owner {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}
.nvpm-origin-branch-suppressed,
#_mapView.nvpm-origin-map-suppressed {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.nvpm-detail-affix-spacer-collapsed {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
html[data-nvpm-passive-detail] :is(#_detailsView,._detailsView).nvpm-detail-affix-released,
html[data-nvpm-passive-detail] #_wrapapp.nvpm-detail-document-owner {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
}

/* One toolbar implementation. In flow below the PropertyMinder header; fixed
   only after its own anchor reaches the viewport top. */
.nvpm-toolbar-flow-anchor {
  display: block !important;
  width: 100% !important;
  height: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
html[data-nvpm-passive-detail] :is(.nvpm-toolbar-shell,.nvpm-toolbar-host).nvpm-toolbar-detail-flow {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  z-index: 2147480800 !important;
  background: #050505 !important;
  box-shadow: none !important;
}
html[data-nvpm-passive-detail] :is(.nvpm-toolbar-shell,.nvpm-toolbar-host).nvpm-toolbar-detail-flow.nvpm-toolbar-is-fixed {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  margin: 0 !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.16) !important;
}
html[data-nvpm-passive-detail] .nvpm-toolbar-portal {
  width: 100% !important;
  height: var(--nvpx-toolbar-height) !important;
  min-height: var(--nvpx-toolbar-height) !important;
  max-height: var(--nvpx-toolbar-height) !important;
  margin: 0 !important;
  padding: 8px 18px !important;
  background: #050505 !important;
  box-sizing: border-box !important;
}
html[data-nvpm-passive-detail] .nvpm-toolbar-portal :is(.nvpm-toolbar-back,.nvpm-toolbar-button,.nvpm-finance-toolbar-button) {
  min-height: 44px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transition: background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease !important;
}
html[data-nvpm-passive-detail] .nvpm-toolbar-portal :is(.nvpm-toolbar-back,.nvpm-toolbar-button,.nvpm-finance-toolbar-button):hover,
html[data-nvpm-passive-detail] .nvpm-toolbar-portal :is(.nvpm-toolbar-back,.nvpm-toolbar-button,.nvpm-finance-toolbar-button):focus-visible {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: #1b1d21 !important;
  border-color: rgba(255,255,255,.78) !important;
  box-shadow: 0 0 0 1px #050505,0 0 0 2px rgba(255,255,255,.7) !important;
  transform: translateY(-1px) !important;
  outline: 0 !important;
}
html[data-nvpm-passive-detail] .nvpm-toolbar-back { min-width: 148px !important; padding: 0 14px !important; }

/* The approved continuous black image composition. */
html[data-nvpm-passive-detail] .nvpm-property-experience-host,
html[data-nvpm-passive-detail] .nvpm-property-experience,
html[data-nvpm-passive-detail] .nvpx-gallery,
html[data-nvpm-passive-detail] .nvpx-gallery__stage {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
html[data-nvpm-passive-detail] .nvpx-gallery {
  width: var(--nvpx-panel) !important;
  margin: 0 auto !important;
  padding: 12px 12px 0 !important;
  background: #050505 !important;
  box-sizing: border-box !important;
}
html[data-nvpm-passive-detail] .nvpx-gallery__stage { gap: 6px !important; background: #050505 !important; }
html[data-nvpm-passive-detail] .nvpx-gallery__photo { background: #111 !important; }
html[data-nvpm-passive-detail] .nvpx-summary { border-top: 0 !important; }

/* Read More / Read Less is driven by rendered overflow and preserves state. */
html[data-nvpm-passive-detail] .nvpx-description__wrap { width: 100% !important; }
html[data-nvpm-passive-detail] .nvpx-description__wrap.is-collapsed { max-height: 9.4em !important; }
html[data-nvpm-passive-detail] .nvpx-description__wrap:not(.is-collapsed) { max-height: none !important; overflow: visible !important; }
html[data-nvpm-passive-detail] .nvpx-description__toggle:not([hidden]) {
  display: inline-flex !important;
  visibility: visible !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* Full-width desktop Property Details. */
html[data-nvpm-passive-detail] :is(.nvpx-details,.nvpx-details__body,.nvpx-details__grid) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
html[data-nvpm-passive-detail] .nvpx-details__body { display: block !important; }
html[data-nvpm-passive-detail] .nvpx-details__grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  grid-auto-flow: row !important;
  gap: 0 72px !important;
}

/* Native map stays in its original PropertyMinder hierarchy. */
html[data-nvpm-passive-detail] #map-details.nvpx-map__native-in-place {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 48px max(32px,calc((100% - 1420px)/2)) 42px !important;
  overflow: visible !important;
  color: #fff !important;
  background: #050505 !important;
  box-sizing: border-box !important;
}
html[data-nvpm-passive-detail] #map-details.nvpx-map__native-in-place :is(.container,.page-space,.MapAndLayers) {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
html[data-nvpm-passive-detail] #map-details.nvpx-map__native-in-place h1.heading {
  display: block !important;
  margin: 0 0 20px !important;
  color: #fff !important;
  font: 500 clamp(30px,2.5vw,42px)/1.14 "Playfair Display",Georgia,serif !important;
}
.nvpx-native-map-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  margin: 0 0 12px !important;
  padding: 0 18px !important;
  color: #fff !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.5) !important;
  border-radius: 999px !important;
  font: 600 12px/1 "Poppins",Arial,sans-serif !important;
  cursor: pointer !important;
}
.nvpx-native-map-toggle:hover,.nvpx-native-map-toggle:focus-visible,.nvpx-native-map-toggle[aria-expanded="true"] {
  color: #050505 !important;
  background: #fff !important;
  border-color: #fff !important;
  outline: 0 !important;
}
html[data-nvpm-passive-detail] #map-details #_detailsLayersMapControl {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 10px !important;
  padding: 22px !important;
  overflow: visible !important;
  color: #111318 !important;
  background: #f4f5f7 !important;
  border: 1px solid #d9dde3 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transform: none !important;
  box-sizing: border-box !important;
}
html[data-nvpm-passive-detail] #map-details #_detailsLayersMapControl[hidden] { display: none !important; }
html[data-nvpm-passive-detail] #map-details :is(.loadMapMask,a.loadMapMask) {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #fff !important;
  background: #17191d !important;
  border: 0 !important;
}
html[data-nvpm-passive-detail] #map-details .loadMapBtn {
  min-height: 42px !important;
  padding: 0 18px !important;
  color: #fff !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  border-radius: 999px !important;
}
html[data-nvpm-passive-detail] #map-details :is(.mapContainerMask,.detailsMapContainer) {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  min-height: 430px !important;
  max-height: 430px !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #e9edf2 !important;
}

/* One compact desktop concierge bar. Mobile keeps the protected native dock. */
@media (min-width: 901px) {
  html[data-nvpm-passive-detail] .nvpm-property-experience { padding-bottom: calc(var(--nvpx-fixed-cta-height) + 18px) !important; }
  html[data-nvpm-passive-detail] .nvpx-map-cta {
    position: fixed !important;
    left: 50% !important;
    bottom: 16px !important;
    z-index: 2147480700 !important;
    width: min(calc(100vw - 56px),1120px) !important;
    min-height: var(--nvpx-fixed-cta-height) !important;
    margin: 0 !important;
    padding: 10px 12px 10px 22px !important;
    display: grid !important;
    grid-template-columns: minmax(300px,.92fr) minmax(0,1.72fr) !important;
    align-items: center !important;
    gap: 18px !important;
    color: #fff !important;
    background: rgba(5,5,5,.97) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.28) !important;
    transform: translateX(-50%) !important;
    backdrop-filter: blur(12px) !important;
  }
  html[data-nvpm-passive-detail] .nvpx-map-cta__copy > span { display: none !important; }
  html[data-nvpm-passive-detail] .nvpx-map-cta__copy h3 { margin: 0 !important; color: #fff !important; font-size: 22px !important; line-height: 1.15 !important; }
  html[data-nvpm-passive-detail] .nvpx-map-cta__note { margin: 7px 0 0 !important; color: #bfc3ca !important; font: 500 11px/1.45 "Poppins",Arial,sans-serif !important; }
  html[data-nvpm-passive-detail] .nvpx-map-cta__actions { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 8px !important; }
  html[data-nvpm-passive-detail] .nvpx-map-cta__button {
    min-height: 46px !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: #17191d !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 9px !important;
    box-shadow: none !important;
  }
  html[data-nvpm-passive-detail] .nvpx-map-cta__button:hover,
  html[data-nvpm-passive-detail] .nvpx-map-cta__button:focus-visible {
    background: #1f2227 !important;
    border-color: rgba(255,255,255,.78) !important;
    box-shadow: 0 0 0 1px #050505,0 0 0 2px rgba(255,255,255,.7) !important;
    transform: translateY(-1px) !important;
    outline: 0 !important;
  }
}

.nvpx-back-to-top {
  position: fixed !important;
  right: 22px !important;
  bottom: calc(var(--nvpx-fixed-cta-height) + 34px) !important;
  z-index: 2147480750 !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  color: #fff !important;
  background: #050505 !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.24) !important;
  font: 700 12px/1 "Poppins",Arial,sans-serif !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(8px) !important;
  transition: opacity .18s ease,transform .18s ease,background-color .18s ease !important;
}
.nvpx-back-to-top.is-visible { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; }

/* Dynamic native courtesy/MLS ending and master PropertyMinder footer. */
html[data-nvpm-passive-detail] .nvpm-property-native-shell { width: 100% !important; max-width: none !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; }
html[data-nvpm-passive-detail] .nvpm-property-native-shell .disclaimer.presented_by {
  display: block !important;
  visibility: visible !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 22px max(32px,calc((100% - 1220px)/2)) !important;
  color: #111318 !important;
  background: #fff !important;
  border-top: 1px solid #d8dce2 !important;
  box-sizing: border-box !important;
}
html[data-nvpm-passive-detail] #footer-content {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #f2f4f6 !important;
}
html[data-nvpm-passive-detail] #footer-content > .heading { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }
html[data-nvpm-passive-detail] #footer-content > :is(.row,.presented_by,.disclaimer_mls,.disclaimer.info_deemed) {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
html[data-nvpm-passive-detail] #footer-content > :is(.row,.presented_by) { padding: 24px max(32px,calc((100% - 1220px)/2)) 22px !important; background: #fff !important; border-top: 1px solid #d8dce2 !important; }
html[data-nvpm-passive-detail] #footer-content > :is(.disclaimer_mls,.disclaimer.info_deemed) { padding: 18px max(32px,calc((100% - 1220px)/2)) 16px !important; background: #f2f4f6 !important; border-top: 1px solid #d8dce2 !important; }
html[data-nvpm-passive-detail] #footer-content :is(.row,.page-space,.span12,.span4,.contacts-info,.agentInfoView,.presented_by,.disclaimer_mls,.disclaimer.info_deemed) {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  box-sizing: border-box !important;
}
html[data-nvpm-passive-detail] #footer-content > :empty { display: none !important; }
html[data-nvpm-passive-detail] :is(#nv-footer,footer#nv-footer,.site-footer) { margin-top: 0 !important; padding-top: 0 !important; padding-bottom: calc(var(--nvpx-fixed-cta-height) + 12px) !important; }

@media (max-width: 900px) {
  html[data-nvpm-passive-detail] { --nvpx-toolbar-height: 58px; }
  html[data-nvpm-passive-detail] :is(.nvpm-toolbar-shell,.nvpm-toolbar-host).nvpm-toolbar-detail-flow.nvpm-toolbar-is-fixed { top: env(safe-area-inset-top) !important; }
  html[data-nvpm-passive-detail] .nvpm-toolbar-portal { padding-left: 8px !important; padding-right: 8px !important; }
  html[data-nvpm-passive-detail] .nvpm-toolbar-back { min-width: 0 !important; padding-left: 8px !important; padding-right: 8px !important; }
  html[data-nvpm-passive-detail] .nvpx-gallery { width: 100% !important; padding: 8px 8px 0 !important; }
  html[data-nvpm-passive-detail] .nvpx-details__grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  html[data-nvpm-passive-detail] #map-details.nvpx-map__native-in-place { padding: 38px 20px calc(32px + env(safe-area-inset-bottom)) !important; }
  html[data-nvpm-passive-detail] #map-details :is(.mapContainerMask,.detailsMapContainer) { min-height: 360px !important; max-height: 360px !important; }
  html[data-nvpm-passive-detail] .nvpx-map-cta { display: none !important; }
  .nvpx-back-to-top { right: 12px !important; bottom: calc(82px + env(safe-area-inset-bottom)) !important; min-width: 44px !important; min-height: 44px !important; padding: 0 12px !important; }
  html[data-nvpm-passive-detail] .nvpm-property-native-shell .disclaimer.presented_by,
  html[data-nvpm-passive-detail] #footer-content > :is(.row,.presented_by,.disclaimer_mls,.disclaimer.info_deemed) { padding-left: 20px !important; padding-right: 20px !important; }
  html[data-nvpm-passive-detail] :is(#nv-footer,footer#nv-footer,.site-footer) { padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important; }
}


/* =========================================================
   Live detail repair 41 - final cascade layer.
   This block intentionally loads after the protected V132 application CSS.
========================================================= */
html[data-nvpm-passive-detail] .nvpm-detail-reservation-collapsed,
html[data-nvpm-passive-detail][data-nvpm-search-ui="recovery-mobile-layout-r18"] .nvpm-detail-reservation-collapsed,
html[data-nvpm-passive-detail] #_searchView :is(.searchform-wrapp-wrapp,.searchform-wrapp._topBar,#_topBar,.top_bar_buttons,.nvpm-search-utility,.nvpm-search-actions,.nvpm-mobile-tools,.nvpm-mobile-filter-toggle) {
  display:block!important;
  visibility:hidden!important;
  width:100%!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  box-shadow:none!important;
  transform:none!important;
}
html[data-nvpm-passive-detail] :is(#content,#include,#include>.layout,#_searchView,#_wrapapp,#_detailsView,._detailsView) {
  margin-top:0!important;
  padding-top:0!important;
}

html[data-nvpm-passive-detail][data-nvpm-search-ui="recovery-mobile-layout-r18"]
  :is(.nvpm-toolbar-shell,.nvpm-toolbar-host).nvpm-toolbar-detail-flow {
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  max-width:none!important;
  height:var(--nvpx-toolbar-height)!important;
  min-height:var(--nvpx-toolbar-height)!important;
  max-height:var(--nvpx-toolbar-height)!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  z-index:2147480800!important;
}
html[data-nvpm-passive-detail][data-nvpm-search-ui="recovery-mobile-layout-r18"]
  :is(.nvpm-toolbar-shell,.nvpm-toolbar-host).nvpm-toolbar-detail-flow.nvpm-toolbar-is-fixed {
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:auto!important;
  left:0!important;
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
}
html[data-nvpm-passive-detail] .nvpm-toolbar-flow-anchor { min-height:0!important; max-height:var(--nvpx-toolbar-height)!important; }
html[data-nvpm-passive-detail] .nvpm-toolbar-portal :is(.nvpm-toolbar-back,.nvpm-toolbar-button,.nvpm-finance-toolbar-button) {
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
html[data-nvpm-passive-detail] .nvpm-toolbar-portal :is(.nvpm-toolbar-back,.nvpm-toolbar-button,.nvpm-finance-toolbar-button):is(:hover,:focus-visible) {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:#1b1d21!important;
  border-color:rgba(255,255,255,.78)!important;
  box-shadow:0 0 0 1px #050505,0 0 0 2px rgba(255,255,255,.70)!important;
  transform:translateY(-1px)!important;
  outline:0!important;
}

html[data-nvpm-passive-detail] .nvpm-property-experience-host,
html[data-nvpm-passive-detail] .nvpm-property-experience,
html[data-nvpm-passive-detail] .nvpx-content,
html[data-nvpm-passive-detail] .nvpx-description,
html[data-nvpm-passive-detail] .nvpx-description__toggle {
  position:relative!important;
  pointer-events:auto!important;
}
html[data-nvpm-passive-detail] .nvpm-property-experience-host { z-index:3!important; }
html[data-nvpm-passive-detail] .nvpx-description__toggle { z-index:5!important; touch-action:manipulation!important; }

/* Do not consume the native Show Map action during boot. The exact
   PropertyMinder control remains visible and clickable after its handler binds. */
html[data-nvpm-passive-detail] #map-details .nvpx-native-map-load-source,
html[data-nvpm-passive-detail] #map-details .nvpx-native-map-load-source .loadMapBtn,
html[data-nvpm-passive-detail] #map-details :is(.loadMap._loadMap,.loadMapMask._loadMap,a.loadMapMask,button.loadMapBtn) {
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
}
html[data-nvpm-passive-detail] #map-details[data-nvpm-map-ready="awaiting-user"] :is(.loadMapMask,a.loadMapMask) {
  display:flex!important;
}

/* Compact the dynamic PropertyMinder legal/footer ending without replacing it. */
html[data-nvpm-passive-detail] .nvpm-property-native-shell > .disclaimer.presented_by,
html[data-nvpm-passive-detail] .nvpm-property-native-shell #footer-content {
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0 0 0 -50vw!important;
  padding-bottom:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
html[data-nvpm-passive-detail] .nvpm-property-native-shell #footer-content,
html[data-nvpm-passive-detail] .nvpm-property-native-shell #footer-content :is(.row,.page-space,.span12,.span4,.contacts-info,.agentInfoView,.presented_by,.disclaimer_mls,.disclaimer.info_deemed),
html[data-nvpm-passive-detail] .nvpm-property-native-shell #footer-content + *,
html[data-nvpm-passive-detail] .nvpm-property-native-shell .disclaimer_mls ~ * {
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
  box-sizing:border-box!important;
}
html[data-nvpm-passive-detail] .nvpm-property-native-shell #footer-content > :empty { display:none!important; }
html[data-nvpm-passive-detail] :is(#nv-footer,footer#nv-footer,.site-footer) {
  min-height:0!important;
  height:auto!important;
  margin-top:0!important;
  padding-top:0!important;
  padding-bottom:calc(var(--nvpx-fixed-cta-height) + 10px)!important;
}
@media(max-width:900px){
  html[data-nvpm-passive-detail][data-nvpm-search-ui="recovery-mobile-layout-r18"]
    :is(.nvpm-toolbar-shell,.nvpm-toolbar-host).nvpm-toolbar-detail-flow.nvpm-toolbar-is-fixed {
    top:env(safe-area-inset-top)!important;
  }
  html[data-nvpm-passive-detail] :is(#nv-footer,footer#nv-footer,.site-footer) {
    padding-bottom:calc(82px + env(safe-area-inset-bottom))!important;
  }
}

/* PropertyMinder may place the footer tail outside its detail shell. */
html[data-nvpm-passive-detail] #footer-content + *,
html[data-nvpm-passive-detail] .disclaimer_mls ~ * {
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin-top:0!important;
  margin-bottom:0!important;
}


/* =========================================================
   Mobile Detail Stability 43 - final cascade.
   Based on the live-working C41 detail runtime. This layer does not hide
   broad PropertyMinder containers and does not eagerly load every thumbnail.
========================================================= */

/* Quiet Back control and one consistent hover language across the action row. */
html[data-nvpm-passive-detail] #_wrapapp[data-nvpm-full-app="recovery-mobile-layout-r18"].nvpm-detail-active
  .nvpm-toolbar-portal :is(.nvpm-toolbar-back,.nvpm-toolbar-button,.nvpm-finance-toolbar-button) {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:transparent!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:10px!important;
  box-shadow:none!important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
html[data-nvpm-passive-detail] #_wrapapp[data-nvpm-full-app="recovery-mobile-layout-r18"].nvpm-detail-active
  .nvpm-toolbar-portal .nvpm-toolbar-back {
  min-width:0!important;
  padding-left:12px!important;
  padding-right:14px!important;
  background:transparent!important;
  border-color:transparent!important;
  border-radius:8px!important;
}
html[data-nvpm-passive-detail] #_wrapapp[data-nvpm-full-app="recovery-mobile-layout-r18"].nvpm-detail-active
  .nvpm-toolbar-portal :is(.nvpm-toolbar-back,.nvpm-toolbar-button,.nvpm-finance-toolbar-button):is(:hover,:focus-visible) {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:#1b1d21!important;
  border-color:rgba(255,255,255,.78)!important;
  box-shadow:0 0 0 1px #050505,0 0 0 2px rgba(255,255,255,.70)!important;
  transform:translateY(-1px)!important;
  outline:0!important;
}

/* Map disclosure hides only PropertyMinder's exact MapAndLayers block. */
.nvpx-map-disclosure {
  width:100%!important;
  min-height:58px!important;
  margin:0!important;
  padding:0 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:#17191d!important;
  border:1px solid #32353b!important;
  border-radius:10px!important;
  box-shadow:none!important;
  font:650 14px/1 "Poppins",Arial,sans-serif!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
}
.nvpx-map-disclosure svg {
  width:22px!important;height:22px!important;flex:0 0 22px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
  transition:transform .18s ease!important;
}
.nvpx-map-disclosure[aria-expanded="true"] svg { transform:rotate(180deg)!important; }
.nvpx-map-disclosure:is(:hover,:focus-visible) { background:#1f2227!important;border-color:rgba(255,255,255,.78)!important;outline:0!important; }
html[data-nvpm-passive-detail] #map-details.nvpx-map__native-in-place .nvpx-map-disclosure + .MapAndLayers { margin-top:14px!important; }
html[data-nvpm-passive-detail] #map-details.nvpx-map-collapsed .page-space { min-height:0!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important; }

/* Keep the native map trigger alive. It is visually parked only while the
   proxy click is being attempted; it is restored automatically as fallback. */
html[data-nvpm-passive-detail] #map-details .nvpx-native-map-load-source.nvpx-map-proxy-active {
  position:absolute!important;
  width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
  clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;
  opacity:0!important;visibility:visible!important;pointer-events:none!important;
}
html[data-nvpm-passive-detail] #map-details[data-nvpm-map-ready="native-fallback"] .nvpx-native-map-load-source {
  position:relative!important;
  width:auto!important;height:auto!important;min-width:0!important;min-height:44px!important;
  margin:12px auto!important;padding:0!important;overflow:visible!important;
  clip:auto!important;clip-path:none!important;
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
}

/* Desktop gallery remains C41. Mobile gets one selected image and a horizontal rail. */
.nvpx-gallery__thumbs { display:none; }

@media(max-width:900px){
  html[data-nvpm-passive-detail] { --nvpx-mobile-dock-height:76px; }

  html[data-nvpm-passive-detail] .nvpx-gallery { width:100%!important;padding:8px 8px 10px!important;overflow:hidden!important; }
  html[data-nvpm-passive-detail] .nvpx-gallery__stage {
    position:relative!important;display:block!important;width:100%!important;
    height:clamp(300px,44svh,480px)!important;overflow:hidden!important;background:#050505!important;
  }
  html[data-nvpm-passive-detail] .nvpx-gallery__photo--main { display:block!important;width:100%!important;height:100%!important; }
  html[data-nvpm-passive-detail] :is(.nvpx-gallery__photo--side,.nvpx-gallery__photo--mobile-third) { display:none!important; }
  html[data-nvpm-passive-detail] .nvpx-gallery__counter { right:12px!important;bottom:12px!important;left:auto!important; }
  html[data-nvpm-passive-detail] .nvpx-gallery__thumbs {
    display:flex!important;width:100%!important;margin:0!important;padding:9px 0 2px!important;gap:8px!important;
    overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain!important;
    scroll-snap-type:x proximity!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;
    touch-action:pan-x!important;
  }
  html[data-nvpm-passive-detail] .nvpx-gallery__thumbs::-webkit-scrollbar { display:none!important; }
  html[data-nvpm-passive-detail] .nvpx-gallery__thumb {
    position:relative!important;flex:0 0 112px!important;width:112px!important;height:76px!important;
    margin:0!important;padding:0!important;overflow:hidden!important;scroll-snap-align:center!important;
    background:#111!important;border:2px solid transparent!important;border-radius:7px!important;
    box-shadow:none!important;cursor:pointer!important;opacity:.72!important;
  }
  html[data-nvpm-passive-detail] .nvpx-gallery__thumb.is-active { border-color:#fff!important;opacity:1!important; }
  html[data-nvpm-passive-detail] .nvpx-gallery__thumb img { display:block!important;width:100%!important;height:100%!important;object-fit:cover!important; }

  html[data-nvpm-passive-detail] #map-details.nvpx-map__native-in-place { padding:34px 20px calc(28px + env(safe-area-inset-bottom))!important; }
  .nvpx-map-disclosure { min-height:56px!important;padding:0 16px!important; }
  html[data-nvpm-passive-detail] #map-details.nvpx-map-expanded .nvpx-native-map-toggle { width:100%!important;min-height:46px!important;margin:0 0 10px!important;border-radius:8px!important; }

  /* Fixed four-action mobile dock. */
  html[data-nvpm-passive-detail] .nvpm-property-experience { padding-bottom:calc(var(--nvpx-mobile-dock-height) + env(safe-area-inset-bottom) + 16px)!important; }
  html[data-nvpm-passive-detail] .nvpx-map-cta {
    position:fixed!important;right:0!important;bottom:0!important;left:0!important;z-index:2147482200!important;
    display:block!important;width:100%!important;min-height:var(--nvpx-mobile-dock-height)!important;
    margin:0!important;padding:8px 8px calc(8px + env(safe-area-inset-bottom))!important;
    color:#fff!important;background:#050505!important;border:0!important;border-top:1px solid #2f3237!important;
    border-radius:0!important;box-shadow:0 -10px 28px rgba(0,0,0,.22)!important;box-sizing:border-box!important;
  }
  html[data-nvpm-passive-detail] .nvpx-map-cta__copy { display:none!important; }
  html[data-nvpm-passive-detail] .nvpx-map-cta__actions { display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;width:100%!important; }
  html[data-nvpm-passive-detail] .nvpx-map-cta__button,
  html[data-nvpm-passive-detail] .nvpx-map-cta__button--primary {
    min-width:0!important;min-height:52px!important;margin:0!important;padding:5px 4px!important;
    color:#fff!important;-webkit-text-fill-color:#fff!important;background:#050505!important;
    border:0!important;border-right:1px solid #2f3237!important;border-radius:0!important;box-shadow:none!important;
    font:700 10.5px/1.15 "Poppins",Arial,sans-serif!important;white-space:normal!important;
  }
  html[data-nvpm-passive-detail] .nvpx-map-cta__button:last-child { border-right:0!important; }
  html[data-nvpm-passive-detail] .nvpx-map-cta__button:is(:active,:focus-visible) { background:#222429!important;transform:none!important;outline:0!important; }
  html[data-nvpm-passive-detail] :is(.nvpm-finance-dock,.nvpm-direct-tour-dock.nvpm-finance-dock-host) { display:none!important;visibility:hidden!important;pointer-events:none!important; }
  .nvpx-back-to-top { bottom:calc(var(--nvpx-mobile-dock-height) + env(safe-area-inset-bottom) + 12px)!important; }
  html[data-nvpm-passive-detail] :is(#nv-footer,footer#nv-footer,.site-footer) { padding-bottom:calc(var(--nvpx-mobile-dock-height) + env(safe-area-inset-bottom) + 12px)!important; }
}


/* =========================================================
   Mobile blank-panel guard build 44
   PropertyMinder can rehydrate the outer search reservation or replace an
   affix spacer after the toolbar is already fixed. These classes keep those
   transient white blocks at zero size while a verified detail is mounted.
========================================================= */
html[data-nvpm-passive-detail] .nvpm-detail-reservation-collapsed,
html[data-nvpm-passive-detail] .nvpm-detail-transient-blank-collapsed {
  display:block!important;
  position:relative!important;
  inset:auto!important;
  float:none!important;
  flex:0 0 0!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  max-width:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  contain:strict!important;
}
html[data-nvpm-passive-detail] .nvpm-detail-reservation-collapsed::before,
html[data-nvpm-passive-detail] .nvpm-detail-reservation-collapsed::after,
html[data-nvpm-passive-detail] .nvpm-detail-transient-blank-collapsed::before,
html[data-nvpm-passive-detail] .nvpm-detail-transient-blank-collapsed::after {
  content:none!important;
  display:none!important;
}
@media(max-width:900px){
  html[data-nvpm-passive-detail] #_searchView.nvpm-detail-reservation-collapsed {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  html[data-nvpm-passive-detail] .nvpm-toolbar-flow-anchor {
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
}


/* =========================================================
   Mobile top reservation and main-image swipe build 45
   Safari can reserve an implicit grid track for a zero-height search action.
   Remove those search-only nodes from layout and neutralize every wrapper on
   the path to the live #_wrapapp while a verified property detail is open.
========================================================= */
html[data-nvpm-passive-detail] .nvpm-detail-reservation-collapsed,
html[data-nvpm-passive-detail] .nvpm-detail-transient-blank-collapsed {
  display:none!important;
  position:relative!important;
  width:0!important;height:0!important;min-width:0!important;min-height:0!important;max-width:0!important;max-height:0!important;
  margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;
  visibility:hidden!important;opacity:0!important;pointer-events:none!important;
  background:transparent!important;box-shadow:none!important;transform:none!important;contain:none!important;
}
html[data-nvpm-passive-detail] .nvpm-detail-layout-host {
  display:block!important;position:relative!important;inset:auto!important;
  width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  margin:0!important;padding:0!important;border:0!important;overflow:visible!important;
  grid-template-columns:none!important;grid-template-rows:none!important;grid-auto-rows:auto!important;
  column-gap:0!important;row-gap:0!important;align-content:start!important;justify-content:stretch!important;
  background:transparent!important;box-shadow:none!important;transform:none!important;contain:none!important;
}
html[data-nvpm-passive-detail] .nvpm-detail-app-branch {
  grid-column:auto!important;grid-row:auto!important;grid-area:auto!important;order:0!important;
  align-self:auto!important;justify-self:auto!important;width:100%!important;min-width:0!important;
  height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding-top:0!important;transform:none!important;
}
html[data-nvpm-passive-detail] .nvpx-gallery__photo--main {
  touch-action:pan-y!important;
  -webkit-user-select:none!important;user-select:none!important;
}
html[data-nvpm-passive-detail] .nvpx-gallery__photo--main img {
  pointer-events:none!important;
  transition:transform .18s ease,opacity .18s ease!important;
}
html[data-nvpm-passive-detail] .nvpx-gallery__photo--main.nvpx-gallery-swipe-left img {
  transform:translateX(-2.5%)!important;opacity:.78!important;
}
html[data-nvpm-passive-detail] .nvpx-gallery__photo--main.nvpx-gallery-swipe-right img {
  transform:translateX(2.5%)!important;opacity:.78!important;
}
@media(max-width:900px){
  html[data-nvpm-passive-detail][data-nvpm-search-ui="recovery-mobile-layout-r18"]
    :is(.nvpm-toolbar-shell,.nvpm-toolbar-host).nvpm-toolbar-detail-flow.nvpm-toolbar-is-fixed {
    top:0!important;
  }
}
