/* Shared room detail gallery — pair with room-gallery.js. Theme per sample with these variables:
   --rg-fg, --rg-muted, --rg-line, --rg-radius, --rg-btn-radius, --rg-lb-bg, --rg-lb-fg, --rg-ring, --rg-font */
.rg{--rg-fg:currentColor;--rg-muted:currentColor;--rg-line:rgba(127,127,127,.35);--rg-radius:12px;--rg-btn-radius:999px;--rg-lb-bg:#0d0e0b;--rg-lb-fg:#f1efe6;--rg-ring:currentColor;min-width:0;color:var(--rg-fg)}
.rg-track{list-style:none;margin:0;padding:0}
.rg-item{min-width:0}
.rg-item figure{margin:0}
.rg-open{display:block;width:100%;padding:0;border:0;background:#222;cursor:zoom-in;overflow:hidden;border-radius:var(--rg-radius)}
.rg-open picture,.rg-open img{display:block;width:100%;height:100%;object-fit:cover}
.rg-open img{transition:transform .5s}
.rg-open:hover img{transform:scale(1.025)}
.rg :focus-visible,.rg-lightbox :focus-visible{outline:2px solid var(--rg-ring);outline-offset:3px}
.rg-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.rg-counter{margin:0;font-size:13px;letter-spacing:.08em;color:var(--rg-muted)}
.rg-all{min-height:44px;padding:0 18px;border:1px solid var(--rg-line);border-radius:var(--rg-btn-radius);background:transparent;color:inherit;font:inherit;font-size:14px;cursor:pointer}
.rg-all:hover{border-color:currentColor}
.rg-thumbs{display:none;gap:8px;margin-top:12px;overflow-x:auto;padding:2px 2px 4px}
.rg-thumb{flex:none;width:64px;height:48px;padding:0;border:1px solid transparent;background:#222;border-radius:calc(var(--rg-radius) * .4);overflow:hidden;cursor:pointer;opacity:.7}
.rg-thumb picture,.rg-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.rg-thumb[aria-current="true"]{opacity:1;border-color:var(--rg-fg)}
html:not(.js) .rg-bar,html:not(.js) .rg-thumbs{display:none}

/* Editorial variant (desktop): 4:5 hero spanning 2 rows on the left, two 3:2 stacked on the right; 4th+ photos lightbox-only. */
@media(min-width:801px){
 .rg--editorial .rg-track{display:grid;grid-template-columns:1.17fr 1fr;gap:16px}
 .rg--editorial .rg-item:first-child{grid-row:span 2;display:flex}
 .rg--editorial .rg-item:first-child figure{display:flex;flex-direction:column;width:100%}
 .rg--editorial .rg-item:first-child .rg-open{flex:1 1 0;min-height:0;position:relative}
 .rg--editorial .rg-item:first-child .rg-open img{position:absolute;inset:0} /* height follows the two 3:2 photos; column ratio 1.17:1 keeps it ≈4:5 */
 .rg--editorial .rg-item:not(:first-child) .rg-open{aspect-ratio:3/2}
 .rg--editorial .rg-item:nth-child(n+4){display:none}
 .rg--editorial .rg-counter{visibility:hidden}
}
/* Mobile: 86%-width scroll-snap carousel with peek, counter + 64×48 thumbnails. No autoplay. */
@media(max-width:800px){
 .rg .rg-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .rg .rg-track::-webkit-scrollbar{display:none}
 .rg .rg-item{flex:0 0 86%;scroll-snap-align:start}
 .rg .rg-item .rg-open{aspect-ratio:1/1}
 .rg-thumbs{display:flex}
}

/* Lightbox */
html.rg-lock{overflow:hidden}
.rg-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--rg-lb-bg,#0d0e0b);color:var(--rg-lb-fg,#f1efe6);font-family:var(--rg-font,inherit)}
.rg-lightbox[open]{display:grid;grid-template-rows:auto 1fr auto}
.rg-lightbox::backdrop{background:rgba(0,0,0,.85)}
.rg-lb-top{display:flex;justify-content:space-between;align-items:center;padding:10px 14px 0 22px}
.rg-lb-count{margin:0;font-size:13px;letter-spacing:.1em}
.rg-lb-close,.rg-lb-prev,.rg-lb-next{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(241,239,230,.35);background:transparent;color:inherit;font-size:22px;line-height:1;cursor:pointer;border-radius:var(--rg-lb-btn-radius,50%)}
.rg-lb-close{font-size:30px;border-color:transparent}
.rg-lb-close:hover,.rg-lb-prev:hover,.rg-lb-next:hover{border-color:currentColor}
.rg-lb-figure{margin:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:10px 22px 0}
.rg-lb-media{min-height:0;flex:1;width:100%;display:flex;align-items:center;justify-content:center}
.rg-lb-media picture{display:contents}
.rg-lb-media img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.rg-lb-cap{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 14px;font-size:14px;text-align:center}
.rg-lb-num{font-size:12px;letter-spacing:.15em}
.rg-lb-cap small{font-size:12px;opacity:.9;width:100%}
.rg-lb-nav{display:flex;justify-content:center;gap:12px;padding:14px 0 calc(16px + env(safe-area-inset-bottom))}
@media(prefers-reduced-motion:reduce){.rg-open img{transition:none}.rg-open:hover img{transform:none}}
