.photo-frame{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#edf0e9;border-radius:10px;margin-bottom:14px}.listing-photo{display:block;width:100%;height:100%;object-fit:cover}.listing-photo[hidden]{display:none}.photo-empty,.photo-failed:after{display:grid;place-items:center;position:absolute;inset:0;color:#738174;font-size:14px}.photo-failed:after{content:'Фото недоступно'}.map-card .photo-frame{aspect-ratio:16/10}.photo-gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px;margin-bottom:24px}.photo-gallery>a{flex:0 0 min(600px,90%);scroll-snap-align:start}.photo-gallery .photo-frame{margin:0}.photo-gallery .listing-photo{object-fit:contain}.balloon-photo{width:100%;height:140px;aspect-ratio:auto;margin:6px 0}.map-balloon p{font-size:12px;margin:6px 0}.balloon-detail{display:inline-block;margin-top:8px}.map-balloon{font-family:system-ui,sans-serif}

/* Avito's captured listing uses 208 x 208 thumbnails. */
.photo-preview{touch-action:pan-y;outline-offset:3px}
.photo-indicators{position:absolute;bottom:7px;left:7px;right:7px;display:flex;gap:3px;pointer-events:none}
.photo-indicators>span{height:3px;flex:1;min-width:0;background:#ffffff90;border-radius:2px;box-shadow:0 1px 3px #0006}
.photo-indicators>span.active{background:#fff}
.photo-counter{position:absolute;right:7px;top:7px;background:#0009;color:#fff;border-radius:4px;padding:2px 5px;font:11px/1.4 system-ui;pointer-events:none}
.listing-grid .listing{display:flex;align-items:flex-start;gap:16px;padding:16px;margin:0;min-width:0}
.listing-grid .photo-frame,.map-card .photo-frame{width:208px;height:208px;aspect-ratio:1;flex-shrink:0;margin:0}
.listing-summary{min-width:0;flex:1}
.listing-summary h3{margin:8px 0;font-size:18px}
.listing-summary p{font-size:13px;margin:8px 0}
.listing-grid .listing strong{font-size:21px}
@media(max-width:1100px){.listing-grid{grid-template-columns:1fr}}
@media(max-width:520px){.listing-grid .photo-frame,.map-card .photo-frame{width:104px;height:104px}.listing-grid .listing{gap:12px;padding:12px}}
