/* Reusable Location patterns. Sections flow and grow with their editable copy. */
.be-location-page { --be-unit:calc(100cqw / 1024); width:calc(818 * var(--be-unit)); color:#222; }
.be-location-page :is(.wp-block-group,figure,p,h1,h2,h3,.wp-block-buttons),
:where(.editor-styles-wrapper) .be-location-page :is(.wp-block-group,figure,p,h1,h2,h3,.wp-block-buttons) { margin:0; min-width:0; }
.be-location-page p,:where(.editor-styles-wrapper) .be-location-page p { font-size:calc(12 * var(--be-unit)); line-height:calc(16 * var(--be-unit)); letter-spacing:0; }
.be-location-page :is(h1,h2,h3),:where(.editor-styles-wrapper) .be-location-page :is(h1,h2,h3) { font-weight:400; }
.be-location-page img,.be-location-page picture,:where(.editor-styles-wrapper) .be-location-page img,:where(.editor-styles-wrapper) .be-location-page picture { display:block; width:100%; height:100%; object-fit:cover; }
.be-location-page .be-location-section,:where(.editor-styles-wrapper) .be-location-page .be-location-section { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto; align-content:start; position:relative; isolation:isolate; }
.be-location-section > *, .editor-styles-wrapper .be-location-section > * { grid-area:1/1; align-self:start; }
.be-location-section::before { content:''; position:absolute; top:var(--be-rule-top,0px); left:0; right:0; height:0; border-top:1px solid #000; pointer-events:none; }
.be-location-hero::before,.be-location-intro::before,.be-location-closing::before { content:none; }
.be-location-page .be-location-hero,:where(.editor-styles-wrapper) .be-location-page .be-location-hero { background:#000; overflow:clip; }
.be-location-page :is(.be-location-hero-photo,.be-location-closing-photo),:where(.editor-styles-wrapper) .be-location-page :is(.be-location-hero-photo,.be-location-closing-photo) { position:absolute; inset:0; z-index:-1; height:100%; width:100%; overflow:hidden; }
.be-location-heading { position:relative; }
.be-location-dots { width:calc(6 * var(--be-unit)); height:calc(6 * var(--be-unit)); border-radius:50%; background:var(--wp--preset--color--ochre); box-shadow:calc(9 * var(--be-unit)) 0 var(--wp--preset--color--ochre),calc(18 * var(--be-unit)) 0 var(--wp--preset--color--ochre); }
.be-location-dots > .block-list-appender { display:none; }
.be-location-experience-caption-1,.be-location-experience-caption-2,.be-location-experience-caption-3 { font-style:italic; }
.be-location-page .be-location-spot,:where(.editor-styles-wrapper) .be-location-page .be-location-spot { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto; align-content:start; }
.be-location-spot > *,.editor-styles-wrapper .be-location-spot > * { grid-area:1/1; align-self:start; }
.be-location-spot-cover { position:relative; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); align-items:center; background:#000; }
.be-location-spot-cover > * { grid-area:1/1; }
.be-location-spot-photo { width:100%; height:100%; min-height:0; overflow:hidden; opacity:.8; }
.be-location-spot-cover > :not(.be-location-photo) { position:relative; z-index:1; text-transform:uppercase; }
.be-location-spot-cover p,.be-location-spot-cover h3 { text-align:center; }
.be-location-page :is(.be-location-spot-number-1,.be-location-spot-number-2,.be-location-spot-number-3) { position:relative; }
.be-location-spot-number-1::after,.be-location-spot-number-2::after,.be-location-spot-number-3::after { content:''; position:absolute; top:50%; left:calc(44 * var(--be-unit)); width:calc(216 * var(--be-unit)); height:0; border-top:1px solid #000; pointer-events:none; }
.be-location-page .be-location-quotes > .be-location-quote,:where(.editor-styles-wrapper) .be-location-page .be-location-quotes > .be-location-quote { display:contents; }
.be-location-quote > *,.editor-styles-wrapper .be-location-quote > * { grid-area:1/1; align-self:start; }
.be-location-itinerary-details { display:grid; grid-template-columns:minmax(0,1fr); align-content:start; }
.be-location-itinerary-details > * { grid-area:1/1; align-self:start; }
.be-location-page .be-location-cta,:where(.editor-styles-wrapper) .be-location-page .be-location-cta { position:absolute; inset:0; width:100%; height:100%; display:block; }
.be-location-cta .wp-block-button { width:100%; height:100%; }
.be-location-page .be-location-cta a,:where(.editor-styles-wrapper) .be-location-page .be-location-cta a { display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:0; border:1px solid #000; border-radius:0; font-weight:400; letter-spacing:0; background:rgb(51 51 51 / 16%); color:#f9f7f5; cursor:pointer; transition:none; text-decoration:none; }
.be-location-page .be-location-cta a:hover,.be-location-page .be-location-cta a:focus-visible { background:rgb(211 160 66 / 80%); color:#fff; }
/* Native Gallery blocks retain replace/reorder/caption controls in the editor. */
.be-location-page .is-style-hotel-slideshow,:where(.editor-styles-wrapper) .be-location-page .is-style-hotel-slideshow { display:grid; grid-template-columns:minmax(0,1fr); gap:0; position:relative; min-height:calc(var(--be-slide-height) + var(--be-caption-height)); }
.be-location-page .is-style-hotel-slideshow > figure.wp-block-image,:where(.editor-styles-wrapper) .be-location-page .is-style-hotel-slideshow > figure.wp-block-image { grid-area:1/1; display:block; position:relative; width:100% !important; height:auto; flex:none; margin:0; }
.be-location-page .wp-block-gallery.is-style-hotel-slideshow.has-nested-images figure.wp-block-image img,:where(.editor-styles-wrapper) .be-location-page .wp-block-gallery.is-style-hotel-slideshow.has-nested-images figure.wp-block-image img { display:block; height:var(--be-slide-height); width:100%; object-fit:cover; }
.be-location-page .wp-block-gallery.is-style-hotel-slideshow.has-nested-images figure.wp-block-image figcaption,:where(.editor-styles-wrapper) .be-location-page .wp-block-gallery.is-style-hotel-slideshow.has-nested-images figure.wp-block-image figcaption { display:block; position:static; flex:none; min-height:var(--be-caption-height); max-height:none; padding:calc(13 * var(--be-unit)) calc(20 * var(--be-unit)) 0; background:none; color:#000; font-size:calc(12 * var(--be-unit)); line-height:calc(12 * var(--be-unit)); font-weight:400; font-style:italic; text-align:center; margin:0; overflow:visible; }
.is-style-hotel-slideshow:not(.is-enhanced) > figure:not(:first-child) { visibility:hidden; }
.is-style-hotel-slideshow.is-enhanced > figure img { opacity:0; transition:opacity 1s ease-in-out; }
.is-style-hotel-slideshow.is-enhanced > figure.is-current img { opacity:1; }
.is-style-hotel-slideshow.is-enhanced > figure figcaption { opacity:0; transition:opacity .2s ease-in-out; }
.is-style-hotel-slideshow.is-enhanced > figure.is-caption-current figcaption { opacity:1; }
.be-hotel-previous,.be-hotel-next { position:absolute; top:0; width:50%; height:var(--be-slide-height); padding:0; border:0; background:transparent; color:transparent; z-index:3; cursor:pointer; touch-action:pan-y; }
.be-hotel-previous { left:0; }.be-hotel-next { right:0; }
.be-hotel-toggle { position:absolute; z-index:4; top:8px; right:8px; opacity:0; pointer-events:none; border:1px solid; background:var(--wp--preset--color--cream); color:#333; font-size:14px; padding:6px; }
.be-hotel-toggle:focus-visible { opacity:1; pointer-events:auto; }
.be-hotel-previous:focus-visible,.be-hotel-next:focus-visible { outline-offset:-4px; outline-color:#fff; }
.editor-styles-wrapper .is-root-container:has(> .be-location-page) { padding-inline:0; }
.editor-styles-wrapper .is-root-container > .be-location-page { max-width:none; margin-left:calc(186 * var(--be-unit)) !important; margin-right:0 !important; }
.editor-styles-wrapper:has(.be-location-page) .editor-post-title { max-width:none; margin-left:calc(18600vw / 1024) !important; }
:where(.editor-styles-wrapper) .be-location-page .is-style-hotel-slideshow > figure:not(:first-child) { visibility:hidden; }
:where(.editor-styles-wrapper) .be-location-page .is-style-hotel-slideshow:has(> figure.is-selected) > figure { visibility:hidden; }
:where(.editor-styles-wrapper) .be-location-page .is-style-hotel-slideshow:has(> figure.is-selected) > figure.is-selected { visibility:visible; z-index:2; }
:where(.editor-styles-wrapper) .be-location-page .is-style-hotel-slideshow .block-list-appender { position:absolute; bottom:0; z-index:3; }
@media(min-width:601px) and (max-width:768px) {
 .be-location-page { --be-unit:calc((100cqw - 5.208333cqw) / 818); }
 .editor-styles-wrapper .is-root-container > .be-location-page { margin-left:2.604167vw !important; }
}
@media(max-width:600px) {
 .single-be_place .be-main:has(.be-location-page) { padding:0; margin:0; }
 .be-location-page { --be-unit:calc(100cqw / 320); width:100%; }
 .single-be_place .be-main:has(.be-location-page) + .wp-block-template-part .be-site-footer { margin-left:0; }
 .be-location-page .be-location-spot-cover > :not(.be-location-photo) { position:absolute; left:50%; top:50%; width:calc(240 * var(--be-unit)); transform:translate(-50%,-50%) rotate(-90deg); }
 .be-location-spot-number-1::after,.be-location-spot-number-2::after,.be-location-spot-number-3::after { left:calc(40 * var(--be-unit)); width:calc(140 * var(--be-unit)); }
 .editor-styles-wrapper .is-root-container > .be-location-page { margin-left:0 !important; }
 .editor-styles-wrapper:has(.be-location-page) .editor-post-title { margin-inline:6.25vw !important; }
}
@media(prefers-reduced-motion:reduce) { .is-style-hotel-slideshow.is-enhanced > figure :is(img,figcaption) { transition:none; } }

.be-location-page .wp-block-gallery.is-style-hotel-slideshow.has-nested-images figure.wp-block-image::before { content:none; }
.be-location-page .wp-block-gallery.is-style-hotel-slideshow.has-nested-images figure.wp-block-image figcaption { text-shadow:none; scrollbar-gutter:auto; }
/* Override Core's ID-weighted cropped-gallery rule for this fixed image frame. */
.be-location-page .wp-block-gallery.is-style-hotel-slideshow.has-nested-images figure.wp-block-image img { height:var(--be-slide-height) !important; width:100% !important; flex:none; }
.be-location-page :is(p,h1,h2,h3),:where(.editor-styles-wrapper) .be-location-page :is(p,h1,h2,h3) { color:inherit; padding:0; font-weight:400; font-style:normal; text-align:left; letter-spacing:0; }
.be-location-page .wp-block-group > p + p,:where(.editor-styles-wrapper) .be-location-page .wp-block-group > p + p { margin-top:calc(16 * var(--be-unit)); }
.editor-styles-wrapper .be-location-dots > .components-placeholder { display:none; }
.editor-styles-wrapper .be-location-dots { padding:0; border:0; min-height:0; }
.be-location-page .be-location-stay::after { content:''; position:absolute; inset:0 0 auto; height:var(--be-stay-height); background:var(--be-stay-color); z-index:-1; pointer-events:none; }
.be-location-page .is-style-hotel-slideshow { background:var(--wp--preset--color--cream); }
.be-location-page .is-style-hotel-slideshow::before { content:''; position:absolute; inset:0 0 auto; height:var(--be-slide-height); background:#000; pointer-events:none; }
.be-location-page :is(p,h1,h2,h3) { white-space:pre-wrap; font-feature-settings:'dlig' 0,'hlig' 0,'liga' 0,'rlig' 0,'smcp' 0; text-rendering:optimizeLegibility; }
.be-location-heading { text-transform:uppercase; }
@media(max-width:600px) { .single-be_place .be-main:has(.be-location-page) .be-site-footer { margin-left:0; } }
.single-be_place .be-main:has(.be-location-page) > .wp-block-template-part { margin-block-start:0; }
