.rhb-stay{--rhb-primary:var(--fs-color-primary,#a32127);--rhb-bg:#fffdf9;--rhb-alt:#f1ede4;--rhb-ink:#1b1b1b;background:var(--rhb-bg);color:var(--rhb-ink)}
.rhb-section{padding-block:64px}
.rhb-alt{background:var(--rhb-alt)}
.rhb-eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--rhb-primary);margin:0 0 8px}
.rhb-stay h1,.rhb-stay h2{margin:0 0 16px}
.rhb-lead{font-size:1.15em}
.rhb-muted{opacity:.7}
.rhb-room-desc{margin:0 0 1em}
.rhb-room-desc>*:last-child{margin-bottom:0}
.rhb-btn{display:inline-block;padding:12px 22px;background:var(--rhb-primary);color:#fff;border:1px solid var(--rhb-primary);border-radius:4px;text-decoration:none}
.rhb-btn--ghost{background:transparent;color:var(--rhb-primary)}
.rhb-hero{position:relative;min-height:420px;display:flex;align-items:flex-end;color:#fff;background:#d3cfc7}
.rhb-hero--short{min-height:360px}
.rhb-hero__bg,.rhb-film__bg{position:absolute;inset:0}
.rhb-hero__bg img,.rhb-film__bg img{width:100%;height:100%;object-fit:cover}
.rhb-hero__body{position:relative;padding-block:48px}
.rhb-film__caption{margin:0;color:#fff;font-weight:600}
.rhb-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.rhb-grid{display:grid;gap:24px}
.rhb-grid--3{grid-template-columns:repeat(3,1fr)}
.rhb-grid--4{grid-template-columns:repeat(4,1fr)}
.rhb-facts{margin:0}
.rhb-fact{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.15)}
.rhb-fact dt{opacity:.7}.rhb-fact dd{margin:0;font-weight:600;color:var(--rhb-primary)}
.rhb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.rhb-card{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit}
.rhb-card__img img,.rhb-rec img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#d3cfc7}
.rhb-card__title{font-weight:600;color:var(--rhb-primary)}
.rhb-card__sub{font-size:.85em;opacity:.7}
.rhb-shared img{width:40px;height:40px;object-fit:contain}
.rhb-map{width:100%;min-height:320px;border:0}
.rhb-acc{border-top:1px solid rgba(0,0,0,.15);padding:14px 0}
.rhb-acc summary{cursor:pointer;font-weight:600}
.rhb-also{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;padding:0}
.rhb-cta{background:#000;color:#fff;text-align:center;padding-block:64px}
.rhb-booking__compact{display:none}
@media (max-width:768px){
	.rhb-split,.rhb-grid--3,.rhb-grid--4{grid-template-columns:1fr}
	.rhb-booking__inline{display:none}
	.rhb-booking__compact{display:block}
}
.rhb-chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.rhb-chip{padding:8px 18px;border:1px solid var(--rhb-ink);border-radius:4px;text-decoration:none;color:var(--rhb-ink)}
.rhb-chip.is-active{background:var(--rhb-primary);border-color:var(--rhb-primary);color:#fff}
.rhb-rec__cat{display:block;margin-top:8px;color:var(--rhb-primary)}
.rhb-rec h3{margin:2px 0 0;font-size:1em;font-weight:400}
.rhb-banner .banner{margin:0}
.rhb-stay .rhb-banner .button.primary{background-color:var(--rhb-primary);border-color:var(--rhb-primary);color:#fff}
.rhb-stay .rhb-banner .button.primary:hover{background-color:var(--rhb-primary);border-color:var(--rhb-primary);color:#fff;filter:brightness(.9)}

.rhb-video-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.rhb-video-center a{pointer-events:auto}

/* ---------- Room type hero + gallery ----------
   Breakpoints follow Flatsome: mobile < 550px, tablet 550-849px, desktop >= 850px.
   The gallery bleeds to the right edge of the page (value set by front.js in --rhb-bleed). */
.rhb-room-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:48px;row-gap:28px;align-items:start}
.rhb-room-hero__grid--solo{grid-template-columns:1fr}
.rhb-room-hero__info{align-self:start;min-width:0}
.rhb-rg{display:contents}
.rhb-rg__track{grid-column:2;min-width:0;margin-inline-end:calc(-1 * var(--rhb-bleed,0px));position:relative;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rhb-rg__track::-webkit-scrollbar{display:none}
.rhb-room-hero__grid--solo .rhb-rg__track{grid-column:1}
.rhb-rg__page{flex:0 0 100%;scroll-snap-align:start;display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;aspect-ratio:1.94/1}
.rhb-rg__item{min-width:0;min-height:0;overflow:hidden;background:#d3cfc7}
.rhb-rg__item:first-child{grid-row:1/3}
.rhb-rg__item img{display:block;width:100%;height:100%;object-fit:cover}
.rhb-rg__page--1{grid-template-columns:1fr}
.rhb-rg__page--2 .rhb-rg__item:nth-child(2){grid-row:1/3}
.rhb-rg__bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px}
.rhb-rg__caption{margin:0;font-size:11px;opacity:.6}
.rhb-rg__controls{display:flex;align-items:center;gap:18px;margin-inline-start:auto}
.rhb-rg__count{font-size:13px;min-width:2.5em;text-align:center}
.rhb-rg__btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-height:0;margin:0;padding:0;border:1px solid var(--rhb-primary);border-radius:50%;background:transparent;color:var(--rhb-primary);cursor:pointer;line-height:1;box-shadow:none}
.rhb-rg__btn:hover:not(:disabled){background:var(--rhb-primary);color:#fff}
/* Disabled (first/last page, or only 1 page): same look everywhere. !important so Flatsome button styles can't override it. */
.rhb-stay .rhb-rg__btn:disabled,.rhb-stay .rhb-rg__btn[disabled]{opacity:.3!important;cursor:default!important;pointer-events:none;background:transparent!important;color:var(--rhb-primary)!important;border-color:var(--rhb-primary)!important;box-shadow:none!important}
[dir="rtl"] .rhb-rg__btn svg{transform:scaleX(-1)}
.rhb-rg__btn svg{width:10px;height:18px}
.rhb-room-hero__actions{margin:0}
.rhb-stay .rhb-room-hero__actions .button.primary{background-color:var(--rhb-primary);border-color:var(--rhb-primary);color:#fff}
.rhb-stay .rhb-room-hero__actions .button.primary:hover{background-color:var(--rhb-primary);border-color:var(--rhb-primary);color:#fff;filter:brightness(.9)}
.rhb-stay .rhb-room-hero__actions .button.primary.is-outline{background-color:transparent;color:var(--rhb-primary)}
.rhb-stay .rhb-room-hero__actions .button.primary.is-outline:hover{background-color:var(--rhb-primary);color:#fff;filter:none}

/* Tablet: text on top, gallery below */
@media (max-width:849px){
	.rhb-room-hero__grid{grid-template-columns:minmax(0,1fr);row-gap:32px}
	.rhb-rg__track,.rhb-room-hero__grid--solo .rhb-rg__track{grid-column:1}
	.rhb-rg__page{aspect-ratio:2/1}
}

/* Mobile: one large image on top, two smaller images below; buttons full width */
@media (max-width:549px){
	.rhb-rg__page{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;aspect-ratio:auto;gap:9px}
	.rhb-rg__item{aspect-ratio:8/5}
	.rhb-rg__item:first-child{grid-row:auto;grid-column:1/-1;aspect-ratio:3/2}
	.rhb-rg__page--2 .rhb-rg__item:nth-child(2){grid-row:auto;grid-column:1/-1;aspect-ratio:2/1}
	.rhb-room-hero__actions .button{display:block;width:100%;margin:0 0 12px;text-align:center}
}

/* ---------- Property gallery ----------
   One image per slide. Desktop (>=850px): bleeds to the right page edge (--rhb-bleed from front.js), wide crop.
   Tablet / mobile: stays inside the container, 16:9. Controls are centred and use the brand colour. */
.rhb-pg__track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rhb-pg__track::-webkit-scrollbar{display:none}
.rhb-pg__page{flex:0 0 100%;min-width:0;scroll-snap-align:start;aspect-ratio:16/9;overflow:hidden;background:#d3cfc7}
.rhb-pg__page img{display:block;width:100%;height:100%;object-fit:cover}
.rhb-pg__controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:24px}
@media (min-width:850px){
	.rhb-pg__track{margin-inline-end:calc(-1 * var(--rhb-bleed,0px))}
	.rhb-pg__page{aspect-ratio:2.7/1}
}

/* ---------- Room type cards (Property page) ----------
   Desktop: 3 cards visible. Tablet (<850px): ~2 cards + a peek of the next. Mobile (<550px): 1 card + a peek.
   Title, bullets and arrows follow the brand colour (--rhb-primary). */
.rhb-cg__track{display:flex;align-items:flex-start;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.rhb-cg__track::-webkit-scrollbar{display:none}
.rhb-stay a.rhb-cg__card{flex:0 0 calc((100% - 32px) / 3);min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;background:#fffdf9;color:var(--rhb-ink);border:1px solid rgba(0,0,0,.12);border-radius:10px;overflow:hidden;text-decoration:none}
.rhb-cg__img{display:block;aspect-ratio:11/6;overflow:hidden;background:#d3cfc7}
.rhb-cg__img img{display:block;width:100%;height:100%;object-fit:cover}
.rhb-cg__body{display:block;padding:16px 16px 14px}
.rhb-cg__title{display:block;margin:0 0 8px;font-size:1.15em;font-weight:700;line-height:1.2;color:var(--rhb-primary)}
.rhb-cg__blurb{display:block;font-size:.78em;opacity:.7;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.12)}
.rhb-cg__list{display:block;margin-top:10px}
.rhb-cg__li{display:block;position:relative;padding-inline-start:14px;font-size:.8em;line-height:1.5;margin-bottom:6px}
.rhb-cg__li:last-child{margin-bottom:0}
.rhb-cg__li::before{content:"";position:absolute;inset-inline-start:2px;top:.6em;width:4px;height:4px;border-radius:50%;background:var(--rhb-primary)}
.rhb-cg__bar{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin-top:20px}
.rhb-cg__caption{margin:0;font-size:11px;opacity:.6}
.rhb-cg__controls{display:flex;align-items:center;justify-content:center;gap:18px}
.rhb-cg__controls[hidden]{display:none}
@media (min-width:550px) and (max-width:849px){
	.rhb-stay a.rhb-cg__card{flex-basis:calc((100% - 16px) / 2.2)}
	.rhb-cg__bar{flex-direction:row;align-items:center;justify-content:space-between}
	.rhb-cg__controls{margin-inline-start:auto}
}
@media (max-width:549px){
	.rhb-stay a.rhb-cg__card{flex-basis:85%}
	.rhb-cg__controls{justify-content:flex-start}
}

/* ---------- Neighbourhood recommendations (Property + Brand) ----------
   Max 4 items, no navigation. Eyebrow, titles and button use the brand colour (--rhb-primary). */
.rhb-eyebrow--plain{text-transform:none}
.rhb-recs .rhb-recs__sub{margin:0 0 32px;opacity:.7}
.rhb-recs__grid{display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.rhb-recs__grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.rhb-recs .rhb-rec img{display:block;width:100%;aspect-ratio:12/7;object-fit:cover;border-radius:6px;background:#d3cfc7}
.rhb-stay .rhb-recs .rhb-rec h3{margin:14px 0 8px;font-size:1.05em;font-weight:700;line-height:1.25;text-transform:none;color:var(--rhb-primary)}
.rhb-recs .rhb-rec p{margin:0 0 8px;font-size:.85em;line-height:1.5}
.rhb-recs .rhb-rec small{display:block;font-size:.75em;opacity:.6}
.rhb-recs__more{margin:32px 0 0}
.rhb-stay .rhb-recs .rhb-btn--ghost{padding:10px 22px;margin:0;font-size:13px;line-height:1.4;background:transparent;color:var(--rhb-primary);border:1px solid var(--rhb-primary);border-radius:6px;box-shadow:none;text-transform:none;letter-spacing:0}
.rhb-stay .rhb-recs .rhb-btn--ghost:hover{background:var(--rhb-primary);color:#fff}
@media (max-width:849px){
	.rhb-recs__grid,.rhb-recs__grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
	.rhb-recs .rhb-rec img{aspect-ratio:7/5}
}
@media (max-width:549px){
	.rhb-recs__grid,.rhb-recs__grid--4{grid-template-columns:minmax(0,1fr)}
	.rhb-recs .rhb-rec img{aspect-ratio:3/2}
}

/* ---------- Closing CTA (black background): white heading, white outline button ---------- */
.rhb-stay .rhb-cta h2,.rhb-stay .rhb-cta p{color:#fff}
.rhb-stay .rhb-cta .button.primary{background-color:transparent;border:1px solid #fff;color:#fff;box-shadow:none}
.rhb-stay .rhb-cta .button.primary:hover{background-color:#fff;border-color:#fff;color:#000;filter:none}
.rhb-stay .rhb-cta .button.primary span{color:inherit}

/* Divided row (brand page Values): Flatsome row-large, accent titles, vertical dividers between columns */
.rhb-divided .col-inner{padding:0 32px}
.rhb-divided .col:first-child .col-inner{padding-left:0}
.rhb-divided .col:last-child .col-inner{padding-right:0}
.rhb-divided h3{margin:0 0 10px;font-size:1.1em;font-weight:700;line-height:1.25;text-transform:none;letter-spacing:0;color:var(--rhb-primary)}
.rhb-divided p{margin:0;font-size:.95em;line-height:1.55}
@media (min-width:850px){
	.rhb-divided .col+.col .col-inner{border-left:1px solid rgba(0,0,0,.18)}
}
@media (max-width:849px){
	.rhb-divided .col+.col .col-inner{border-top:1px solid rgba(0,0,0,.18);padding-top:24px;margin-top:24px}
	.rhb-divided .col-inner{padding:0}
}

/* Properties slider (brand page) */
.rhb-ps{position:relative}
.rhb-ps__chips{margin:24px 0 28px}
button.rhb-chip{font:inherit;line-height:1.2;background:transparent;cursor:pointer}
button.rhb-chip.is-active{background:var(--rhb-primary);border-color:var(--rhb-primary);color:#fff}
.rhb-ps__track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rhb-ps__track::-webkit-scrollbar{display:none}
.rhb-ps__page{flex:0 0 78%;scroll-snap-align:start;min-width:0}
.rhb-ps__page .rhb-card__img{display:block;overflow:hidden;border-radius:14px;background:#d3cfc7}
.rhb-ps__page .rhb-card__img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
.rhb-ps__chips .rhb-chip{border-radius:999px;padding:10px 24px}
.rhb-ps__controls{margin:28px 0 0;margin-inline-start:0}

/* Ground floor (brand page): Pillars + Spaces in Flatsome row-large; titles use the brand accent (--rhb-primary).
   Desktop: 3 columns, horizontal rule between the two rows.
   Tablet (550-849px): same as desktop with smaller type.
   Mobile (<550px): pillars stay 3 across, spaces stacked with a rule between each item. */
.rhb-ground__pillars,.rhb-ground__spaces{padding-top:0;padding-bottom:0}
.rhb-ground__pillars h3{margin:0 0 6px;font-size:1.6em;font-weight:700;line-height:1.1;text-transform:none;letter-spacing:0;color:var(--rhb-primary)}
.rhb-ground__pillars p{margin:0;font-size:.9em;opacity:.75}
.rhb-ground__spaces h3{margin:0 0 8px;font-size:1em;font-weight:700;line-height:1.25;text-transform:none;letter-spacing:0;color:var(--rhb-primary)}
.rhb-ground__spaces p{margin:0;line-height:1.6}
.rhb-ground__pillars .col+.col .col-inner,.rhb-ground__spaces .col+.col .col-inner{padding-left:28px}
.rhb-ground__rule{height:0;border-top:1px solid rgba(0,0,0,.2);margin:40px 0}
.rhb-ground__principle{margin:40px 0 0;font-size:.8em;opacity:.7}

/* Tablet */
@media (min-width:550px) and (max-width:849px){
	.rhb-ground__pillars h3{font-size:1.35em}
	.rhb-ground__spaces h3{font-size:.95em}
	.rhb-ground__pillars .col+.col .col-inner,.rhb-ground__spaces .col+.col .col-inner{padding-left:20px}
}

/* Mobile */
@media (max-width:549px){
	.rhb-ground__pillars h3{font-size:1.15em}
	.rhb-ground__pillars p{font-size:.8em}
	.rhb-ground__pillars .col+.col .col-inner{padding-left:10px}
	.rhb-ground__spaces .col+.col .col-inner{padding-left:0;border-top:1px solid rgba(0,0,0,.2);padding-top:20px;margin-top:20px}
}

/* Neighbourhood Heroes + city chips: pill shape; card titles use the brand accent */
.rhb-chips .rhb-chip{border-radius:999px;padding:10px 24px}
.rhb-rec h3{color:inherit}
.rhb-rec[hidden]{display:none!important}

/* Recommendation cards (Neighbourhood Heroes + Brand/Property recs): titles inherit the Flatsome text colour,
   images are rounded with a soft shadow. */
.rhb-stay .rhb-rec h3,.rhb-stay .rhb-recs .rhb-rec h3{color:inherit}
.rhb-stay .rhb-rec img,.rhb-stay .rhb-recs .rhb-rec img{border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.08)}
