/* --- Desktop dropdown (hover) --- */
@media (min-width: 1025px) {
  #menu-1-0397df3 .menu-item-has-children > .sub-menu {
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    position: absolute;
    top: 100%;
    left: 0;
    background: #ffffff;
    min-width: 240px;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    z-index: 9999;
    transition: opacity 0.3s ease;
  }

  #menu-1-0397df3 .menu-item-has-children:hover > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
  }

  #menu-1-0397df3 .sub-menu li a {
    display: block;
    padding: 10px 18px;
    color: #333 !important;
    text-decoration: none;
    transition: all 0.2s ease;
  }

  #menu-1-0397df3 .sub-menu li a:hover {
    background: #f3f3f3;
    color: #3EBD00 !important;
  }
}

/* --- Mobile dropdown (when toggle is active) --- */
@media (max-width: 1024px) {
  #menu-2-0397df3 {
    display: block !important;
    background: #ffffff;
    padding: 8px 0;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
  }

  #menu-2-0397df3 .sub-menu {
    display: block !important;
    position: relative;
    background: #ffffff;
    border: none;
    padding-left: 15px;
  }

  #menu-2-0397df3 li a {
    display: block;
    padding: 10px 18px;
    color: #333 !important;
    text-decoration: none;
    transition: all 0.2s ease;
  }

  #menu-2-0397df3 li a:hover {
    background: #f3f3f3;
    color: #3EBD00 !important;
  }
}
/* --- Menu Item: position --- */
.elementor-nav-menu--main .menu-item-has-children {
  position: relative !important;
}

/* --- Desktop submenu hover --- */
@media (min-width: 1025px) {
  .elementor-nav-menu--main .menu-item-has-children > .sub-menu {
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    position: absolute;
    top: 100%;
    left: 0;
    background: #ffffff;
    min-width: 280px;
    padding: 8px 0;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    z-index: 9999;
    transition: opacity 0.3s ease;
  }

  .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}

/* --- Mobile / tablet dropdown --- */
@media (max-width: 1024px) {
  /* Toggle container */
  .elementor-nav-menu--dropdown.elementor-nav-menu--dropdown-active {
    display: block !important;
    position: absolute !important;
    top: 100%;
    left: 0;
    width: 100%;
    background: #ffffff;           /* same as desktop */
    z-index: 9999;
    border: 1px solid #e5e5e5;    /* same as desktop */
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    padding: 8px 0;
  }

  /* Apply desktop styling to mobile submenus */
  .elementor-nav-menu--dropdown .sub-menu {
    display: block !important;
    position: relative !important;
    background: #ffffff;           /* same as desktop */
    width: 100%;
    min-width: auto;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
  }

  /* --- Top-level mobile menu links --- */
  .elementor-nav-menu--dropdown .elementor-item {
    color: #3E3E3E !important;       /* dark initial color */
    background-color: transparent !important;
  }

  /* Top-level hover */
  .elementor-nav-menu--dropdown .elementor-item:hover {
    color: #3EBD00 !important;       /* green hover */
    background-color: transparent !important;
  }

  /* Submenu links inside mobile */
  .elementor-nav-menu--dropdown .sub-menu li a {
    display: block;
    padding: 10px 20px;
    font-size: 15px;
    color: #3E3E3E !important;
    text-decoration: none;
    transition: all 0.2s ease;
  }

  /* Submenu hover */
  .elementor-nav-menu--dropdown .sub-menu li a:hover {
    background-color: #F3F3F3;
    color: #3EBD00 !important;
  }

  /* Active/current submenu item */
  .elementor-nav-menu--dropdown .sub-menu li.current-menu-item > a,
  .elementor-nav-menu--dropdown .sub-menu li.current_page_item > a {
    background-color: transparent !important;
    color: #3E3E3E !important;
  }
}

/* --- Submenu links (desktop) --- */
.elementor-nav-menu--main .menu-item-has-children .sub-menu li a {
  display: block;
  padding: 10px 20px;
  font-size: 15px;
  color: #3E3E3E !important;
  text-decoration: none;
  transition: all 0.2s ease;
}

/* Hover state */
.elementor-nav-menu--main .menu-item-has-children .sub-menu li a:hover {
  background-color: #F3F3F3;
  color: #3EBD00 !important;
}


/* Active/current submenu item */
.elementor-nav-menu--main .menu-item-has-children .sub-menu li.current-menu-item > a,
.elementor-nav-menu--main .menu-item-has-children .sub-menu li.current_page_item > a {
  background-color: transparent !important;
  color: #3E3E3E !important;
}

/* Optional: prevent submenu items from wrapping */
.elementor-nav-menu--main .menu-item-has-children .sub-menu li,
.elementor-nav-menu--dropdown .sub-menu li {
  position: relative;
  white-space: nowrap;
}

/* --- Make active and hovered menu/submenu transparent --- */
.item.elementor-item-active,
.elementor-sub-item.highlighted,
.elementor-sub-item:focus,
.elementor-sub-item:hover {
  background-color: transparent !important;
}

/* --- Header initial state --- */
.elementor-element-80e332b {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 9999;
  background: transparent;
  transition: all 0.3s ease;
}

/* Main menu links and button initial state */
.elementor-element-80e332b a.elementor-item,
.elementor-element-80e332b .elementor-widget-container p {
  color: #FFFFFF !important;
}

.elementor-element-80e332b .elementor-button {
  color: #000000 !important;
}

/* --- Header after scrolling --- */
.elementor-element-80e332b.scrolled {
  position: fixed !important;
  top: 0;
  width: 100%;
  background: #556341 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Main menu links after scroll */
.elementor-element-80e332b.scrolled > .elementor-container a.elementor-item {
  color: #FFFFFF !important;
}

/* Buttons remain dark after scroll */
.elementor-element-80e332b.scrolled .elementor-button {
  color: #000000 !important;
}
/* --- Mobile / tablet top-level menu color fix --- */
@media (max-width: 1024px) {
  /* Top-level links */
  .elementor-nav-menu--dropdown .elementor-item,
  .elementor-nav-menu--dropdown .elementor-item:link,
  .elementor-nav-menu--dropdown .elementor-item:visited,
  .elementor-nav-menu--dropdown .elementor-item:active,
  .elementor-nav-menu--dropdown .elementor-item.current-menu-item,
  .elementor-nav-menu--dropdown .elementor-item.current_page_item {
    color: #3E3E3E !important;       /* dark text initially */
    background-color: transparent !important; /* keep background transparent */
  }

  /* Hover / focus state */
  .elementor-nav-menu--dropdown .elementor-item:hover,
  .elementor-nav-menu--dropdown .elementor-item:focus {
    color: #3EBD00 !important;       /* green on hover/focus */
    background-color: transparent !important;
  }
}
.hero-dynamic-title {
  color: #ffffff;         
  font-size: 42px;        
  font-weight: 700;    
	font-family: 'Raleway', sans-serif; 

}
.es-listings.es-listings--grid {
  grid-column-gap: 2.4em !important;
  grid-row-gap: 2.4em !important;
}

@media (max-width: 767px) {
    /* We target the container where you placed the shortcode */
    [id*="dynamic_location_title"], 
    .elementor-widget-shortcode,
    .elementor-shortcode {
        font-size: 32px !important;
    }
}


nav.trp-language-switcher.trp-floating-switcher {
    position: fixed !important;
    top: 50% !important;
    left: 20px !important; 
    bottom: auto !important;
    right: auto !important;
    z-index: 999999;
 
    transform: translateY(-50%) rotate(-90deg) !important;
    transform-origin: left center !important;
    transition: all 0.3s ease-in-out !important; 
    --bottom: auto !important;
    --right: auto !important;
}

.trp-language-switcher-inner {
    background-color: #ffffff !important;
    border-radius: 0 0 8px 8px !important; 

    cursor: pointer;
}

.trp-language-item-name {
    display: none !important;
}

.trp-language-item {
    display: flex;
    align-items: center;
    justify-content: center;
	  padding-bottom: 1px;
    gap: 0px !important;
}

.trp-flag-image {
    transform: rotate(90deg) !important;
}