/**
 * Desktop listing gallery — ensure loader matches mobile behavior on /homes (site-premium).
 */
@media (min-width: 769px) {
  body.listing-modal-open.site-premium #listing-modal #listing-modal-gallery-wrap:not(.is-loading-photos) .listing-photo-loading,
  body.listing-modal-open.site-premium #listing-modal .listing-modal-media--hero:not(.is-loading-photos) .listing-photo-loading {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.listing-modal-open.site-premium #listing-modal #gallery-main.is-photo-loaded .gallery-skeleton-house,
  body.listing-modal-open.site-premium #listing-modal #listing-modal-gallery-wrap:not(.is-loading-photos) .gallery-skeleton-house {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  body.listing-modal-open.site-premium #listing-modal #listing-modal-gallery-wrap.has-hero-photo #gallery-main.is-photo-loaded img#modal-image,
  body.listing-modal-open.site-premium #listing-modal #listing-modal-gallery-wrap.has-hero-photo .gallery-main.is-photo-loaded img#modal-image,
  body.listing-modal-open.site-premium #listing-modal #listing-modal-gallery-wrap.has-hero-photo img#modal-image {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
  }

  body.listing-modal-open.site-premium #listing-modal #listing-modal-gallery-wrap.is-gallery-preloading .listing-photo-loading,
  body.listing-modal-open.site-premium #listing-modal .listing-modal-media--hero.is-gallery-preloading .listing-photo-loading {
    inset: auto 0 0 0 !important;
    top: auto !important;
    height: auto !important;
    min-height: 3.25rem !important;
    max-height: 4.25rem !important;
    z-index: 16 !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    padding: 0.65rem 1rem 0.75rem !important;
    background: linear-gradient(
      180deg,
      rgba(7, 21, 38, 0) 0%,
      rgba(7, 21, 38, 0.72) 28%,
      rgba(7, 21, 38, 0.92) 100%
    ) !important;
    pointer-events: none !important;
  }

  body.listing-modal-open.site-premium #listing-modal #listing-modal-gallery-wrap.is-loading-photos:not(.has-hero-photo) .listing-photo-loading,
  body.listing-modal-open.site-premium #listing-modal .listing-modal-media--hero.is-loading-photos:not(.has-hero-photo) .listing-photo-loading {
    inset: 0 !important;
    top: 0 !important;
    min-height: 100% !important;
    z-index: 16 !important;
  }

  body.listing-modal-open.site-premium #listing-modal #listing-modal-gallery-wrap.is-loading-photos:not(.has-hero-photo) .gallery-main:not(.is-photo-loaded) img#modal-image {
    opacity: 0 !important;
  }

  body.listing-modal-open.site-premium #listing-modal #listing-modal-gallery-wrap.is-loading-photos.has-hero-photo img#modal-image,
  body.listing-modal-open.site-premium #listing-modal #listing-modal-gallery-wrap.is-loading-photos .gallery-main.is-photo-loaded img#modal-image {
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Sharp MLS hero on desktop — override homes-bundle contain + small max-height */
  body.listing-modal-open.site-premium #listing-modal .gallery-main,
  body.listing-modal-open.site-premium #listing-modal .lp-gallery-main,
  body.listing-modal-open.site-premium #listing-modal .ld-gallery__main {
    height: min(56vh, 520px) !important;
    max-height: 520px !important;
    min-height: 320px !important;
  }

  body.listing-modal-open.site-premium #listing-modal .lp-gallery-controls,
  body.listing-modal-open.site-premium #listing-modal #gallery-controls {
    z-index: 28 !important;
    pointer-events: none !important;
  }

  body.listing-modal-open.site-premium #listing-modal .lp-gallery-controls > *,
  body.listing-modal-open.site-premium #listing-modal #gallery-controls > * {
    pointer-events: auto !important;
  }

  body.listing-modal-open.site-premium #listing-modal .listing-photo-loading--compact {
    z-index: 14 !important;
    right: 42% !important;
    max-width: 58% !important;
  }

  /* Legacy city modal (.listing-gallery) — same behavior as /homes */
  body.listing-modal-open.site-premium #listing-modal .listing-gallery {
    position: relative !important;
    width: 100% !important;
  }

  body.listing-modal-open.site-premium #listing-modal .listing-gallery .gallery-prev,
  body.listing-modal-open.site-premium #listing-modal .listing-gallery .gallery-next {
    z-index: 28 !important;
    pointer-events: auto !important;
  }

  body.listing-modal-open.site-premium #listing-modal #gallery-thumbs:not([hidden]) {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 10px 0 0 !important;
    margin: 0 !important;
  }

  body.listing-modal-open.site-premium #listing-modal .gallery-main img,
  body.listing-modal-open.site-premium #listing-modal #modal-image,
  body.listing-modal-open.site-premium #listing-modal .listing-modal-media img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    image-rendering: auto !important;
  }
}
