/* Shared listing layout and touch gallery; preserve each site's contact actions and brand color. */
#listing-modal[data-listing-polish] {
  --listing-accent:#205b4b; --listing-tint:#eff6f2; --listing-ink:#172c37; --listing-line:#dce5e0;
}
#listing-modal[data-listing-polish="jordan"] {
  --listing-accent:#62467a; --listing-tint:#f5f0f8; --listing-ink:#30243a; --listing-line:#e5dce9;
}
html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] :is(.lp-section-title,.lp-address,#modal-price) {
  color:var(--listing-ink)!important;
}
html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] .lp-panel {
  background:#fff!important; border:1px solid var(--listing-line)!important;
  border-radius:14px!important; box-shadow:none!important;
}
html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] .lp-sidebar-card--actions {
  border:1px solid var(--listing-line)!important; box-shadow:0 6px 20px #1423220c!important;
}
html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] :is(#listing-aside-schedule-tour,#listing-sticky-schedule) {
  background:var(--listing-accent)!important; border:1px solid var(--listing-accent)!important;
  color:#fff!important; text-shadow:none!important;
}
html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] :is(button,a):focus-visible {
  outline:3px solid var(--listing-accent)!important; outline-offset:2px;
}
@media (max-width:768px) {
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] :is(.lp-dialog,.lp-scroll) {
    background:#fff!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] .lp-mobile-bar {
    min-height:52px!important; height:auto!important; gap:8px!important;
    padding:4px 12px!important; background:#fff!important; border-bottom:1px solid var(--listing-line)!important;
    box-shadow:none!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-mobile-title {
    position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important;
    padding:0!important; border:0!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] :is(.lp-mobile-back,.lp-mobile-share,.lp-mobile-call) {
    display:inline-flex!important; justify-content:center!important; align-items:center!important;
    min-height:44px!important; min-width:44px!important; border-radius:8px!important; padding:6px 10px!important;
    background:#fff!important; color:var(--listing-accent)!important; border:1px solid var(--listing-line)!important;
    box-shadow:none!important; font-size:14px!important; font-weight:700!important; text-decoration:none!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] .lp-mobile-back { margin-right:auto!important; }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] .lp-mobile-message,
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] .lp-headline .listing-share-btn--top { display:none!important; }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] .listing-section-nav {
    position:sticky!important; top:0!important; display:flex!important; flex-wrap:nowrap!important;
    min-height:0!important; height:auto!important; margin:0!important; gap:4px!important;
    padding:0 12px!important; background:#fff!important; border-bottom:1px solid var(--listing-line)!important;
    overflow-x:auto!important; overscroll-behavior-x:contain; scrollbar-width:none; box-shadow:none!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] .listing-section-nav button {
    flex:0 0 auto!important; min-height:44px!important; padding:8px 10px!important;
    color:var(--listing-ink)!important; font-size:14px!important; white-space:nowrap!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] .listing-section-nav button[aria-current] {
    color:var(--listing-accent)!important; background:var(--listing-tint)!important;
    box-shadow:inset 0 -2px var(--listing-accent);
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-modal-gallery-wrap {
    display:block!important; width:100%!important; height:auto!important; min-height:0!important;
    max-height:none!important; padding:0!important; margin:0!important;
    background:#fff!important; border-radius:0!important; box-shadow:none!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-modal-gallery-wrap .lp-gallery-mosaic {
    display:block!important; height:auto!important; min-height:0!important; max-height:none!important;
    padding:0!important; margin:0!important; border-radius:0!important; box-shadow:none!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-modal-gallery-wrap #gallery-main.lp-gallery-main {
    display:block!important; position:relative!important; width:100%!important;
    height:clamp(200px,73vw,360px)!important; min-height:0!important; max-height:47svh!important;
    aspect-ratio:auto!important; border-radius:0!important; background:#eef1f2!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-modal-gallery-wrap #gallery-main.lp-gallery-main #modal-image {
    position:absolute!important; inset:0!important; width:100%!important; height:100%!important;
    max-height:100%!important; object-fit:contain!important; object-position:center!important; transform:none!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #gallery-main::after { display:none!important; }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #gallery-controls {
    left:10px!important; right:10px!important; bottom:9px!important; padding:0!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #gallery-controls :is(#gallery-prev,#gallery-next) {
    width:44px!important; height:44px!important; min-width:44px!important; min-height:44px!important;
    box-shadow:0 1px 5px #0002!important; color:#172c37!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #gallery-counter {
    background:#172c37!important; border:0!important; box-shadow:none!important; padding:5px 10px!important;
    font-size:13px!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-modal-gallery-wrap #gallery-thumbs:not([hidden]) {
    position:static!important; display:flex!important; width:100%!important; min-height:0!important;
    height:auto!important; margin:0!important; padding:7px 12px!important; gap:7px!important;
    overflow-x:auto!important; overscroll-behavior-x:contain; background:#fff!important; border-bottom:1px solid var(--listing-line)!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #gallery-thumbs button {
    flex:0 0 60px!important; width:60px!important; height:45px!important;
    padding:0!important; border-radius:6px!important; overflow:hidden!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #gallery-thumbs button:is(.active,.is-active,[aria-current="true"],[aria-pressed="true"]) {
    border-color:var(--listing-accent)!important; opacity:1!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-overview {
    margin:0!important; padding:14px 16px 18px!important;
    background:#fff!important; border:0!important; border-radius:0!important; box-shadow:none!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-overview #modal-status {
    margin:0 0 6px!important; background:var(--listing-tint)!important; color:var(--listing-accent)!important;
    border:0!important; border-radius:5px!important; padding:4px 8px!important; font-size:11px!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-overview #modal-price {
    font-size:clamp(28px,8.7vw,42px)!important; line-height:1.1!important; margin:0!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-overview #modal-address {
    margin:6px 0 10px!important; font-size:clamp(15px,4vw,18px)!important; line-height:1.35!important;
    overflow-wrap:anywhere; white-space:normal!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-stats.lp-facts-grid:not([hidden]) {
    grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:6px!important; margin:12px 0 20px!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-stats .lp-stat-card {
    padding:8px!important; min-height:50px!important; gap:4px!important;
    background:var(--listing-tint)!important; border:1px solid var(--listing-line)!important; border-radius:7px!important;
    box-shadow:none!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-stats .lp-stat-card > .lp-detail-icon {
    display:none!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-stats .lp-stat-card__value {
    color:var(--listing-ink)!important; font-size:16px!important; overflow-wrap:anywhere;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-stats .lp-stat-card__label {
    color:var(--listing-accent)!important; font-size:10px!important; letter-spacing:.01em!important; white-space:normal!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-mobile-footer.listing-mobile-cta-bar {
    background:#fff!important; border-top:1px solid var(--listing-line)!important; box-shadow:0 -3px 16px #172c3714!important;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px))!important; gap:8px!important;
    align-items:stretch!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-mobile-footer :is(#listing-sticky-schedule,#listing-sticky-message,#listing-sticky-contact) {
    min-height:48px!important; height:auto!important; flex:1 1 0!important; min-width:0!important; margin:0!important;
    border-radius:8px!important; padding:5px 6px!important; font-size:14px!important; line-height:1.18!important;
    white-space:normal!important; box-shadow:none!important; text-align:center!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-mobile-footer :is(#listing-sticky-message,#listing-sticky-contact) {
    background:#fff!important; color:var(--listing-accent)!important; border:1px solid var(--listing-accent)!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #listing-mobile-footer .swmo-msg-cta__phone {
    display:block!important; color:inherit!important; font-size:11px!important; white-space:nowrap!important;
  }
}

/* Keep the main photo swipeable while the page can still scroll vertically. */
html body.site-premium.listing-modal-open #listing-modal[data-listing-polish] #gallery-main {
  touch-action:pan-y pinch-zoom;
}
#listing-modal .listing-swipe-tip { display:none; }
@media (hover:none) and (pointer:coarse) {
  html body.listing-modal-open #listing-modal #gallery-main:has(.lp-gallery-nav:not([hidden])) .listing-swipe-tip {
    display:inline-block; position:absolute; top:10px; left:10px; z-index:12; pointer-events:none;
    color:#fff; background:#172c37ed; border-radius:20px; padding:5px 9px;
    font-size:12px; line-height:1.25; font-weight:650;
  }
}
html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-similar-wrap:not([hidden]) {
  padding:18px 14px 12px!important; border:1px solid var(--listing-line)!important;
  border-radius:14px!important; background:var(--listing-tint)!important;
}
html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-similar-wrap .lp-section-title {
  margin:0 0 8px!important; font-size:clamp(26px,5vw,34px)!important;
  line-height:1.15!important; font-weight:850!important; letter-spacing:-.025em!important;
}
html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] .listing-section-nav [data-listing-section="modal-similar-wrap"] {
  color:var(--listing-accent)!important; font-weight:800!important; background:var(--listing-tint)!important;
}
html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-similar-wrap .recommendation-explanation {
  margin:0 0 10px!important; font-size:14px!important; line-height:1.45!important; max-width:70ch;
}
html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-similar {
  gap:12px!important; padding:4px 2px 12px!important; overscroll-behavior-x:contain;
}
html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-similar > :is(.premium-card,.zillow-card) {
  flex:0 0 min(360px,93%)!important; width:min(360px,93%)!important; max-width:min(360px,93%)!important;
  min-width:0!important; background:#fff!important; border:1px solid var(--listing-line)!important;
  border-radius:12px!important; box-shadow:none!important; transform:none!important;
}
html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-similar :is(.premium-card-price,.zillow-card-price) {
  font-size:clamp(21px,5vw,27px)!important; font-weight:850!important; line-height:1.1!important;
}
html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-similar :is(.premium-card-address,.zillow-card-address) {
  font-size:15px!important; font-weight:700!important; line-height:1.3!important;
}
@media(max-width:768px) {
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-similar-wrap:not([hidden]) {
    margin-inline:-8px!important; padding-inline:10px!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-similar > :is(.premium-card,.zillow-card) {
    flex-basis:95%!important; width:95%!important; max-width:95%!important;
  }
  html body.site-premium.listing-modal-open #listing-modal.lp-root[data-listing-polish] #modal-similar :is(.premium-card-photo-wrap,.listing-card-photo-wrap,.zillow-card-photo-wrap) {
    height:clamp(188px,53vw,252px)!important; min-height:0!important; max-height:none!important;
  }
}
