/* ==========================================================================
   Room detail page
   Ported from the Astro static design (Astro scoped attributes removed).
   ========================================================================== */


/* --- Room detail --- */
.rhero{padding-top:calc(var(--header-h) + var(--space-s))}
.rhero__mosaic{grid-template-columns:1fr 1fr;gap:clamp(.4rem,.8vw,.75rem);display:grid;position:relative}
.rhero__tile{display:block}
.rhero__tile img{object-fit:cover;width:100%;height:100%}
.rhero__tile--main{aspect-ratio:4/3;grid-column:1/-1}
.rhero__tile:not(.rhero__tile--main){aspect-ratio:4/3}
.rhero__all{box-shadow:var(--shadow-m);position:absolute;bottom:.75rem;right:.75rem}
@media (width>=64rem){.rhero__mosaic{grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr;height:min(72vh,46rem)}
.rhero__tile--main{aspect-ratio:auto;grid-area:1/1/3}
.rhero__tile:not(.rhero__tile--main){aspect-ratio:auto}
.rhero__all{bottom:1.25rem;right:1.25rem}
}
.room{gap:var(--space-2xl);padding-block:var(--space-2xl) var(--section-y);display:grid}
.room__main{gap:var(--space-xl);align-content:start;min-width:0;display:grid}
.room__head{gap:var(--space-s);margin-top:calc(var(--space-m) * -.5);display:grid}
.room__title{font-size:var(--step-5);letter-spacing:-.045em;font-weight:290;line-height:.98}
.room__lead{font-size:var(--step-1);color:var(--navy-900);max-width:34rem}
.room__facts{background:var(--color-line);border:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}
.room__facts div{background:var(--paper);grid-template-columns:auto 1fr;align-items:center;column-gap:.85rem;padding:1.1rem 1rem;display:grid}
.room__facts .icon{color:var(--clay-600);grid-row:1/3}
.room__facts dt{font-size:var(--step--2);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);font-weight:650}
.room__facts dd{color:var(--navy-900);font-weight:600;line-height:1.35}
@media (width>=40rem){.room__facts{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.room__section{padding-top:var(--space-xl);border-top:1px solid var(--color-line);gap:var(--space-l);display:grid}
.room__h2{font-size:var(--step-3);letter-spacing:-.03em;font-weight:340}
.room__prose{font-size:var(--step-0)}
.room__prose p:first-child{font-size:var(--step-1);color:var(--navy-900);line-height:1.55}
.room__amenities{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1.25rem 2rem;display:grid}
.room__amenities li,.room__inc-list li{align-items:flex-start;gap:.9rem;display:flex}
.room__amenities .icon,.room__inc-list .icon{color:var(--slate-600);flex:none}
.room__amenities strong,.room__inc-list strong{color:var(--navy-900);font-weight:620;display:block}
.room__amenities span span{font-size:var(--step--1);color:var(--color-text-muted);display:block}
.room__inc-list{font-size:var(--step--1);color:var(--color-text-muted);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.25rem 2rem;display:grid}
.room__inc-list strong{font-size:var(--step-0)}
.room__aside{display:none}
.bookcard{background:var(--white);border-radius:var(--radius-m);box-shadow:var(--shadow-m), 0 0 0 1px #1c2b3a0d;gap:.9rem;padding:1.75rem;display:grid}
.bookcard__eyebrow{font-size:var(--step--2);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--clay-600);font-weight:650}
.bookcard__name{font-size:var(--step-3);letter-spacing:-.03em;color:var(--navy-900);font-weight:340;line-height:1.05}
.bookcard__direct{font-size:var(--step--1);color:var(--slate-600);align-items:center;gap:.35rem;font-weight:560;line-height:1.4;display:inline-flex}
.bookcard__inc{border-top:1px solid var(--color-line);font-size:var(--step--1);color:var(--navy-900);flex-wrap:wrap;gap:.35rem 1rem;padding-top:.9rem;font-weight:560;display:flex}
.bookcard__inc li{align-items:center;gap:.35rem;display:inline-flex}
.bookcard__inc .icon{color:var(--olive-600);stroke-width:2px}
.bookcard__help{font-size:var(--step--1);color:var(--color-text-muted)}
.bookcard__help a{color:var(--navy-900);font-weight:600}
@media (width>=64rem){.room{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2.4vw,2.5rem)}
.room__main{grid-column:1/8}
.room__aside{grid-column:9/-1;display:block}
.bookcard{top:calc(var(--header-h-compact) + 1.5rem);position:sticky}
}
.room-photos{padding-top:0}
.room-photos__title{margin-bottom:var(--space-l)}
.room-photos__grid{grid-template-columns:repeat(2,1fr);gap:clamp(.4rem,.8vw,.75rem);display:grid}
.room-photos__grid a{aspect-ratio:4/3;display:block;position:relative}
.room-photos__grid img{object-fit:cover;width:100%;height:100%}
.room-photos__grid .is-wide{grid-column:span 2}
.room-photos__grid .is-wide a{aspect-ratio:16/9}
.room-photos__zoom{width:2.25rem;height:2.25rem;color:var(--navy-900);opacity:0;transition:opacity var(--dur-2) ease;background:#fffdfaeb;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:.75rem;right:.75rem}
.room-photos__grid a:hover .room-photos__zoom,.room-photos__grid a:focus-visible .room-photos__zoom{opacity:1}
@media (width>=64rem){.room-photos__grid{grid-template-columns:repeat(3,1fr)}
.room-photos__grid .is-wide{grid-area:span 2/span 2}
.room-photos__grid .is-wide a{aspect-ratio:auto;height:100%}
}
.others__grid{gap:var(--space-xl) clamp(1rem, 2.4vw, 2.5rem);display:grid}
@media (width>=40rem){.others__grid{grid-template-columns:repeat(2,1fr)}
}
@media (width>=64rem){.others__grid{grid-template-columns:repeat(3,1fr)}
}
