.approved-room-gallery{width:min(1050px,94vw);max-width:94vw;max-height:94dvh;padding:24px;background:var(--ivory);color:var(--cacao);border:0;overflow:auto}
.approved-room-gallery::backdrop{background:rgba(53,42,37,.82)}
.approved-room-gallery .deluxe-gallery-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}
.approved-room-gallery h2{font-size:clamp(28px,4vw,42px);margin:0;line-height:1.1}
.approved-room-gallery .deluxe-gallery-close,.approved-room-gallery .deluxe-gallery-controls button{border:1px solid var(--cacao);background:transparent;color:var(--cacao);width:46px;height:46px;min-width:46px;font:400 25px/1 Manrope,Arial,sans-serif;cursor:pointer;padding:0}
.approved-room-gallery figure{margin:0;overflow:visible}
.approved-room-gallery figure img{display:block;width:100%;height:auto;max-height:64dvh;object-fit:contain;filter:none!important}
.approved-room-gallery figcaption{font:400 13px/1.6 Manrope,Arial,sans-serif;margin:14px 0;color:var(--cacao)}
.approved-room-gallery .deluxe-gallery-controls{display:flex;justify-content:center;align-items:center;gap:24px}
.approved-room-gallery .deluxe-gallery-count{font:600 14px Manrope,Arial,sans-serif}
.approved-room-gallery .deluxe-original{display:block;width:fit-content;margin:18px auto 0;color:var(--turquoise);font:600 12px/1.6 Manrope,Arial,sans-serif;text-decoration:underline}
.approved-room-gallery .deluxe-gallery-close{position:static;inset:auto;margin:0;transform:none;flex:none}
@media(max-width:600px){.approved-room-gallery{padding:17px}.approved-room-gallery figure img{max-height:57dvh}.approved-room-gallery figcaption{font-size:12px}}
.rooms-page-main .selected-principal-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0}
.rooms-page-main .selected-principal-photo{margin:0!important;min-width:0;aspect-ratio:4/3;height:auto!important;overflow:hidden;border-radius:8px}
.rooms-page-main .selected-principal-photo:first-child{grid-column:1/-1}
.rooms-page-main .principal-photo-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.rooms-page-main .principal-photo-open img{display:block;width:100%;height:100%;object-fit:contain;filter:none!important}
.rooms-page-main .principal-photo-open:focus-visible{outline:3px solid var(--terracotta);outline-offset:-3px}
.rooms-page-main .selected-principal-photos>.approved-gallery-open{grid-column:1/-1;justify-self:start}
@media(max-width:600px){.rooms-page-main .selected-principal-photos{gap:14px}.rooms-page-main .selected-principal-photo{grid-column:1/-1}}
/* Shared facade: one main view and four complementary views, without letterboxing. */
.rooms-page-main .selected-principal-photos>.selected-principal-photo{aspect-ratio:auto;align-self:start;border-radius:8px;overflow:hidden}
.rooms-page-main .selected-principal-photos .principal-photo-open{height:auto;border-radius:8px;overflow:hidden}
.rooms-page-main .selected-principal-photos .principal-photo-open img{height:auto;border-radius:8px;object-fit:contain}
@media(max-width:600px){.rooms-page-main .selected-principal-photos>.selected-principal-photo{grid-column:auto}.rooms-page-main .selected-principal-photos>.selected-principal-photo:first-child{grid-column:1/-1}}
/* Uniform complementary frames; the main photograph keeps its existing size. */
.rooms-page-main .selected-principal-photos>.selected-principal-photo:not(:first-child){position:relative;aspect-ratio:4/3;min-width:0;height:auto!important;border-radius:8px;overflow:hidden}
.rooms-page-main .selected-principal-photos>.selected-principal-photo:not(:first-child)>.principal-photo-open{position:absolute;inset:0;width:100%;height:100%;border-radius:8px}
.rooms-page-main .selected-principal-photos>.selected-principal-photo:not(:first-child)>.principal-photo-open>img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:8px}
