.site-chrome--header,
[data-site-chrome-role="header"] {
  position: relative;
  z-index: 1000;
  isolation: isolate;
  overflow: visible !important;
}

/* Elementor containers: no fixed heights, no scroll */
.site-chrome--header header,
.site-chrome--header .e-con,
.site-chrome--header .e-con-full,
.site-chrome--header .e-con-inner,
.site-chrome--header .elementor-element {
  overflow: visible !important;
  height: auto !important;
}

/* Keep the top logo bar min-height but allow overflow */
.site-chrome--header .elementor-location-header > header:first-child {
  min-height: 88px !important;
}

/* The outermost header wrapper should auto-size */
.site-chrome--header .elementor-location-header {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.site-chrome--footer,
[data-site-chrome-role="footer"] {
  position: relative;
  z-index: 10;
  isolation: isolate;
  overflow: visible !important;
}

.site-chrome--footer footer,
.site-chrome--footer .e-con,
.site-chrome--footer .e-con-full,
.site-chrome--footer .e-con-inner,
.site-chrome--footer .elementor-element {
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
}

body.site-chrome-menu-open,
html.site-chrome-menu-open {
  overflow: hidden;
}

.site-chrome--header .menu-item-has-children {
  position: relative;
}

.site-chrome--header .menu-item-has-children.site-chrome-dropdown-open > .sub-menu,
.site-chrome--header .menu-item-has-children.site-chrome-dropdown-open > .cozystay-dropdown-menu,
.site-chrome--header .menu-item-has-children.focus > .sub-menu,
.site-chrome--header .menu-item-has-children.focus > .cozystay-dropdown-menu {
  z-index: 99 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
}

.site-chrome--header .primary-menu > li > a:hover:before,
.site-chrome--header .primary-menu > li > a:focus-visible:before {
  transform: scaleX(1) !important;
  opacity: 1 !important;
}

.site-chrome--header .primary-menu > li.current-menu-item > a,
.site-chrome--header .primary-menu > li.current-menu-ancestor > a,
.site-chrome--header .primary-menu > li.current-menu-parent > a {
  color: inherit !important;
}

.site-chrome--header .primary-menu > li.current-menu-item > a:before,
.site-chrome--header .primary-menu > li.current-menu-ancestor > a:before,
.site-chrome--header .primary-menu > li.current-menu-parent > a:before {
  transform: scaleX(0) !important;
  opacity: 0 !important;
}

.site-chrome--footer a {
  color: inherit !important;
}

.site-chrome--footer a:hover,
.site-chrome--footer a:focus,
.site-chrome--footer a:focus-visible {
  color: inherit !important;
  opacity: 1 !important;
}

/* ── Elementor nav-menu ── */

/* Desktop hover: show sub-menu */
.site-chrome--header .elementor-nav-menu--main .menu-item-has-children.elementor-active > .sub-menu,
.site-chrome--header .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 9999 !important;
  position: absolute !important;
}

/* Mobile dropdown: show when menu is open */
.site-chrome--header.elementor-menu-open .elementor-nav-menu--dropdown {
  /*display: block !important;*/
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 1001 !important;
  max-height: 80vh !important;
  overflow-y: auto !important;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  /*width: 100% !important;*/
  background-color: #fff !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Mobile submenu expand */
.site-chrome--header .elementor-nav-menu--dropdown .menu-item-has-children.elementor-active > .sub-menu {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Prevent body scroll when mobile menu is open */
body.elementor-menu-open {
  overflow: hidden !important;
}

/* Sticky header support */
.site-chrome--header .elementor-element[data-settings*="sticky"] {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
}

/* ── Desktop main nav items: smaller font to fit all items ── */

.site-chrome--header .elementor-nav-menu--main .elementor-item {
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 12px 16px !important;
  /*color: #fff !important;*/
    color: #000000 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.site-chrome--header .elementor-nav-menu--main .elementor-item:hover {
  /*color: #d6b85a !important;*/
    color: #fff !important;
}

/* ── J-Limo nav items: separate with bottom border on desktop ── */

/*.site-chrome--header .elementor-nav-menu--main .jlimo-nav-login,*/
/*.site-chrome--header .elementor-nav-menu--main .jlimo-nav-receipt,*/
/*.site-chrome--header .elementor-nav-menu--main .jlimo-nav-manage {*/
/*  border-bottom: 1px solid #333 !important;*/
/*}*/

.web-legends-chrome .elementor-62 .elementor-element.elementor-element-7bf780fd .elementor-nav-menu--main .elementor-item {
    padding-bottom: 0 !important;
    padding-top: 0 !important;
    margin: 0 !important;
}

.site-chrome--header .elementor-nav-menu--main .jlimo-nav-login > a,
.site-chrome--header .elementor-nav-menu--main .jlimo-nav-receipt > a,
.site-chrome--header .elementor-nav-menu--main .jlimo-nav-manage > a {
  color: #000000 !important;
  font-weight: 600 !important;
}

.site-chrome--header .elementor-nav-menu--main .jlimo-nav-login > a:hover,
.site-chrome--header .elementor-nav-menu--main .jlimo-nav-receipt > a:hover,
.site-chrome--header .elementor-nav-menu--main .jlimo-nav-manage > a:hover {
  color: #fff !important;
}

/* ── Elementor sub-menu background & sizing ── */

/* Sub-menus need proper background, padding, and min-width to cover text */
.site-chrome--header .elementor-nav-menu--main .sub-menu,
.site-chrome--header .elementor-nav-menu--dropdown .sub-menu {
  background-color: #fff !important;
  min-width: max-content !important;
  padding: 8px 0 !important;
  border-top: 2px solid #d6b85a !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.site-chrome--header .elementor-nav-menu--main .sub-menu {
  position: absolute !important;
  left: 0 !important;
  top: 100% !important;
}

.site-chrome--header .elementor-nav-menu .sub-menu .menu-item a,
.site-chrome--header .elementor-nav-menu--dropdown .elementor-sub-item {
  white-space: nowrap !important;
  padding: 8px 20px !important;
  display: block !important;
  color: #000 !important;
}

.site-chrome--header .elementor-nav-menu .sub-menu .menu-item a:hover,
.site-chrome--header .elementor-nav-menu--dropdown .elementor-sub-item:hover,
.site-chrome--header .elementor-nav-menu--dropdown .elementor-sub-item:focus,
.site-chrome--header .elementor-nav-menu--dropdown .elementor-sub-item.highlighted {
  background-color: #3f444b !important;
  color: #fff !important;
}

/* Header background: the site uses black bg with white text */
.web-legends-chrome.elementor-kit-58 {
  /*background-color: #000 !important;*/
  color: #fff !important;
}

/* Ensure the top logo bar has proper background */
.site-chrome--header .elementor-location-header {
  /*background-color: #000 !important;*/
}

/* ── J-Limo nav items (Login, Get Receipt, Manage Reservation) ── */

.jlimo-nav-second-row .jlimo-nav-login > a,
.jlimo-nav-second-row .jlimo-nav-receipt > a,
.jlimo-nav-second-row .jlimo-nav-manage > a {
  cursor: pointer;
  color: #d6b85a !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 8px 16px !important;
  text-transform: uppercase !important;
}

.jlimo-nav-second-row .jlimo-nav-login > a:hover,
.jlimo-nav-second-row .jlimo-nav-receipt > a:hover,
.jlimo-nav-second-row .jlimo-nav-manage > a:hover {
  color: #fff !important;
}

.site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-login > a,
.site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-receipt > a,
.site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-manage > a {
  color: #000 !important;
  padding: 8px 20px !important;
}

.site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-login > a:hover,
.site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-receipt > a:hover,
.site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-manage > a:hover {
  background-color: #3f444b !important;
  color: #fff !important;
}

/* ── Hamburger toggle (Font Awesome icons) ── */

/* Hidden on desktop, shown on mobile */
.site-chrome--header .elementor-menu-toggle {
  display: none !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background-color: transparent;
  border: 0;
  border-radius: 3px;
  color: #fff;
  font-size: 24px;
  padding: 8px 12px;
  width: 44px;
  height: 44px;
}

@media (max-width: 1024px) {
  .site-chrome--header .elementor-menu-toggle {
    display: flex !important;
  }
}

.site-chrome--header .elementor-menu-toggle:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.site-chrome--header .elementor-menu-toggle[aria-expanded="true"] {
  background-color: #d6b85a !important;
  color: #fff !important;
}

/* Toggle icon visibility: show open icon by default, close icon when expanded */
.site-chrome--header .elementor-menu-toggle .elementor-menu-toggle__icon--close {
  display: none;
}

.site-chrome--header .elementor-menu-toggle[aria-expanded="true"] .elementor-menu-toggle__icon--open {
  display: none;
}

.site-chrome--header .elementor-menu-toggle[aria-expanded="true"] .elementor-menu-toggle__icon--close {
  display: inline-block;
}

/* J-Limo items: prominent in mobile dropdown */
@media (max-width: 1024px) {
  .site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-login,
  .site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-receipt,
  .site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-manage {
    border-top: 2px solid #d6b85a !important;
    margin-top: 8px !important;
    padding-top: 8px !important;
  }

  .site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-login > a,
  .site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-receipt > a,
  .site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-manage > a {
    color: #d6b85a !important;
    font-weight: 700 !important;
    font-size: 16px !important;
  }

  .site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-login > a:hover,
  .site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-receipt > a:hover,
  .site-chrome--header .elementor-nav-menu--dropdown .jlimo-nav-manage > a:hover {
    color: #fff !important;
  }

  /* Hide desktop second-row nav on mobile */
  .jlimo-nav-second-row {
    display: none !important;
  }
}

/* ── J-Limo nav second row container ── */

.jlimo-nav-second-row {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  /*border-top: 1px solid #333;*/
  padding: 8px 0;
  /*background-color: #000;*/
}

.jlimo-nav-second-row .elementor-nav-menu--main {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}

.jlimo-nav-second-row .menu-item {
  margin: 0;
}
