/* The content scrolls independently, leaving a permanent close-button gutter. */
#dialog{overflow:hidden;max-height:92dvh;width:min(1120px,96vw);max-width:96vw;padding:0;background:white}
#dialog>#dialogContent{max-height:92dvh;overflow:auto;overscroll-behavior:contain;padding:12px 64px 24px 12px;scrollbar-gutter:stable}
#dialog>.close{position:absolute;top:12px;right:12px;z-index:10;display:flex;align-items:center;justify-content:center;width:42px;height:42px;min-height:42px;padding:0;border:1px solid #dbe3ea;background:white;color:#0f3a5c;border-radius:50%;box-shadow:0 2px 8px #0f3a5c14}
#dialog>.close:hover{background:#edf3f7}
#dialog .main-photo-frame,#dialog .main-photo-frame[data-property-photo]{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;position:relative;width:100%;max-width:none;aspect-ratio:auto;margin:0;padding:0}
#dialog .main-photo-frame .dialog-image{grid-column:2;grid-row:1;display:block;width:100%;max-width:100%!important;height:clamp(240px,52dvh,540px)!important;aspect-ratio:auto;object-fit:contain;object-position:center;background:#f6f8fa;margin:0}
#dialog .main-photo-frame>button{position:static;transform:none;grid-row:1;justify-self:center;box-shadow:none;margin:0}
#dialog .main-photo-frame>.main-photo-prev{grid-column:1}
#dialog .main-photo-frame>.main-photo-next{grid-column:3}
#dialog .property-gallery{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;padding:12px 0 8px}
#dialog .gallery-controls{display:contents}
#dialog .gallery-controls button{grid-row:1;display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;margin:0;padding:0;border:1px solid #dbe3ea;background:white;color:#0f3a5c;font-size:20px}
#dialog .gallery-controls [data-gallery-step="-1"]{grid-column:1}
#dialog .gallery-controls [data-gallery-step="1"]{grid-column:3;justify-self:end}
#dialog .gallery-strip{grid-column:2;grid-row:1;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/5);gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;min-width:0;padding:2px 0 6px}
#dialog .gallery-strip button{display:block;width:100%;height:auto;aspect-ratio:4/3;min-height:0;padding:0;border:2px solid transparent;background:#f6f8fa;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}
#dialog .gallery-strip button[aria-current="true"]{border-color:#0f3a5c}
#dialog .gallery-strip img{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:640px){
 #dialog>#dialogContent{padding:10px 48px 18px 8px}
 #dialog>.close{top:8px;right:5px;width:38px;height:38px;min-height:38px}
 #dialog .main-photo-frame,#dialog .main-photo-frame[data-property-photo],#dialog .property-gallery{grid-template-columns:30px minmax(0,1fr) 30px;gap:4px}
 #dialog .main-photo-frame>button,#dialog .gallery-controls button{width:30px;min-width:30px;height:40px;min-height:40px;padding:0}
 #dialog .main-photo-frame .dialog-image{height:clamp(200px,42dvh,420px)!important}
 #dialog .gallery-strip{grid-auto-columns:calc((100% - 8px)/2)}
 #dialog .dialog-body{padding:18px 4px}
}
