.stay-photos { margin-top: 28px; }
.stay-photos__strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.stay-photos__strip a { display:block; overflow:hidden; background:var(--paper-deep,#e9e6dc); }
.stay-photos__strip img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; transition:transform .3s; }
.stay-photos__strip a:hover img { transform:scale(1.03); }
.stay-photos__all { background:none; border:0; border-bottom:1px solid currentColor; color:inherit; padding:10px 0 5px; margin-top:8px; font:inherit; font-size:.85rem; cursor:pointer; }
.property-photos-dialog { box-sizing:border-box; width:min(1100px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); border:0; padding:24px; color:#17231d; background:#f3f2eb; }
.property-photos-dialog::backdrop { background:rgba(10,18,14,.86); }
.property-photos__header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:0 0 16px; }
.property-photos__header h2 { font:400 clamp(1.2rem,3vw,1.8rem) Georgia,serif; margin:0; }
.property-photos__close { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border:0; border-radius:0; padding:8px; background:transparent; color:inherit; cursor:pointer; }
.property-photos__close svg { width:24px; height:24px; }
.property-photos__stage { margin:0; }
.property-photos__image { display:block; width:100%; height:min(57dvh,620px); object-fit:contain; background:#e8e6de; }
.property-photos__footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; }
.property-photos__caption { margin:0; font-size:.9rem; line-height:1.4; }
.property-photos__controls { display:flex; flex-shrink:0; align-items:center; gap:12px; }
.property-photos__controls button { border:1px solid #bbc2ba; background:transparent; width:40px; height:40px; font-size:22px; cursor:pointer; color:inherit; }
.property-photos__count { font-size:.8rem; font-variant-numeric:tabular-nums; }
.property-photos__thumbs { display:flex; gap:8px; overflow-x:auto; padding:3px 3px 8px; }
.property-photos__thumbs button { flex:0 0 76px; width:76px; height:60px; border:2px solid transparent; padding:0; background:none; cursor:pointer; opacity:.7; }
.property-photos__thumbs button[aria-current="true"] { border-color:#214b38; opacity:1; }
.property-photos__thumbs img { display:block; width:100%; height:100%; object-fit:cover; }
.property-photos-dialog button:focus-visible,.stay-photos a:focus-visible,.stay-photos button:focus-visible { outline:2px solid #214b38; outline-offset:3px; }
body.property-photos-open { overflow:hidden; }
@media(max-width:600px) {
 .stay-photos__strip { gap:6px; }
 .property-photos-dialog { width:calc(100% - 16px); max-height:calc(100dvh - 16px); padding:14px; }
 .property-photos__image { height:49dvh; }
 .property-photos__footer { align-items:flex-start; gap:8px; }
 .property-photos__controls { gap:6px; }
 .property-photos__caption { font-size:.8rem; }
}
@media(prefers-reduced-motion:reduce) { .stay-photos__strip img { transition:none; } }
