.property-gallery{min-width:0}
.gallery-open,.gallery-controls{position:absolute;bottom:18px;z-index:3;background:#17241cdc;color:#fff;border:1px solid #ffffff50;border-radius:3px;box-shadow:0 2px 12px #0002}
.gallery-open{left:18px;display:flex;align-items:center;gap:9px;padding:11px 15px;font-size:11px;min-height:42px}
.gallery-open:hover,.gallery-controls button:hover{background:#17241c}
.gallery-open .icon{width:17px;height:17px}
.gallery-controls{right:18px;display:flex;align-items:center;overflow:hidden}
.gallery-controls>span{min-width:58px;padding:12px 10px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums}
.gallery-controls button{display:grid;place-items:center;width:42px;min-height:42px;color:inherit}
.gallery-thumbnails{display:flex;gap:9px;margin-top:12px;overflow-x:auto;max-width:100%;padding:3px 2px 6px;scrollbar-width:thin}
.gallery-thumbnails button{width:94px;height:68px;flex:0 0 94px;border:2px solid transparent;border-radius:3px;padding:2px;opacity:.7;background:var(--paper)}
.gallery-thumbnails button[aria-pressed=true]{border-color:var(--forest);opacity:1}
.gallery-thumbnails button:hover{opacity:1}
.gallery-thumbnails img{width:100%;height:100%;object-fit:cover;border-radius:1px}
.gallery-caption{font-size:10px;color:var(--muted);line-height:1.7;margin-top:10px}
.gallery-caption button{text-decoration:underline;text-underline-offset:3px;color:var(--forest)}
dialog.photo-viewer{width:min(1180px,calc(100vw - 40px));max-width:none;height:min(900px,90dvh);max-height:90dvh;border:1px solid #ffffff25;border-radius:5px;background:#121a15;color:#f7f4ee;padding:22px 25px;margin:auto;overflow:hidden}
dialog.photo-viewer[open]{display:flex;flex-direction:column;gap:15px}
.photo-viewer::backdrop{background:#0c130fe8;backdrop-filter:blur(6px)}
.photo-viewer-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:0 0 auto}
.photo-viewer-heading>div{min-width:0}
.photo-viewer-heading h2{font-size:30px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.photo-viewer-heading p{font-size:10px;margin-top:7px;color:#b4c1b3}
.photo-viewer-heading .icon-button{flex:0 0 42px;width:42px;height:42px;border:1px solid #ffffff40;border-radius:50%;color:inherit}
.photo-viewer-image{flex:1;min-height:0;display:grid;place-items:center;background:#0a100c;border-radius:2px;overflow:hidden}
.photo-viewer-image img{width:100%;height:100%;object-fit:contain;min-height:0}
.photo-viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:0 0 auto}
.photo-viewer-controls .button{color:inherit;border:1px solid #ffffff40;font-size:11px;min-height:42px;padding:10px 17px}
.photo-viewer-controls .button:disabled{opacity:.3;cursor:default}
.photo-viewer-controls>span{font-size:11px;font-variant-numeric:tabular-nums}
@media(max-width:720px){
  .gallery-open{bottom:12px;left:16px;padding:9px 12px;font-size:10px;min-height:38px}
  .gallery-controls{bottom:12px;right:16px}
  .gallery-controls button{width:36px;min-height:38px}
  .gallery-controls>span{padding:10px 7px;min-width:45px;font-size:10px}
  .gallery-thumbnails{margin-inline:-2px;gap:7px;margin-top:9px}
  .gallery-thumbnails button{width:79px;height:58px;flex-basis:79px}
  .gallery-caption{font-size:9px;margin-top:7px}
  .search-page .property-card:not(.horizontal) .property-photo{aspect-ratio:1.3}
  dialog.photo-viewer{width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:20px 14px max(16px,env(safe-area-inset-bottom))}
  .photo-viewer-heading h2{font-size:27px}
  .photo-viewer-heading p{font-size:9px}
  .photo-viewer-controls{gap:8px}
  .photo-viewer-controls .button{padding:10px 12px;font-size:10px}
}
