/* Gallery interaction layer. Controls are delivered hidden and only the
   route-scoped gallery client reveals them, preserving the first-photo + source
   links fallback when JavaScript is unavailable. */
.listing-card-v2 [data-gallery-stage]{cursor:zoom-in;touch-action:pan-y}
.listing-card-v2 [data-gallery-stage][role="button"]:focus-visible{outline:3px solid var(--brand-green);outline-offset:3px}
.listing-card-v2 .v3-gallery-arrow{position:absolute;z-index:4;top:50%;display:grid;width:2.75rem;min-height:2.75rem;place-items:center;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(15,23,42,.72);color:var(--surface-card);font:700 2rem/1 var(--body);transform:translateY(-50%);cursor:pointer;backdrop-filter:blur(4px)}
.listing-card-v2 .v3-gallery-arrow[hidden]{display:none}
.listing-card-v2 .v3-gallery-arrow.is-previous{left:.75rem}
.listing-card-v2 .v3-gallery-arrow.is-next{right:.75rem}
.listing-card-v2 .v3-gallery-arrow:disabled{opacity:.45;cursor:default}
.listing-card-v2 .v3-gallery-position{position:absolute;z-index:3;top:.75rem;right:.75rem;padding:.35rem .6rem;border-radius:999px;background:rgba(15,23,42,.78);color:var(--surface-card);font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:700}
.listing-card-v2 .v4-listing-main figcaption{max-width:calc(100% - 6.5rem);overflow-wrap:anywhere}

.v3-gallery-lightbox{position:fixed;z-index:1000;inset:0;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:clamp(1rem,3vw,2.5rem);border:0;background:rgba(2,6,23,.94);color:var(--surface-card);touch-action:pan-y}
.v3-gallery-lightbox[hidden]{display:none}
.v3-gallery-lightbox-frame{position:relative;display:grid;width:min(92vw,90rem);height:min(88vh,60rem);place-items:center;margin:0}
.v3-gallery-lightbox-image{display:block;max-width:100%;max-height:100%;object-fit:contain}
.v3-gallery-lightbox-placeholder{display:none;color:var(--surface-card);font-size:1rem}
.v3-gallery-lightbox.is-placeholder .v3-gallery-lightbox-image{display:none}
.v3-gallery-lightbox.is-placeholder .v3-gallery-lightbox-placeholder{display:block}
.v3-gallery-lightbox-close,.v3-gallery-lightbox-arrow{position:absolute;z-index:2;display:grid;width:2.75rem;min-height:2.75rem;place-items:center;padding:0;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(15,23,42,.8);color:var(--surface-card);font:700 1.75rem/1 var(--body);cursor:pointer}
.v3-gallery-lightbox-close{top:1rem;right:1rem}
.v3-gallery-lightbox-arrow{top:50%;transform:translateY(-50%)}
.v3-gallery-lightbox-arrow.is-previous{left:1rem}.v3-gallery-lightbox-arrow.is-next{right:1rem}
.v3-gallery-lightbox-position{position:absolute;z-index:2;bottom:1rem;left:50%;padding:.35rem .65rem;border-radius:999px;background:rgba(15,23,42,.8);color:var(--surface-card);font-size:.8rem;font-variant-numeric:tabular-nums;font-weight:700;transform:translateX(-50%)}
.v3-gallery-lightbox-open{overflow:hidden}

@media (max-width:35rem){
.listing-card-v2 .v3-gallery-arrow{width:2.75rem}.listing-card-v2 .v3-gallery-arrow.is-previous{left:.4rem}.listing-card-v2 .v3-gallery-arrow.is-next{right:.4rem}
.v3-gallery-lightbox{padding:.5rem}.v3-gallery-lightbox-frame{width:100%;height:100%}.v3-gallery-lightbox-close{top:.5rem;right:.5rem}.v3-gallery-lightbox-arrow.is-previous{left:.5rem}.v3-gallery-lightbox-arrow.is-next{right:.5rem}
}
