/* /rooms - filter bar, compact room grid, dining preview */
/* heading */
.rp-head{max-width:1060px;margin:0 auto;padding:3rem 0 1.4rem}
.rp-kicker--dark{color:var(--gold-text)!important}
.rp-head h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.1;margin:0;color:var(--ink);font-weight:600}
.rp-head h2 em{color:var(--gold-text)}

/* rooms: one wide horizontal row per room (photo left, details middle, price right) */
#roomsShowcase .rooms-showcase-grid{display:flex;flex-direction:column;gap:1rem;max-width:1060px;margin:0 auto;padding:0 0 3rem}
#roomsShowcase .rs-card{display:grid;grid-template-columns:30% 1fr;min-height:190px;background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;color:var(--text);box-shadow:0 6px 22px rgba(14,12,9,.07);transition:transform .3s,box-shadow .3s,border-color .3s}
#roomsShowcase .rs-card:hover,#roomsShowcase .rs-card:focus-visible{transform:translateY(-4px);box-shadow:0 18px 44px rgba(14,12,9,.15);border-color:rgba(201,168,76,.6)}
#roomsShowcase .rs-card:focus-visible{outline:3px solid var(--gold-text);outline-offset:3px}
#roomsShowcase .rs-img{position:relative;width:100%;height:100%;min-height:190px;margin:0;overflow:hidden}
#roomsShowcase .rs-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
#roomsShowcase .rs-card:hover .rs-img img{transform:scale(1.06)}
#roomsShowcase .rs-badge{background:rgba(14,12,9,.5)!important;color:#fff!important;border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;padding:.3rem .75rem}
#roomsShowcase .rs-body{display:grid;grid-template-columns:1fr auto;grid-template-areas:". foot" "name foot" "desc foot" "facts foot" "amens foot" ". foot";grid-template-rows:1fr auto auto auto auto 1fr;column-gap:1.5rem;padding:1.1rem 1.5rem;min-width:0}
#roomsShowcase .rs-name{grid-area:name;font-family:'Cormorant Garamond',serif;font-size:1.6rem;line-height:1.1;font-weight:600;color:var(--ink);margin:0 0 .35rem}
#roomsShowcase .rs-popularity{display:none}
#roomsShowcase .rs-desc{grid-area:desc;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.88rem;line-height:1.5;color:var(--text);margin:0 0 .6rem}
#roomsShowcase .rs-facts{grid-area:facts;display:flex;flex-wrap:wrap;gap:.25rem .9rem;margin:0 0 .6rem;align-self:start}
#roomsShowcase .rs-fact{font-size:.78rem;color:var(--muted);white-space:nowrap}
#roomsShowcase .rs-fact i{color:var(--gold-text)}
#roomsShowcase .rs-amens{grid-area:amens;display:flex;flex-wrap:wrap;gap:.35rem .5rem;margin:0;align-self:start}
#roomsShowcase .rs-amen{font-size:.72rem;padding:.2rem .6rem;border-radius:999px;background:var(--cream);border:1px solid var(--border);color:var(--text)}
#roomsShowcase .rs-amen i{color:var(--green);margin-right:.25rem}
#roomsShowcase .rs-foot{grid-area:foot;grid-row:1/-1;align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:.6rem;padding-left:1.5rem;border-left:1px solid var(--border);min-width:170px;text-align:right}
#roomsShowcase .rs-price{font-size:.8rem;color:var(--muted);line-height:1.2}
#roomsShowcase .rs-price strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.65rem;color:var(--ink);font-weight:700}
#roomsShowcase .rs-view-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--ink);color:var(--gold);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.6rem 1.05rem;border-radius:999px;white-space:nowrap;transition:background .3s,color .3s,gap .3s}
#roomsShowcase .rs-card:hover .rs-view-btn,#roomsShowcase .rs-card:focus-visible .rs-view-btn{background:var(--gold);color:var(--ink);gap:.8rem}
@media(max-width:1240px){#roomsShowcase .rooms-showcase-grid{padding-left:1.5rem;padding-right:1.5rem}}
@media(max-width:1100px){.rp-head{padding-left:1.5rem;padding-right:1.5rem}}
@media(max-width:860px){
  #roomsShowcase .rs-card{grid-template-columns:1fr}
  #roomsShowcase .rs-img{min-height:0;aspect-ratio:16/9}
  #roomsShowcase .rs-body{grid-template-columns:1fr;grid-template-areas:"name" "desc" "facts" "amens" "foot";grid-template-rows:none;padding:1.2rem 1.3rem 1.3rem}
  #roomsShowcase .rs-foot{grid-row:auto;flex-direction:row;align-items:center;justify-content:space-between;border-left:0;border-top:1px solid var(--border);padding:1rem 0 0;margin-top:1rem;min-width:0;text-align:left}
  #roomsShowcase .rs-price strong{font-size:1.7rem}
  .rp-head{padding:2.2rem 1.2rem 1.2rem}
}
@media (prefers-reduced-motion:reduce){#roomsShowcase .rs-card,#roomsShowcase .rs-img img{transition:none}}

/* dining preview - centred */
.rp-dine{background:var(--ink);padding:4.5rem 0}
.rp-dine-in{max-width:1200px;margin:0 auto;padding:0 2rem;text-align:center}
.rp-kicker{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--gold);margin:0 0 .6rem}
.rp-dine-copy{max-width:620px;margin:0 auto 2.4rem}
.rp-dine-copy h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.6vw,2.8rem);line-height:1.1;color:#fff;margin:0 0 .8rem;font-weight:600}
.rp-dine-copy h2 em{color:var(--gold)}
.rp-dine-copy p:not(.rp-kicker){color:rgba(245,240,232,.85);line-height:1.65;margin:0}
.rp-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--gold);color:var(--ink);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.8rem 1.4rem;border-radius:999px;text-decoration:none;transition:transform .2s,background .2s}
.rp-btn:hover{background:var(--gold-lt);transform:translateY(-2px)}
.rp-dine-more{margin-top:2.4rem}
.rp-dine-grid{--gap:1.2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap);text-align:left}
.rp-tile{position:relative;display:block;flex:0 0 calc((100% - 3 * var(--gap)) / 4);max-width:290px;aspect-ratio:3/4;border-radius:14px;overflow:hidden;background:#1b160d;text-decoration:none;color:#fff;isolation:isolate}
.rp-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.rp-tile:hover img{transform:scale(1.08)}
.rp-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,7,5,.92) 8%,rgba(8,7,5,.15) 60%);z-index:1}
.rp-tile-ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--gold);font-size:2rem}
.rp-tag{position:absolute;top:.8rem;left:.8rem;z-index:2;background:var(--gold);color:var(--ink);font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .65rem;border-radius:999px}
.rp-tile-txt{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1rem;display:flex;flex-direction:column;gap:.25rem}
.rp-tile-txt strong{font-family:'Cormorant Garamond',serif;font-size:1.3rem;line-height:1.15;font-weight:600}
.rp-tile-txt small{font-size:.76rem;color:rgba(245,240,232,.85)}
.rp-tile-txt small i{color:var(--gold);margin-right:.3rem}
.rp-tile-txt em{font-style:normal;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-top:.35rem}
@media(max-width:980px){.rp-tile{flex-basis:calc((100% - var(--gap)) / 2);max-width:none}}
@media(max-width:520px){.rp-tile{flex-basis:100%;max-width:340px;aspect-ratio:4/3.4}}
@media (prefers-reduced-motion:reduce){.rp-tile img,.rp-btn{transition:none}}


#roomsShowcase>div{max-width:none!important;padding:0!important}

/* /rooms only: no room-type chips above the calendars (the home page keeps them) */
.cal-room-types{display:none!important}
