.elementor-18565 .elementor-element.elementor-element-2ff7822{--display:flex;--z-index:9999;}.elementor-18565 .elementor-element.elementor-element-205378f{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Cormorant Garamond;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Cormorant Garamond;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-18565 .elementor-element.elementor-element-54dcd25 .elementor-menu-toggle{margin:0 auto;}.elementor-18565 .elementor-element.elementor-element-54dcd25 .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-accent-font-family ), Cormorant Garamond;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-18565 .elementor-element.elementor-element-54dcd25 .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-3a38a6c );fill:var( --e-global-color-3a38a6c );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Cormorant Garamond;font-weight:var( --e-global-typography-text-font-weight );font-style:var( --e-global-typography-text-font-style );}.elementor-18565 .elementor-element.elementor-element-acba622.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-18565 .elementor-element.elementor-element-895720b .elementor-menu-toggle{margin:0 auto;}.elementor-18565 .elementor-element.elementor-element-895720b .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-accent-font-family ), Cormorant Garamond;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-18565 .elementor-element.elementor-element-21431b3{--display:flex;--z-index:9999;}.elementor-18565 .elementor-element.elementor-element-21431b3.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-18565 .elementor-element.elementor-element-58c769d{--spacer-size:50px;}.elementor-18565 .elementor-element.elementor-element-3d6ad4e.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-18565 .elementor-element.elementor-element-b96ac9d{--display:flex;}.elementor-widget-wpml-language-switcher .wpml-elementor-ls .wpml-ls-item .wpml-ls-link, 
					.elementor-widget-wpml-language-switcher .wpml-elementor-ls .wpml-ls-legacy-dropdown a{color:var( --e-global-color-text );}.elementor-widget-wpml-language-switcher .wpml-elementor-ls .wpml-ls-legacy-dropdown a:hover,
					.elementor-widget-wpml-language-switcher .wpml-elementor-ls .wpml-ls-legacy-dropdown a:focus,
					.elementor-widget-wpml-language-switcher .wpml-elementor-ls .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover>a,
					.elementor-widget-wpml-language-switcher .wpml-elementor-ls .wpml-ls-item .wpml-ls-link:hover,
					.elementor-widget-wpml-language-switcher .wpml-elementor-ls .wpml-ls-item .wpml-ls-link.wpml-ls-link__active,
					.elementor-widget-wpml-language-switcher .wpml-elementor-ls .wpml-ls-item .wpml-ls-link.highlighted,
					.elementor-widget-wpml-language-switcher .wpml-elementor-ls .wpml-ls-item .wpml-ls-link:focus{color:var( --e-global-color-accent );}.elementor-widget-wpml-language-switcher .wpml-elementor-ls .wpml-ls-statics-post_translations{color:var( --e-global-color-text );}.elementor-18565 .elementor-element.elementor-element-676c011.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-18565 .elementor-element.elementor-element-676c011 .elementor-menu-toggle{margin:0 auto;}.elementor-18565{margin:-100px -100px -100px -100px;padding:0px 0px 0px 0px;}@media(max-width:1024px) and (min-width:768px){.elementor-18565 .elementor-element.elementor-element-b96ac9d{--width:83px;}}@media(max-width:1024px){.elementor-18565 .elementor-element.elementor-element-205378f{--grid-auto-flow:row;}.elementor-18565 .elementor-element.elementor-element-21431b3{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:8px 8px;--row-gap:8px;--column-gap:8px;}.elementor-18565 .elementor-element.elementor-element-58c769d{width:var( --container-widget-width, 83px );max-width:83px;--container-widget-width:83px;--container-widget-flex-grow:0;}.elementor-18565 .elementor-element.elementor-element-b96ac9d{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;}.elementor-18565 .elementor-element.elementor-element-c501062{width:auto;max-width:auto;}.elementor-18565 .elementor-element.elementor-element-676c011{width:auto;max-width:auto;}}@media(max-width:767px){.elementor-18565 .elementor-element.elementor-element-205378f{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-18565 .elementor-element.elementor-element-21431b3{--min-height:0px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:8px 8px;--row-gap:8px;--column-gap:8px;}.elementor-18565 .elementor-element.elementor-element-58c769d{width:var( --container-widget-width, 83px );max-width:83px;--container-widget-width:83px;--container-widget-flex-grow:0;}.elementor-18565 .elementor-element.elementor-element-3d6ad4e{width:auto;max-width:auto;}.elementor-18565 .elementor-element.elementor-element-b96ac9d{--width:83px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--flex-wrap:nowrap;}.elementor-18565 .elementor-element.elementor-element-c501062{width:auto;max-width:auto;}.elementor-18565 .elementor-element.elementor-element-676c011{width:auto;max-width:auto;}}/* Start custom CSS for container, class: .elementor-element-2ff7822 *//* Initial transparent state */

/* Scrolled state */
.elementor-18565 .elementor-element.elementor-element-2ff7822.elementor-sticky--effects {
    min-height: 70px;
    padding-top: 4px;
    padding-bottom: 4px;
    background: rgba(254, 250, 242, 0.94);
    border-bottom: 1px solid rgba(30, 61, 32, 0.07);
    box-shadow: 0 12px 35px rgba(28, 28, 24, 0.09);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

/* Logo transition */
.elementor-18565 .elementor-element.elementor-element-2ff7822 .vd-nav-logo img {
    width: 210px;
    max-height: 110px;
    object-fit: contain;
    transition:
        width 0.4s ease,
        max-height 0.4s ease;
}

.elementor-18565 .elementor-element.elementor-element-2ff7822.elementor-sticky--effects .vd-nav-logo img {
    width: 110px;
    max-height: 54px;
}

/* Navigation link colours */
.elementor-18565 .elementor-element.elementor-element-2ff7822 .vd-nav-menu .elementor-item {
    color: rgba(254, 250, 242, 0.9);
    transition: color 0.3s ease;
}

.elementor-18565 .elementor-element.elementor-element-2ff7822.elementor-sticky--effects .vd-nav-menu .elementor-item {
    color: #1e3d20;
}

.elementor-18565 .elementor-element.elementor-element-2ff7822 .vd-nav-menu .elementor-item:hover,
.elementor-18565 .elementor-element.elementor-element-2ff7822.elementor-sticky--effects .vd-nav-menu .elementor-item:hover {
    color: #e06420;
}

/* CTA becomes slightly smaller */
.elementor-18565 .elementor-element.elementor-element-2ff7822 .vd-nav-cta .elementor-button {
    transition:
        padding 0.4s ease,
        font-size 0.4s ease,
        box-shadow 0.3s ease;
}

.elementor-18565 .elementor-element.elementor-element-2ff7822.elementor-sticky--effects .vd-nav-cta .elementor-button {
    padding: 10px 18px;
    font-size: 11px;
}

/* Tablet */
@media (max-width: 1024px) {
    .elementor-18565 .elementor-element.elementor-element-2ff7822 {
        min-height: 100px;
        padding: 10px 30px;
    }

    .elementor-18565 .elementor-element.elementor-element-2ff7822.elementor-sticky--effects {
        min-height: 68px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .elementor-18565 .elementor-element.elementor-element-2ff7822,
    .elementor-18565 .elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects) {
        position: fixed;
        min-height: 72px;
        padding: 4px 16px;
        background: rgba(254, 250, 242, 0.94);
        box-shadow: 0 8px 24px rgba(28, 28, 24, 0.08);
       backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .elementor-18565 .elementor-element.elementor-element-2ff7822 .vd-nav-logo img,
    .elementor-18565 .elementor-element.elementor-element-2ff7822.elementor-sticky--effects .vd-nav-logo img {
        width: 70px;
        max-height: 52px;
    }
}

.elementor-18565 .elementor-element.elementor-element-2ff7822 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background: transparent;
}

.elementor-18565 .elementor-element.elementor-element-2ff7822.elementor-sticky--active {
    position: fixed !important;
    top: 0 !important;
}

.elementor-18565 .elementor-element.elementor-element-2ff7822.elementor-sticky--effects {
    background: rgba(254, 250, 242, 0.94);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 12px 35px rgba(28, 28, 24, 0.09);
}

/* Dark menu text after scrolling */
.elementor-18565 .elementor-element.elementor-element-2ff7822.elementor-sticky--effects
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item {
    color: #1e3d20 !important;
}

/* Still orange on hover */
.elementor-18565 .elementor-element.elementor-element-2ff7822.elementor-sticky--effects
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item:hover {
    color: #e06420 !important;
}

/* Main menu typography */
.elementor-18565 .elementor-element.elementor-element-2ff7822 .elementor-nav-menu--main .elementor-item {
    font-family: "Be Vietnam Pro", sans-serif !important;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    text-decoration: none !important;
    transition: color 0.3s ease;
}

/* White at the top */
.elementor-18565 .elementor-element.elementor-element-2ff7822 .elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Orange on hover */
.elementor-18565 .elementor-element.elementor-element-2ff7822 .elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item:hover {
    color: #e06420 !important;
}

/* Remove Elementor pointer/underline */
.elementor-18565 .elementor-element.elementor-element-2ff7822 .elementor-nav-menu--main .elementor-item::before,
.elementor-18565 .elementor-element.elementor-element-2ff7822 .elementor-nav-menu--main .elementor-item::after {
    display: none !important;
    opacity: 0 !important;
    transform: none !important;
}

/* Keep CTA text white */
.elementor-18565 .elementor-element.elementor-element-2ff7822 .elementor-nav-menu--main .nav-cta > .elementor-item,
.elementor-18565 .elementor-element.elementor-element-2ff7822 .elementor-nav-menu--main .nav-cta > .elementor-item:hover {
    color: #ffffff !important;
}

/**
 * Responsive desktop header layout.
 *
 * The desktop header consists of a left WordPress menu, a centered image and
 * a right WordPress menu. Elementor's equal three-column grid leaves too
 * little room for the menus and allows their lists to wrap. Keep the logo in
 * a fixed center track and let both menu tracks share the remaining width.
 */

@media (min-width: 1201px) {
  .elementor-location-header
  .elementor-element.elementor-element-205378f {
    --e-con-grid-template-columns: minmax(0, 1fr) 210px minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr) 210px minmax(0, 1fr) !important;
    align-items: center;
  }

  .elementor-location-header
  .elementor-element.elementor-element-205378f
  .elementor-nav-menu--main > .elementor-nav-menu {
    flex-wrap: nowrap !important;
  }

  .elementor-location-header
  .elementor-element.elementor-element-205378f
  .elementor-nav-menu--main > .elementor-nav-menu > li {
    flex: 0 0 auto;
  }

  .elementor-location-header
  .elementor-element.elementor-element-205378f
  .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item {
    padding-right: clamp(8px, 0.7vw, 12px) !important;
    padding-left: clamp(8px, 0.7vw, 12px) !important;
    white-space: nowrap;
  }
}

/**
 * Global desktop header background policy.
 *
 * The header is light by default. Pages whose first section is a supported
 * dark hero remain transparent until Elementor applies its sticky effects.
 * This deliberately avoids WordPress page IDs so WPML translations inherit
 * the same behavior without copying an English-only .elementor-18565 .elementor-element.elementor-element-2ff7822.
 *
 * Dark-hero exceptions:
 * - WordPress front pages (`body.home`)
 * - Yên Retreat (`.hero#retreat`)
 * - Retreat Overview (`[data-vroh-hero]`)
 * - Private Retreat (`body.private-retreat-page`)
 * - Future dark heroes marked with `[data-vd-dark-hero]`
 */

/* Light initial state for normal pages. */
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects) {
  background: rgba(254, 250, 242, 0.96) !important;
  border-bottom: 1px solid rgba(30, 61, 32, 0.07);
  box-shadow: 0 12px 35px rgba(28, 28, 24, 0.09);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

/* Dark, readable desktop navigation on the light initial header. */
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects)
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item {
  color: #1e3d20 !important;
}

/* Transparent initial state on pages that begin with a dark hero. */
body.home
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects),
body:has(.hero#retreat)
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects),
body:has([data-vroh-hero])
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects),
body.private-retreat-page
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects),
body:has([data-vd-dark-hero])
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects) {
  background: transparent !important;
  border-bottom-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Light desktop navigation over dark heroes before scrolling. */
body.home
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects)
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item,
body:has(.hero#retreat)
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects)
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item,
body:has([data-vroh-hero])
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects)
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item,
body.private-retreat-page
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects)
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item,
body:has([data-vd-dark-hero])
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects)
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item {
  color: rgba(255, 255, 255, 0.9) !important;
}

/* Keep the existing orange hover treatment in every header state. */
.elementor-location-header
.elementor-element.elementor-element-2ff7822
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item:hover {
  color: #e06420 !important;
}


/*
 * Elementor currently shows the mobile header below 1200px, but does not hide
 * the desktop header until 1024px. Resolve that overlap and switch before the
 * desktop menus run out of horizontal space, matching the clickdummy.
 */
@media (min-width: 1025px) and (max-width: 1200px) {
  .elementor-location-header
  > .elementor-element.elementor-element-2ff7822 {
    display: none !important;
  }

  .elementor-location-header
  > .elementor-element.elementor-element-21431b3 {
    display: flex !important;
  }
}

/**
 * Dynamic retreat submenu styling.
 *
 * The PHP menu filter adds `.vd-dynamic-retreats` to the parent and
 * `.vd-dynamic-retreat-item` to each generated retreat link. Elementor keeps
 * control of opening, closing, keyboard focus and mobile accordion behavior.
 */

@media (min-width: 1201px) {
  .elementor-location-header
  .vd-dynamic-retreats > .sub-menu {
    min-width: 220px !important;
    max-width: min(360px, calc(100vw - 32px));
    max-height: min(60vh, 520px);
    padding: 14px !important;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fefaf2 !important;
    border: 1px solid rgba(30, 61, 32, 0.12) !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 45px rgba(28, 28, 24, 0.15) !important;
  }

  .elementor-location-header
  .vd-dynamic-retreats > .sub-menu > .vd-dynamic-retreat-item + .vd-dynamic-retreat-item {
    margin-top: 6px;
  }

  .elementor-location-header
  .vd-dynamic-retreats > .sub-menu
  > .vd-dynamic-retreat-item > .elementor-sub-item {
    padding: 8px 10px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 8px;
    color: #1e3d20 !important;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.45;
    text-transform: uppercase;
    white-space: normal;
  }

  .elementor-location-header
  .vd-dynamic-retreats > .sub-menu
  > .vd-dynamic-retreat-item > .elementor-sub-item:hover,
  .elementor-location-header
  .vd-dynamic-retreats > .sub-menu
  > .vd-dynamic-retreat-item > .elementor-sub-item:focus-visible {
    background: rgba(224, 100, 32, 0.1) !important;
    color: #1e3d20 !important;
    outline: none;
  }
}

@media (max-width: 1200px) {
  .elementor-location-header
  .vd-dynamic-retreats > a > .sub-arrow {
    margin-left: auto;
  }

  .elementor-location-header
  .vd-dynamic-retreats > .sub-menu {
    max-height: min(42dvh, 420px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .elementor-location-header
  .vd-dynamic-retreats > .sub-menu
  > .vd-dynamic-retreat-item > .elementor-sub-item {
    white-space: normal;
  }
}/* End custom CSS */
/* Start custom CSS for wpml-language-switcher, class: .elementor-element-c501062 */.elementor-18565 .elementor-element.elementor-element-c501062 {
  width: 38px !important;
  min-width: 38px;
  flex: 0 0 38px;
}

.elementor-18565 .elementor-element.elementor-element-c501062 .wpml-elementor-ls,
.elementor-18565 .elementor-element.elementor-element-c501062 .wpml-ls,
.elementor-18565 .elementor-element.elementor-element-c501062 .wpml-ls-legacy-dropdown {
  width: 38px !important;
  max-width: 38px !important;
  padding: 0;
  margin: 0;
}

.elementor-18565 .elementor-element.elementor-element-c501062 .wpml-ls-legacy-dropdown > ul {
  width: 38px;
  padding: 0;
  margin: 0;
  border: 0;
}

.elementor-18565 .elementor-element.elementor-element-c501062 .wpml-ls-current-language > a.wpml-ls-item-toggle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 38px;
  height: 38px;
  padding: 0 13px 0 7px;
  border: 1px solid rgba(30, 61, 32, 0.10);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #1e3d20;
  box-shadow: 0 5px 14px rgba(28, 28, 24, 0.05);
}

.elementor-18565 .elementor-element.elementor-element-c501062 .wpml-ls-native,
.elementor-18565 .elementor-element.elementor-element-c501062 .wpml-ls-display {
  display: none !important;
}

.elementor-18565 .elementor-element.elementor-element-c501062 .wpml-ls-flag {
  display: block;
  width: 19px;
  height: auto;
  margin: 0 !important;
}

/* Replace WPML's default arrow */
.elementor-18565 .elementor-element.elementor-element-c501062 .wpml-ls-item-toggle::after {
  content: "";
  position: absolute;
  top: 14px;
  right: 6px;
  width: 5px;
  height: 5px;
  border: 0;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
}

/* Dropdown containing the other languages */
.elementor-18565 .elementor-element.elementor-element-c501062 .wpml-ls-sub-menu {
  top: calc(100% + 5px);
  left: 0;
  width: 38px !important;
  padding: 5px;
  border: 1px solid rgba(30, 61, 32, 0.12);
  border-radius: 12px;
  background: rgba(254, 250, 242, 0.98);
  box-shadow: 0 10px 24px rgba(28, 28, 24, 0.14);
}

.elementor-18565 .elementor-element.elementor-element-c501062 .wpml-ls-sub-menu a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  padding: 4px;
  border: 0;
  border-radius: 50%;
  background: transparent;
}

.elementor-18565 .elementor-element.elementor-element-c501062 .wpml-ls-sub-menu a:hover {
  background: rgba(224, 100, 32, 0.10);
}/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-676c011 *//**
 * Mobile navigation booking CTA.
 *
 * Paste this at the end of the Custom CSS field for the Elementor Nav Menu
 * widget with CSS class `vd-mobile-menu`. The matching WordPress menu item
 * must have the CSS class `nav-mobile-cta`.
 * Elementor -> Theme builder -> page header -> Mobile Container -> Wordpress Menu -> Advanced -> Custom CSS
 */


@media (max-width: 1200px) {
  .elementor-18565 .elementor-element.elementor-element-676c011 {
    position: static !important;
    width: 38px !important;
    min-width: 38px;
    flex: 0 0 38px;
  }

  .elementor-18565 .elementor-element.elementor-element-676c011 .elementor-widget-container {
    position: static !important;
  }

  /* Burger button */
  .elementor-18565 .elementor-element.elementor-element-676c011 .elementor-menu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin: 0;
    padding: 9px;
    border: 1px solid rgba(30, 61, 32, 0.10);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: #1e3d20;
    box-shadow: 0 6px 14px rgba(28, 28, 24, 0.05);
  }

  .elementor-18565 .elementor-element.elementor-element-676c011 .elementor-menu-toggle svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
  }

  /* Full viewport drawer below the 92px header */
  .elementor-18565 .elementor-element.elementor-element-676c011 .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    position: fixed !important;
    top: 92px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 100vw !important;
    height: calc(100dvh - 92px) !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 26px 22px 30px;

    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;

    background:
      linear-gradient(
        180deg,
        #fdf8ef 0%,
        #f6ecdb 100%
      ) !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    opacity: 0;
    visibility: hidden;
    transform: scaleY(0) !important;
    transform-origin: top;
    transition:
      opacity 0.2s ease,
      transform 0.25s ease,
      visibility 0s linear 0.25s;

    z-index: 9998;
  }

  /* Open state */
  .elementor-18565 .elementor-element.elementor-element-676c011
    .elementor-menu-toggle.elementor-active
    + .elementor-nav-menu__container {
    max-height: calc(100dvh - 92px) !important;
    opacity: 1;
    visibility: visible;
    transform: scaleY(1) !important;
    transition-delay: 0s;
  }

  /* Constrain menu items */
  .elementor-18565 .elementor-element.elementor-element-676c011 .elementor-nav-menu--dropdown > ul,
  .elementor-18565 .elementor-element.elementor-element-676c011 .elementor-nav-menu--dropdown .elementor-nav-menu {
    width: 100%;
    max-width: 440px;
    margin: 0 auto !important;
    padding: 0;
  }

  /* Main menu rows */
  .elementor-18565 .elementor-element.elementor-element-676c011 .elementor-nav-menu--dropdown .elementor-nav-menu > li {
    border-bottom: 1px solid rgba(30, 61, 32, 0.12);
  }

  .elementor-18565 .elementor-element.elementor-element-676c011
    .elementor-nav-menu--dropdown
    .elementor-nav-menu
    > li:last-child {
    border-bottom: 0;
  }

  /* Main menu links */
  .elementor-18565 .elementor-element.elementor-element-676c011
    .elementor-nav-menu--dropdown
    .elementor-nav-menu
    > li
    > a {
    min-height: auto;
    padding: 13px 0 !important;

    background: transparent !important;
    color: #1e3d20 !important;

    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(19px, 5.6vw, 23px);
    font-weight: 300;
    letter-spacing: 0.018em;
    line-height: 1.24;
    text-align: left;
    text-transform: uppercase;
  }

  .elementor-18565 .elementor-element.elementor-element-676c011
    .elementor-nav-menu--dropdown
    .elementor-nav-menu
    > li
    > a:hover,
  .elementor-18565 .elementor-element.elementor-element-676c011
    .elementor-nav-menu--dropdown
    .elementor-nav-menu
    > li
    > a.elementor-item-active {
    background: transparent !important;
    color: #e06420 !important;
  }

  /* Submenu */
  .elementor-18565 .elementor-element.elementor-element-676c011 .elementor-nav-menu--dropdown .sub-menu {
    position: static !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 0 0 12px !important;

    background: transparent !important;
    border: 0 !important;
    border-left: 1px solid rgba(30, 61, 32, 0.22) !important;
    box-shadow: none !important;
  }

  .elementor-18565 .elementor-element.elementor-element-676c011 .elementor-nav-menu--dropdown .elementor-sub-item {
    padding: 6px 0 !important;
    border: 0 !important;

    background: transparent !important;
    color: rgba(30, 61, 32, 0.82) !important;

    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.45;
    text-transform: uppercase;
  }

  .elementor-18565 .elementor-element.elementor-element-676c011 .elementor-nav-menu--dropdown .elementor-sub-item:hover {
    color: #e06420 !important;
  }
}

/* Account for the WordPress toolbar while logged in */
@media (max-width: 782px) {
  body.admin-bar .elementor-18565 .elementor-element.elementor-element-676c011
    .elementor-nav-menu__container.elementor-nav-menu--dropdown {
    top: 138px !important;
    height: calc(100dvh - 138px) !important;
  }

  body.admin-bar .elementor-18565 .elementor-element.elementor-element-676c011
    .elementor-menu-toggle.elementor-active
    + .elementor-nav-menu__container {
    max-height: calc(100dvh - 138px) !important;
  }
}

@media (max-width: 1200px) {
  .elementor-18565 .elementor-element.elementor-element-676c011
  .elementor-nav-menu--dropdown
  .elementor-nav-menu
  > li.nav-mobile-cta {
    width: 100%;
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid rgba(30, 61, 32, 0.12);
    border-bottom: 0 !important;
  }

  .elementor-18565 .elementor-element.elementor-element-676c011
  .elementor-nav-menu--dropdown
  .elementor-nav-menu
  > li.nav-mobile-cta
  > a.elementor-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    padding: 12px 20px !important;
    border: 1px solid transparent;
    border-radius: 8px;
    background: #e06420 !important;
    color: #fefaf2 !important;
    font-family: "Be Vietnam Pro", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
    transition:
      background-color 0.24s ease,
      box-shadow 0.24s ease,
      transform 0.24s ease;
  }

  .elementor-18565 .elementor-element.elementor-element-676c011
  .elementor-nav-menu--dropdown
  .elementor-nav-menu
  > li.nav-mobile-cta
  > a.elementor-item:hover,
  .elementor-18565 .elementor-element.elementor-element-676c011
  .elementor-nav-menu--dropdown
  .elementor-nav-menu
  > li.nav-mobile-cta
  > a.elementor-item:focus-visible {
    background: #c43010 !important;
    color: #fefaf2 !important;
    box-shadow: 0 10px 22px rgba(196, 48, 16, 0.2);
    transform: translateY(-1px);
  }

  .elementor-18565 .elementor-element.elementor-element-676c011
  .elementor-nav-menu--dropdown
  .elementor-nav-menu
  > li.nav-mobile-cta
  > a.elementor-item:focus-visible {
    outline: 3px solid rgba(224, 100, 32, 0.3);
    outline-offset: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-18565 .elementor-element.elementor-element-676c011
  .elementor-nav-menu--dropdown
  .elementor-nav-menu
  > li.nav-mobile-cta
  > a.elementor-item {
    transition: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-21431b3 *//* Hide mobile header on desktop */

/*
    ELEMENTOR -> PAGE HEADER -> MOBILE CONTAINER -> ADVANCED -> CUSTOM CSS
*/
@media (min-width: 1200px) {
  .elementor-18565 .elementor-element.elementor-element-21431b3 {
    display: none !important;
  }
}

@media (max-width: 1199px) {
  .elementor-18565 .elementor-element.elementor-element-21431b3 {
    display: flex !important;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    min-height: 92px;
    padding: 8px 12px;
    align-items: center;
    justify-content: flex-end;
    overflow: visible;
    z-index: 9999;

    background: rgba(254, 250, 242, 0.985);
    border-bottom: 1px solid rgba(30, 61, 32, 0.08);
    box-shadow: none;

    /* Avoid iOS Safari softening fixed-header contents during compositing. */
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    transition:
      min-height 0.35s ease,
      padding 0.35s ease,
      box-shadow 0.3s ease;
  }

  /* Keep the logo in the true center */
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-logo {
    --width: clamp(150px, 45vw, 190px);
    position: absolute !important;
    top: 50%;
    left: 50%;
    width: clamp(150px, 45vw, 190px) !important;
    height: 76px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translate(-50%, -50%);
    transition:
      width 0.35s ease,
      height 0.35s ease;
    z-index: 1;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-logo img {
    display: block;
    width: auto !important;
    max-width: 100% !important;
    height: 76px !important;
    margin: auto;
    object-fit: contain;
    opacity: 1;
    transition:
      height 0.35s ease,
      opacity 0.18s ease;
  }

  /* Compact icon is preloaded behind the full logo for a clean scroll swap. */
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-logo::after {
    content: "";
    position: absolute;
    inset: 0;
    display: block;
    pointer-events: none;
    background:
      url("/wp-content/uploads/2026/05/logo-icon-color_cutout.svg")
      center / contain no-repeat;
    opacity: 0;
    transform: scale(0.82);
    transition:
      opacity 0.2s ease,
      transform 0.35s ease;
  }

  /* Right-side controls */
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-actions {
    --width: auto;
    position: relative;
    display: flex !important;
    flex: 0 0 auto;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    width: auto !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    gap: 7px;
    z-index: 2;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-actions > .elementor-element {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }

  /* Hamburger circle */
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-toggle {
    width: 38px !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-toggle .elementor-icon-wrapper {
    display: flex;
    line-height: 0;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-toggle .elementor-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 9px;
    border: 1px solid rgba(30, 61, 32, 0.10);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: #1e3d20;
    box-shadow: 0 6px 14px rgba(28, 28, 24, 0.05);
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-toggle svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
  }

  /* Compact WPML switcher */
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang,
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .elementor-widget-container,
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-elementor-ls {
    width: 51px !important;
    max-width: 51px !important;
  }

  /* Demo-style outer pill containing a separate flag chip and chevron. */
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-legacy-dropdown {
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    width: 51px !important;
    max-width: 51px !important;
    height: 36px !important;
    padding: 3px !important;
    border: 1px solid rgba(30, 61, 32, 0.10) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 5px 14px rgba(28, 28, 24, 0.05) !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-legacy-dropdown > ul {
    display: flex !important;
    align-items: center !important;
    width: 43px !important;
    max-width: 43px !important;
    height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-legacy-dropdown > ul > .wpml-ls-current-language {
    width: 43px !important;
    max-width: 43px !important;
    height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-item-toggle {
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    width: 43px !important;
    max-width: 43px !important;
    height: 26px !important;
    min-height: 26px !important;
    padding: 0 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #1e3d20 !important;
    box-shadow: none !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-item-toggle::after {
    content: "" !important;
    position: static !important;
    display: block !important;
    flex: 0 0 7px !important;
    box-sizing: border-box !important;
    width: 7px !important;
    height: 7px !important;
    margin: 0 0 0 6px !important;
    border: 0 !important;
    border-right: 1.5px solid #1e3d20 !important;
    border-bottom: 1.5px solid #1e3d20 !important;
    transform: rotate(45deg) translateY(-1px) !important;
    transform-origin: center !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-native,
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-display {
    display: none !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-item-toggle > .wpml-ls-flag {
    display: block !important;
    flex: 0 0 26px !important;
    box-sizing: border-box !important;
    width: 26px !important;
    max-width: 26px !important;
    height: 26px !important;
    margin: 0 !important;
    padding: 4px 2px !important;
    border: 1px solid rgba(30, 61, 32, 0.14) !important;
    border-radius: 999px !important;
    background: rgba(254, 250, 242, 0.32) !important;
    object-fit: contain !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-sub-menu {
    top: calc(100% + 8px);
    left: 50% !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: translateX(-50%) !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-sub-menu > li,
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-sub-menu .wpml-ls-link {
    box-sizing: border-box !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
  }

  /* Nested language: use one clean circular button instead of a padded
     submenu card containing a second, undersized button. */
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-sub-menu .wpml-ls-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid rgba(30, 61, 32, 0.10) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #1e3d20 !important;
    box-shadow: 0 5px 14px rgba(28, 28, 24, 0.05) !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-sub-menu .wpml-ls-flag {
    display: block !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    max-width: 18px !important;
    height: 12px !important;
    margin: 0 !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-sub-menu .wpml-ls-link:hover,
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-lang .wpml-ls-sub-menu .wpml-ls-link:focus {
    border-color: rgba(224, 100, 32, 0.35) !important;
    background: #fefaf2 !important;
    box-shadow: 0 7px 18px rgba(28, 28, 24, 0.12) !important;
  }
}

/* Smaller phones */
@media (max-width: 380px) {
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-logo {
    --width: 140px;
    width: 140px !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-logo img {
    height: 68px !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-actions {
    gap: 4px;
  }
}

/* Logged-in WordPress toolbar */
@media (max-width: 782px) {
  body.admin-bar .elementor-18565 .elementor-element.elementor-element-21431b3 {
    top: 46px;
  }
}

@media (min-width: 783px) and (max-width: 1199px) {
  body.admin-bar .elementor-18565 .elementor-element.elementor-element-21431b3 {
    top: 32px;
  }
}
/*
 * Force the right controls into place across the entire
 * mobile/tablet header range, including 1025–1199px.
 */
@media (max-width: 1199px) {
  .elementor-18565 .elementor-element.elementor-element-21431b3 {
    position: fixed;
  }

  /* The mobile container is fixed manually and does not receive Elementor's
     sticky-effects class. Reuse the desktop header's existing scroll state so
     both responsive headers compact at the same threshold. */
  .elementor-18565 .elementor-element.elementor-element-21431b3.elementor-sticky--effects,
  .elementor-location-header > .elementor-element-2ff7822.elementor-sticky--effects:not(.elementor-sticky__spacer) ~ .elementor-element-21431b3:not(.elementor-sticky__spacer) {
    min-height: 60px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    box-shadow: 0 8px 24px rgba(28, 28, 24, 0.08);
  }

  /* Elementor's stretched dropdown keeps the initial 92px header offset
     after the mobile header compacts to 60px, leaving a 32px gap. Keep the
     panel attached to the bottom edge of the compact header. */
  .elementor-18565 .elementor-element.elementor-element-21431b3.elementor-sticky--effects .vd-mobile-menu nav.elementor-nav-menu--dropdown,
  .elementor-location-header > .elementor-element-2ff7822.elementor-sticky--effects:not(.elementor-sticky__spacer) ~ .elementor-element-21431b3:not(.elementor-sticky__spacer) .vd-mobile-menu nav.elementor-nav-menu--dropdown {
    top: calc(60px + var(--wp-admin--admin-bar--height, 0px)) !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3.elementor-sticky--effects .vd-mobile-logo,
  .elementor-location-header > .elementor-element-2ff7822.elementor-sticky--effects:not(.elementor-sticky__spacer) ~ .elementor-element-21431b3:not(.elementor-sticky__spacer) .vd-mobile-logo {
    --width: 34px;
    width: 34px !important;
    height: 46px !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3.elementor-sticky--effects .vd-mobile-logo img,
  .elementor-location-header > .elementor-element-2ff7822.elementor-sticky--effects:not(.elementor-sticky__spacer) ~ .elementor-element-21431b3:not(.elementor-sticky__spacer) .vd-mobile-logo img {
    height: 46px !important;
    opacity: 0;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3.elementor-sticky--effects .vd-mobile-logo::after,
  .elementor-location-header > .elementor-element-2ff7822.elementor-sticky--effects:not(.elementor-sticky__spacer) ~ .elementor-element-21431b3:not(.elementor-sticky__spacer) .vd-mobile-logo::after {
    opacity: 1;
    transform: none;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-actions {
    --width: auto;

    position: absolute !important;
    top: 0 !important;
    right: 12px !important;
    bottom: 0 !important;
    left: auto !important;

    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;

    width: auto !important;
    min-width: 83px;
    height: 38px;
    min-height: 38px;

    margin: auto 0 !important;
    padding: 0 !important;
    gap: 7px !important;

    z-index: 10;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-actions .vd-mobile-lang {
    --width: 51px;

    flex: 0 0 51px !important;
    width: 51px !important;
    min-width: 51px !important;
    max-width: 51px !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-actions .vd-mobile-menu {
    --width: 38px;

    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  /* Keep the compact language dropdown above the fixed burger panel when
     both controls are open. */
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-actions .vd-mobile-lang {
    position: relative !important;
    z-index: 10001 !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-actions .vd-mobile-lang .wpml-ls-sub-menu {
    z-index: 10002 !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-actions .vd-mobile-menu {
    position: relative !important;
    z-index: 10000 !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-actions > .elementor-element {
    margin: 0 !important;
  }

  /* Match the clickdummy footer area: normal navigation first, then a flat
     language pill and finally the full-width reservation button. */
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu nav.elementor-nav-menu--dropdown > ul.elementor-nav-menu {
    display: flex !important;
    flex-direction: column !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .wpml-ls-current-language {
    position: relative !important;
    order: 1 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 38px !important;
    min-height: 38px !important;
    /* The final standard menu item already provides the divider line. */
    margin: 35px 0 0 !important;
    padding: 6px 10px !important;
    overflow: visible !important;
    border: 1px solid rgba(30, 61, 32, 0.10) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 5px 14px rgba(28, 28, 24, 0.05) !important;
  }

  /* Show WPML's nested languages inline instead of as an accordion. */
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .wpml-ls-current-language > .sub-menu {
    display: contents !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .wpml-ls-current-language > .sub-menu > .wpml-ls-menu-item {
    display: block !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .wpml-ls-current-language > a.elementor-item,
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .wpml-ls-current-language > .sub-menu > .wpml-ls-menu-item > a.elementor-sub-item {
    display: flex !important;
    flex: 0 0 24px !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #1e3d20 !important;
    box-shadow: none !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .wpml-ls-current-language > a.elementor-item {
    box-shadow:
      0 0 0 1px rgba(30, 61, 32, 0.20),
      0 6px 14px rgba(28, 28, 24, 0.18) !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .wpml-ls-current-language > a .sub-arrow,
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .wpml-ls-menu-item > a::after {
    display: none !important;
    content: none !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .wpml-ls-menu-item > a .wpml-ls-flag {
    display: block !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    max-width: 18px !important;
    height: 12px !important;
    margin: 0 !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .wpml-ls-current-language > .sub-menu > .wpml-ls-menu-item > a.elementor-sub-item:hover,
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .wpml-ls-current-language > .sub-menu > .wpml-ls-menu-item > a.elementor-sub-item:focus {
    background: rgba(30, 61, 32, 0.07) !important;
    box-shadow: 0 0 0 1px rgba(30, 61, 32, 0.18) !important;
  }

  /* Booking CTA follows the language row with the same proportions and
     ember treatment as the clickdummy. */
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .nav-mobile-cta {
    order: 2 !important;
    width: 100% !important;
    margin: 9px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .nav-mobile-cta > a.elementor-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 11px 20px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    background: #e06420 !important;
    color: #fefaf2 !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.8 !important;
    letter-spacing: 0.094em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .nav-mobile-cta > a.elementor-item:hover,
  .elementor-18565 .elementor-element.elementor-element-21431b3 .vd-mobile-menu .nav-mobile-cta > a.elementor-item:focus {
    background: #d85b19 !important;
    color: #fefaf2 !important;
  }
}/* End custom CSS */
/* Start custom CSS *//**
 * Global desktop header background policy.
 *
 * The header is light by default. Pages whose first section is a supported
 * dark hero remain transparent until Elementor applies its sticky effects.
 * This deliberately avoids WordPress page IDs so WPML translations inherit
 * the same behavior without copying an English-only .elementor-18565.
 *
 * Dark-hero exceptions:
 * - WordPress front pages (`body.home`)
 * - Yên Retreat (`.hero#retreat`)
 * - Retreat Overview (`[data-vroh-hero]`)
 * - Future dark heroes marked with `[data-vd-dark-hero]`
 *   ELEMENTOR -> PAGE HEADER -> PAGE SETTING -> ADVANCED -> CUSTOM CSS
 */



/* Light initial state for normal pages. */
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects) {
  background: rgba(254, 250, 242, 0.96) !important;
  border-bottom: 1px solid rgba(30, 61, 32, 0.07);
  box-shadow: 0 12px 35px rgba(28, 28, 24, 0.09);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

/* Dark, readable desktop navigation on the light initial header. */
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects)
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item {
  color: #1e3d20 !important;
}

/* Transparent initial state on pages that begin with a dark hero. */
body.home
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects),
body:has(.hero#retreat)
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects),
body:has([data-vroh-hero])
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects),
body:has([data-vd-dark-hero])
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects) {
  background: transparent !important;
  border-bottom-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Light desktop navigation over dark heroes before scrolling. */
body.home
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects)
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item,
body:has(.hero#retreat)
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects)
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item,
body:has([data-vroh-hero])
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects)
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item,
body:has([data-vd-dark-hero])
.elementor-location-header
.elementor-element.elementor-element-2ff7822:not(.elementor-sticky--effects)
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item {
  color: rgba(255, 255, 255, 0.9) !important;
}

/* Keep the existing orange hover treatment in every header state. */
.elementor-location-header
.elementor-element.elementor-element-2ff7822
.elementor-nav-menu--main
.menu-item:not(.nav-cta) > .elementor-item:hover {
  color: #e06420 !important;
}

@media (max-width: 767px) {
  body:is(.retreat-page, .private-retreat-page) {
    --mobile-header-height: 92px;
    --hero-header-gap: 24px;
  }

  /* Remove the existing negative-margin header compensation */
  body:is(.retreat-page, .private-retreat-page) header.elementor-location-header {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* The hero already contains the page title */
  body:is(.retreat-page, .private-retreat-page) main.site-main > .page-header {
    display: none !important;
  }

  /* Reserve a consistent area for the fixed mobile header */
  body:is(.retreat-page, .private-retreat-page) main.site-main {
    padding-top: var(--mobile-header-height) !important;
  }

  /* Consistent space between navigation and hero content */
  body:is(.retreat-page, .private-retreat-page) .hero {
    padding-top: var(--hero-header-gap) !important;
  }
}/* End custom CSS */