/* Public website blocks. Styled only through the --wb-* variables from WebsiteTheme::css(). */
.wb-page{background:var(--wb-bg);color:var(--wb-text);font-family:var(--wb-font-body);font-size:var(--wb-base);line-height:1.65;padding-bottom:0}
.wb-page h1,.wb-page h2,.wb-page h3{font-family:var(--wb-font-heading);font-weight:var(--wb-heading-weight);letter-spacing:var(--wb-tracking);line-height:1.15;margin:0 0 .5em}
.wb-page h1{font-size:calc(var(--wb-base)*var(--wb-scale)*var(--wb-scale)*var(--wb-scale)*var(--wb-scale))}
.wb-page h2{font-size:calc(var(--wb-base)*var(--wb-scale)*var(--wb-scale)*var(--wb-scale))}
.wb-page h3{font-size:calc(var(--wb-base)*var(--wb-scale)*var(--wb-scale))}
.wb-page a{color:inherit}
.wb-page img{max-width:100%;height:auto;display:block}
.wb-block{padding-block:var(--wb-section-y)}
.wb-block--site_header,.wb-block--site_footer,.wb-block--hero_immersive{padding-block:0}
.wb-container{width:min(var(--wb-container),100% - 2rem);margin-inline:auto}
.wb-muted{color:var(--wb-muted)}
.wb-heading{max-width:42rem;margin:0 auto 3rem;text-align:center}
.wb-btn{display:inline-block;background:var(--wb-primary);color:var(--wb-on-primary)!important;border:0;border-radius:var(--wb-button-radius);padding:.85em 1.8em;font:inherit;font-weight:500;text-decoration:none;cursor:pointer;letter-spacing:.02em}
.wb-btn:hover{filter:brightness(1.12)}
.wb-btn--small{padding:.5em 1.2em}
/* header */
.wb-header{position:relative;z-index:20;background:var(--wb-bg)}
.wb-header--over{position:absolute;inset:0 0 auto 0;background:transparent;color:#fff}
.wb-header__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.1rem}
.wb-header__brand{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--wb-font-heading);font-size:1.5rem;text-decoration:none;min-width:0}
.wb-header__logo{display:block;max-width:60vw;object-fit:contain}
.wb-header__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wb-header__nav{display:flex;align-items:center;gap:1.75rem}
.wb-header__toggle{display:none}
.wb-menu__close,.wb-menu__backdrop{display:none}
.wb-header__nav .wb-menu__links{display:flex;align-items:center;gap:1.75rem}
.wb-header__nav .wb-menu__links a{text-decoration:none}

.wb-header__nav a{text-decoration:none}
/* hero */
.wb-hero{position:relative;min-height:min(88vh,820px);display:flex;align-items:flex-end;color:#fff;background:var(--wb-primary)}
.wb-hero__media,.wb-hero__media img,.wb-hero__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wb-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,.1) 60%)}
.wb-hero__body{position:relative;padding-block:5rem 4rem}
.wb-hero__tagline{font-size:1.2em;max-width:36rem;opacity:.92}
.wb-hero--minimal{min-height:0;background:var(--wb-bg);color:var(--wb-text);text-align:center;padding-block:7rem 3rem}
.wb-hero--split{align-items:center}
/* booking search (hero and booking bar): range calendar, guest steppers, room type */
.wb-bf{--bf-line:color-mix(in srgb,var(--wb-text) 12%,transparent);position:relative;display:flex;align-items:stretch;flex-wrap:wrap;background:var(--wb-bg);color:var(--wb-text);border-radius:calc(var(--wb-radius)*1.4);margin-top:2rem;padding:.45rem;box-shadow:0 18px 50px rgba(0,0,0,.22);text-align:start}
.wb-bf__field{position:relative;flex:1 1 11rem;min-width:0;padding:.7rem 1.1rem;border-radius:calc(var(--wb-radius)*1.1);transition:background .15s}
.wb-bf__field+.wb-bf__field::before{content:"";position:absolute;inset-block:.9rem;inset-inline-start:-.1rem;border-inline-start:1px solid var(--bf-line)}
.wb-bf__field:hover,.wb-bf__field.is-open{background:color-mix(in srgb,var(--wb-primary) 7%,transparent)}
.wb-bf__field.is-open::before,.wb-bf__field.is-open+.wb-bf__field::before{display:none}
.wb-bf__dates{flex-grow:1.6;flex-basis:15rem}
.wb-bf__guests{flex-grow:1.2;flex-basis:12.5rem}
.wb-bf__room{flex-basis:10rem}
.wb-bf__label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--wb-muted);margin-bottom:.25rem}
.wb-bf__trigger{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:.6rem;width:100%;cursor:pointer;font:inherit;font-weight:600;line-height:1.3}
.wb-bf__trigger:focus-visible{outline:2px solid var(--wb-primary);outline-offset:4px;border-radius:6px}
.wb-bf__icon{width:1.3em;height:1.3em;flex:none;color:var(--wb-primary)}
.wb-bf__value{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wb-bf__value:not(.is-set){font-weight:500;color:var(--wb-muted)}
.wb-bf__guests .wb-bf__value.is-set,.wb-bf__guests .wb-bf__value{color:var(--wb-text);font-weight:600}
[dir=rtl] .wb-bf__submit{flex:0 0 auto;align-self:stretch;margin:.15rem;padding-inline:2rem;border-radius:calc(var(--wb-radius)*1.1);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-weight:600}
.wb-bf .wb-form-error{flex:1 0 100%;margin:.4rem .9rem .2rem;color:#b42318;font-size:.9em}
/* popovers */
.wb-cal,.wb-bf__panel{position:absolute;z-index:60;top:calc(100% + .6rem);inset-inline-start:0;background:var(--wb-bg);color:var(--wb-text);border-radius:calc(var(--wb-radius)*1.4);box-shadow:0 24px 60px rgba(0,0,0,.28),0 0 0 1px var(--bf-line);padding:1.1rem 1.25rem}
.wb-cal[hidden],.wb-bf__panel[hidden]{display:none}
.wb-bf__guests .wb-bf__panel{inset-inline-start:auto;inset-inline-end:0;width:min(21rem,92vw)}
.wb-cal{width:max-content;max-width:94vw}
.wb-cal__head{position:absolute;inset-inline:1rem;top:1.05rem;display:flex;justify-content:space-between;pointer-events:none}
.wb-cal__nav{pointer-events:auto;width:2.2rem;height:2.2rem;border:1px solid var(--bf-line);border-radius:50%;background:var(--wb-bg);color:var(--wb-text);font-size:1.3rem;line-height:1;cursor:pointer;padding:0 0 .12rem}
.wb-cal__nav:hover:not(:disabled){background:var(--wb-primary);color:var(--wb-on-primary);border-color:var(--wb-primary)}
.wb-cal__nav:disabled{opacity:.3;cursor:default}
.wb-cal__months{display:flex;gap:2.2rem}
.wb-cal__title{text-align:center;font-weight:600;font-family:var(--wb-font-heading);height:2.2rem;line-height:2.2rem;margin-bottom:.5rem}
.wb-cal__grid{display:grid;grid-template-columns:repeat(7,2.6rem);row-gap:2px}
.wb-cal__dow{text-align:center;font-size:.72rem;color:var(--wb-muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:.3rem}
.wb-cal__day{all:unset;box-sizing:border-box;width:2.6rem;height:2.6rem;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;font-size:.92rem;position:relative}
.wb-cal__day:hover:not(:disabled){background:color-mix(in srgb,var(--wb-primary) 16%,transparent)}
.wb-cal__day:focus-visible{outline:2px solid var(--wb-primary);outline-offset:1px}
.wb-cal__day:disabled{color:color-mix(in srgb,var(--wb-text) 28%,transparent);cursor:default;text-decoration:line-through}
.wb-cal__day.is-today{font-weight:700;box-shadow:inset 0 0 0 1px var(--wb-accent)}
.wb-cal__day.is-in,.wb-cal__day.is-preview{background:color-mix(in srgb,var(--wb-primary) 14%,transparent);border-radius:0}
.wb-cal__day.is-start,.wb-cal__day.is-end{background:var(--wb-primary);color:var(--wb-on-primary);font-weight:600}
.wb-cal__foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--bf-line);font-size:.88rem}
.wb-cal__summary{color:var(--wb-muted)}
.wb-cal__clear{all:unset;cursor:pointer;color:var(--wb-primary);font-weight:600;font-size:.85rem}
.wb-cal__clear:hover{text-decoration:underline}
.wb-cal__clear:focus-visible{outline:2px solid var(--wb-primary);outline-offset:2px;border-radius:4px}
/* steppers */
.wb-step{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--bf-line)}
.wb-step:last-of-type{border-bottom:0}
.wb-step__text{display:grid;line-height:1.25}
.wb-step__text small{color:var(--wb-muted);font-size:.8rem}
.wb-step__ctl{display:flex;align-items:center;gap:.75rem}
.wb-step__ctl button{width:2.15rem;height:2.15rem;border-radius:50%;border:1px solid color-mix(in srgb,var(--wb-text) 28%,transparent);background:transparent;color:var(--wb-text);font-size:1.25rem;line-height:1;cursor:pointer;padding:0 0 .12rem}
.wb-step__ctl button:hover:not(:disabled){background:var(--wb-primary);border-color:var(--wb-primary);color:var(--wb-on-primary)}
.wb-step__ctl button:disabled{opacity:.3;cursor:default}
.wb-step__ctl output{min-width:1.4rem;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.wb-bf__done{width:100%;margin-top:.6rem}
@media(max-width:900px){
 .wb-bf{display:grid;grid-template-columns:1fr 1fr;padding:.35rem}
 .wb-bf__dates,.wb-bf__guests,.wb-bf__room,.wb-bf__submit,.wb-bf .wb-form-error{grid-column:1/-1}
 .wb-bf__field+.wb-bf__field::before{display:none}
 .wb-bf__field{border-bottom:1px solid var(--bf-line);border-radius:0}
 .wb-bf__submit{padding-block:1rem;margin:.5rem .15rem .15rem}
}
@media(max-width:759px){
 /* on phones the popovers become a sheet from the bottom */
 .wb-cal,.wb-bf__panel,.wb-bf__guests .wb-bf__panel{position:fixed;inset:auto 0 0 0;top:auto;width:auto;max-width:none;max-height:86vh;overflow:auto;border-radius:20px 20px 0 0;box-shadow:0 0 0 100vmax rgba(0,0,0,.5);padding:1.25rem 1rem 1.5rem}
 .wb-cal__months{display:block}
 .wb-cal__grid{grid-template-columns:repeat(7,1fr)}
 .wb-cal__day{width:100%;height:auto;aspect-ratio:1/1;max-height:3rem}
 .wb-cal__head{inset-inline:1rem;top:1.3rem}
}
.wb-booking{text-align:center}
/* cards */
.wb-rooms,.wb-experiences{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:2rem}
.wb-rooms--list{grid-template-columns:1fr}
.wb-rooms--list .wb-card{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center}
@media(max-width:700px){.wb-rooms--list .wb-card{grid-template-columns:1fr}}
.wb-card{background:var(--wb-surface);border-radius:var(--wb-radius);overflow:hidden}
.wb-card__img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--wb-image-radius)}
.wb-card__body{padding:1.25rem 1.25rem 1.5rem}
.wb-card h3 a{text-decoration:none}
.wb-price{color:var(--wb-primary);font-weight:600;margin:.5rem 0 0}
/* story */
.wb-story{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.wb-story--split-right .wb-story__img{order:2}
.wb-story--centered{grid-template-columns:minmax(0,40rem);justify-content:center;text-align:center}
.wb-story__img img{width:100%;border-radius:var(--wb-image-radius);aspect-ratio:4/5;object-fit:cover}
.wb-prose p{margin:0 0 1em}
@media(max-width:800px){.wb-story{grid-template-columns:1fr;gap:2rem}.wb-story--split-right .wb-story__img{order:0}}
/* room page */
.wb-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:2rem 0}
.wb-gallery__item--lead{grid-column:span 4}
.wb-gallery img{width:100%;object-fit:cover;border-radius:var(--wb-image-radius);aspect-ratio:4/3}
.wb-gallery__item--lead img{aspect-ratio:16/9}
@media(max-width:700px){.wb-gallery{grid-template-columns:1fr 1fr}.wb-gallery__item--lead{grid-column:span 2}}
.wb-room-detail__text{max-width:44rem}
/* footer */
.wb-footer{background:var(--wb-primary);color:var(--wb-on-primary);padding-block:3.5rem}
.wb-footer a{display:block;text-decoration:none;opacity:.85;margin-bottom:.4rem}
.wb-footer .wb-muted{color:inherit;opacity:.7}
.wb-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
@media(max-width:700px){.wb-footer__grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.wb-hero video{display:none}}
/* amenities */
.wb-amenities{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:1.25rem 2rem}
.wb-amenities--columns{display:block;columns:3 220px;column-gap:2rem}
.wb-amenities li{display:grid;gap:.2rem;padding:.9rem 0;border-bottom:1px solid color-mix(in srgb,var(--wb-text) 14%,transparent);break-inside:avoid}
/* photo gallery */
.wb-photos{display:grid;gap:1rem}
.wb-photos.wb-cols-2{grid-template-columns:repeat(2,1fr)}
.wb-photos.wb-cols-3{grid-template-columns:repeat(3,1fr)}
.wb-photos.wb-cols-4{grid-template-columns:repeat(4,1fr)}
.wb-photos figure{margin:0}
.wb-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--wb-image-radius)}
.wb-photos--masonry{display:block;columns:3 240px;column-gap:1rem}
.wb-photos--masonry figure{break-inside:avoid;margin-bottom:1rem}
.wb-photos--masonry img{aspect-ratio:auto}
@media(max-width:700px){.wb-photos.wb-cols-3,.wb-photos.wb-cols-4{grid-template-columns:1fr 1fr}}
/* reviews */
.wb-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.5rem}
.wb-review{margin:0;background:var(--wb-surface);border-radius:var(--wb-radius);padding:1.75rem}
.wb-review blockquote{margin:0 0 1rem;font-size:1.05em}
.wb-reviews--quote{display:block;max-width:44rem;margin-inline:auto;text-align:center}
.wb-reviews--quote .wb-review{background:none;padding:1rem 0 2rem}
.wb-reviews--quote blockquote{font-family:var(--wb-font-heading);font-size:1.5em;line-height:1.35}
/* faq */
.wb-faq{max-width:48rem}
.wb-faq details{border-bottom:1px solid color-mix(in srgb,var(--wb-text) 16%,transparent);padding:1rem 0}
.wb-faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.wb-faq summary::after{content:"+";font-weight:400}
.wb-faq details[open] summary::after{content:"\2212"}
.wb-faq details p{margin:.75rem 0 0;color:var(--wb-muted)}
/* call to action */
.wb-cta{position:relative;text-align:center;background:var(--wb-primary);color:var(--wb-on-primary);padding-block:4.5rem}
.wb-cta__media,.wb-cta__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wb-cta__media::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5)}
.wb-cta__body{position:relative;max-width:40rem}
.wb-cta .wb-btn{background:var(--wb-bg);color:var(--wb-text)!important}
/* contact */
.wb-contact{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem;align-items:start}
.wb-contact--solo{grid-template-columns:1fr;max-width:34rem;margin-inline:auto}
.wb-contact__details{margin:0;display:grid;gap:.9rem}
.wb-contact__details dt{font-size:.8em;text-transform:uppercase;letter-spacing:.08em;color:var(--wb-muted)}
.wb-contact__details dd{margin:0}
.wb-contact__form{display:grid;gap:1rem}
.wb-contact__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.wb-contact__form label{display:grid;gap:.3rem;font-size:.9em;color:var(--wb-muted)}
.wb-contact__form input,.wb-contact__form textarea{font:inherit;color:var(--wb-text);background:var(--wb-bg);border:1px solid rgba(0,0,0,.18);border-radius:var(--wb-radius);padding:.7em .8em}
.wb-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.wb-form-ok{margin:0;color:#067647}
@media(max-width:800px){.wb-contact{grid-template-columns:1fr}.wb-contact__row{grid-template-columns:1fr}}
/* map */
.wb-map{display:grid;grid-template-columns:1fr 1.6fr;gap:2rem;align-items:stretch}
.wb-map__frame{width:100%;min-height:340px;border:0;border-radius:var(--wb-radius)}
@media(max-width:800px){.wb-map{grid-template-columns:1fr}}
/* text and spacer */
.wb-prose--narrow{max-width:46rem}
.wb-spacer--small{padding-block:.5rem}.wb-spacer--medium{padding-block:1.75rem}.wb-spacer--large{padding-block:4rem}
.wb-spacer hr{border:0;border-top:1px solid color-mix(in srgb,var(--wb-text) 18%,transparent);margin:0}
.wb-block--spacer{padding-block:0}
.wb-footer__legal{margin-top:2rem;font-size:.85em}

/* ── Shared section style options ─────────────────────────────────────── */
.wb-bg--soft{background:var(--wb-surface)}
.wb-bg--dark{background:#14171c;color:#f3f4f6;--wb-text:#f3f4f6;--wb-muted:#b6bcc8;--wb-surface:#1f242c;--wb-bg:#14171c}
.wb-bg--accent{background:var(--wb-primary);color:var(--wb-on-primary);--wb-text:var(--wb-on-primary);--wb-muted:color-mix(in srgb,var(--wb-on-primary) 78%,transparent);--wb-surface:color-mix(in srgb,var(--wb-on-primary) 12%,transparent)}
.wb-bg--accent .wb-btn{background:var(--wb-on-primary);color:var(--wb-primary)!important}
.wb-bg--accent .wb-price{color:var(--wb-on-primary)}
.wb-pad--compact{padding-block:calc(var(--wb-section-y)*.5)}
.wb-pad--spacious{padding-block:calc(var(--wb-section-y)*1.5)}
.wb-align--left .wb-heading{text-align:left;margin-inline:0}
.wb-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78em;font-weight:600;color:var(--wb-accent);margin:0 0 .75rem}
.wb-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.wb-btn--ghost{background:transparent;border:1.5px solid currentColor;color:inherit!important}
.wb-badge{display:inline-block;align-self:flex-start;background:var(--wb-accent);color:#fff;font-size:.72em;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.25em .8em;border-radius:999px;margin-bottom:.6rem}

/* announcement bar */
.wb-block--announcement{padding-block:0}
.wb-announce{text-align:center;padding:.6rem 0;font-size:.9em}
.wb-announce--primary{background:var(--wb-primary);color:var(--wb-on-primary)}
.wb-announce--accent{background:var(--wb-accent);color:#fff}
.wb-announce--dark{background:#14171c;color:#fff}
.wb-announce a{color:inherit;font-weight:600;margin-left:.5rem}

/* header layouts */
.wb-header--sticky{position:sticky;top:0;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.wb-header--centered .wb-header__bar{flex-direction:column;gap:.6rem}
.wb-header--centered .wb-header__nav{flex-wrap:wrap;justify-content:center}
.wb-header__phone{white-space:nowrap}
@media(max-width:800px){.wb-header--centered .wb-header__bar{flex-direction:row}

 .wb-header__toggle{display:inline-flex;align-items:center;justify-content:center;width:2.9rem;height:2.9rem;border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:var(--wb-button-radius);background:transparent;color:inherit;cursor:pointer;padding:0;position:relative;z-index:21}
 .wb-header__nav{box-sizing:border-box;position:fixed;z-index:1000;top:0;bottom:0;inset-inline-end:0;width:min(88vw,22rem);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:4.5rem 1.5rem 1.5rem;background:var(--wb-bg);color:var(--wb-text);box-shadow:-18px 0 50px rgba(0,0,0,.25);overflow-y:auto;overscroll-behavior:contain;transform:translateX(105%);visibility:hidden;transition:transform .32s cubic-bezier(.22,.8,.3,1),visibility 0s linear .32s}
 [dir=rtl] .wb-header__nav{box-shadow:18px 0 50px rgba(0,0,0,.25);transform:translateX(-105%)}
 .wb-header__nav.is-open{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.22,.8,.3,1),visibility 0s}
 .wb-menu__close{display:flex;position:absolute;top:1rem;inset-inline-end:1rem;width:2.6rem;height:2.6rem;align-items:center;justify-content:center;border:1px solid var(--bf-line,rgba(0,0,0,.15));border-radius:50%;background:transparent;color:inherit;font-size:1.7rem;line-height:1;cursor:pointer;padding:0 0 .15rem}
 .wb-header__nav .wb-menu__links{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .wb-menu__links a{display:block;padding:1rem .25rem;font-family:var(--wb-font-heading);font-size:1.35rem;border-bottom:1px solid color-mix(in srgb,var(--wb-text) 12%,transparent);opacity:0;transform:translateX(18px);transition:opacity .3s,transform .3s}
 [dir=rtl] .wb-menu__links a{transform:translateX(-18px)}
 .wb-header__nav.is-open .wb-menu__links a{opacity:1;transform:none}
 .wb-header__nav.is-open .wb-menu__links a:nth-child(1){transition-delay:.08s}.wb-header__nav.is-open .wb-menu__links a:nth-child(2){transition-delay:.12s}.wb-header__nav.is-open .wb-menu__links a:nth-child(3){transition-delay:.16s}.wb-header__nav.is-open .wb-menu__links a:nth-child(4){transition-delay:.2s}.wb-header__nav.is-open .wb-menu__links a:nth-child(5){transition-delay:.24s}.wb-header__nav.is-open .wb-menu__links a:nth-child(n+6){transition-delay:.28s}
 .wb-menu__links a:active,.wb-menu__links a:hover{color:var(--wb-primary)}
 .wb-header__phone{display:block;margin-top:1.5rem;padding:.25rem}
 .wb-header__cta{margin-top:auto;text-align:center;padding-block:.9em;width:100%;box-sizing:border-box}
 .wb-header__phone+.wb-header__cta,.wb-menu__links+.wb-header__cta{margin-top:1.5rem}
 .wb-menu__backdrop{position:fixed;inset:0;z-index:999;background:rgba(10,12,16,.55);opacity:0;transition:opacity .3s}
 .wb-menu__backdrop:not([hidden]){display:block}
 .wb-menu__backdrop.is-on{opacity:1}
 html.wb-menu-open{overflow:hidden}
 .wb-burger{display:grid;gap:5px;width:1.35rem}
 .wb-burger i{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .25s,opacity .2s}
}
/* the minimal header uses the drawer at every width */
.wb-header--minimal{--wb-min:1}
@media(min-width:801px){.wb-header--minimal .wb-header__toggle{display:inline-flex;align-items:center;justify-content:center;width:2.9rem;height:2.9rem;border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:var(--wb-button-radius);background:transparent;color:inherit;cursor:pointer;padding:0;position:relative;z-index:21}
.wb-header--minimal .wb-header__nav{box-sizing:border-box;position:fixed;z-index:1000;top:0;bottom:0;inset-inline-end:0;width:22rem;flex-direction:column;align-items:stretch;gap:0;padding:4.5rem 1.5rem 1.5rem;background:var(--wb-bg);color:var(--wb-text);box-shadow:-18px 0 50px rgba(0,0,0,.25);overflow-y:auto;transform:translateX(105%);visibility:hidden;transition:transform .32s cubic-bezier(.22,.8,.3,1),visibility 0s linear .32s}
[dir=rtl] .wb-header--minimal .wb-header__nav{transform:translateX(-105%)}
.wb-header--minimal .wb-header__nav.is-open{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.22,.8,.3,1),visibility 0s}
.wb-header--minimal .wb-menu__close{display:flex;position:absolute;top:1rem;inset-inline-end:1rem;width:2.6rem;height:2.6rem;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.15);border-radius:50%;background:transparent;color:inherit;font-size:1.7rem;cursor:pointer;padding:0 0 .15rem}
.wb-header--minimal .wb-menu__links{flex-direction:column;align-items:stretch;gap:0}
.wb-header--minimal .wb-menu__links a{padding:1rem .25rem;font-family:var(--wb-font-heading);font-size:1.35rem;border-bottom:1px solid color-mix(in srgb,var(--wb-text) 12%,transparent)}
.wb-header--minimal .wb-lang{display:none}
.wb-header--minimal.wb-header--minimal .wb-menu__backdrop{display:block;position:fixed;inset:0;z-index:999;background:rgba(10,12,16,.55);opacity:0;transition:opacity .3s}
.wb-header--minimal .wb-menu__backdrop[hidden]{display:none}
.wb-header--minimal .wb-menu__backdrop.is-on{opacity:1}
.wb-header--minimal .wb-header__cta{margin-top:1.5rem;text-align:center;width:100%;box-sizing:border-box}}

/* hero options */
.wb-hero--h-compact{min-height:min(52vh,520px)}
.wb-hero--h-full{min-height:100vh}
.wb-hero--o-light .wb-hero__media::after{background:linear-gradient(to top,rgba(0,0,0,.35),rgba(0,0,0,0) 65%)}
.wb-hero--o-strong .wb-hero__media::after{background:linear-gradient(to top,rgba(0,0,0,.8),rgba(0,0,0,.35) 70%)}
.wb-hero--centered{align-items:center;text-align:center}
.wb-hero--centered .wb-hero__tagline{margin-inline:auto}
.wb-hero--centered .wb-actions{justify-content:center}
.wb-hero--split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--wb-bg);color:var(--wb-text);min-height:0}
.wb-hero--split .wb-hero__media{position:relative;order:2;min-height:420px}
.wb-hero--split .wb-hero__media::after{display:none}
.wb-hero--split .wb-hero__body{align-self:center;padding:4rem max(1rem,calc((100vw - var(--wb-container))/2)) 4rem 1rem}
.wb-hero--split .wb-btn--ghost{color:var(--wb-text)!important}
@media(max-width:800px){.wb-hero--split{grid-template-columns:1fr}.wb-hero--split .wb-hero__media{order:0;min-height:260px}.wb-hero--split .wb-hero__body{padding:2.5rem 1rem}}
.wb-hero--minimal .wb-btn--ghost{color:var(--wb-text)!important}
.wb-hero .wb-eyebrow{color:inherit;opacity:.85}

/* booking */
.wb-booking__text{color:var(--wb-muted);margin:-.25rem 0 0}
.wb-booking--card .wb-bf{margin-top:1.5rem;box-shadow:0 14px 40px rgba(0,0,0,.12);text-align:start}
.wb-booking--inline .wb-bf{box-shadow:0 0 0 1px color-mix(in srgb,var(--wb-text) 14%,transparent)}
.wb-booking--banner .wb-bf{box-shadow:0 14px 40px rgba(0,0,0,.25)}
.wb-booking .wb-bf{text-align:start}
.wb-booking--banner{background:var(--wb-primary);color:var(--wb-on-primary);padding:3rem 2rem;border-radius:var(--wb-radius);width:min(var(--wb-container),100% - 2rem)}
.wb-booking--banner .wb-booking__text{color:inherit;opacity:.85}

/* columns */
.wb-rooms.wb-cols-2,.wb-experiences.wb-cols-2{grid-template-columns:repeat(2,1fr)}
.wb-rooms.wb-cols-3,.wb-experiences.wb-cols-3{grid-template-columns:repeat(3,1fr)}
.wb-rooms.wb-cols-4,.wb-experiences.wb-cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.wb-rooms.wb-cols-3,.wb-rooms.wb-cols-4,.wb-experiences.wb-cols-3,.wb-experiences.wb-cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.wb-rooms.wb-cols-2,.wb-rooms.wb-cols-3,.wb-rooms.wb-cols-4,.wb-experiences.wb-cols-2,.wb-experiences.wb-cols-3,.wb-experiences.wb-cols-4{grid-template-columns:1fr}}
.wb-rooms--list{grid-template-columns:1fr!important}
.wb-card .wb-btn{margin-top:.9rem}

/* overlay cards (rooms and experiences) */
.wb-rooms--overlay .wb-card,.wb-experiences--overlay .wb-card{position:relative;background:#222;color:#fff}
.wb-rooms--overlay .wb-card__img img,.wb-experiences--overlay .wb-card__img img{aspect-ratio:3/4;border-radius:0}
.wb-rooms--overlay .wb-card__body,.wb-experiences--overlay .wb-card__body{position:absolute;inset:auto 0 0 0;padding:3rem 1.25rem 1.25rem;background:linear-gradient(to top,rgba(0,0,0,.78),transparent)}
.wb-rooms--overlay .wb-card__body *,.wb-experiences--overlay .wb-card__body *{color:#fff}
.wb-rooms--overlay .wb-price{color:#fff}
.wb-rooms--overlay .wb-btn{background:#fff;color:#111!important}
/* swipe row */
/* alternating rows and text only */
.wb-experiences--rows{grid-template-columns:1fr!important;gap:3rem}
.wb-experiences--rows .wb-card{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:none;border-radius:0}
.wb-experiences--rows .wb-card:nth-child(even) .wb-card__img{order:2}
.wb-experiences--rows .wb-card__body{padding:1rem 2rem}
@media(max-width:700px){.wb-experiences--rows .wb-card{grid-template-columns:1fr}.wb-experiences--rows .wb-card:nth-child(even) .wb-card__img{order:0}}
.wb-experiences--text .wb-card{background:none;border-top:1px solid color-mix(in srgb,var(--wb-text) 18%,transparent);border-radius:0}
.wb-experiences--text .wb-card__body{padding-inline:0}

/* story */
.wb-story--image-top{grid-template-columns:1fr;gap:2.5rem;text-align:center}
.wb-story--image-top .wb-story__img img{aspect-ratio:21/9}
.wb-story--image-top .wb-story__text{max-width:44rem;margin-inline:auto}

/* numbers */
.wb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2rem;margin:0;text-align:center}
.wb-stats dt{font-family:var(--wb-font-heading);font-size:2.6em;line-height:1.1;color:var(--wb-primary)}
.wb-stats dd{margin:.35rem 0 0;color:var(--wb-muted);font-size:.92em}
.wb-stats--cards>div{background:var(--wb-surface);border-radius:var(--wb-radius);padding:1.75rem 1rem}
.wb-stats--dividers>div+div{border-left:1px solid color-mix(in srgb,var(--wb-text) 18%,transparent)}
@media(max-width:620px){.wb-stats--dividers>div+div{border-left:0}}

/* amenities extras */
.wb-amenities__icon{font-size:1.5em;line-height:1}
.wb-amenities--cards li{background:var(--wb-surface);border:0;border-radius:var(--wb-radius);padding:1.25rem}
.wb-amenities--tags{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
.wb-amenities--tags li{display:inline-flex;align-items:center;gap:.5rem;border:1px solid color-mix(in srgb,var(--wb-text) 22%,transparent);border-radius:999px;padding:.45rem 1.1rem}

/* packages */
.wb-packages{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.75rem;align-items:stretch}
.wb-package{display:flex;flex-direction:column}
.wb-package .wb-card__body{display:flex;flex-direction:column;flex:1}
.wb-package .wb-btn{margin-top:auto;align-self:flex-start}
.wb-package__list{list-style:none;margin:.75rem 0 1.25rem;padding:0;display:grid;gap:.4rem}
.wb-package__list li::before{content:"\2713";color:var(--wb-accent);margin-right:.6rem;font-weight:700}
.wb-package.is-featured{background:var(--wb-primary);color:var(--wb-on-primary);transform:scale(1.04);box-shadow:0 20px 50px rgba(0,0,0,.18)}
.wb-package.is-featured .wb-price{color:inherit}
.wb-package.is-featured .wb-btn{background:var(--wb-on-primary);color:var(--wb-primary)!important}
@media(max-width:800px){.wb-package.is-featured{transform:none}}

/* gallery extras */
.wb-photos a{display:block;cursor:zoom-in}
.wb-photos--mosaic{grid-template-columns:repeat(4,1fr)}
.wb-photos--mosaic figure:first-child{grid-column:span 2;grid-row:span 2}
.wb-photos--mosaic figure:first-child img{height:100%;aspect-ratio:auto}
@media(max-width:700px){.wb-photos--mosaic{grid-template-columns:1fr 1fr}}
.wb-lightbox{border:0;padding:0;background:transparent;max-width:96vw;max-height:94vh}
.wb-lightbox::backdrop{background:rgba(0,0,0,.88)}
.wb-lightbox img{max-width:96vw;max-height:92vh;object-fit:contain;border-radius:4px}
.wb-lightbox button{position:absolute;top:.5rem;right:.5rem;background:rgba(0,0,0,.6);color:#fff;border:0;border-radius:999px;width:2.4rem;height:2.4rem;font-size:1.4rem;cursor:pointer}

/* video */
.wb-video--narrow{max-width:46rem}
.wb-video__frame{position:relative;aspect-ratio:16/9;border-radius:var(--wb-image-radius);overflow:hidden;background:#000}
.wb-video__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.wb-video__caption{text-align:center;margin-top:.75rem}

/* reviews extras */
.wb-stars{color:var(--wb-accent);letter-spacing:.15em;margin-bottom:.6rem}
.wb-reviews--plain .wb-review{background:none;padding:0}
.wb-reviews--quote .wb-stars{margin-inline:auto}

/* partners */
.wb-partners{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2rem 3.5rem;justify-content:center;align-items:center}
.wb-partners img{max-height:56px;width:auto;object-fit:contain}
.wb-partners.is-grey img{filter:grayscale(1);opacity:.7;transition:.2s}
.wb-partners.is-grey img:hover{filter:none;opacity:1}

/* faq extras */
.wb-faq--two-columns,.wb-faq--cards{max-width:none}
.wb-faq--two-columns .wb-faq__list{columns:2 320px;column-gap:3rem}
.wb-faq--two-columns details{break-inside:avoid}
.wb-faq--cards .wb-faq__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.5rem}
.wb-faq__card{background:var(--wb-surface);border-radius:var(--wb-radius);padding:1.5rem}
.wb-faq__card h3{font-size:1.1em;margin-bottom:.5rem}

/* call to action extras */
.wb-cta--split{text-align:left;padding-block:0;background:var(--wb-primary)}
.wb-cta--split .wb-cta__body{max-width:none;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0}
.wb-cta--split .wb-cta__text{padding:4rem max(1rem,calc((100vw - var(--wb-container))/2)) 4rem 2rem;align-self:center;max-width:42rem}
.wb-cta--split .wb-cta__side img{width:100%;height:100%;min-height:340px;object-fit:cover}
.wb-cta .wb-actions{justify-content:center}
.wb-cta--split .wb-actions{justify-content:flex-start}
.wb-cta .wb-btn--ghost{background:transparent;color:inherit!important}
@media(max-width:800px){.wb-cta--split .wb-cta__body{grid-template-columns:1fr}.wb-cta--split .wb-cta__text{padding:2.5rem 1rem}}

/* contact extras */
.wb-contact--stacked{grid-template-columns:1fr;max-width:40rem;margin-inline:auto}
.wb-contact--stacked .wb-contact__details{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.wb-contact--card .wb-contact__form{background:var(--wb-surface);border-radius:var(--wb-radius);padding:2rem;box-shadow:0 14px 40px rgba(0,0,0,.08)}

/* map extras */
.wb-map--h-short .wb-map__frame{min-height:240px}
.wb-map--h-tall .wb-map__frame{min-height:480px}
.wb-map--full{grid-template-columns:1fr}
.wb-map--full .wb-map__frame{order:-1}
.wb-map--full .wb-map__text{text-align:center}

/* text and spacing extras */
.wb-prose--wide{max-width:none}
.wb-prose--two-columns{max-width:none;columns:2 320px;column-gap:3rem}
.wb-spacer--xlarge{padding-block:7rem}
.wb-dots{text-align:center;letter-spacing:.6em;color:var(--wb-accent);margin:0;font-size:1.4em}

/* footer layouts */

/* ── Room comparison ─────────────────────────────────────────────────── */
.wb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wb-compare{overflow-x:auto}
.wb-compare table{width:100%;border-collapse:collapse;min-width:520px}
.wb-compare th,.wb-compare td{padding:1rem .9rem;text-align:left;vertical-align:middle;border-bottom:1px solid color-mix(in srgb,var(--wb-text) 14%,transparent)}
.wb-compare thead th{font-size:.78em;text-transform:uppercase;letter-spacing:.08em;color:var(--wb-muted);font-weight:600}
.wb-compare tbody th{font-weight:600;display:flex;align-items:center;gap:1rem}
.wb-compare__img img{width:96px;height:72px;object-fit:cover;border-radius:calc(var(--wb-image-radius)/2)}
.wb-compare__name a{text-decoration:none}
.wb-compare__desc{max-width:26rem}
.wb-compare .wb-price{margin:0;white-space:nowrap}
.wb-compare--cards table{border-collapse:separate;border-spacing:0 .75rem;min-width:0}
.wb-compare--cards tbody tr{background:var(--wb-surface)}
.wb-compare--cards tbody th,.wb-compare--cards tbody td{border:0}
.wb-compare--cards tbody tr>*:first-child{border-radius:var(--wb-radius) 0 0 var(--wb-radius)}
.wb-compare--cards tbody tr>*:last-child{border-radius:0 var(--wb-radius) var(--wb-radius) 0}
@media(max-width:700px){
 .wb-compare table,.wb-compare thead,.wb-compare tbody,.wb-compare tr,.wb-compare th,.wb-compare td{display:block;min-width:0}
 .wb-compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .wb-compare tbody tr{padding:1rem;margin-bottom:1rem;background:var(--wb-surface);border-radius:var(--wb-radius)}
 .wb-compare th,.wb-compare td{border:0;padding:.35rem 0}
 .wb-compare td[data-label]::before{content:attr(data-label) ": ";color:var(--wb-muted);font-size:.85em}
 .wb-compare__desc{max-width:none}
}

/* ── Newsletter ──────────────────────────────────────────────────────── */
.wb-news{display:grid;grid-template-columns:1fr 1fr;gap:2rem 4rem;align-items:center}
.wb-news__text h2{margin-bottom:.4rem}
.wb-news__text p{margin:0;color:var(--wb-muted)}
.wb-news__row{display:flex;gap:.6rem}
.wb-news__row input{flex:1;min-width:0;font:inherit;color:var(--wb-text);background:var(--wb-bg);border:1px solid rgba(0,0,0,.18);border-radius:var(--wb-button-radius);padding:.8em 1.1em}
.wb-news__form .cf-turnstile{margin-top:.8rem}
.wb-news__consent{font-size:.8em;color:var(--wb-muted);margin:.6rem 0 0}
.wb-news--card{background:var(--wb-surface);border-radius:var(--wb-radius);padding:2.5rem;width:min(52rem,100% - 2rem)}
.wb-news--banner{background:var(--wb-primary);color:var(--wb-on-primary);border-radius:var(--wb-radius);padding:2.5rem;width:min(var(--wb-container),100% - 2rem)}
.wb-news--banner .wb-news__text p,.wb-news--banner .wb-news__consent{color:inherit;opacity:.85}
.wb-news--banner .wb-btn{background:var(--wb-on-primary);color:var(--wb-primary)!important}
.wb-news--banner .wb-form-ok{color:inherit;font-weight:600}
@media(max-width:800px){.wb-news{grid-template-columns:1fr}.wb-news__row{flex-direction:column}}

/* ── Opening hours ───────────────────────────────────────────────────── */
.wb-hours{display:grid;gap:0;max-width:44rem;margin-inline:auto}
.wb-hours__item{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.1rem 0;border-bottom:1px solid color-mix(in srgb,var(--wb-text) 14%,transparent)}
.wb-hours__note{display:block;font-size:.88em}
.wb-hours__when{display:flex;flex-wrap:wrap;gap:.2rem 1rem;justify-content:flex-end;align-items:center;text-align:right}
.wb-hours__when span:first-child{color:var(--wb-muted);font-size:.9em}
.wb-hours__badge{font-size:.72em;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.2em .8em;border-radius:999px}
.wb-hours__badge.is-open{background:#dcfae6;color:#067647}
.wb-hours__badge.is-closed{background:#f2f4f7;color:#475467}
.wb-hours--cards{max-width:none;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.25rem}
.wb-hours--cards .wb-hours__item{flex-direction:column;align-items:flex-start;background:var(--wb-surface);border:0;border-radius:var(--wb-radius);padding:1.5rem}
.wb-hours--cards .wb-hours__when{justify-content:flex-start;text-align:left}
@media(max-width:560px){.wb-hours:not(.wb-hours--cards) .wb-hours__item{flex-direction:column;align-items:flex-start;gap:.4rem}.wb-hours__when{justify-content:flex-start;text-align:left}}

/* ── Policies ────────────────────────────────────────────────────────── */
.wb-policies{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.25rem}
.wb-policy{display:flex;gap:1rem;align-items:flex-start;background:var(--wb-surface);border-radius:var(--wb-radius);padding:1.4rem}
.wb-policy h3{font-size:1.05em;margin:0 0 .3rem}
.wb-policy p{margin:0}
.wb-policy__icon{font-size:1.6em;line-height:1}
.wb-policies--list{display:block;max-width:44rem;margin-inline:auto}
.wb-policies--list .wb-policy{background:none;border-radius:0;border-bottom:1px solid color-mix(in srgb,var(--wb-text) 14%,transparent);padding:1.1rem 0}

/* ── Enquiry form ────────────────────────────────────────────────────── */
.wb-enquiry{max-width:44rem}
.wb-enquiry__form select,.wb-enquiry__form input[type=date],.wb-enquiry__form input[type=number]{font:inherit;color:var(--wb-text);background:var(--wb-bg);border:1px solid rgba(0,0,0,.18);border-radius:var(--wb-radius);padding:.7em .8em}
.wb-enquiry__row3{grid-template-columns:repeat(3,1fr)}
.wb-enquiry--card .wb-enquiry__form{background:var(--wb-surface);border-radius:var(--wb-radius);padding:2rem;box-shadow:0 14px 40px rgba(0,0,0,.08)}
@media(max-width:700px){.wb-enquiry__row3{grid-template-columns:1fr}}

/* ── Sustainability ──────────────────────────────────────────────────── */
.wb-eco{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:2rem;text-align:center}
.wb-eco__item h3{font-size:1.05em;margin:.4rem 0}
.wb-eco__item p{margin:0}
.wb-eco__icon{font-size:2em;line-height:1}
.wb-eco__value{font-family:var(--wb-font-heading);font-size:2.6em;line-height:1.1;color:var(--wb-primary)}
.wb-eco__badge img{height:72px;width:auto;margin-inline:auto;object-fit:contain}
.wb-eco--badges .wb-eco__item{background:var(--wb-surface);border-radius:var(--wb-radius);padding:1.75rem 1.25rem}

/* ── Floating book button ────────────────────────────────────────────── */
.wb-block--sticky_book{padding:0}
.wb-sticky-book{position:fixed;z-index:30;right:1rem;bottom:1rem;box-shadow:0 10px 30px rgba(0,0,0,.25);padding:.95em 1.7em}
.wb-sticky-book--mobile{display:none}
@media(max-width:800px){.wb-sticky-book--mobile{display:inline-block;left:1rem;text-align:center}}

/* ── Social photos ───────────────────────────────────────────────────── */
.wb-social{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem}
.wb-social figure{margin:0}
.wb-social img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--wb-image-radius)}
.wb-social a{display:block}
.wb-social a:hover img{filter:brightness(.85)}
.wb-social--strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.75rem}
.wb-social--strip figure{flex:0 0 min(60%,220px);scroll-snap-align:start}
.wb-social__cta{text-align:center;margin:2rem 0 0}
@media(max-width:800px){.wb-social:not(.wb-social--strip){grid-template-columns:repeat(3,1fr)}}
.wb-compare .wb-btn{white-space:nowrap}
.wb-price__unit{font-weight:400;font-size:.85em;color:var(--wb-muted)}
.wb-rooms--overlay .wb-price__unit{color:rgba(255,255,255,.8)}
.wb-empty{text-align:center;padding:1.5rem;border:1px dashed color-mix(in srgb,var(--wb-text) 25%,transparent);border-radius:var(--wb-radius)}

/* ── Photo swipe (extra services with several photos) ───────────────── */
.wb-swipe{position:relative}
.wb-swipe__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.wb-swipe__track::-webkit-scrollbar{display:none}
.wb-swipe__slide{flex:0 0 100%;scroll-snap-align:start}
.wb-swipe__slide img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--wb-image-radius)}
.wb-rooms--overlay .wb-swipe__slide img{aspect-ratio:3/4;border-radius:0}
.wb-swipe__btn{position:absolute;top:50%;transform:translateY(-50%);width:2.2rem;height:2.2rem;border:0;border-radius:999px;background:rgba(255,255,255,.88);color:#111;font-size:1.5rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s;display:flex;align-items:center;justify-content:center;padding:0 0 .15rem}
.wb-swipe__btn--prev{left:.6rem}.wb-swipe__btn--next{right:.6rem}
.wb-swipe:hover .wb-swipe__btn,.wb-swipe__btn:focus-visible{opacity:1}
@media(hover:none){.wb-swipe__btn{display:none}}
.wb-swipe__dots{position:absolute;left:0;right:0;bottom:.6rem;display:flex;justify-content:center;gap:.35rem;pointer-events:none}
.wb-swipe__dots span{width:.45rem;height:.45rem;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.wb-swipe__dots span.is-on{background:#fff}
.wb-rooms--overlay .wb-swipe__dots{bottom:auto;top:.7rem}

/* ── Carousel (rooms, extra services, gallery) ───────────────────────── */
.wb-carousel{position:relative}
.wb-carousel__track{--gap:1.5rem;display:flex!important;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:.25rem;align-items:stretch}
.wb-carousel__track::-webkit-scrollbar{display:none}
.wb-carousel__track>*{scroll-snap-align:start;min-width:0;flex:0 0 calc((100% - var(--gap)*2)/3)}
.wb-carousel__track.wb-cols-2>*{flex-basis:calc((100% - var(--gap))/2)}
.wb-carousel__track.wb-cols-4>*{flex-basis:calc((100% - var(--gap)*3)/4)}
.wb-photos.wb-carousel__track{--gap:1rem}
.wb-photos--slider.wb-carousel__track>*{flex:0 0 100%}
.wb-photos--slider img{aspect-ratio:16/9;max-height:78vh}
.wb-photos--strip img{aspect-ratio:4/3}
@media(max-width:1000px){.wb-carousel__track>*,.wb-carousel__track.wb-cols-2>*,.wb-carousel__track.wb-cols-4>*{flex-basis:calc((100% - var(--gap))/2)}.wb-photos--slider.wb-carousel__track>*{flex-basis:100%}}
@media(max-width:620px){.wb-carousel__track>*,.wb-carousel__track.wb-cols-2>*,.wb-carousel__track.wb-cols-4>*{flex-basis:86%}.wb-photos--slider.wb-carousel__track>*{flex-basis:100%}}
.wb-carousel__btn{position:absolute;top:calc(50% - 1.4rem);z-index:2;width:2.8rem;height:2.8rem;border:0;border-radius:999px;background:var(--wb-bg);color:var(--wb-text);box-shadow:0 6px 20px rgba(0,0,0,.22);font-size:1.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 .2rem}
.wb-carousel__btn--prev{left:-.6rem}.wb-carousel__btn--next{right:-.6rem}
.wb-carousel__btn:disabled{opacity:.35;cursor:default}
.wb-carousel__btn:hover:not(:disabled){background:var(--wb-primary);color:var(--wb-on-primary)}
@media(max-width:700px){.wb-carousel__btn{display:none}}
.wb-carousel__dots{display:flex;justify-content:center;gap:.45rem;margin-top:1rem}
.wb-carousel__dots button{width:.6rem;height:.6rem;border:0;border-radius:50%;padding:0;background:color-mix(in srgb,var(--wb-text) 25%,transparent);cursor:pointer}
.wb-carousel__dots button.is-on{background:var(--wb-primary);transform:scale(1.2)}
.wb-carousel[data-controls=off] .wb-carousel__btn,.wb-carousel[data-controls=off] .wb-carousel__dots{display:none}

/* ── Facility icons ──────────────────────────────────────────────────── */
.wb-icon{width:1.25em;height:1.25em;flex:none}
.wb-facilities{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem .8rem;color:var(--wb-muted);font-size:1.05em}
.wb-facilities li{display:inline-flex;align-items:center;gap:.4rem;line-height:1}
.wb-facilities__more{font-size:.8em;font-weight:600}
.wb-facilities--labels{gap:.6rem 1.5rem;margin:1.25rem 0;font-size:.95em;color:var(--wb-text)}
.wb-facilities--labels .wb-icon{color:var(--wb-primary);width:1.4em;height:1.4em}
.wb-rooms--overlay .wb-facilities{color:rgba(255,255,255,.9)}
.wb-compare__fac .wb-facilities{margin:0}

/* ── Languages: dropdown and right-to-left pages ─────────────────────── */
.wb-lang{position:relative}
.wb-lang summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;min-height:2.9rem;box-sizing:border-box;padding:.3rem .8rem;border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:var(--wb-button-radius);font-size:.85em;letter-spacing:.06em;position:relative;z-index:21}
.wb-lang summary::-webkit-details-marker{display:none}
.wb-lang ul{list-style:none;margin:.5rem 0 0;padding:.4rem;position:absolute;inset-inline-end:0;top:100%;min-width:9rem;background:var(--wb-bg);color:var(--wb-text);border-radius:var(--wb-radius);box-shadow:0 12px 34px rgba(0,0,0,.18);z-index:40}
.wb-lang li a{display:block;padding:.5rem .8rem;border-radius:calc(var(--wb-radius)/2);text-decoration:none;white-space:nowrap}
.wb-lang li a:hover,.wb-lang li a[aria-current]{background:var(--wb-surface);font-weight:600}
[dir=rtl] .wb-carousel__btn--prev{left:auto;right:-.6rem}
[dir=rtl] .wb-carousel__btn--next{right:auto;left:-.6rem}
[dir=rtl] .wb-announce a{margin-left:0;margin-right:.5rem}
[dir=rtl] .wb-sticky-book{right:auto;left:1rem}
[dir=rtl] .wb-faq summary{text-align:right}
[dir=rtl] .wb-package__list li::before{margin-right:0;margin-left:.6rem}
[dir=rtl] .wb-hours__when{text-align:left}
[dir=rtl] .wb-hero--split .wb-hero__body{padding:4rem 1rem 4rem max(1rem,calc((100vw - var(--wb-container))/2))}
[dir=rtl] .wb-swipe__btn--prev{left:auto;right:.6rem}
[dir=rtl] .wb-swipe__btn--next{right:auto;left:.6rem}

.wb-header__toggle[aria-expanded=true] .wb-burger i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.wb-header__toggle[aria-expanded=true] .wb-burger i:nth-child(2){opacity:0}
.wb-header__toggle[aria-expanded=true] .wb-burger i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(prefers-reduced-motion:reduce){.wb-header__nav,.wb-menu__links a,.wb-menu__backdrop{transition:none!important}}

/* ── Performance: skip drawing what is far below the screen until it is near ────────────────────────────────── */
/* (only blocks that never need to overflow their own box: not the header, hero, booking bar or floating items) */
.wb-block:is(.wb-block--room_grid,.wb-block--room_compare,.wb-block--experiences,.wb-block--photo_gallery,.wb-block--reviews,.wb-block--faq,.wb-block--amenities_list,.wb-block--packages,.wb-block--social_strip,.wb-block--partners,.wb-block--story,.wb-block--map_location,.wb-block--video,.wb-block--stats,.wb-block--sustainability,.wb-block--policies,.wb-block--extra_services,.wb-block--rich_text,.wb-block--call_to_action):not(:nth-child(-n+3)){content-visibility:auto;contain-intrinsic-size:auto 640px}
/* ── WhatsApp button ─────────────────────────────────────────────────────────────────────────────────────── */
.wb-whatsapp{position:fixed;z-index:60;bottom:1.2rem;width:3.2rem;height:3.2rem;border-radius:50%;background:#25d366;color:#fff!important;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.28);transition:transform .2s;text-decoration:none}
.wb-whatsapp:hover{transform:scale(1.08)}
.wb-whatsapp--right{inset-inline-end:1.2rem}
.wb-whatsapp--left{inset-inline-start:1.2rem}
@media(max-width:800px){.wb-whatsapp{bottom:5rem}}

/* language dropdown with flags: in the header bar at every width (never inside the mobile menu) */
.wb-flag{width:1.45em;height:1.09em;flex:none;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.18);display:block}
.wb-lang li a{display:flex;align-items:center;gap:.65rem}
.wb-header__nav{margin-inline-start:auto}
.wb-lang{flex:none}
@media(max-width:800px){
 .wb-header__bar{gap:.6rem}
 .wb-header__brand{margin-inline-end:auto}
 .wb-lang ul{min-width:11rem}
}
.wb-header--centered .wb-header__nav{margin-inline-start:0}
html.wb-menu-open .wb-header{z-index:2000}
.wb-header__toggle{order:3}
.wb-lang{order:2}
.wb-header__nav{order:1}
.wb-header--minimal .wb-header__brand{margin-inline-end:auto}

/* room type list: photo, name and size per room */
.wb-bf__chevron{margin-inline-start:auto;flex:none;width:.5rem;height:.5rem;border-inline-end:2px solid var(--wb-muted);border-bottom:2px solid var(--wb-muted);transform:rotate(45deg);margin-top:-.25rem;transition:transform .2s}
.wb-bf__room.is-open .wb-bf__chevron{transform:rotate(-135deg);margin-top:.2rem}
.wb-bf__list{padding:.4rem;width:max(100%,20rem);max-height:min(24rem,60vh);overflow-y:auto;overscroll-behavior:contain}
.wb-bf__room .wb-bf__panel{inset-inline-start:auto;inset-inline-end:0}
.wb-opt{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:.8rem;width:100%;padding:.55rem .7rem;border-radius:calc(var(--wb-radius)*1.1);cursor:pointer;position:relative}
.wb-opt:hover,.wb-opt:focus-visible{background:color-mix(in srgb,var(--wb-primary) 9%,transparent)}
.wb-opt:focus-visible{outline:2px solid var(--wb-primary);outline-offset:-2px}
.wb-opt.is-selected{background:color-mix(in srgb,var(--wb-primary) 13%,transparent)}
.wb-opt.is-selected::after{content:"";position:absolute;inset-inline-end:.9rem;top:50%;width:.4rem;height:.75rem;border-inline-end:2px solid var(--wb-primary);border-bottom:2px solid var(--wb-primary);transform:translateY(-62%) rotate(45deg)}
.wb-opt__img{flex:none;width:3.6rem;height:2.7rem;border-radius:calc(var(--wb-radius)*.6);overflow:hidden;background:var(--wb-surface)}
.wb-opt__img img{width:100%;height:100%;object-fit:cover;display:block}
.wb-opt__text{display:grid;line-height:1.3;min-width:0;padding-inline-end:1.4rem}
.wb-opt__text strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wb-opt__text small{color:var(--wb-muted);font-size:.8rem}
@media(max-width:759px){.wb-bf__list{width:auto;max-height:80vh}}

/* ── footer: designs (variant), colours (tone), social icons ─────────────────── */
.wb-footer{--wf-bg:var(--wb-primary);--wf-fg:var(--wb-on-primary);--wf-line:color-mix(in srgb,var(--wf-fg) 22%,transparent);background:var(--wf-bg);color:var(--wf-fg);padding-block:3.5rem 0}
.wb-footer--tone-dark{--wf-bg:color-mix(in srgb,var(--wb-text) 94%,#000);--wf-fg:#f4f4f5}
.wb-footer--tone-light{--wf-bg:var(--wb-surface);--wf-fg:var(--wb-text);border-top:1px solid color-mix(in srgb,var(--wb-text) 12%,transparent)}
.wb-footer a{display:block;text-decoration:none;color:inherit;opacity:.85;margin-bottom:.45rem;transition:opacity .15s}
.wb-footer a:hover{opacity:1;text-decoration:underline}
.wb-footer h3{margin:0 0 .8rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-family:var(--wb-font-body);font-weight:700;opacity:.75}
.wb-footer__name{display:block;font-family:var(--wb-font-heading);font-size:1.35rem;letter-spacing:-.01em;margin-bottom:.6rem}
.wb-footer__logo{display:block;height:48px;width:auto;margin-bottom:.8rem}
.wb-footer__about{margin:0 0 1rem;opacity:.75;max-width:34ch;line-height:1.55}
.wb-footer__sub{margin:1.1rem 0 .5rem;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.wb-footer .wb-footer__line{display:flex;align-items:flex-start;gap:.6rem;margin:0 0 .55rem}
.wb-footer__line .wb-icon{flex:none;width:1.15em;height:1.15em;margin-top:.15em;opacity:.8}
.wb-footer__hours{opacity:.8}
.wb-footer__grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(var(--wf-cols,3),minmax(0,1fr));gap:2.5rem 2rem;padding-bottom:2.5rem}
.wb-footer__grid--even{grid-template-columns:repeat(var(--wf-cols,3),minmax(0,1fr))}
.wb-footer__brand .wb-footer__name{font-size:1.5rem}
/* social icons */
.wb-footer__social{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem;margin:.2rem 0 0;padding:0}
.wb-footer__social a{display:grid;place-items:center;width:2.5rem;height:2.5rem;margin:0;border-radius:50%;opacity:1;transition:transform .15s,background .15s,color .15s,border-color .15s}
.wb-footer__social .wb-icon{width:1.2rem;height:1.2rem}
.wb-footer__social--circle a{background:color-mix(in srgb,var(--wf-fg) 14%,transparent)}
.wb-footer__social--circle a:hover{background:var(--wf-fg);color:var(--wf-bg);text-decoration:none;transform:translateY(-2px)}
.wb-footer__social--outline a{border:1.5px solid var(--wf-line)}
.wb-footer__social--outline a:hover{background:var(--wf-fg);color:var(--wf-bg);border-color:var(--wf-fg);text-decoration:none;transform:translateY(-2px)}
.wb-footer__social--plain a{width:2rem;height:2rem;border-radius:6px}
.wb-footer__social--plain a:hover{transform:translateY(-2px);text-decoration:none}
.wb-footer__follow{margin-top:1.1rem}.wb-footer__follow .wb-footer__sub{margin-top:0}
/* newsletter */
.wb-footer__news{margin-top:1.2rem;max-width:26rem}.wb-footer__news .wb-footer__sub{margin-top:0}
.wb-footer__newsrow{display:flex;gap:.5rem}
.wb-footer__newsrow input{flex:1;min-width:0;font:inherit;color:inherit;background:color-mix(in srgb,var(--wf-fg) 10%,transparent);border:1px solid var(--wf-line);border-radius:var(--wb-button-radius,8px);padding:.7rem .9rem}
.wb-footer__newsrow input::placeholder{color:inherit;opacity:.55}
.wb-footer__newsrow input:focus-visible{outline:2px solid var(--wf-fg);outline-offset:2px}
.wb-footer__newsrow button{font:inherit;font-weight:700;cursor:pointer;background:var(--wf-fg);color:var(--wf-bg);border:0;border-radius:var(--wb-button-radius,8px);padding:.7rem 1.1rem}
.wb-footer__news .wb-form-error{color:#fca5a5}.wb-footer__news .wb-form-ok{color:inherit;font-weight:600}
.wb-footer--tone-light .wb-footer__news .wb-form-error{color:#b42318}
/* badges + bottom line */
.wb-footer__badges{list-style:none;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;margin:0;padding:0 0 2rem}
.wb-footer__badges img{display:block;height:44px;width:auto;max-width:140px;object-fit:contain;opacity:.9}
.wb-footer__badges a{margin:0;opacity:1}
.wb-footer__legal{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.5rem;padding-block:1.25rem;border-top:1px solid var(--wf-line);font-size:.85em;margin-top:0;opacity:1}
.wb-footer__legal>span{opacity:.75}
.wb-footer__legalnav{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin-inline-start:auto}
.wb-footer__legalnav a,.wb-footer__top{margin:0}
.wb-footer a.wb-footer__top{display:inline-flex;align-items:center;gap:.4rem}
.wb-footer__legal>span:only-child{margin-inline-end:auto}
.wb-footer__legal .wb-footer__top{margin-inline-start:auto}.wb-footer__legalnav+.wb-footer__top{margin-inline-start:0}
/* big brand */
.wb-footer--brand .wb-footer__top-row{display:grid;grid-template-columns:1.3fr 1fr;gap:2.5rem;align-items:start;padding-bottom:2.5rem;margin-bottom:2.5rem;border-bottom:1px solid var(--wf-line)}
.wb-footer--brand .wb-footer__name{font-size:clamp(2rem,5vw,3.4rem);line-height:1.05}
.wb-footer--brand .wb-footer__about{max-width:44ch;font-size:1.05em}
.wb-footer--brand .wb-footer__aside .wb-footer__news{margin-top:0}
/* split */
.wb-footer__split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:3rem;padding-bottom:2.5rem}
.wb-footer__split .wb-footer__grid{padding-bottom:0}
/* centred */
.wb-footer--centered .wb-footer__stack{display:grid;justify-items:center;gap:1.25rem;text-align:center;padding-bottom:2.25rem}
.wb-footer--centered .wb-footer__about{margin-inline:auto}
.wb-footer__inline{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.6rem}
.wb-footer__inline a{margin:0}
.wb-footer .wb-footer__contactrow .wb-footer__line{margin:0;align-items:center}.wb-footer__contactrow .wb-icon{margin-top:0}
.wb-footer--centered .wb-footer__news{margin-inline:auto}
.wb-footer--centered .wb-footer__social{justify-content:center}
.wb-footer--centered .wb-footer__legal{justify-content:center}.wb-footer--centered .wb-footer__legalnav,.wb-footer--centered .wb-footer__legal .wb-footer__top{margin-inline:0}
/* one line */
.wb-footer--minimal{padding-block:1.75rem 0}
.wb-footer__line-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;padding-bottom:1.25rem}
.wb-footer--minimal .wb-footer__name{margin:0;font-size:1.1rem}.wb-footer--minimal .wb-footer__about{display:none}
.wb-footer--minimal .wb-footer__follow{margin:0}.wb-footer--minimal .wb-footer__social a{width:2.1rem;height:2.1rem}
@media(max-width:820px){
  .wb-footer--brand .wb-footer__top-row,.wb-footer__split{grid-template-columns:1fr;gap:2rem}
  .wb-footer__grid,.wb-footer__grid--even{grid-template-columns:1fr 1fr}.wb-footer__grid .wb-footer__brand{grid-column:1/-1}
  .wb-footer__legalnav{margin-inline-start:0}
}
@media(max-width:480px){.wb-footer__grid,.wb-footer__grid--even{grid-template-columns:1fr}.wb-footer__newsrow{flex-direction:column}}
