.listing-card.has-photos{grid-template-columns:1.15fr 1fr}
.listing-photo,.gallery-thumb{position:relative;padding:0;border:0;border-radius:0;background:#e3eeeb;overflow:hidden;cursor:zoom-in;color:#fff}
.listing-photo{display:block;min-height:360px;width:100%;height:100%;text-align:left}
.listing-photo>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;transition:transform .3s}
.listing-photo:hover>img{transform:scale(1.025)}
.album-count{position:absolute;bottom:18px;left:18px;padding:9px 13px;background:#173d32eb;border:1px solid #b7e1d580;font-size:12px}
.listing-copy .listing-photo-source{font-size:12px;color:#46626c;margin-bottom:8px}
.listing-sources{display:flex;flex-wrap:wrap;gap:7px 15px}
.listing-sources .social-link{font-size:12px}
.gallery-thumbnails{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;padding:12px;background:#f0f7f5;border-top:1px solid #d5e2e1}
.gallery-thumb{aspect-ratio:4/3}
.gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s}
.gallery-thumb:hover img{transform:scale(1.06)}
.video-play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;border:1px solid #b8e9daaa;border-radius:50%;width:42px;height:42px;background:#173d32db;color:#fff;font-size:19px;padding-left:3px;pointer-events:none}
.listing-watch{padding:9px 15px;margin:0 0 10px;border:1px solid #0f766e;background:#0f766e;color:#ffffff;font-size:12px;border-radius:2px;cursor:pointer}
.video-status{font-size:12px;padding:0 20px;color:#e2f5ed}.video-status a{color:inherit;text-decoration:underline}
.listing-photo:focus-visible,.gallery-thumb:focus-visible{outline:3px solid #0f766e;outline-offset:-4px}
.photo-viewer{padding:0;width:min(1120px,94vw);max-width:94vw;max-height:94vh;background:#142f28;color:#ffffff;border:1px solid #5a9182;border-radius:3px;overflow:auto;box-shadow:0 16px 80px #0008}
.photo-viewer::backdrop{background:#061c17e8}
.photo-viewer-heading{display:flex;justify-content:space-between;align-items:center;padding:12px 22px;border-bottom:1px solid #a5d5c644;gap:15px}
.photo-viewer-heading h2{font:24px Georgia,serif;margin:0;color:#ffffff}
.photo-viewer button{border:1px solid #a5d5c688;background:#234a3c;color:#ffffff;padding:9px 14px;border-radius:2px;cursor:pointer}
.photo-viewer button:focus-visible{outline:2px solid #80e5c5;outline-offset:3px}
.photo-viewer-heading button{font-size:27px;line-height:1;padding:4px 10px}
.photo-viewer figure{margin:0;text-align:center}
.photo-viewer figure img,.photo-viewer figure video{display:block;width:100%;height:min(63vh,720px);object-fit:contain;background:#0c251f}
.photo-viewer figcaption{font-size:12px;line-height:1.6;padding:12px 20px;color:#e3f4ec}
.photo-viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px 18px;font-size:12px}
@media(max-width:680px){.listing-card.has-photos{grid-template-columns:1fr}.listing-photo{min-height:250px;aspect-ratio:4/3}.gallery-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px}.listing-copy .listing-photo-source{font-size:10px}.photo-viewer-heading{padding:12px}.photo-viewer-heading h2{font-size:21px}.photo-viewer figure img{height:53vh}.photo-viewer-controls{padding:0 12px 14px;font-size:11px}.photo-viewer-controls button{font-size:11px;padding:8px}}
@media(prefers-reduced-motion:reduce){.listing-photo>img,.gallery-thumb img{transition:none}}
@media(max-width:680px){.photo-viewer figure video{height:53vh}}
@media(max-width:680px){.listing-copy .listing-photo-source{font-size:11px}}
