/* ===== Show-all-photos button ===== */
.gal-open{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;background:#FBF3E8;color:#2B2118;border:1px solid rgba(43,33,24,.3);border-radius:10px;padding:10px 16px;font:500 14px var(--font-sans);cursor:pointer;box-shadow:0 2px 8px rgba(43,33,24,.15)}
.gal-open:hover{background:#F4EDDF}
.gal-open:focus-visible,.gal-item:focus-visible,.gal-chip:focus-visible,.gal-back:focus-visible,.mp-load:focus-visible{outline:2px solid #A24E28;outline-offset:2px}

/* ===== Photo tour dialog ===== */
dialog.gal-tour{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0 0 48px;border:0;background:#EDE5D6;color:#2B2118;overflow-y:auto;box-sizing:border-box}
body:has(dialog[open]){overflow:hidden}
.gal-tour-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:20px;background:#EDE5D6;border-bottom:1px solid rgba(43,33,24,.14);padding:14px 24px}
.gal-back{background:none;border:0;font:500 15px var(--font-sans);color:#A24E28;cursor:pointer;padding:8px 10px;border-radius:8px}
.gal-back:hover{background:#E7DDCA}
.gal-tour-title{font-family:var(--font-serif);font-size:18px}
.gal-rooms-index{display:flex;gap:14px;overflow-x:auto;padding:20px 24px;max-width:1100px;margin:0 auto;box-sizing:border-box}
.gal-chip{flex:none;width:128px;text-align:left;font:500 13px var(--font-sans);color:#2B2118;text-decoration:none}
.gal-chip img{width:128px;height:84px;object-fit:cover;border-radius:8px;display:block;margin-bottom:6px}
.gal-chip:hover span{color:#A24E28}
.gal-room{max-width:1100px;margin:0 auto;padding:20px 24px 8px;box-sizing:border-box;scroll-margin-top:70px}
.gal-room h2{font-family:var(--font-serif);font-weight:400;font-size:24px;margin:12px 0 14px}
.gal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gal-item{grid-column:span 2;padding:0;border:0;background:none;cursor:zoom-in;border-radius:12px;overflow:hidden}
.gal-item:nth-child(3n+2),.gal-item:nth-child(3n){grid-column:span 1}
.gal-item img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:3/2}

/* ===== Single-photo viewer ===== */
dialog.gal-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#211913;color:#F0E7D8}
dialog.gal-viewer[open]{display:grid;place-items:center}
#pv-img{max-width:92vw;max-height:82dvh;object-fit:contain;border-radius:6px}
.pv-meta{position:absolute;bottom:18px;left:0;right:0;display:flex;justify-content:center;gap:18px;font:400 14px var(--font-sans);color:rgba(240,231,216,.85)}
#pv-prev,#pv-next{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid rgba(240,231,216,.35);background:rgba(33,25,19,.55);color:#F0E7D8;font-size:18px;cursor:pointer}
#pv-prev{left:18px}#pv-next{right:18px}
#pv-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(240,231,216,.12);color:#F0E7D8;font-size:16px;cursor:pointer}
#pv-prev:hover,#pv-next:hover,#pv-close:hover{background:rgba(240,231,216,.25)}
#pv-prev:focus-visible,#pv-next:focus-visible,#pv-close:focus-visible{outline:2px solid #F0E7D8;outline-offset:2px}

/* ===== Matterport click-to-load ===== */
.mp-wrap{position:relative;width:100%;max-width:960px;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#211913}
.mp-wrap img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85}
.mp-load{position:absolute;inset:0;margin:auto;width:max-content;height:max-content;display:inline-flex;align-items:center;background:#FBF3E8;color:#2B2118;border:0;border-radius:999px;padding:14px 26px;font:500 15px var(--font-sans);cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.mp-load:hover{background:#F4EDDF}
.mp-wrap iframe{width:100%;height:100%;border:0;display:block}

@media (max-width:640px){
  .gal-grid{grid-template-columns:1fr}
  .gal-item,.gal-item:nth-child(3n+2),.gal-item:nth-child(3n){grid-column:auto}
  .gal-open{right:10px;bottom:10px;padding:9px 13px}
  #pv-prev{left:8px}#pv-next{right:8px}
}
@media (prefers-reduced-motion:no-preference){
  .gal-item img{transition:transform .35s ease}
  .gal-item:hover img{transform:scale(1.02)}
}
