.listing-gallery{padding:0 8px 8px;min-width:0}
.listing-gallery-stage{position:relative;height:clamp(280px,38vw,520px);border-radius:12px;overflow:hidden;background:#edf0e9}
.listing-gallery-content,.listing-photo-trigger{width:100%;height:100%;min-height:0}
.listing-gallery-content,.listing-viewer-content{position:relative;isolation:isolate;overflow:hidden}
.listing-gallery-backdrop{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;filter:blur(30px) brightness(.62) saturate(.9);transform:scale(1.12);pointer-events:none;z-index:0}
.listing-photo-trigger{display:block;padding:0;border:0;background:transparent;cursor:zoom-in}
.listing-gallery-media{position:relative;z-index:1;display:block;width:100%;height:100%;max-width:100%;object-fit:contain}
.listing-gallery-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #d7e2d3;border-radius:50%;background:#fffffff0;color:#203024;font-size:34px;line-height:1;box-shadow:0 2px 12px #17271d12}
.listing-gallery-arrow[hidden]{display:none}
.listing-gallery-prev{left:12px}.listing-gallery-next{right:12px}
.listing-gallery-expand,.listing-gallery-count{position:absolute;bottom:12px;padding:9px 12px;border:1px solid #d7e2d3;border-radius:10px;background:#fffffff0;color:#203024;font-size:12px;font-weight:800}
.listing-gallery-expand{left:12px}.listing-gallery-count{right:12px;pointer-events:none}
.listing-gallery-thumbs{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:12px 3px 5px;scrollbar-width:thin;scroll-snap-type:x proximity}
.listing-gallery-thumb{box-sizing:border-box;flex:0 0 92px;width:92px;height:70px;min-width:0;min-height:0;display:block;overflow:hidden;padding:3px;border:2px solid transparent;border-radius:9px;background:#edf0e9;color:var(--ink);scroll-snap-align:center;font-size:12px;font-weight:800}
.listing-gallery-thumb img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:cover;border-radius:5px}
.listing-gallery-thumb[aria-pressed="true"]{border-color:#83b824;background:#e4f5c1}
.listing-gallery button:focus-visible{outline:3px solid #649314;outline-offset:2px}
.listing-gallery-arrow:hover,.listing-gallery-expand:hover{background:#dbf77b}
.listing-viewer{position:fixed;inset:0;box-sizing:border-box;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--paper,#f7f8f4);color:var(--ink,#203024);overflow:hidden}
.listing-viewer:not([open]){display:none}
.listing-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.listing-viewer::backdrop{background:#17271df2}
.listing-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:calc(10px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 10px max(20px,env(safe-area-inset-left));font-size:14px;font-weight:800}
.listing-viewer-toolbar button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #d7e2d3;border-radius:50%;background:#fff;color:#203024;font-size:30px}
.listing-viewer-stage{position:relative;min-height:0;padding:0 68px}
.listing-viewer-content{width:100%;height:100%;min-height:0}
.listing-viewer-caption{text-align:center;padding:14px 20px calc(14px + env(safe-area-inset-bottom));font-size:13px;line-height:1.4;font-weight:700}
:root[data-theme="dark"] .listing-gallery-stage,:root[data-theme="dark"] .listing-gallery-thumb{background:#15251b}
:root[data-theme="dark"] .listing-gallery-thumb[aria-pressed="true"]{background:#314522}
@media(max-width:720px){.listing-gallery{padding:0 5px 6px}.listing-gallery-stage{height:clamp(250px,80vw,400px);border-radius:9px}.listing-gallery-arrow{width:40px;height:40px;font-size:30px}.listing-gallery-prev{left:8px}.listing-gallery-next{right:8px}.listing-gallery-thumb{flex-basis:80px;height:62px}.listing-gallery-expand,.listing-gallery-count{bottom:10px;padding:8px 10px}.listing-viewer-stage{padding:0 5px}.listing-viewer-toolbar{padding-left:14px;padding-right:14px}.listing-viewer-caption{font-size:12px}}
