.gallery-controls{display:flex;align-items:center;justify-content:center;gap:22px;padding:12px;background:#f0ede7}.gallery-controls button{width:44px;height:44px;background:white;border:1px solid #d9d2c8;border-radius:50%;font-size:20px;color:#172b38}.gallery-controls span{font-size:13px;font-variant-numeric:tabular-nums}.property-description{white-space:pre-line;overflow-wrap:anywhere}.catalog-error{grid-column:1/-1;text-align:center;padding:36px}.catalog-error .details-button{max-width:240px;display:block;margin:20px auto}.catalog-error a{font-size:14px}.card h3,.card-location{overflow-wrap:anywhere}
.property-gallery{background:#172b38}
#detail .property-gallery .detail-image{display:block;width:100%;height:auto;max-height:60vh;max-height:60dvh;aspect-ratio:auto;object-fit:contain;object-position:center;background:#172b38}
.gallery-expand{display:block;position:relative;width:100%;padding:0;border:0;background:#172b38;cursor:zoom-in;color:white}
.expand-label{position:absolute;bottom:12px;right:12px;padding:8px 12px;background:#172b38;border-radius:6px;font:500 13px sans-serif}
.gallery-expand:focus-visible{outline:3px solid #c6a56c;outline-offset:-3px}
#photo-viewer{box-sizing:border-box;position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:64px 16px 84px;border:0;border-radius:0;background:#101b23;color:#fff;overflow:hidden}
#photo-viewer[open]{display:flex;align-items:center;justify-content:center}
#photo-viewer::backdrop{background:#101b23}
#photo-viewer>img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;touch-action:pan-y pinch-zoom}
#photo-viewer button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #71808a;border-radius:50%;background:#203442;color:white;font-size:26px;cursor:pointer}
#photo-viewer button[hidden]{display:none}
#photo-viewer button:focus-visible{outline:3px solid #d9b77d;outline-offset:3px}
#photo-viewer .viewer-close{position:absolute;top:max(12px,env(safe-area-inset-top));right:16px}
.viewer-controls{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:0;right:0;display:flex;align-items:center;justify-content:center;gap:24px}
.viewer-count{font-size:14px;font-variant-numeric:tabular-nums;min-width:60px;text-align:center}
body:has(#photo-viewer[open]){overflow:hidden}
.features{flex-wrap:wrap;row-gap:10px}
