/* Inversionisto property gallery lightbox — accessible, no external dependency. */
.inv-property-single .inv-gallery-grid figure{position:relative}
.inv-property-single .inv-gallery-grid__open{position:relative;display:block;width:100%;height:100%;overflow:hidden;cursor:zoom-in}
.inv-property-single .inv-gallery-grid__open>img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .18s ease}
.inv-property-single .inv-gallery-grid__open:hover>img{transform:scale(1.025)}
.inv-property-single .inv-gallery-grid__open:focus-visible{outline:4px solid #5c844a;outline-offset:-4px}
.inv-property-single .inv-gallery-grid__zoom{position:absolute;right:12px;bottom:12px;width:40px;height:40px;border-radius:8px;background:rgba(18,34,24,.78);color:#fff;display:grid;place-items:center;pointer-events:none}
.inv-property-single .inv-gallery-grid__zoom svg{width:22px;height:22px;fill:currentColor}
.inv-property-single .inv-property-gallery__view-all{margin-top:13px;min-height:46px;padding:10px 18px;border:1px solid #5c844a;border-radius:6px;background:#fff;color:#244c35;font-family:inherit;font-weight:700;font-size:.88rem;line-height:1.25;cursor:pointer}
.inv-property-single .inv-property-gallery__view-all:hover{background:#eff5ed}
.inv-property-single .inv-property-gallery__view-all:focus-visible{outline:3px solid #5c844a;outline-offset:3px}
html.inv-photo-lightbox-open,body.inv-photo-lightbox-open{overflow:hidden}
.inv-photo-lightbox[hidden],.inv-photo-lightbox__error[hidden]{display:none!important}
.inv-photo-lightbox{position:fixed;z-index:200000;inset:0;display:grid;place-items:center;padding:clamp(10px,3vw,32px);isolation:isolate;color:#fff}
.inv-photo-lightbox__backdrop{position:absolute;inset:0;z-index:-1;background:rgba(8,16,11,.95);cursor:zoom-out}
.inv-photo-lightbox__container{width:min(100%,1560px);max-height:100%;display:flex;flex-direction:column;min-height:0}
.inv-photo-lightbox__topbar{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:16px;font-size:.88rem;font-weight:700}
.inv-photo-lightbox__close,.inv-photo-lightbox__arrow{width:48px;height:48px;flex:0 0 48px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(30,48,35,.9);color:#fff;display:grid;place-items:center;cursor:pointer}
.inv-photo-lightbox button:hover{background:#365c3d}
.inv-photo-lightbox button:focus-visible{outline:3px solid #d3ead0;outline-offset:3px}
.inv-photo-lightbox button svg{width:23px;height:23px;fill:currentColor}
.inv-photo-lightbox__stage{min-height:0;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:clamp(4px,2vw,20px);flex:1}
.inv-photo-lightbox__stage img{display:block;max-width:100%;max-height:calc(100dvh - 160px);width:auto;height:auto;min-height:0;object-fit:contain;justify-self:center}
.inv-photo-lightbox__error{color:#fff;text-align:center;margin:12px}
.inv-photo-lightbox__hint{text-align:center;color:#cbd8cb;font-size:.78rem;margin:10px 0 4px}
@media(max-width:560px){
  .inv-photo-lightbox{padding:10px 8px}
  .inv-photo-lightbox__stage{grid-template-columns:40px minmax(0,1fr) 40px;gap:4px}
  .inv-photo-lightbox__close,.inv-photo-lightbox__arrow{width:40px;height:44px;min-width:40px}
  .inv-photo-lightbox__stage img{max-height:calc(100dvh - 142px)}
  .inv-photo-lightbox__hint{font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){.inv-property-single .inv-gallery-grid__open>img{transition:none}}

/* v0.25.45 — Property photo previews show the entire image, not a cropped section.
 * Zoom already uses object-fit:contain and original-size URL from Core. */
.inv-property-single .inv-gallery-grid figure{background:#edf2ee;}
.inv-property-single .inv-gallery-grid__open>img{object-fit:contain;object-position:center center;}

/* v0.25.47: thumbnail frames are clean; zoom still keeps full original. */
.inv-property-single .inv-gallery-grid__open > img {object-fit:cover;object-position:center center;}
.inv-photo-lightbox__stage img {object-fit:contain;}
