/* Basic positioning for multi-level dropdowns (LTR) */
.dropdown-submenu {
  position: relative;
}

.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-left: .1rem;
  margin-right: .1rem;
}

/* Open state */
.dropdown-submenu.show > .dropdown-menu {
  display: block;
}

/* RTL adjustments */
html[dir="rtl"] .dropdown-submenu > .dropdown-menu {
  right: 100%;
  left: auto;
  margin-left: 0;
}

/* Optional caret for span.dropdown-toggle next to links */
.navbar .dropdown > a > .dropdown-toggle,
.main-menu-container .dropdown > a > .dropdown-toggle,
.top-menu-container .dropdown > a > .dropdown-toggle,
.dropdown-submenu > a > .dropdown-toggle {
  display: inline-block;
  margin-left: .25rem;
  border-top: .3em solid;
  border-right: .3em solid transparent;
  border-left: .3em solid transparent;
  vertical-align: .255em;
  transition: transform .15s ease-in-out;
}

.navbar .dropdown.show > a > .dropdown-toggle,
.main-menu-container .dropdown.show > a > .dropdown-toggle,
.top-menu-container .dropdown.show > a > .dropdown-toggle {
  transform: rotate(180deg);
}

/* Mega menu full-width alignment when parent gets position-static */
.navbar .position-static > .dropdown-menu.mega-menu,
.main-menu-container .position-static > .dropdown-menu.mega-menu,
.top-menu-container .position-static > .dropdown-menu.mega-menu {
  left: 0;
  right: 0;
  width: 100%;
}

/* Ensure dropdowns appear above headers */
.navbar .dropdown-menu,
.main-menu-container .dropdown-menu,
.top-menu-container .dropdown-menu {
  z-index: 1055; /* higher than navbar */
}

/* Active link styling harmonization */
.navbar-nav .nav-link.active,
.top-menu-container .navbar-nav .nav-link.active,
.main-menu-container .navbar-nav .nav-link.active {
  color: var(--bs-primary, #0d6efd);
}

/* Subtle transitions for dropdowns (applies to standard + mega) */
.dropdown-menu {
  will-change: transform, opacity;
  transform: translateY(6px);
  opacity: 0;
  transition: transform .15s ease, opacity .15s ease;
}
.dropdown-menu.show {
  transform: none;
  opacity: 1;
}

/* Optional animation hints mapped from theme classes */
li[class*="better-anim-"] > .dropdown-menu {
  transition-duration: .18s;
}
li.better-anim-fade > .dropdown-menu {
  transform: none;
}
li.better-anim-slide > .dropdown-menu {
  transform: translateY(10px);
}

/* Flip nested submenu to opposite side when needed */
.dropdown-submenu.submenu-align-end > .dropdown-menu {
  left: auto;
  right: 100%;
}
html[dir="rtl"] .dropdown-submenu.submenu-align-end > .dropdown-menu {
  right: auto;
  left: 100%;
}
