
/* Gallery mobile polish v3 — prevents global project gallery styles leaking */
.listing-detail .detail-gallery{margin:20px 0 24px}
.listing-detail .gallery-heading{gap:10px;margin-bottom:10px;align-items:center}
.listing-detail .gallery-heading h2{margin:0;font-size:clamp(1.15rem,2.8vw,1.4rem);line-height:1.6}
.listing-detail .gallery-heading>span{padding:6px 12px;font-size:.78rem;border-radius:999px;background:#edf5ef;color:#0b644e;white-space:nowrap}
.listing-detail .detail-gallery .gallery{
  display:flex!important;grid-template-columns:none!important;gap:0!important;margin:0!important;
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;background:#edf4ef;border:1px solid #dce8e1;border-radius:16px;
  isolation:isolate
}
.listing-detail .detail-gallery .gallery::-webkit-scrollbar{display:none}
.listing-detail .detail-gallery .gallery-item{
  display:block!important;position:relative;flex:0 0 100%;width:100%;max-width:100%!important;
  aspect-ratio:16/10;max-height:520px;margin:0!important;border:0!important;padding:0!important;
  border-radius:0!important;scroll-snap-align:start;scroll-snap-stop:always;
  background:#eaf1eb;overflow:hidden;contain:paint;cursor:zoom-in
}
.listing-detail .detail-gallery .gallery-item[hidden]{display:none!important}
.listing-detail .detail-gallery .gallery-item img{transform:none!important;transition:opacity .2s!important}
.listing-detail .detail-gallery .gallery-item .gallery-backdrop{display:none!important}
.listing-detail .detail-gallery .gallery-item .gallery-image{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:50% 45%!important;
  background:#eaf1eb!important;opacity:0;z-index:2
}
.listing-detail .detail-gallery .gallery-item.photo-loaded .gallery-image{opacity:1!important}
.listing-detail .detail-gallery .gallery-item .photo-placeholder{
  position:absolute!important;inset:0!important;z-index:3!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  background:#eef5f0!important;color:#668076!important;transition:opacity .18s!important
}
.listing-detail .detail-gallery .gallery-item.photo-loaded .photo-placeholder{opacity:0!important;pointer-events:none!important}
.listing-detail .detail-gallery .gallery-item .photo-placeholder>img{width:58px!important;height:58px!important;object-fit:contain!important}
.listing-detail .detail-gallery .gallery-item .photo-index{display:none!important}
.listing-detail .detail-gallery .gallery-item.photo-loaded::after{
 content:"⤢";position:absolute;top:11px;left:11px;right:auto;bottom:auto;z-index:4;
 display:grid;place-items:center;width:32px;height:32px;box-sizing:border-box;
 border:1px solid #ffffff88;border-radius:10px;background:#063b2fba;
 color:#fff;font:600 22px/1 sans-serif;pointer-events:none;box-shadow:0 2px 10px #0a302a55
}
.listing-detail .detail-gallery .gallery-empty{box-sizing:border-box;flex:0 0 100%;width:100%;min-height:150px;display:grid;place-items:center}
.listing-detail .gallery-controls{
 display:flex;align-items:center;justify-content:center;gap:10px;
 width:max-content;max-width:100%;min-width:225px;box-sizing:border-box;
 margin:9px auto 0;padding:4px 8px;background:transparent;
 border:0;border-radius:12px;box-shadow:none;color:#205642
}
.listing-detail .gallery-controls .gallery-nav-group{display:flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto}
.listing-detail .gallery-controls .gallery-nav{
 display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;
 border:1px solid #d5e2da;border-radius:10px;
 background:#f1f7f3;color:#0b5d49;font:700 24px/1 sans-serif;cursor:pointer
}
.listing-detail .gallery-controls .gallery-nav:disabled{opacity:.38;cursor:default}
.listing-detail .gallery-controls .gallery-position{direction:rtl;unicode-bidi:isolate;display:inline-block;min-width:52px;white-space:nowrap;text-align:center;font-size:.83rem;color:#174c3b}
.listing-detail .gallery-controls .gallery-dots{display:flex;align-items:center;justify-content:center;flex:0 1 auto;gap:6px}
.listing-detail .gallery-controls .gallery-dot{display:block;width:7px;height:7px;flex:0 0 auto;border:0;border-radius:20px;background:#c4d7cb;padding:0;cursor:pointer;transition:width .18s,background .18s}
.listing-detail .gallery-controls .gallery-dot[aria-current=true]{width:20px;background:#10745b}
.listing-detail .gallery-controls .gallery-tip{display:none}
.gallery-zoom-dialog{max-width:100vw;max-height:100dvh;box-sizing:border-box;margin:auto;padding:0;border:0;border-radius:14px;background:#0b1e18;box-shadow:0 20px 90px #0009;overflow:hidden}
.gallery-zoom-dialog::backdrop{background:#03110ee8;backdrop-filter:blur(7px)}
.gallery-zoom-dialog img{display:block;width:min(96vw,1150px);height:min(86dvh,850px);object-fit:contain}
.gallery-zoom-close{position:absolute;z-index:2;top:10px;left:10px;display:grid;place-items:center;width:39px;height:39px;border:1px solid #ffffff77;border-radius:50%;background:#073a30df;color:#fff;font-size:26px;cursor:pointer}
@media(max-width:650px){
 .listing-detail .detail-gallery{margin:16px 0 20px}
 .listing-detail .gallery-heading h2{font-size:1.2rem}
 .listing-detail .detail-gallery .gallery{border-radius:15px}
 .listing-detail .detail-gallery .gallery-item{aspect-ratio:4/3;max-height:390px}
 .listing-detail .detail-gallery .gallery-item .gallery-image{object-position:50% 44%!important}
 .listing-detail .gallery-controls{margin-top:7px}
}
@media(prefers-reduced-motion:reduce){
 .listing-detail .detail-gallery .gallery{scroll-behavior:auto}
 .listing-detail .detail-gallery .gallery-image{transition:none!important}
}
