/* Current Cala live additional CSS, 16 Oct 2026. Matching Marina pages mapped, unmatched selectors inert. */

/* Home contact film: editable WordPress Columns + Video, approved 1:1 centre crop. */
.essence-contact-video {
  padding: 60px max(24px,calc((100vw - 1440px)/2));
  margin-block: 0 !important;
  background: color-mix(in srgb, #1C7783 18%, #fff);
  color: var(--wp--preset--color--navy, #003459);
}
.essence-contact-video .essence-contact-video__columns {
  gap: clamp(32px,4vw,64px); margin: 0 auto; align-items: center;
}
.essence-contact-video .wp-block-column { min-width: 0; }
.essence-contact-video .essence-contact-video__media {
  position: relative; width: 100%; aspect-ratio: 1; margin: 0;
  overflow: hidden; background: #003459 url('/wp-content/themes/marina-holiday-cala/img/essence-hospitality-loop-poster.jpg') center / cover no-repeat;
}
.essence-contact-video .essence-contact-video__media video {
  display: block; width: 100%; height: 100%; aspect-ratio: 1;
  object-fit: cover; object-position: 50% 50%;
}
.essence-contact-video h2 { font-size: clamp(30px,3vw,42px); line-height: 1.08; margin: 0 0 24px; }
.essence-contact-video p { max-width: 44ch; margin: 0 0 28px; }
.essence-contact-video .essence-booking-return { margin-top: 48px; }
@media (max-width: 781px) {
  .essence-contact-video { padding: 32px 24px 44px; }
  .essence-contact-video .essence-contact-video__columns { gap: 32px; }
  .essence-contact-video .essence-booking-return { margin-top: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .essence-contact-video__media video { visibility: hidden; }
}

/* About v13: original imagery, restrained glass and native editable blocks. */
.essence-inner-banner.wp-block-cover { height:350px!important; min-height:350px!important; padding:136px 15px 56px!important; }
.essence-inner-banner h1 { font-size:51.2px!important; line-height:54.4px!important; }
.essence-travel-hero.wp-block-cover { height:390px!important; min-height:390px!important; padding:115px 24px 30px!important; }
.essence-travel-hero h1 { font-size:clamp(35.2px,3.52vw,51.2px)!important; line-height:1.08!important; }
@media(min-width:768px) and (max-width:1024px){ .essence-inner-banner.wp-block-cover { padding-top:114px!important; padding-bottom:40px!important; } }
@media(max-width:767px){
 .essence-inner-banner.wp-block-cover { height:300px!important; min-height:300px!important; padding:104px 15px 28px!important; }
 .essence-inner-banner h1 { font-size:clamp(25.6px,8.32vw,33.28px)!important; line-height:1.065!important; }
 .essence-travel-hero.wp-block-cover { height:310px!important; min-height:310px!important; padding:100px 22px 30px!important; }
 .essence-travel-hero h1 { font-size:clamp(25.6px,8vw,33.28px)!important; line-height:1.1!important; }
}
.essence-about-gallery--clean { margin:0!important; padding:50px 20px 0!important; background:#fff; color:#003459; }
.essence-about-gallery--clean .essence-about-gallery__photos,
.essence-about-gallery--clean .essence-about-motto { max-width:1000px; margin-inline:auto; }
.essence-about-gallery--clean .essence-about-motto { margin-block:48px; }
.essence-about-gallery--clean .essence-about-ss,
.essence-about-symbol-band .essence-about-ss { width:min(300px,100%)!important; max-width:300px; margin:0 auto!important; line-height:0; }
.essence-about-gallery--clean .essence-about-ss img,
.essence-about-symbol-band .essence-about-ss img { display:block; width:100%; max-width:300px; height:auto; }
.essence-about-symbol-band { height:auto; padding-top:24px; }
.essence-about-photo-credit { max-width:1400px; margin:12px auto 0!important; padding:0 24px; color:#003459; font-size:12px!important; line-height:1.6!important; text-align:right; }
.essence-about-photo-credit a { color:inherit; text-underline-offset:3px; }
.essence-about-story.wp-block-cover { margin:64px auto!important; min-height:680px; padding:64px clamp(24px,5vw,88px); max-width:1600px; overflow:hidden; }
.essence-about-story>.wp-block-cover__inner-container { width:100%; max-width:1400px; margin:auto; }
.essence-about-story .essence-about-story__glass { box-sizing:border-box; width: min(100%,760px); margin:0 0 0 auto!important; padding:clamp(28px,3.5vw,56px); color:#003459; background:rgba(250,249,245,.88); -webkit-backdrop-filter:blur(20px) saturate(115%); backdrop-filter:blur(20px) saturate(115%); box-shadow:0 16px 48px rgba(0,52,89,.16); border-radius:12px; }
.essence-about-story__glass h2 { color:#1c7783; margin:0 0 24px!important; font-size:clamp(32px,3vw,46px)!important; line-height:1.12!important; text-wrap:balance; }
.essence-about-story__glass p { color:#003459; font-size:17px!important; line-height:1.65!important; margin:0 0 20px!important; max-width:68ch; }
.essence-about-story__glass .wp-block-buttons { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:12px; margin:28px 0 0!important; }
.essence-about-story__glass .wp-block-button__link { padding:15px 19px; font-size:12px; letter-spacing:.07em; line-height:1.4; }
.essence-about-story__glass a:focus-visible { outline:2px solid #003459; outline-offset:4px; }
/* Compact the existing footer composition without moving its anchors. */
.essence-footer { padding-top:48px!important; }
.essence-footer .essence-footer__columns { margin-bottom:8px!important; gap:40px!important; }
.essence-footer .essence-footer__intro { margin-bottom:0!important; }
.essence-footer .essence-footer__contact-inline { margin-top:0!important; margin-bottom:12px!important; }
.essence-footer .essence-footer__links { margin-top:0!important; margin-bottom:24px!important; gap:18px!important; }
.essence-footer .essence-footer__credit { margin-top:24px!important; padding-top:16px!important; }
/* The photo spans the heading, explanatory copy and enquiry form together. */
.essence-contact-booking { display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; align-items:stretch!important; gap:clamp(28px,4vw,64px)!important; }
.essence-contact-booking .essence-contact-booking__photo { display:block; width:100%; margin:0!important; align-self:stretch; position:relative; min-height:540px; }
.essence-contact-booking .essence-contact-booking__photo img { position:absolute; inset:0; width:100%; height:100%!important; object-fit:cover; object-position:center; }
.essence-contact-booking .essence-contact-booking__form { margin:0!important; padding:0!important; min-width:0; align-self:stretch; }
.essence-contact-booking__form h2 { margin:0 0 16px!important; padding-bottom:0!important; font-size:clamp(30px,2.8vw,42px)!important; line-height:1.14!important; text-wrap:balance; }
.essence-contact-booking__form .essence-quote-explanation { font-size:15px!important; line-height:1.6!important; margin:0 0 22px!important; }
@media(max-width:781px){
 .essence-about-story.wp-block-cover { margin-block:40px!important; padding:200px 16px 24px; min-height:0; }
 .essence-about-story>.wp-block-cover__image-background { object-position:30% top!important; }
 .essence-about-story .essence-about-story__glass { padding:28px 22px; background:rgba(250,249,245,.94); }
 .essence-about-story__glass h2 { font-size:32px!important; }
 .essence-about-story__glass p { font-size:16px!important; line-height:1.65!important; }
 .essence-about-story__glass .wp-block-buttons { display:grid; grid-template-columns:1fr; }
 .essence-about-story__glass .wp-block-button__link { width:100%; box-sizing:border-box; }
 .essence-about-photo-credit { text-align:center; }
 .essence-footer .essence-footer__columns { gap:24px!important; margin-bottom:16px!important; }
 .essence-footer .essence-footer__links { gap:20px!important; }
 .essence-contact-booking { grid-template-columns:minmax(0,1fr)!important; gap:28px!important; }
 .essence-contact-booking .essence-contact-booking__photo { min-height:0; aspect-ratio:4/3; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) { .essence-about-story .essence-about-story__glass { background:#faf9f5; } }

/* v14: the authentic SS monogram, behind internal page titles only. */
.essence-header-part,.essence-header-part .essence-header,.essence-header__inner { border-bottom:0!important; box-shadow:none!important; }
.essence-room-gallery.essence-service-gallery { max-width:1200px; width:100%; margin:0 auto; }
.essence-room-gallery.essence-service-gallery .room__thumbs { grid-template-columns:repeat(7,minmax(0,1fr)); padding:12px 4px; margin:0; }
.essence-service-gallery.is-gallery-paused .essence-service-slideshow img { animation-play-state:paused; }
.essence-room-gallery .essence-room-pagination { width:max-content; flex-wrap:wrap; }
.essence-room-gallery .essence-room-star svg { stroke:none!important; stroke-width:0!important; filter:none!important; }
.essence-photo-dialog .essence-slider-button { background:transparent; border:0; box-shadow:none; }
.essence-photo-dialog .essence-slider-button:hover { color:#f0b482; background:transparent; }
.essence-photo-dialog .essence-slider-prev svg,.essence-photo-dialog .essence-slider-next svg { width:26px; height:34px; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.essence-restaurant-story.essence-editorial-addition { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:40px; row-gap:0; max-width:1100px; box-sizing:border-box; padding:48px 56px; margin:56px auto; }
.essence-restaurant-story.essence-editorial-addition h2 { grid-column:1/-1; text-align:center; margin:0 0 28px; font-size:42px; line-height:1.15; }
.essence-restaurant-story.essence-editorial-addition>p { margin:0; font-size:17px; line-height:1.7; }
.essence-restaurant-story.essence-editorial-addition>.wp-block-buttons { grid-column:1/-1; margin:30px 0 0; justify-content:center; gap:16px; }
@media(max-width:767px){
 .essence-room-gallery.essence-service-gallery .room__thumbs { display:flex; gap:8px; overflow-x:auto; padding:12px 8px; scroll-snap-type:x proximity; }
 .essence-service-gallery .room__thumb { flex:0 0 calc((100% - 24px)/4); scroll-snap-align:start; }
 .essence-restaurant-story.essence-editorial-addition { grid-template-columns:minmax(0,1fr); gap:20px; margin:40px 16px; padding:32px 24px; }
 .essence-restaurant-story.essence-editorial-addition h2 { margin:0; font-size:32px; }
 .essence-restaurant-story.essence-editorial-addition>p { font-size:16px; line-height:1.65; }
 .essence-restaurant-story.essence-editorial-addition>.wp-block-buttons { margin:8px 0 0; width:100%; }
 .essence-restaurant-story .wp-block-button { flex:1 1 220px; }
 .essence-restaurant-story .wp-block-button__link { width:100%; box-sizing:border-box; }
}
.essence-gallery-banner>.wp-block-cover__image-background { object-position:50% 44%!important; }
.essence-gallery-intro.essence-reference-intro { padding-top:76px; padding-bottom:42px; }
.essence-gallery-intro>.essence-monogram { display:none; }
.essence-gallery-intro .essence-reference-intro__copy { margin-top:0; }
.essence-gallery--reveal.wp-block-gallery { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:1280px; gap:16px!important; padding-inline:24px; margin-bottom:80px!important; }
.essence-gallery--reveal.wp-block-gallery>.wp-block-image { width:100%!important; margin:0!important; min-width:0; overflow:hidden; }
.essence-gallery--reveal.wp-block-gallery>.wp-block-image>a { display:block; width:100%; height:100%; aspect-ratio:3/2; }
.essence-gallery--reveal.wp-block-gallery>.wp-block-image img { width:100%; height:100%; aspect-ratio:3/2; object-fit:cover; }
.essence-gallery--reveal.wp-block-gallery>.wp-block-image:focus-within { outline:2px solid var(--wp--preset--color--essence-teal,#1c7783); outline-offset:4px; }
.essence-gallery--reveal.wp-block-gallery>.wp-block-image.essence-enter { animation:essence-gallery-unveil .72s cubic-bezier(.16,1,.3,1) both; }
.essence-gallery--reveal>.wp-block-image.essence-enter:nth-child(3n+2) { animation-delay:70ms; }
.essence-gallery--reveal>.wp-block-image.essence-enter:nth-child(3n) { animation-delay:140ms; }
@keyframes essence-gallery-unveil {
 from { opacity:.15; transform:translateY(22px); clip-path:inset(0 0 9% 0); }
 to { opacity:1; transform:translateY(0); clip-path:inset(0); }
}
@media(min-width:601px) and (max-width:1024px){ .essence-gallery.essence-gallery--reveal.wp-block-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px){
 .essence-gallery.essence-gallery--reveal.wp-block-gallery { grid-template-columns:1fr; padding-inline:16px; gap:16px!important; }
 .essence-gallery--reveal.wp-block-gallery>.wp-block-image.essence-enter { animation-delay:0s; }
 .essence-gallery-intro.essence-reference-intro { padding-top:52px; padding-bottom:32px; }
 .essence-gallery-banner>.wp-block-cover__image-background { object-position:50% 42%!important; }
}
@media(prefers-reduced-motion:reduce){
 .essence-gallery--reveal.wp-block-gallery>.wp-block-image.essence-enter { animation:none!important; opacity:1; transform:none; clip-path:none; }
 .essence-gallery--reveal.wp-block-gallery img { transition:none!important; }
 .essence-gallery--reveal.wp-block-gallery a:hover img { transform:none; }
}

/* v15: monograms belong to editorial titles, never photographic headers. */
:root {
 --essence-ss-gradient:linear-gradient(145deg,color-mix(in srgb,var(--wp--preset--color--essence-teal,#1c7783) 26%,transparent),color-mix(in srgb,var(--wp--preset--color--essence-teal,#1c7783) 14%,transparent) 55%,color-mix(in srgb,var(--wp--preset--color--essence-teal,#1c7783) 4%,transparent));
}
:is(.essence-inner-banner,.essence-travel-hero,.essence-hero) h1::before { content:none!important; background:none!important; mask:none!important; -webkit-mask:none!important; }
:is(.essence-inner-banner,.essence-travel-hero,.essence-header-part) :is(.essence-monogram,.essence-about-ss) { display:none!important; }
/* Replace the old image/negative-margin intro composition with a title-anchored mark. */
.essence-reference-intro>.essence-monogram,.essence-travel-heading>.essence-monogram { display:none!important; }
.essence-reference-intro .essence-reference-intro__copy { margin-top:0!important; padding-top:0!important; }
.essence-reference-intro.wp-block-group { padding-top:76px; padding-bottom:42px; }
:is(.essence-reference-intro__copy,.essence-travel-heading,.essence-contact-booking__form)>h2,
body:is(.page-id-2812,.page-id-2837,.essence-page-source-2812) .essence-editorial-addition>h2 { position:relative; isolation:isolate; }
:is(.essence-reference-intro__copy,.essence-travel-heading,.essence-contact-booking__form)>h2::before,
body:is(.page-id-2812,.page-id-2837,.essence-page-source-2812) .essence-editorial-addition>h2::before {
 content:""; position:absolute; z-index:-1; pointer-events:none;
 width:clamp(190px,22vw,300px); aspect-ratio:300/186;
 left:50%; top:50%; transform:translate(-50%,-50%);
 background:var(--essence-ss-gradient);
 -webkit-mask:url('/wp-content/themes/marina-holiday-cala/img/brand/essence-ss-navy-original.png') center/contain no-repeat;
 mask:url('/wp-content/themes/marina-holiday-cala/img/brand/essence-ss-navy-original.png') center/contain no-repeat;
}
/* The remaining standalone SS decorations use the same teal ink, not navy/pink. */
.essence-contact-booking__form>h2::before { width:clamp(160px,18vw,240px); }
figure:is(.essence-monogram,.essence-about-ss) { position:relative; }
figure:is(.essence-monogram,.essence-about-ss)>img { visibility:hidden; }
figure:is(.essence-monogram,.essence-about-ss)::after {
 content:""; position:absolute; inset:0; pointer-events:none;
 background:var(--essence-ss-gradient);
 -webkit-mask:url('/wp-content/themes/marina-holiday-cala/img/brand/essence-ss-navy-original.png') center/contain no-repeat;
 mask:url('/wp-content/themes/marina-holiday-cala/img/brand/essence-ss-navy-original.png') center/contain no-repeat;
}
.essence-restaurant .wp-block-media-text__content::before {
 background:linear-gradient(145deg,#1c7783b3,#1c778333)!important; opacity:1!important;
 -webkit-mask:url('/wp-content/themes/marina-holiday-cala/img/brand/essence-ss-navy-original.png') center/contain no-repeat;
 mask:url('/wp-content/themes/marina-holiday-cala/img/brand/essence-ss-navy-original.png') center/contain no-repeat;
}
.essence-book-band::before {
 background:linear-gradient(145deg,#1c778380,#1c778318)!important; opacity:1!important;
 -webkit-mask:url('/wp-content/themes/calalaluna/img/brand/essence-pattern-original-v32.webp') center/cover no-repeat;
 mask:url('/wp-content/themes/calalaluna/img/brand/essence-pattern-original-v32.webp') center/cover no-repeat;
}
/* White site canvas and light editorial surfaces; keep photos and dark contrast bands. */
html,body,.wp-site-blocks,.essence-main,.essence-main>.entry-content,
.essence-travel-page.wp-block-group,.essence-travel-contact.wp-block-group,
.essence-editorial-addition.wp-block-group,.essence-review-card.wp-block-group,
.essence-motto.wp-block-group,.essence-contact-video.wp-block-group { background-color:#fff!important; }
.essence-about-story .essence-about-story__glass { background:rgba(255,255,255,.9); }
.essence-header-part .essence-header { background-color:rgba(255,255,255,.2)!important; }
.essence-header-part .essence-header:hover,.scroll-up .essence-header-part .essence-header { background-color:rgba(255,255,255,.7)!important; }
@media(max-width:1024px){ .essence-header-part .essence-header,.essence-header-part .essence-header:hover,.scroll-up .essence-header-part .essence-header { background-color:#fff!important; } }
@media(max-width:767px){
 .essence-reference-intro.wp-block-group { padding-top:60px; padding-bottom:32px; }
 .essence-about-story .essence-about-story__glass { background:rgba(255,255,255,.94); }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){ .essence-about-story .essence-about-story__glass { background:#fff; } }

/* v16: a quiet, vertical teal watermark; one introduction per travel page. */
:root { --essence-ss-gradient:linear-gradient(180deg,color-mix(in srgb,var(--wp--preset--color--essence-teal,#1c7783) 20%,transparent),color-mix(in srgb,var(--wp--preset--color--essence-teal,#1c7783) 12%,transparent) 50%,color-mix(in srgb,var(--wp--preset--color--essence-teal,#1c7783) 2%,transparent)); }
:is(.essence-reference-intro__copy,.essence-travel-heading,.essence-contact-booking__form)>h2::before,body:is(.page-id-2812,.page-id-2837,.essence-page-source-2812) .essence-editorial-addition>h2::before { top:-.35em; transform:translateX(-50%); }
/* Colazione is the reference for every inner page banner; Home is untouched. */
.essence-travel-hero.wp-block-cover { height:350px!important; min-height:350px!important; padding:136px 15px 56px!important; }
.essence-travel-hero h1 { font-size:51.2px!important; line-height:54.4px!important; margin:0 0 15px; }
@media(min-width:768px) and (max-width:1024px){ .essence-travel-hero.wp-block-cover { padding-top:114px!important; padding-bottom:40px!important; } }
@media(max-width:767px){ .essence-travel-hero.wp-block-cover { height:300px!important; min-height:300px!important; padding:104px 15px 28px!important; } .essence-travel-hero h1 { font-size:clamp(25.6px,8.32vw,33.28px)!important; line-height:1.065!important; } }
.essence-travel-section~.essence-travel-section .essence-travel-heading>h2::before { content:none; }
.essence-restaurant .wp-block-media-text__content::before,.essence-book-band::before { background:var(--essence-ss-gradient)!important; }
/* A Book now composition using the existing editable CTA block and contact links. */
.block-ps-cta-strip.container_scroll--fade { position:relative; isolation:isolate; overflow:hidden; background:var(--wp--preset--color--essence-navy,#003459); color:#fff; margin:64px 0 0; padding:72px max(24px,calc((100vw - 1180px)/2)); text-align:left; }
.block-ps-cta-strip::before { content:""; position:absolute; z-index:-1; pointer-events:none; width:120%; height:240%; left:-10%; top:-70%; transform:rotate(30deg); background:linear-gradient(150deg,#1c778380,#1c77830d 80%); -webkit-mask:url('/wp-content/themes/calalaluna/img/brand/essence-pattern-original-v32.webp') center/cover no-repeat; mask:url('/wp-content/themes/calalaluna/img/brand/essence-pattern-original-v32.webp') center/cover no-repeat; }
.block-ps-cta-strip.container_scroll--fade .cta-strip__inner { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:20px 64px; max-width:1180px; position:relative; }
.block-ps-cta-strip .cta-strip__inner>:is(h2,h4) { color:#fff; font-size:clamp(32px,3.3vw,48px); line-height:1.12; text-wrap:balance; margin:0; max-width:26ch; }
.block-ps-cta-strip .cta-strip__inner>p { grid-column:1; color:#fff; font-size:17px; line-height:1.65; max-width:62ch; margin:0; }
.block-ps-cta-strip .cta-strip__actions { grid-column:2; grid-row:1; align-self:center; justify-content:flex-start; margin:0!important; }
.block-ps-cta-strip .cta-strip__actions>a.button { display:inline-flex; justify-content:center; align-items:center; gap:20px; width:100%; min-height:56px; padding:18px 26px; background:#f0b482; border:1px solid #f0b482; color:#003459; box-shadow:none; font-size:13px; letter-spacing:.14em; transition:background .25s,color .25s; }
.block-ps-cta-strip .cta-strip__actions>a.button::after { content:""; width:24px; height:14px; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 16'%3E%3Cpath d='M1 8h24M18 1l7 7-7 7' fill='none' stroke='black' stroke-width='1.3'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 16'%3E%3Cpath d='M1 8h24M18 1l7 7-7 7' fill='none' stroke='black' stroke-width='1.3'/%3E%3C/svg%3E") center/contain no-repeat; transition:transform .25s; }
.block-ps-cta-strip .cta-strip__actions>a.button:hover { background:#fff; border-color:#fff; color:#003459; }
.block-ps-cta-strip .cta-strip__actions>a.button:hover::after { transform:translateX(4px); }
.block-ps-cta-strip .cta-strip__phone { grid-column:2; grid-row:2; margin:0!important; font-family:var(--font-body)!important; font-size:14px!important; line-height:1.55!important; align-self:start; }
.block-ps-cta-strip .cta-strip__phone a { color:#fff!important; text-decoration:none; }
.block-ps-cta-strip .cta-strip__number { display:block; margin-top:7px; color:#f0b482; font-family:var(--font-titles); font-size:30px; white-space:nowrap; }
.block-ps-cta-strip a:focus-visible { outline:2px solid #fff; outline-offset:5px; }
.block-ps-cta-strip.essence-enter { animation:none; }
.block-ps-cta-strip.essence-enter::before { animation:essence-booking-light 1.8s cubic-bezier(.16,1,.3,1) both; }
@keyframes essence-booking-light { from { opacity:.15; transform:rotate(30deg) translateX(-28px); } to { opacity:1; transform:rotate(30deg) translateX(0); } }
@media(max-width:767px){
 .block-ps-cta-strip.container_scroll--fade { padding:48px 24px; margin-top:40px; }
 .block-ps-cta-strip.container_scroll--fade .cta-strip__inner { grid-template-columns:minmax(0,1fr); gap:22px; text-align:center; }
 .block-ps-cta-strip .cta-strip__inner>:is(h2,h4) { font-size:34px; max-width:100%; }
 .block-ps-cta-strip .cta-strip__inner>p { font-size:16px; line-height:1.6; }
 .block-ps-cta-strip .cta-strip__actions,.block-ps-cta-strip .cta-strip__phone { grid-column:1; grid-row:auto; }
 .block-ps-cta-strip .cta-strip__actions { margin-top:6px; }
 .block-ps-cta-strip .cta-strip__number { font-size:28px; }
}
@media(prefers-reduced-motion:reduce){ .block-ps-cta-strip.essence-enter::before { animation:none!important; } .block-ps-cta-strip .cta-strip__actions>a.button::after { transition:none; transform:none!important; } }
/* Keep the additional first-level travel menu on one clear desktop row. */
@media(min-width:1025px){
 .essence-header .essence-header__inner { width:calc(100% - 40px); max-width:1640px; gap:14px; }
 .essence-header .essence-brand { flex:0 0 132px!important; width:132px!important; }
 .essence-header .essence-brand img { width:132px!important; }
 .essence-header .essence-header-tools { flex:0 0 auto; }
 .essence-header .essence-navigation .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content { padding-inline:8px!important; font-size:14px!important; letter-spacing:1px!important; white-space:nowrap; }
 .essence-header .essence-header-actions { flex:0 0 auto; gap:10px; }
 .essence-header .essence-header-actions .wp-block-button { width:auto!important; flex:0 0 auto!important; }
 .essence-header .essence-header-actions .wp-block-button__link { padding:14px 18px!important; font-size:13px!important; white-space:nowrap; }
}
@media(min-width:1025px) and (max-width:1350px){
 .essence-header .essence-header__inner { width:calc(100% - 24px); gap:8px; }
 .essence-header .essence-brand { flex-basis:104px!important; width:104px!important; }
 .essence-header .essence-brand img { width:104px!important; }
 .essence-header .essence-navigation .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content { padding-inline:5px!important; font-size:12px!important; letter-spacing:.4px!important; }
 .essence-header .essence-header-actions { gap:6px; }
 .essence-header .essence-header-actions .wp-block-button__link { padding:12px 10px!important; font-size:11px!important; letter-spacing:1px; }
}

/* v17: English dropdown breathing room; leave the mobile drawer unchanged. */
@media(min-width:1025px){
 html[lang^="en"] .essence-header .essence-navigation .wp-block-navigation__submenu-container { width:max-content!important; min-width:280px!important; max-width:min(420px,calc(100vw - 48px)); padding:8px 0!important; }
 html[lang^="en"] .essence-header .essence-navigation .wp-block-navigation__submenu-container>.wp-block-navigation-item { width:100%; }
 html[lang^="en"] .essence-header .essence-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { box-sizing:border-box; width:100%; padding:16px 30px!important; white-space:normal; line-height:1.5; }
 html[lang^="en"] .essence-header .essence-navigation .wp-block-navigation__submenu-container .has-child>.wp-block-navigation-item__content { padding-right:52px!important; }
}
/* White is the adjoining page surface: the photograph dissolves into it. */
.essence-hero:after { background:linear-gradient(180deg,rgba(255,255,255,0) 28%,rgba(255,255,255,.38) 45%,rgba(255,255,255,.78) 65%,rgba(255,255,255,.95) 85%,#fff 100%)!important; }
body .essence-hero .essence-hero__title,body .essence-hero .essence-hero__subtitle { color:var(--wp--preset--color--essence-navy,#003459)!important; text-shadow:none!important; }
body .essence-hero .essence-hero__line { background:#00345980; color:#00345980; }
.essence-hero .essence-hero__buttons .wp-block-button__link { color:#003459!important; border-color:#003459!important; background:#ffffff80!important; }
.essence-hero .essence-hero__title { font-size:58.88px; line-height:62.56px; }
.essence-hero .essence-hero__subtitle { margin-bottom:25px; }
/* Preserve the first text baseline +130px after accounting for the new line height and gap. */
@media(min-width:1025px) and (min-height:701px){ .essence-hero { padding-bottom:calc(62px + 2cm - 130px + 25px - 8.16px)!important; } }
@media(max-width:1024px){
 .essence-hero .essence-hero__title { font-size:49.68px; line-height:53.36px; }
 .essence-hero { padding-bottom:40px!important; }
}
@media(max-width:767px){
 .essence-hero .essence-hero__title { font-size:40.48px; line-height:44.528px; }
 .essence-hero .essence-hero__subtitle { margin-bottom:14px; }
 .essence-hero { padding-bottom:140px!important; }
}
@media(max-width:380px){ .essence-hero .essence-hero__title { font-size:36.8px; line-height:40.48px; } }
@media(max-height:700px){
 .essence-hero { padding-bottom:32px!important; }
 .essence-hero .essence-hero__subtitle { margin-bottom:9px; }
}
/* Keep the booking action clear of the fixed concierge on portrait phones. */
@media(max-width:767px) and (orientation:portrait){ .essence-hero { padding-bottom:140px!important; } }

/* v18: enlarge the concierge and speech bubble as one registered composition. */
body .essence-essy-float a.has-essy-avatar { transform:none!important; transform-origin:right bottom; }
body .essence-drawer-essy a.has-essy-avatar { transform:none!important; transform-origin:center bottom; }
/* Reserve the extra bubble height beside the mobile Home booking action. */
@media(max-width:767px) and (orientation:portrait){ body .essence-hero { padding-bottom:160px!important; } }

/* v19: lift the existing Home composition without interfering with its scroll transform. */
body.is-cll-front .essence-hero .essence-hero__copy { top:-30px; }
body.is-cll-front .block-ps-booking-engine .booking-engine__guarantee {
 font-size:24.5px; line-height:1.4; display:flex; align-items:center; justify-content:center; gap:8px; text-wrap:balance;
}
body.is-cll-front .block-ps-booking-engine .booking-engine__guarantee::before,
body.is-cll-front .block-ps-booking-engine .booking-engine__guarantee::after {
 content:"✦"; flex:0 0 auto; margin:0; color:var(--essence-peach,#F0B482);
}
@media(max-width:640px){ body.is-cll-front .block-ps-booking-engine .booking-engine__guarantee { font-size:21px; } }

/* Source text animation: preserve the original collapsed offer margins. */
.essence-offer .essence-motion-group--offer{display:block}

/* v21: one fine-line language for all carousel and lightbox arrows. */
body :is(.essence-slider-prev,.essence-slider-next,.swiper-button-prev,.swiper-button-next,.mfp-arrow,.essence-reviews-controls button){
 background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
 min-width:44px;min-height:44px;transition:color .2s ease;
}
body :is(.essence-slider-prev,.essence-slider-next,.swiper-button-prev,.swiper-button-next,.mfp-arrow):hover{background:transparent!important;color:var(--wp--preset--color--essence-peach,#f0b482)}
body :is(.essence-slider-prev,.essence-slider-next) svg{width:26px;height:34px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #003459)}
body :is(.swiper-button-prev,.swiper-button-next,.mfp-arrow,.essence-reviews-controls button){font-size:0!important;color:#003459;}
body :is(.swiper-button-prev,.swiper-button-next,.mfp-arrow,.essence-reviews-controls button)::before{display:none!important}
body :is(.swiper-button-prev,.swiper-button-next,.mfp-arrow,.essence-reviews-controls button)::after{
 content:""!important;display:block!important;width:26px;height:34px;border:0!important;margin:0!important;position:static!important;background:currentColor;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 4 8 8-8 8' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 4 8 8-8 8' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
body :is(.swiper-button-prev,.mfp-arrow-left,.essence-reviews-controls button:first-child)::after{transform:rotate(180deg)}
body :is(.mfp-arrow,.rooms_slideshow .swiper-button-prev,.rooms_slideshow .swiper-button-next){color:white;filter:drop-shadow(0 1px 2px #003459)}
body .mfp-arrow{display:grid;place-items:center;width:52px}
body :is(.essence-slider-prev,.essence-slider-next,.swiper-button-prev,.swiper-button-next,.mfp-arrow,.essence-reviews-controls button):focus-visible{outline:2px solid #f0b482;outline-offset:3px}
body .essence-booking-return__button .wp-block-button__link{background:transparent!important;border:0!important;box-shadow:none!important}
/* A compact circular native control, not a replacement language implementation. */
body .essence-language select.pll-switcher-select{
 appearance:none;-webkit-appearance:none;box-sizing:border-box;width:48px!important;min-width:48px!important;height:48px!important;
 border:1px solid #00345930!important;border-radius:50%!important;padding:0 10px 0 0!important;
 background-color:#ffffffb3!important;color:#003459!important;box-shadow:none!important;
 font:400 11px/1 var(--font-body);text-transform:uppercase;letter-spacing:.04em;text-align:center;text-align-last:center;cursor:pointer;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%23003459' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
 background-repeat:no-repeat!important;background-position:right 6px center!important;background-size:9px 6px!important;
 transition:border-color .2s,background-color .2s;
}
body .essence-language select.pll-switcher-select:hover{border-color:#1c7783!important;background-color:#fff!important}
body .essence-language select.pll-switcher-select:focus-visible{outline:2px solid #1c7783;outline-offset:4px}
body .essence-language select.pll-switcher-select option{background:#fff;color:#003459}
@media(prefers-reduced-motion:reduce){body .essence-language select.pll-switcher-select,body :is(.essence-slider-prev,.essence-slider-next,.swiper-button-prev,.swiper-button-next,.mfp-arrow,.essence-reviews-controls button){transition:none}}

/* v22 — quiet, readable resort services; no content changes. */
body:is(.page-id-2804,.page-id-2829,.essence-page-source-2804) .essence-editorial-addition>h3{
 margin:40px 0 20px;line-height:1.2;
}
body:is(.page-id-2804,.page-id-2829,.essence-page-source-2804) .essence-editorial-addition>h3+ul{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 40px;
 list-style:none;padding:0;margin:0 0 28px;
}
body:is(.page-id-2804,.page-id-2829,.essence-page-source-2804) .essence-editorial-addition>h3+ul>li{
 position:relative;margin:0;padding:0 0 0 24px;font-size:16px;line-height:1.6;
}
body:is(.page-id-2804,.page-id-2829,.essence-page-source-2804) .essence-editorial-addition>h3+ul>li::before{
 content:"";position:absolute;left:0;top:.5em;width:12px;height:12px;background:#1c7783;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1C10 8 8 10 1 12c7 2 9 4 11 11 2-7 4-9 11-11C16 10 14 8 12 1Z'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1C10 8 8 10 1 12c7 2 9 4 11 11 2-7 4-9 11-11C16 10 14 8 12 1Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
body:is(.page-id-2804,.page-id-2829,.essence-page-source-2804) .essence-editorial-addition>ul+p{margin:28px 0 8px;line-height:1.6}
body:is(.page-id-2804,.page-id-2829,.essence-page-source-2804) .essence-editorial-addition>ul+p+p{margin:0;line-height:1.6}
body:is(.page-id-2804,.page-id-2829,.essence-page-source-2804) .essence-editorial-addition>ul~.wp-block-buttons{margin-top:28px}
@media(max-width:767px){
 body:is(.page-id-2804,.page-id-2829,.essence-page-source-2804) .essence-editorial-addition>h3{margin-top:32px}
 body:is(.page-id-2804,.page-id-2829,.essence-page-source-2804) .essence-editorial-addition>h3+ul{grid-template-columns:minmax(0,1fr);gap:16px}
 body:is(.page-id-2804,.page-id-2829,.essence-page-source-2804) .essence-editorial-addition>ul+p+p{font-size:16px;overflow-wrap:anywhere}
}
/* One continuous original image. Square overscan covers all corners at 30deg,
   including during the 28px entrance drift; no tiled edge or new raster. */
.block-ps-cta-strip.container_scroll--fade::before{
 width:max(120vw,1440px);height:max(120vw,1440px);left:50%;top:50%;
 translate:-50% -50%;transform:rotate(30deg);
 background:linear-gradient(135deg,#1c778380,#1c778340);
 -webkit-mask-size:cover;mask-size:cover;
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}

/* v23: editorial travel bands, white canvas between contrasting subjects. */
.essence-travel-page>.essence-travel-band.wp-block-group {
 max-width:none;width:100%;margin:0;
 padding:64px max(24px,calc((100% - 1092px)/2))!important;
 text-align:left;
}
.essence-travel-band>.essence-travel-heading {
 min-height:0;margin:0 auto 32px;max-width:960px;justify-content:flex-start;
}
.essence-travel-band .essence-travel-heading h2 {font-size:clamp(32px,3.5vw,48px);text-align:left;}
.essence-travel-band>p:not(.essence-travel-note) {font:300 18px/1.7 var(--font-body);margin:20px auto;}
.essence-travel-band>.wp-block-list {max-width:960px;line-height:1.7;}
.essence-travel-band>.wp-block-buttons {max-width:960px;margin:32px auto 0;justify-content:flex-start;}
.essence-travel-band>.essence-travel-columns {max-width:1092px;margin-inline:auto;}
.essence-travel-band--light .essence-travel-card {border-top-color:#1c7783;}
.essence-travel-band--light .essence-travel-table {background:#fff;max-width:960px;}
.essence-travel-band--dark {--travel-ink:#fff;--travel-teal:#f0b482;}
.essence-travel-band--dark :is(h2,h3,p,li,strong) {color:#fff!important;}
.essence-travel-band--dark a:not(.wp-block-button__link) {color:#f0b482;}
.essence-travel-band--dark .wp-block-button__link {color:#003459;background:#f0b482;border-color:#f0b482;}
.essence-travel-band--dark .wp-block-button__link:hover {background:#fff;color:#003459;border-color:#fff;}
.essence-travel-band--dark a:focus-visible {outline:2px solid #f0b482;outline-offset:5px;}
.essence-travel-band--dark li::marker {color:#f0b482;}
.essence-travel-band+.block-ps-cta-strip {margin-top:48px;}
@media(max-width:767px){
 .essence-travel-page>.essence-travel-band.wp-block-group {padding:44px 22px!important;}
 .essence-travel-band>.essence-travel-heading {margin-bottom:24px;}
 .essence-travel-band>p:not(.essence-travel-note) {font-size:17px;line-height:1.65;}
}

/* v25: crisp directional contrast, and avatar crop below the viewport edge. */
.essence-hero .essence-hero__title,
.essence-hero .essence-hero__subtitle {
 text-shadow:1.5px 1.5px 0 #fff!important;
}
body .essence-essy-float:not(.essence-drawer-essy) {
 translate:0 24px;
}

/* Spotify: a slightly larger mark, centered within the existing touch target. */
body .essence-header__inner>.essence-header-tools .essence-music {
 margin:0!important;align-self:center;display:flex;align-items:center;
}
body .essence-header__inner>.essence-header-tools .essence-music a {
 display:grid;place-items:center;width:44px;height:44px;padding:0!important;line-height:1;
}
body .essence-header__inner>.essence-header-tools .essence-music a::before {
 width:30px;height:30px;
}

/* Keep the native accessible Polylang select and its language codes. */
body .essence-language {position:relative;}
body .essence-language::before {
 content:"";position:absolute;z-index:1;pointer-events:none;
 width:16px;height:11px;left:50%;top:8px;transform:translateX(-50%);
 background:var(--essence-language-flag) center/contain no-repeat;
}
html:lang(it) {--essence-language-flag:url('/wp-content/plugins/polylang/flags/it.png');}
html:lang(en) {--essence-language-flag:url('/wp-content/plugins/polylang/flags/gb.png');}
html:lang(de) {--essence-language-flag:url('/wp-content/plugins/polylang/flags/de.png');}
html:lang(fr) {--essence-language-flag:url('/wp-content/plugins/polylang/flags/fr.png');}
body .essence-language select.pll-switcher-select {padding-top:15px!important;}
body .essence-hero .essence-hero__title,
body .essence-hero .essence-hero__subtitle {text-shadow:1.5px 1.5px 0 #fff!important;}

/* White shadow only to the right and below; no outline. */
body .essence-hero .essence-hero__title {
 text-shadow:1.5px 1.5px 0 #fff!important;
}
body .essence-hero .essence-hero__subtitle {
 text-shadow:1.5px 1.5px 0 #fff!important;
}
body .essence-hero .essence-hero__buttons .wp-block-button__link {
 background-color:rgba(255,255,255,.85)!important;
}
body .essence-hero .essence-hero__buttons .wp-block-button__link:hover {
 background-color:#fff!important;
}

/* Pin the icon itself to the center, independent of its hidden text node. */
body .essence-header__inner>.essence-header-tools .essence-music a {position:relative;}
body .essence-header__inner>.essence-header-tools .essence-music a::before {
 position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;
}
/* Flag-only closed select; native option labels remain legible and accessible. */
body .essence-language::before {
 width:20px;height:14px;left:calc(50% - 3px);top:50%;transform:translate(-50%,-50%);
}
body .essence-language select.pll-switcher-select {font-size:0!important;padding:0!important;}
body .essence-language select.pll-switcher-select option {font-size:14px!important;}

/* Mobile trigger: only three generous lines, no frame or fill. */
body .essence-header .wp-block-navigation__responsive-container-open {
 border:0!important;background:transparent!important;box-shadow:none!important;
 width:48px!important;height:48px!important;padding:7px!important;
}
body .essence-header .wp-block-navigation__responsive-container-open svg {width:32px;height:32px;}

/* Cala mobile v33 — image-led hero and native booking shortcuts. */
:root { --essence-whatsapp-icon:url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%3E%3Cpath%20d%3D%22M%2012.011719%202%20C%206.5057187%202%202.0234844%206.478375%202.0214844%2011.984375%20C%202.0204844%2013.744375%202.4814687%2015.462563%203.3554688%2016.976562%20L%202%2022%20L%207.2324219%2020.763672%20C%208.6914219%2021.559672%2010.333859%2021.977516%2012.005859%2021.978516%20L%2012.009766%2021.978516%20C%2017.514766%2021.978516%2021.995047%2017.499141%2021.998047%2011.994141%20C%2022.000047%209.3251406%2020.962172%206.8157344%2019.076172%204.9277344%20C%2017.190172%203.0407344%2014.683719%202.001%2012.011719%202%20z%20M%2012.009766%204%20C%2014.145766%204.001%2016.153109%204.8337969%2017.662109%206.3417969%20C%2019.171109%207.8517969%2020.000047%209.8581875%2019.998047%2011.992188%20C%2019.996047%2016.396187%2016.413812%2019.978516%2012.007812%2019.978516%20C%2010.674812%2019.977516%209.3544062%2019.642812%208.1914062%2019.007812%20L%207.5175781%2018.640625%20L%206.7734375%2018.816406%20L%204.8046875%2019.28125%20L%205.2851562%2017.496094%20L%205.5019531%2016.695312%20L%205.0878906%2015.976562%20C%204.3898906%2014.768562%204.0204844%2013.387375%204.0214844%2011.984375%20C%204.0234844%207.582375%207.6067656%204%2012.009766%204%20z%20M%208.4765625%207.375%20C%208.3095625%207.375%208.0395469%207.4375%207.8105469%207.6875%20C%207.5815469%207.9365%206.9355469%208.5395781%206.9355469%209.7675781%20C%206.9355469%2010.995578%207.8300781%2012.182609%207.9550781%2012.349609%20C%208.0790781%2012.515609%209.68175%2015.115234%2012.21875%2016.115234%20C%2014.32675%2016.946234%2014.754891%2016.782234%2015.212891%2016.740234%20C%2015.670891%2016.699234%2016.690438%2016.137687%2016.898438%2015.554688%20C%2017.106437%2014.971687%2017.106922%2014.470187%2017.044922%2014.367188%20C%2016.982922%2014.263188%2016.816406%2014.201172%2016.566406%2014.076172%20C%2016.317406%2013.951172%2015.090328%2013.348625%2014.861328%2013.265625%20C%2014.632328%2013.182625%2014.464828%2013.140625%2014.298828%2013.390625%20C%2014.132828%2013.640625%2013.655766%2014.201187%2013.509766%2014.367188%20C%2013.363766%2014.534188%2013.21875%2014.556641%2012.96875%2014.431641%20C%2012.71875%2014.305641%2011.914938%2014.041406%2010.960938%2013.191406%20C%2010.218937%2012.530406%209.7182656%2011.714844%209.5722656%2011.464844%20C%209.4272656%2011.215844%209.5585938%2011.079078%209.6835938%2010.955078%20C%209.7955938%2010.843078%209.9316406%2010.663578%2010.056641%2010.517578%20C%2010.180641%2010.371578%2010.223641%2010.267562%2010.306641%2010.101562%20C%2010.389641%209.9355625%2010.347156%209.7890625%2010.285156%209.6640625%20C%2010.223156%209.5390625%209.737625%208.3065%209.515625%207.8125%20C%209.328625%207.3975%209.131125%207.3878594%208.953125%207.3808594%20C%208.808125%207.3748594%208.6425625%207.375%208.4765625%207.375%20z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E"); }
.essence-mobile-part .essence-mobile-actions { display:none; }
@media(max-width:1024px) {
 body { --essence-bar-height:76px; --essence-mobile-photo-height:calc(100svh - var(--essence-bar-height) - env(safe-area-inset-bottom,0px)); }
 /* Only the closed header over the home photograph loses its background.
    The existing scrolled header, language dropdown and drawer stay intact. */
 body.is-cll-front:not(.scroll-down):not(.essence-directional-menu-open) .essence-header-part,
 body.is-cll-front:not(.scroll-down):not(.essence-directional-menu-open) .essence-header-part .essence-header,
 body.is-cll-front:not(.scroll-down):not(.essence-directional-menu-open) .essence-header-part .essence-header:hover {
  background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 }
 body.is-cll-front .essence-hero {
  display:block!important;height:auto!important;min-height:var(--essence-mobile-photo-height)!important;max-height:none!important;
  padding:calc(var(--essence-mobile-photo-height) - 144px) 24px 34px!important;
  background:#fff!important;
 }
 body.is-cll-front .essence-hero .essence-hero__slides {
  top:0!important;bottom:auto!important;height:var(--essence-mobile-photo-height)!important;
 }
 body.is-cll-front .essence-hero::after {
  top:0;bottom:auto;height:var(--essence-mobile-photo-height);
  /* Same opacity progression, compressed into one third of the first viewport. */
  background:linear-gradient(180deg,rgba(255,255,255,0) calc(100% - 33.333svh),rgba(255,255,255,.38) calc(100% - 25.463svh),rgba(255,255,255,.78) calc(100% - 16.204svh),rgba(255,255,255,.95) calc(100% - 6.944svh),#fff 100%)!important;
 }
 body.is-cll-front .essence-hero .essence-hero__copy { top:0!important; }
 body.is-cll-front .essence-hero .essence-hero__copy,
 body.is-cll-front .essence-hero .essence-hero__copy * {
  text-shadow:none!important;-webkit-text-stroke:0!important;
 }
 body.is-cll-front .essence-hero .essence-hero__buttons .wp-block-button__link { box-shadow:none!important; }
 /* Keep the original Essy source for desktop and the unchanged drawer clone. */
 body .essence-mobile-part .essence-essy-float { display:none!important; }
 body .essence-mobile-part {
  position:fixed!important;inset:auto 0 0!important;width:100%!important;max-width:none!important;
  margin:0!important;padding:0 0 env(safe-area-inset-bottom,0px)!important;
  background:var(--wp--preset--color--essence-navy,#003459)!important;
  border:0!important;box-shadow:none!important;z-index:990;
  translate:none!important;transform:none!important;
 }
 body .essence-mobile-part .essence-mobile-actions { display:block!important;margin:0!important;padding:0!important; }
 body .essence-mobile-part .essence-mobile-actions__buttons {
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0!important;margin:0!important;
 }
 body .essence-mobile-part .essence-mobile-actions__buttons .wp-block-button { margin:0!important;width:100%!important; }
 body .essence-mobile-part .essence-mobile-actions__buttons .wp-block-button__link {
  display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  height:var(--essence-bar-height)!important;min-height:var(--essence-bar-height)!important;width:100%;
  padding:9px 6px!important;margin:0!important;background:transparent!important;color:#fff!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;text-shadow:none!important;
  font:400 16px/20px var(--font-titles)!important;letter-spacing:0!important;text-transform:none!important;
  text-decoration:none!important;transform:none!important;transition:background-color .2s ease;
 }
 body .essence-mobile-part .essence-mobile-actions__buttons a::before {
  display:block;flex:none;width:28px;height:28px;background:#fff;filter:none;
  -webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;
 }
 body .essence-mobile-part .essence-mobile-actions__buttons a:hover,
 body .essence-mobile-part .essence-mobile-actions__buttons a:focus-visible { background:#ffffff14!important; }
 body .essence-mobile-part .essence-mobile-actions__buttons a:focus-visible { outline:2px solid #f0b482;outline-offset:-4px; }
 body .essence-mobile-part .essence-action-whatsapp a::before {
  -webkit-mask-image:var(--essence-whatsapp-icon);mask-image:var(--essence-whatsapp-icon);
 }
 body .wp-site-blocks { padding-bottom:calc(var(--essence-bar-height) + env(safe-area-inset-bottom,0px))!important; }
 body .essence-footer__credit { padding-bottom:24px!important; }
}
/* Short landscape screens retain a usable scrolling composition. */
@media(max-width:1024px) and (max-height:500px) and (orientation:landscape) {
 body { --essence-mobile-photo-height:460px; }
 body.is-cll-front .essence-hero { padding-top:160px!important; }
 body.is-cll-front .essence-hero::after {
  background:linear-gradient(180deg,#fff0 15%,#ffffff61 35%,#ffffffc7 60%,#fffffff2 85%,#fff 100%)!important;
 }
}
/* End Cala mobile v33. */

/* Cala mobile v34 — centred logo, directional actions, feathered returning header. */
@media(max-width:1024px) {
 /* Scale the image only: its centre, link target and neighbouring controls stay fixed. */
 body .essence-header .essence-brand img {
  transform:scale(.85)!important;transform-origin:50% 50%!important;
 }
 /* The legacy floating avatar keeps actions-visible set. Use the existing
    directional header state instead; no second scroll listener is necessary. */
 body.essence-directional-ready .essence-mobile-part {
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transition:opacity .32s ease-out,visibility 0s .32s!important;
 }
 body.essence-directional-ready.essence-header-hidden:not(.essence-directional-menu-open):not(.essence-dialog-open) .essence-mobile-part {
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  transition:opacity .42s ease-out,visibility 0s!important;
 }
 /* No entrance/exit flash while the first viewport is still at the top. */
 body.essence-directional-ready:not(.scroll-down) .essence-mobile-part {
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:none!important;
 }
 /* Keep the existing initial home transparency and opened menu untouched.
    Extend the returning header's white fade past its lower edge, without blur. */
 body.scroll-down:not(.essence-directional-menu-open) .essence-header-part,
 body.scroll-down:not(.essence-directional-menu-open) .essence-header-part .essence-header,
 body.scroll-down:not(.essence-directional-menu-open) .essence-header-part .essence-header:hover {
  background:transparent!important;box-shadow:none!important;
 }
 body.scroll-down:not(.essence-directional-menu-open) .essence-header-part::before {
  content:"";position:absolute;inset:0 0 -36px;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.96) 30%,rgba(255,255,255,.82) 56%,rgba(255,255,255,.35) 80%,rgba(255,255,255,0) 100%);
 }
}
@media(max-width:1024px) and (prefers-reduced-motion:reduce) {
 body.essence-directional-ready .essence-mobile-part,
 body.essence-directional-ready.essence-header-hidden:not(.essence-directional-menu-open):not(.essence-dialog-open) .essence-mobile-part {
  transition:none!important;
 }
}
/* End Cala mobile v34. */

/* Cala mobile v35 — first-frame header veil and compact hospitality actions. */
@media(max-width:1024px) {
 body { --essence-action-key:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%225%22%2F%3E%3Cpath%20d%3D%22m11.5%2011.5%208%208m-4-4%202-2m.5%204.5%202-2%22%2F%3E%3Ccircle%20cx%3D%227%22%20cy%3D%227%22%20r%3D%22.7%22%20fill%3D%22white%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E"); --essence-action-request:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.5%2012.5v3A2.5%202.5%200%200%201%2018%2018H9l-5%203v-5A2.5%202.5%200%200%201%202.5%2013.5v-8A2.5%202.5%200%200%201%205%203h9%22%2F%3E%3Cpath%20d%3D%22m13%2011%201-4%205-5%203%203-5%205-4%201zm5-8%203%203M7%208h3m-3%205h6%22%2F%3E%3C%2Fsvg%3E"); }
 /* Match the returning header even before any scroll event. No blur or hard edge. */
 body.is-cll-front:not(.scroll-down):not(.essence-directional-menu-open) .essence-header-part::before {
  content:"";position:absolute;inset:0 0 -36px;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.96) 30%,rgba(255,255,255,.82) 56%,rgba(255,255,255,.35) 80%,rgba(255,255,255,0) 100%);
 }
 body {
  --essence-bar-height:61px;
  /* Keep the approved hero composition independent of the shorter action bar. */
  --essence-mobile-photo-height:calc(100svh - 76px - env(safe-area-inset-bottom,0px));
 }
 body .essence-mobile-part .essence-mobile-actions__buttons .wp-block-button__link {
  gap:4px!important;padding:8px 6px!important;
  font:300 12px/16px var(--font-body)!important;
  letter-spacing:.07em!important;text-transform:uppercase!important;
 }
 body .essence-mobile-part .essence-mobile-actions__buttons a::before {
  width:24px!important;height:24px!important;
 }
 body .essence-mobile-part .essence-action-book a::before {
  -webkit-mask-image:var(--essence-action-key);mask-image:var(--essence-action-key);
 }
 body .essence-mobile-part .essence-action-quote a::before {
  -webkit-mask-image:var(--essence-action-request);mask-image:var(--essence-action-request);
 }
}
@media(max-width:1024px) and (max-height:500px) and (orientation:landscape) {
 body { --essence-mobile-photo-height:460px; }
}
/* End Cala mobile v35. */

/* Cala header v40 — eased opacity curve, clear at 80px; full logo centered with controls. */
@media(max-width:1024px) {
 body.is-cll-front:not(.scroll-down):not(.essence-directional-menu-open) .essence-header-part::before,
 body.scroll-down:not(.essence-directional-menu-open) .essence-header-part::before {
  inset:0 0 -8px;
  /* Smoothstep opacity: flat slope at both ends, no abrupt final cutoff. */
  background:linear-gradient(180deg,
   rgba(255,255,255,1) 10px,
   rgba(255,255,255,.972) 17px,
   rgba(255,255,255,.896) 24px,
   rgba(255,255,255,.784) 31px,
   rgba(255,255,255,.648) 38px,
   rgba(255,255,255,.5) 45px,
   rgba(255,255,255,.352) 52px,
   rgba(255,255,255,.216) 59px,
   rgba(255,255,255,.104) 66px,
   rgba(255,255,255,.028) 73px,
   rgba(255,255,255,0) 80px);
 }
 body .essence-header-part .essence-header .essence-brand img {
  transform:scale(.85)!important;
  transform-origin:50% 50%!important;
 }
}
/* End Cala header v40. */

/* Cala v41: remove former directional white text shadow, all viewport sizes. */
body.is-cll-front .essence-hero .essence-hero__title,body.is-cll-front .essence-hero .essence-hero__subtitle{text-shadow:none!important;-webkit-text-stroke:0!important;filter:none!important;}

/* v44: respect Gutenberg center alignment in travel title wrappers. */
.essence-travel-heading > .wp-block-heading.has-text-align-center {
    width: 100%;
    text-align: center !important;
}

/* v44: keep the final check-out notice immediately below the booking guarantee. */
.essence-booking-anchor:has(> .essence-season-checkout) > .block-ps-booking-engine {
    margin-bottom: 0 !important;
}

/* v45: reduce the complete newsletter proportionally around its existing top centre. */
.essence-footer .essence-footer__newsletter {
    transform: scale(.75);
    transform-origin: 50% 0;
}

/* v47: transparent pool glass and a pronounced 20px Essence-card hover step. */
body.is-cll-front .essence-pool .essence-pool-glass {
    padding: 15px;
    background: linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.07)) rgba(0,52,89,.18);
    -webkit-backdrop-filter: blur(10px) saturate(135%);
    backdrop-filter: blur(10px) saturate(135%);
    border: 1px solid rgba(255,255,255,.5);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.25),0 12px 32px rgba(0,35,60,.18);
    color: #fff;
}
body.is-cll-front .essence-pool .essence-pool-glass :is(h2,p) {
    color: #fff !important;
    text-shadow: 0 1px 3px rgba(0,35,60,.3);
}
body.is-cll-front .essence-pool .essence-pool-glass .wp-block-button__link {
    color: #fff;
    border-color: rgba(255,255,255,.85);
    background: rgba(255,255,255,.06);
}
body.is-cll-front .block-ps-essenze .essenza-card:hover {
    transform: translateY(-20px);
}

/* v48: clearer square glass, no white rim; 40px Essence-card hover step. */
body.is-cll-front .essence-pool .essence-pool-glass {
    -webkit-backdrop-filter: blur(6px) saturate(135%);
    backdrop-filter: blur(6px) saturate(135%);
    border: 0;
    border-radius: 0;
    box-shadow: 0 12px 32px rgba(0,35,60,.18);
}
body.is-cll-front .block-ps-essenze .essenza-card:hover {
    transform: translateY(-40px);
}

/* Motto v50: editorial desktop, decorative paired stars on mobile. */
body .essence-motto .essence-motto__break{display:none}
body .essence-motto .essence-motto__items>li::before,
body .essence-motto .essence-motto__items>li::after{
 content:"";display:block;flex:0 0 22px;width:22px;height:22px;
 background:#efb07d;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C13.9 7.6 16.4 10.1 24 12C16.4 13.9 13.9 16.4 12 24C10.1 16.4 7.6 13.9 0 12C7.6 10.1 10.1 7.6 12 0Z'/%3E%3C/svg%3E") center/contain no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C13.9 7.6 16.4 10.1 24 12C16.4 13.9 13.9 16.4 12 24C10.1 16.4 7.6 13.9 0 12C7.6 10.1 10.1 7.6 12 0Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media(min-width:1025px){
 body .essence-motto{display:grid!important;grid-template-columns:.85fr 1.15fr!important;align-items:center!important;gap:clamp(48px,6.67vw,96px)!important;padding:88px max(64px,calc((100vw - 1180px)/2))!important;background:#fff!important;text-align:left!important;min-height:470px!important;box-sizing:border-box!important}
 body .essence-motto h2{font-family:AtGambit,serif!important;font-size:clamp(60px,5.28vw,76px)!important;line-height:1.04!important;font-weight:400!important;letter-spacing:-1.2px!important;margin:0!important;text-align:left!important;color:#003459!important}
 body .essence-motto h2 .essence-motto__intro{display:block;font-family:"Acherus Feral",sans-serif;font-size:20px;line-height:1.5;letter-spacing:0;margin-bottom:24px;color:#1c7783}
 body .essence-motto .essence-motto__break{display:block}
 body .essence-motto .essence-motto__items{display:flex!important;flex-direction:column!important;gap:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;font-family:"Acherus Feral",sans-serif!important;font-size:21px!important;line-height:1.4!important}
 body .essence-motto .essence-motto__items>li{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:20px!important;padding:21px 0!important;min-height:0!important;width:100%!important;border:0!important;border-bottom:1px solid rgba(28,119,131,.18)!important;text-align:left!important;margin:0!important;box-sizing:border-box!important;color:#003459!important}
 body .essence-motto .essence-motto__items>li:last-child{border-bottom:0!important}
 body .essence-motto .essence-motto__items>li::after{display:none}
}
@media(max-width:1024px){
 body .essence-motto .essence-motto__items{display:block!important;max-width:440px!important;margin-inline:auto!important}
 body .essence-motto .essence-motto__items>li{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;padding:16px 0!important;border-right:0!important}
 body .essence-motto .essence-motto__items>li::before,
 body .essence-motto .essence-motto__items>li::after{width:14px;height:14px;flex-basis:14px}
}

/* v51: heading rhythm across all pages; preserve desktop alignment and detail-page alternation. */
body main :is(h2,h3) + p,
body main .essence-travel-heading + p {padding-top:10px!important}
body main .essence-travel-section .wp-block-column :is(h2,h3) + p {padding-top:20px!important}
/* Use the original logo's alpha silhouette: exact Essence blue, no raster recolouring or loss of its accessible alt. */
@supports ((mask-image:url("")) or (-webkit-mask-image:url(""))){
 body .essence-footer__logo {position:relative}
 body .essence-footer__logo img {opacity:0}
 body .essence-footer__logo::after {
  content:"";position:absolute;inset:0;background:#131c31;pointer-events:none;
  -webkit-mask:url("/wp-content/themes/calalaluna/img/brand/essence-hotels-navy.png") center/contain no-repeat;
  mask:url("/wp-content/themes/calalaluna/img/brand/essence-hotels-navy.png") center/contain no-repeat;
 }
}

/* v51 final: mobile paragraph alignment follows the existing typeface. */
@media(max-width:1024px){
 body main p {text-align:left!important}
 body main .essence-reference-intro__copy p,
 body main .essence-travel-section > p,
 body main .essence-about-value p,
 body main p.essence-hero__subtitle,
 body main p.essence-hero__stars,
 body main p.essence-review-card__quote {text-align:center!important}
 /* Banner labels remain centred with their page title, not treated as body copy. */
 body main .essence-inner-banner p,
 body main .essence-travel-hero p {text-align:center!important}
 body main .room__text p {text-align:left!important}
 body main .wp-block-buttons,
 body main .room__cta {justify-content:center!important;text-align:center!important}
 body main .wp-block-button {text-align:center!important}
 body main .essence-sea-night-gallery {margin-top:32px!important}
}
body main .essence-programme-button-row {margin-top:20px!important}
body main .essence-sea-dining .essence-travel-heading {min-height:0;margin-bottom:0}
body main .essence-sea-restaurant-icon {display:flex;justify-content:center;align-items:center;margin:16px auto!important;color:#1c7783}
body main .essence-sea-restaurant-icon .essence-icon {width:48px;height:48px;min-height:0;margin:0;display:flex;align-items:center;justify-content:center}
body main .essence-sea-restaurant-icon svg {width:48px;height:48px}
body main .essence-sea-dining > p {margin-top:16px}

/* Existing travel bands and notes use Acherus rather than the section's serif body. */
@media(max-width:1024px){
 body main .essence-travel-band > p,
 body main p.essence-travel-note {text-align:left!important}
}
body .essence-travel-band--dark .essence-travel-table thead th {
 background:#1c7783!important;color:#fff!important;
}
/* The About motto is the same native group as Home, extended through the parent's gutters. */
body .essence-about-gallery--clean .essence-motto {
 width:calc(100% + 40px)!important;max-width:none!important;margin-inline:-20px!important;
}
body .essence-about-gallery--clean .essence-about-ss {
 margin-bottom:-40px!important;position:relative;z-index:2;
}
/* Ordered asymmetrical mosaic: no dense reordering, all original image links retained. */
@media(max-width:767px){
 body .essence-gallery.essence-gallery--reveal.wp-block-gallery {
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:clamp(64px,calc((100vw - 64px)/4),150px);grid-auto-flow:row;
  gap:8px!important;padding-inline:16px;
 }
 body .essence-gallery--reveal.wp-block-gallery > .wp-block-image {
  grid-column:span 1;grid-row:span 1;height:100%!important;width:100%!important;min-height:0;
 }
 body .essence-gallery--reveal.wp-block-gallery > .wp-block-image:nth-child(8n+1),
 body .essence-gallery--reveal.wp-block-gallery > .wp-block-image:nth-child(8n+6),
 body .essence-gallery--reveal.wp-block-gallery > .wp-block-image:nth-child(8n+7) {
  grid-column:span 2;grid-row:span 2;
 }
 body .essence-gallery--reveal.wp-block-gallery > .wp-block-image:nth-child(8n+4) {
  grid-column:span 3;grid-row:span 2;
 }
 body .essence-gallery--reveal.wp-block-gallery > .wp-block-image:nth-child(8n+5),
 body .essence-gallery--reveal.wp-block-gallery > .wp-block-image:nth-child(8n+8) {
  grid-row:span 2;
 }
 body .essence-gallery--reveal.wp-block-gallery > .wp-block-image > a,
 body .essence-gallery--reveal.wp-block-gallery > .wp-block-image img {
  width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;
 }
 body .essence-gallery--reveal.wp-block-gallery > .wp-block-image > a {cursor:zoom-in;touch-action:manipulation}
}

/* v52 · Chi siamo photo proportions and contact information, mobile only. */
@media (max-width:767px) {
  body .essence-about-mission > figure.wp-block-image {
    height:auto !important;
    min-height:0 !important;
    align-self:start;
  }
  body .essence-about-mission > figure.wp-block-image img {
    display:block;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
    object-fit:contain;
  }
  body main .essence-contact-info :is(p,h2,h3),
  body main .essence-contact-info__details,
  body main .essence-reference-faq__heading :is(p,h2) {
    text-align:center !important;
  }
  body .essence-contact-info__details {
    margin-inline:auto;
    max-width:100%;
  }
  body .essence-contact-info__details p {
    margin-inline:auto;
    overflow-wrap:anywhere;
  }
}

/* v53 · Remove the Home pause badge; preserve existing automatic motion. */
body.home .essence-motion-toggle { display:none !important; }
body:is(.marina-no-equivalent-302,.marina-no-equivalent-360,.marina-no-equivalent-647,.marina-no-equivalent-668) .essence-travel-band--light > .essence-travel-heading h2,
body:is(.marina-no-equivalent-302,.marina-no-equivalent-360,.marina-no-equivalent-647,.marina-no-equivalent-668) .essence-travel-band--light > h2 {text-align:center!important;}
/* Move the room photograph down 150px from the existing bottom crop, without changing banner size. */
@media (min-width:768px) {
 body .essence-rooms-banner > img.wp-block-cover__image-background {
  object-position:50% calc(100% + 150px) !important;
 }
}
/* Beach/night editorial block: common edges, clear title rhythm, distinct photo row. */
body .essence-sea-night-section .essence-sea-night-gallery { margin-top:40px !important; }
@media (min-width:768px) {
 body .essence-sea-night-section > .wp-block-columns:first-child { align-items:flex-start !important; gap:40px !important; }
 body .essence-sea-night-section > .wp-block-columns:first-child > .wp-block-column { align-self:flex-start !important; }
 body .essence-sea-night-section .essence-travel-heading { min-height:0 !important; margin-bottom:24px !important; }
 body .essence-sea-night-section .essence-travel-heading h2 { margin:0 !important; line-height:1.12; }
 body .essence-sea-night-section .essence-travel-heading + p { margin-top:0 !important; padding-top:0 !important; }
 body .essence-sea-night-section .wp-block-column > p + p { margin-top:16px !important; }
 body .essence-sea-night-section .wp-block-column p { text-align:left !important; line-height:1.5; }
 body .essence-sea-night-section .essence-sea-night-gallery { gap:16px !important; }
 body .essence-sea-night-section .essence-sea-night-gallery figure { margin:0 !important; }
 body .essence-sea-night-section .essence-sea-night-gallery img { width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block; }
}

/* The existing restaurant icon was inheriting a filled silhouette. Keep its elegant outline. */
body .essence-sea-restaurant-icon svg,
body .essence-sea-restaurant-icon svg path {
 fill:none !important;stroke:currentColor !important;stroke-width:1.5;
 stroke-linecap:round;stroke-linejoin:round;
}
body .essence-sea-restaurant-icon {color:#1c7783;}
body .essence-events-panel {max-width:1200px;margin:48px auto;gap:48px;align-items:center;}
body .essence-events-panel .essence-service-slideshow--events.is-gallery-ready {height:400px!important;max-width:100%;}
body .essence-events-panel .room__thumbs {grid-template-columns:repeat(5,minmax(0,1fr));}
body .essence-events-panel .room__thumb img {height:64px;}
body .essence-events-panel p.essence-event-stock-note {font-size:12px;line-height:1.5;margin-top:16px;text-align:center!important;}
@media(max-width:767px){
 body .essence-events-panel {gap:32px;margin-block:32px;padding-inline:15px;}
 body .essence-events-panel .essence-service-slideshow--events.is-gallery-ready {height:280px!important;}
 body .essence-events-panel .room__thumb img {height:48px;}
}

/* The same ordered asymmetric mosaic on desktop and mobile; native links and reveal/hover remain. */
@media(min-width:768px){
 body main .essence-gallery.essence-gallery--reveal.wp-block-gallery {
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:clamp(140px,18vw,240px);grid-auto-flow:row;
  gap:16px!important;
 }
 body main .essence-gallery--reveal.wp-block-gallery > figure.wp-block-image {grid-column:span 1;grid-row:span 1;}
 body main .essence-gallery--reveal.wp-block-gallery > figure.wp-block-image:nth-child(8n+1),
 body main .essence-gallery--reveal.wp-block-gallery > figure.wp-block-image:nth-child(8n+6),
 body main .essence-gallery--reveal.wp-block-gallery > figure.wp-block-image:nth-child(8n+7) {grid-column:span 2;grid-row:span 2;}
 body main .essence-gallery--reveal.wp-block-gallery > figure.wp-block-image:nth-child(8n+4) {grid-column:span 3;grid-row:span 2;}
 body main .essence-gallery--reveal.wp-block-gallery > figure.wp-block-image:nth-child(8n+5),
 body main .essence-gallery--reveal.wp-block-gallery > figure.wp-block-image:nth-child(8n+8) {grid-row:span 2;}
}
/* Match core gallery specificity so intrinsic aspect ratios cannot stretch the grid tracks. */
body main .essence-gallery.essence-gallery--reveal.wp-block-gallery.has-nested-images > figure.wp-block-image:not(#individual-image) {
 width:100%!important;height:100%!important;min-height:0!important;
 max-width:none!important;margin:0!important;aspect-ratio:auto!important;overflow:hidden;
}
body main .essence-gallery.essence-gallery--reveal.wp-block-gallery.has-nested-images > figure.wp-block-image:not(#individual-image) > a,
body main .essence-gallery.essence-gallery--reveal.wp-block-gallery.has-nested-images > figure.wp-block-image:not(#individual-image) img {
 width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;
}

/* v57: room actions, optical rental heading and a denser ordered mosaic. */
@media (max-width:767px) {
 body .room__grid .room__cta {display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:center!important;gap:12px!important;width:100%;}
 body .room__grid .room__cta > a {flex:0 1 160px!important;min-width:0!important;width:auto!important;padding:14px 8px!important;text-align:center!important;font-size:13px!important;letter-spacing:.06em!important;}
 body .essence-events-panel .essence-room-star {width:36px!important;min-width:36px!important;flex-basis:36px!important;}
}
@media (min-width:768px) {
 body .essence-rooms-banner > img.wp-block-cover__image-background {object-position:50% calc(100% + 350px)!important;}
}
body:is(.marina-no-equivalent-302,.marina-no-equivalent-360,.marina-no-equivalent-647,.marina-no-equivalent-668) .essence-travel-band--light > .essence-travel-heading {justify-content:center!important;}
body:is(.marina-no-equivalent-302,.marina-no-equivalent-360,.marina-no-equivalent-647,.marina-no-equivalent-668) .essence-travel-band--light > .essence-travel-heading > h2 {width:100%!important;flex:1 1 100%!important;text-align:center!important;}
body .essence-events-panel .room__thumbs {grid-template-columns:repeat(7,minmax(0,1fr))!important;}
body main .essence-gallery.essence-gallery--reveal.wp-block-gallery.has-nested-images {width:calc(93.333333% + 9.333333px)!important;max-width:1204px!important;margin-inline:auto!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:clamp(98px,12.6vw,168px)!important;gap:12px!important;grid-auto-flow:row!important;}
body main .essence-gallery.essence-gallery--reveal.wp-block-gallery.has-nested-images > figure.wp-block-image:not(#individual-image):nth-child(n) {grid-column:span 1!important;grid-row:span 1!important;}
body main .essence-gallery.essence-gallery--reveal.wp-block-gallery.has-nested-images > figure.wp-block-image:not(#individual-image):is(:nth-child(10n+1),:nth-child(10n+6),:nth-child(10n+7),:nth-child(10n+9)) {grid-column:span 2!important;grid-row:span 2!important;}
body main .essence-gallery.essence-gallery--reveal.wp-block-gallery.has-nested-images > figure.wp-block-image:not(#individual-image):is(:nth-child(10n+8),:nth-child(10n+10)) {grid-row:span 2!important;}
@media (max-width:767px) {
 body main .essence-gallery.essence-gallery--reveal.wp-block-gallery.has-nested-images {width:calc(93.333333% + 5.2px)!important;max-width:none!important;grid-auto-rows:clamp(44.8px,calc((100vw - 64px)*.175),105px)!important;gap:6px!important;}
}

/* Mobile excursion proposals: consistent text/photo grouping, desktop unchanged. */
@media (max-width:781px) {
 body .essence-excursion-options {display:flex!important;flex-direction:column!important;gap:40px!important;}
 body .essence-excursion-options > .wp-block-columns {display:flex!important;flex-direction:column!important;gap:24px!important;margin-block:0!important;}
 body .essence-excursion-options > .wp-block-columns > .wp-block-column {width:100%!important;flex-basis:auto!important;margin-block:0!important;}
 body .essence-excursion-options > .wp-block-columns > .wp-block-column:has(> h3) {order:1!important;}
 body .essence-excursion-options > .wp-block-columns > .wp-block-column:has(> figure.wp-block-image) {order:2!important;}
 body .essence-excursion-options .wp-block-column > h3 {margin-block:0 20px!important;text-align:left!important;}
 body .essence-excursion-options .wp-block-column > p {margin-block:0!important;text-align:left!important;}
 body .essence-excursion-options .wp-block-column > figure.wp-block-image {margin:0!important;width:100%!important;}
 body .essence-excursion-options .wp-block-image img {display:block;width:100%!important;height:auto!important;}
}
