.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* Palms header mega menu. Scoped under .pg-header (class set on the nav-menu widget). */
.pg-header.elementor-widget-nav-menu,
.pg-header .elementor-nav-menu--main,
.pg-header .elementor-nav-menu--main .elementor-nav-menu,
.pg-header .elementor-nav-menu--main .elementor-nav-menu > li.pg-mega {
  position: static;
}
.pg-header .elementor-nav-menu--main .elementor-item { white-space: nowrap; }
.pg-header .elementor-nav-menu--main > .elementor-nav-menu > li > a.elementor-item {
  font-family: Inter, sans-serif; font-weight: 500; font-size: 15px; color: #14201A; padding: 0 14px;
}
.pg-header .elementor-nav-menu--main > .elementor-nav-menu > li > a.elementor-item:hover,
.pg-header .elementor-nav-menu--main > .elementor-nav-menu > li > a.highlighted {
  color: #0A321E;
}
.pg-header .elementor-nav-menu--main .pg-mega > .sub-menu {
  position: absolute !important; left: 0 !important; right: 0 !important; top: 100% !important;
  width: 100% !important; margin: 0 !important; padding: 36px 32px 40px !important;
  background-color: #FFFFFF; border: 0; border-top: 1px solid #E2DFD2; border-radius: 0;
  box-shadow: 0 30px 60px rgba(6, 33, 15, 0.2); z-index: 6;
}
.pg-header .elementor-nav-menu--main .pg-mega > .sub-menu[style*="display: block"] {
  display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px;
  max-width: 100%; box-sizing: border-box;
}
.pg-header .elementor-nav-menu--main .pg-mega > .sub-menu > li { display: block; width: auto; margin: 0; }
.pg-header .elementor-nav-menu--main .pg-mega > .sub-menu > li > a {
  display: block; padding: 0 0 10px !important; background: transparent !important;
  font-family: Poppins, sans-serif; font-weight: 600; font-size: 12px; letter-spacing: 0.12em;
  text-transform: uppercase; color: #8A6D00 !important; border: 0 !important;
}
.pg-header .elementor-nav-menu--main .pg-mega .sub-arrow { display: none; }
.pg-header .elementor-nav-menu--main .pg-mega > .sub-menu > li > .sub-menu {
  position: static !important; display: block !important; visibility: visible !important; width: auto !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important;
  background: transparent !important; top: auto !important; left: auto !important;
}
.pg-header .elementor-nav-menu--main .pg-mega > .sub-menu > li > .sub-menu a {
  display: block; padding: 6px 0 !important; background: transparent !important;
  font-family: Inter, sans-serif; font-weight: 400; font-size: 15px; color: #14201A !important; border: 0 !important;
}
.pg-header .elementor-nav-menu--main .pg-mega > .sub-menu > li > .sub-menu a:hover { color: #124A2E !important; }
/* Services panel only: Services is the FIRST li.pg-mega (CSS-only; pg-menus.json cannot be patched in place). */
.pg-header .elementor-nav-menu--main .elementor-nav-menu > li.pg-mega:first-child > .sub-menu > li:last-child > .sub-menu > li:last-child > a {
  font-weight: 600; color: #8A6D00 !important; text-decoration: underline;
}
.pg-header a:focus-visible,
.pg-header .elementor-item:focus-visible {
  outline: 2px solid #E3BA27; outline-offset: 2px;
}
/* Call and book buttons (the classes are set on the two button widgets, which live outside the nav widget): the number
   never wraps and the buttons never shrink in the flex row. */
.pg-header-call.elementor-widget-button { flex-shrink: 0; }
.pg-header-call .elementor-button,
.pg-header-call .elementor-button-content-wrapper,
.pg-header-call .elementor-button-text { white-space: nowrap; }
/* 1025-1200px: the full-size row (logo, six items, two buttons) is wider than the 1200px container, so the menu
   spacing, item padding and font, and the button padding shrink here. The 4-class .elementor-28085 beats Elementor's own
   3-class rule that sets the menu item margin variable. */
@media (min-width: 1025px) and (max-width: 1200px) {
  .pg-header.elementor-element.elementor-widget-nav-menu.elementor-widget {
    --e-nav-menu-horizontal-menu-item-margin: calc(6px / 2);
  }
  .pg-header .elementor-nav-menu--main > .elementor-nav-menu > li > a.elementor-item {
    font-size: 14px; padding: 0 8px;
  }
  .pg-header-call .elementor-button { padding: 11px 14px; font-size: 14px; }
}
/* 1025-1100px: even the compressed row does not fit with both buttons; the call button stays, the booking link
   remains in the menu and in the floating buttons. */
@media (min-width: 1025px) and (max-width: 1100px) {
  .pg-header-book { display: none; }
}
/* 1024px = Elementor's tablet breakpoint, where the nav-menu widget (dropdown: tablet) switches to the
   hamburger dropdown; the stacking/dropdown rules below apply from there down. */
@media (max-width: 1024px) {
  .pg-header .elementor-nav-menu--main .pg-mega > .sub-menu[style*="display: block"] {
    grid-template-columns: 1fr; gap: 20px; padding: 20px 16px 24px !important;
  }
  .pg-header .elementor-nav-menu--dropdown .pg-mega > .sub-menu {
    position: static !important; width: 100% !important; box-shadow: none; border-top: 0; padding: 0 !important;
  }
  .pg-header .elementor-nav-menu--dropdown .pg-mega > .sub-menu > li > a {
    font-family: Poppins, sans-serif; font-weight: 600; font-size: 12px; letter-spacing: 0.12em;
    text-transform: uppercase; color: #8A6D00 !important;
  }
  .pg-header .elementor-nav-menu--dropdown .pg-mega > .sub-menu > li > .sub-menu {
    display: block !important; position: static !important; width: 100% !important; box-shadow: none;
  }
}
/* The header/footer is ONE html block. Collapse the atomic containers left around it (padding, gap, empty siblings). */
.elementor-location-header { padding: 0 !important; }
.elementor-location-header > * { padding: 0 !important; gap: 0 !important; min-height: 0 !important; }
.elementor-location-header > * > :not(:has(.pg-hdr)) { display: none !important; }/* End custom CSS */