.property-gallery{margin-top:2rem;}
.property-gallery-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.9rem;}
.property-gallery-head p{font-size:.85rem;color:var(--stone);margin:0;}
.property-gallery-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:.75rem;align-items:start;}
.property-gallery-main,.property-gallery-thumbs a{display:block;position:relative;background:var(--lime-dim);overflow:hidden;color:var(--fell);}
.property-gallery-main img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
.property-gallery-label{position:absolute;left:.65rem;bottom:.65rem;padding:.4rem .65rem;background:rgba(26,24,20,.86);color:var(--lime);font-size:.78rem;line-height:1.4;border-radius:3px;max-width:calc(100% - 1.3rem);}
.property-gallery-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;}
.property-gallery-thumbs img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;transition:opacity .2s;}
.property-gallery a:hover img{opacity:.9;}
.property-gallery a:focus-visible{outline:3px solid var(--rust);outline-offset:3px;}
.property-gallery a:hover::after,.property-gallery a:focus-visible::after{content:attr(data-caption);position:absolute;inset:auto 0 0;background:rgba(26,24,20,.9);color:var(--lime);padding:.35rem .5rem;font-size:.73rem;line-height:1.35;pointer-events:none;}
.property-gallery-main:hover::after,.property-gallery-main:focus-visible::after{display:none;}
.property-gallery-credit{font-size:.75rem;line-height:1.5;color:var(--stone);margin:.75rem 0 0;}
.property-gallery-credit a{text-decoration:underline;}
.photo-dialog{position:fixed;inset:0;margin:auto;border:0;background:#171a14;color:#f7f3ea;width:min(1180px,calc(100vw - 24px));max-width:none;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:0;border-radius:5px;box-shadow:0 16px 70px #0008;}
.photo-dialog::backdrop{background:rgba(0,0,0,.82);}
.photo-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;}
.photo-dialog-counter{font-size:.82rem;margin:0;}
.photo-dialog button{font:inherit;background:transparent;color:inherit;border:1px solid #ffffff70;cursor:pointer;border-radius:3px;min-width:44px;min-height:44px;padding:.45rem .75rem;}
.photo-dialog button:hover,.photo-dialog button:focus-visible{background:#ffffff20;outline:2px solid #f7f3ea;outline-offset:2px;}
.photo-dialog-image{display:block;width:100%;height:min(68vh,780px);height:min(68dvh,780px);object-fit:contain;background:#171a14;}
.photo-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem 1rem;}
.photo-dialog-caption{font-size:.9rem;line-height:1.5;margin:0;flex:1;text-align:center;}
.photo-dialog-open{overflow:hidden;}
.booking-pet-note{font-size:.9rem;line-height:1.6;border-left:3px solid var(--rust);padding:.7rem 1rem;background:var(--lime-dim);margin:1.1rem 0;}
@media(max-width:700px){
 .property-gallery-head{display:block;}
 .property-gallery-head p{margin-top:.4rem;}
 .property-gallery-layout{grid-template-columns:1fr;}
 .property-gallery-thumbs{gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr));}
 .photo-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);}
 .photo-dialog-bar,.photo-dialog-bottom{padding:.6rem;gap:.5rem;}
 .photo-dialog-image{height:62vh;height:62dvh;}
 .photo-dialog-caption{font-size:.82rem;}
}
@media(prefers-reduced-motion:reduce){.property-gallery-thumbs img{transition:none;}}
