.inoforest-nav-menu {
  position: relative;
}

.inoforest-nav-menu ul.menu,
.inoforest-nav-menu ul.sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.inoforest-nav-menu.layout-horizontal > ul.menu {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.inoforest-nav-menu.layout-vertical > ul.menu {
  display: flex;
  flex-direction: column;
}

.inoforest-nav-menu ul.menu > li {
  position: relative;
}

.inoforest-nav-menu a {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.inoforest-nav-menu .submenu-indicator {
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-left: 0.35em;
}

/* Submenu (dropdown). Defaults follow the Design System; the widget's Style → Dropdown controls set the
   --ino-nav-dd-* variables. Item selectors carry ul.menu ul.sub-menu so the Menu Item controls (which target every
   link: .elementor-element-… .inoforest-nav-menu .menu li a) do not reach dropdown links. */
.inoforest-nav-menu {
  --ino-nav-dd-width: 230px;
  --ino-nav-dd-padding: 12px;
  --ino-nav-dd-bg: #ffffff;
  --ino-nav-dd-radius: 16px;
  --ino-nav-dd-offset: 10px;
  --ino-nav-dd-color: var(--inoforest-color-text, #5b6b79);
  --ino-nav-dd-hover-color: var(--inoforest-color-primary, #0b7a75);
  --ino-nav-dd-hover-bg: var(--inoforest-color-primary-light, #e5f3f2);
  --ino-nav-dd-item-radius: 10px;
  --ino-nav-dd-gap: 4px;
}

.inoforest-nav-menu ul.sub-menu {
  position: absolute;
  left: 0;
  top: calc(100% + var(--ino-nav-dd-offset));
  display: flex;
  flex-direction: column;
  gap: var(--ino-nav-dd-gap);
  min-width: var(--ino-nav-dd-width);
  padding: var(--ino-nav-dd-padding);
  background: var(--ino-nav-dd-bg);
  border-radius: var(--ino-nav-dd-radius);
  box-shadow: 0 24px 60px rgba(13, 27, 42, 0.16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s step-end;
  z-index: 100;
}

/* Keeps the dropdown open while the pointer crosses the gap above it. */
.inoforest-nav-menu ul.sub-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(-1 * var(--ino-nav-dd-offset) - 4px);
  height: calc(var(--ino-nav-dd-offset) + 4px);
}

/* A dropdown inside a dropdown opens to the side. */
.inoforest-nav-menu ul.sub-menu ul.sub-menu {
  top: calc(-1 * var(--ino-nav-dd-padding));
  left: 100%;
}

.inoforest-nav-menu li.menu-item-has-children:hover > ul.sub-menu,
.inoforest-nav-menu li.menu-item-has-children:focus-within > ul.sub-menu,
.inoforest-nav-menu ul.menu > li.active > ul.sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-timing-function: ease, ease, step-start;
}

.inoforest-nav-menu ul.sub-menu li {
  position: relative;
  padding: 0;
  display: flex;
  justify-content: flex-start;
  width: 100%;
}

.inoforest-nav-menu ul.menu ul.sub-menu a {
  display: block;
  width: 100%;
  padding: 9px 14px;
  font-size: 0.925rem;
  font-weight: 600;
  line-height: 1.7;
  white-space: nowrap;
  color: var(--ino-nav-dd-color);
  background: transparent;
  border-radius: var(--ino-nav-dd-item-radius);
  transition: color .25s ease, background-color .25s ease;
}

.inoforest-nav-menu ul.menu ul.sub-menu a:hover,
.inoforest-nav-menu ul.menu ul.sub-menu a:focus-visible,
.inoforest-nav-menu ul.menu ul.sub-menu .current-menu-item > a,
.inoforest-nav-menu ul.menu ul.sub-menu .current_page_item > a {
  color: var(--ino-nav-dd-hover-color);
  background: var(--ino-nav-dd-hover-bg);
}

/* The indicator turns while its dropdown is open. */
.inoforest-nav-menu .submenu-indicator {
  transition: transform .25s ease;
}

.inoforest-nav-menu li.menu-item-has-children:hover > a .submenu-indicator,
.inoforest-nav-menu li.menu-item-has-children:focus-within > a .submenu-indicator {
  transform: rotate(225deg) translate(-2px, -2px);
}

@media (prefers-reduced-motion: reduce) {
  .inoforest-nav-menu ul.sub-menu,
  .inoforest-nav-menu .submenu-indicator {
    transition: none;
  }
}

/* Mobile/off-canvas behavior moved to theme CSS */


