/* HomeLynx V8.1.16 — property media model reset.
   One active source image owns geometry. Inactive siblings never participate in layout.
   This removes the V8.1.13 legal-pass rail height inheritance and the V8.1.14/15 flex-row max-height drift.
   Source pixels remain uncropped and unaltered. */

/* Redundant gallery/source chrome remains retired. */
.hlx-v8-photo-source-tag,
.hlx-v8-result-source-tag,
.hlx-v8-photo-slide figcaption,
.hlx-v8-photo-nav,
.hlx-v8-hero-counter,
.hlx-v8-result-photo-count,
.hlx-v8-result-photo-chrome{display:none!important}

/* ---- Core media law ------------------------------------------------------
   The gallery is NOT a horizontal flex strip anymore. Only the active source
   image is in normal flow, so no portrait/landscape sibling can reserve space. */
.hlx-v8-result-photo,
body.hlx-search-active .hlx-v8-result-photo,
.hlx-v8-hero-photo,
.hlx-v8-photo-stage[data-photo-rail],
.hlx-v8-result-photo-rail{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  background:transparent!important;
}

.hlx-v8-result-photo,
body.hlx-search-active .hlx-v8-result-photo,
.hlx-v8-photo-stage[data-photo-rail],
.hlx-v8-result-photo-rail{
  overflow:hidden!important;
}

.hlx-v8-photo-stage[data-photo-rail],
.hlx-v8-result-photo-rail{
  display:block!important;
  align-items:initial!important;
  overflow-x:hidden!important;
  overflow-y:hidden!important;
  scroll-snap-type:none!important;
  overscroll-behavior:auto!important;
  -webkit-overflow-scrolling:auto!important;
  touch-action:pan-y!important;
  scrollbar-width:none!important;
  border-radius:0!important;
}
.hlx-v8-photo-stage[data-photo-rail]::-webkit-scrollbar,
.hlx-v8-result-photo-rail::-webkit-scrollbar{display:none!important}

/* Every inactive slide/image is physically out of layout. */
.hlx-v8-photo-stage[data-photo-rail] .hlx-v8-photo-slide,
.hlx-v8-result-photo-rail>[data-hlx-result-photo-slide]{
  display:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
.hlx-v8-photo-stage[data-photo-rail] .hlx-v8-photo-slide.is-active,
.hlx-v8-result-photo-rail>[data-hlx-result-photo-slide].is-active{
  display:block!important;
}

/* Active source pixels: full card width, natural aspect ratio, never cropped. */
.hlx-v8-photo-stage[data-photo-rail] .hlx-v8-photo-slide.is-active .hlx-v8-photo-img,
.hlx-v8-result-photo-rail>[data-hlx-result-photo-slide].is-active{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  filter:none!important;
  clip-path:none!important;
  mask:none!important;
}

.hlx-v8-hero-photo{margin:8px 0 14px!important}
.hlx-v8-hero-photo .hlx-v8-photo-fallback,
.hlx-v8-result-photo-empty{
  width:100%!important;
  min-height:220px!important;
  height:auto!important;
  display:grid!important;
  place-items:center!important;
  background:#eef1ef!important;
}

/* Carousel bubbles float on source pixels, AutoTrader-style. */
.hlx-v8-photo-dots,
.hlx-v8-result-dots{
  pointer-events:none!important;
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:12px!important;
  z-index:8!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:0!important;
  margin:0!important;
  padding:7px 10px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:999px!important;
  background:rgba(11,13,12,.56)!important;
  box-shadow:0 4px 16px rgba(0,0,0,.14)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
.hlx-v8-photo-dots i,
.hlx-v8-result-dots i{
  display:block!important;
  width:7px!important;
  height:7px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.58)!important;
  transition:transform .16s ease,background-color .16s ease!important;
}
.hlx-v8-photo-dots i.is-active,
.hlx-v8-result-dots i.is-active{
  width:9px!important;
  height:9px!important;
  background:#fff!important;
}

/* Save/My Home instrument is pinned to the actual image box. */
.hlx-v8-result-photo>.hlx-v8-result-photo-track{
  position:absolute!important;
  left:auto!important;
  right:11px!important;
  top:auto!important;
  bottom:9px!important;
  z-index:9!important;
  margin:0!important;
}
.hlx-v8-result-photo>.hlx-v8-result-selected{
  position:absolute!important;
  left:12px!important;
  top:12px!important;
  right:auto!important;
  bottom:auto!important;
  z-index:9!important;
}
.hlx-v8-result-photo .hlx-v8-result-photo-track .hlx-v8-track-native,
.hlx-v8-result-photo .hlx-v8-result-photo-track .hlx-track-home-btn,
.hlx-v8-result-photo .hlx-v8-result-photo-track .hlx-track-home-card,
.hlx-v8-result-photo .hlx-v8-result-photo-track .hlx-v8-card-action[data-hlx-track-fallback]{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  margin:0!important;
}

/* ---- Legacy consumer property-photo paths -------------------------------
   The V8.1.13 legal pass also forced contain into older fixed-height shells.
   Reset those shells to natural image geometry so they cannot letterbox. */
.v2-hero,
.v2-bleed.v2-hero,
.v2-photo-slide,
.v3-photo-frame,
.hlx-tracked-card-media{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:transparent!important;
}
.v2-hero img,
.v2-bleed>img,
.v2-photo-slide img,
.v3-photo-frame img,
.hlx-tracked-card-media img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  background:transparent!important;
  filter:none!important;
  clip-path:none!important;
  mask:none!important;
}

/* Small-screen tuning only; geometry law is identical on every device. */
@media(max-width:520px){
  .hlx-v8-photo-dots,.hlx-v8-result-dots{gap:6px!important;padding:6px 9px!important;bottom:10px!important}
  .hlx-v8-photo-dots i,.hlx-v8-result-dots i{width:6px!important;height:6px!important}
  .hlx-v8-photo-dots i.is-active,.hlx-v8-result-dots i.is-active{width:8px!important;height:8px!important}
  .hlx-v8-result-photo>.hlx-v8-result-photo-track{right:9px!important;bottom:8px!important}
}

@media(min-width:1024px){
  body.hlx-search-active .hlx-v8-result-photo{align-self:start!important;justify-self:stretch!important}
}
