/* Bigstep desktop navigation — stable hover states and nested dropdowns. */
@media (min-width: 1025px) {
  #haru-header.haru-header--desktop {
    position: relative;
    z-index: 10020;
  }

  #haru-header.haru-header--desktop .haru-nav-menu > li {
    position: relative;
    align-items: center;
  }

  #haru-header.haru-header--desktop .haru-nav-menu > li > a.haru-item--main {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #d9dfec !important;
    font-weight: 750;
    line-height: 1.15;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  }

  #haru-header.haru-header--desktop .haru-nav-menu > li:hover > a.haru-item--main,
  #haru-header.haru-header--desktop .haru-nav-menu > li.current-menu-item > a.haru-item--main,
  #haru-header.haru-header--desktop .haru-nav-menu > li.current-menu-ancestor > a.haru-item--main {
    color: #fff !important;
    border-color: rgba(129, 140, 248, .22);
    background: linear-gradient(135deg, rgba(99, 102, 241, .18), rgba(139, 92, 246, .10));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 8px 26px rgba(49, 46, 129, .16);
    transform: translateY(-1px);
  }

  #haru-header.haru-header--desktop .haru-nav-menu .sub-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 8px;
    color: #7f8aa3;
    transition: color .18s ease, transform .18s ease;
  }

  #haru-header.haru-header--desktop .haru-nav-menu li:hover > a > .sub-arrow {
    color: #c4b5fd;
  }

  #haru-header.haru-header--desktop .haru-nav-menu > li:hover > a > .sub-arrow {
    transform: rotate(180deg);
  }

  #haru-header.haru-header--desktop .haru-nav-menu ul.sub-menu {
    min-width: 258px;
    padding: 8px !important;
    border: 1px solid rgba(129, 140, 248, .28) !important;
    border-radius: 16px !important;
    background:
      radial-gradient(circle at 15% 0%, rgba(99, 102, 241, .16), transparent 48%),
      linear-gradient(180deg, rgba(16, 20, 36, .985), rgba(8, 11, 22, .99)) !important;
    box-shadow: 0 24px 68px rgba(0, 0, 0, .58), inset 0 1px 0 rgba(255, 255, 255, .045) !important;
    /* Stacked backdrop filters corrupt the page compositor when level 2 opens. */
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: visible !important;
    animation: none !important;
  }

  /* Keep the first dropdown clear of the header's bottom divider. The theme
     vertically centres the 38px menu item inside a 75px header, so top:100%
     otherwise places the panel inside the header and makes its edge look torn. */
  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header.haru-header--desktop .haru-nav-menu > li > ul.sub-menu {
    top: calc(100% + 24px) !important;
    left: 0 !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: linear-gradient(180deg, rgba(17, 22, 40, .99), rgba(8, 11, 22, .995)) !important;
    box-shadow: 0 22px 58px rgba(0, 0, 0, .56), 0 0 0 1px rgba(129, 140, 248, .28) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Invisible bridge keeps the dropdown open while the pointer crosses the gap. */
  #haru-header.haru-header--desktop .haru-nav-menu > li > ul.sub-menu::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    height: 26px;
  }

  #haru-header.haru-header--desktop .haru-nav-menu ul.sub-menu > li {
    position: relative;
    display: block;
    margin: 0 !important;
  }

  #haru-header.haru-header--desktop .haru-nav-menu ul.sub-menu > li + li {
    margin-top: 3px !important;
  }

  #haru-header.haru-header--desktop .haru-nav-menu ul.sub-menu a.haru-sub-item {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 42px;
    padding: 10px 12px !important;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #b9c3d6 !important;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
    white-space: normal;
    transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease;
  }

  #haru-header.haru-header--desktop .haru-nav-menu ul.sub-menu > li:hover > a.haru-sub-item,
  #haru-header.haru-header--desktop .haru-nav-menu ul.sub-menu > li.current-menu-item > a.haru-sub-item,
  #haru-header.haru-header--desktop .haru-nav-menu ul.sub-menu > li.current-menu-ancestor > a.haru-sub-item {
    color: #fff !important;
    border-color: rgba(129, 140, 248, .30);
    background: linear-gradient(110deg, rgba(99, 102, 241, .25), rgba(139, 92, 246, .14));
    transform: translateX(2px);
  }

  /* Open nested groups inward and neutralize the child theme's transparent
     6px top border, which otherwise makes the panel edge look torn. */
  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header.haru-header--desktop .haru-nav-menu ul.sub-menu ul.sub-menu {
    top: -1px !important;
    right: calc(100% + 10px) !important;
    left: auto !important;
    min-width: 258px !important;
    margin: 0 !important;
    padding: 8px !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: linear-gradient(180deg, rgba(17, 22, 40, .99), rgba(8, 11, 22, .995)) !important;
    background-clip: border-box !important;
    box-shadow: 0 22px 58px rgba(0, 0, 0, .56), 0 0 0 1px rgba(129, 140, 248, .28) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: visible !important;
  }

  #haru-header.haru-header--desktop .haru-nav-menu ul.sub-menu ul.sub-menu::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    width: 11px;
  }

  #haru-header.haru-header--desktop .haru-nav-menu ul.sub-menu li:hover > a > .sub-arrow {
    transform: rotate(180deg);
  }
}

@media (max-width: 1024px) {
  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header nav.haru-nav-menu--dropdown {
    max-height: calc(100dvh - 82px);
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(129, 140, 248, .42) transparent;
  }

  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header nav.haru-nav-menu--dropdown ul,
  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header nav.haru-nav-menu--dropdown li {
    box-sizing: border-box;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header nav.haru-nav-menu--dropdown > ul.haru-nav-menu {
    width: 100% !important;
  }

  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header nav.haru-nav-menu--dropdown ul.sub-menu {
    position: static !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 3px !important;
    width: calc(100% - 12px) !important;
    height: auto !important;
    margin: 6px 0 4px 12px !important;
    padding: 2px 0 2px 10px !important;
    border: 0 !important;
    border-left: 1px solid rgba(129, 140, 248, .28) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    animation: none !important;
    transform: none !important;
  }

  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header nav.haru-nav-menu--dropdown ul.sub-menu ul.sub-menu {
    width: calc(100% - 10px) !important;
    margin: 3px 0 3px 10px !important;
    padding-left: 9px !important;
    border-left-color: rgba(56, 189, 248, .20) !important;
  }

  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header nav.haru-nav-menu--dropdown ul.sub-menu > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header nav.haru-nav-menu--dropdown ul.sub-menu a.haru-sub-item {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100% !important;
    min-height: 40px;
    margin: 0 !important;
    padding: 8px 11px !important;
    border: 1px solid transparent !important;
    border-radius: 9px !important;
    background: transparent !important;
    color: #aeb9cc !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.35;
    white-space: normal !important;
  }

  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header nav.haru-nav-menu--dropdown ul.sub-menu > li.current-menu-item > a.haru-sub-item,
  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header nav.haru-nav-menu--dropdown ul.sub-menu > li.current-menu-ancestor > a.haru-sub-item,
  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header nav.haru-nav-menu--dropdown ul.sub-menu > li > a.haru-sub-item:active {
    border-color: rgba(129, 140, 248, .22) !important;
    background: rgba(99, 102, 241, .12) !important;
    color: #fff !important;
  }

  body:not(.bigstep-plugin-surface):not(.bigstep-ai-standalone-editor):not(.bigstep-home-standalone) #haru-header nav.haru-nav-menu--dropdown ul.sub-menu .sub-arrow {
    flex: 0 0 auto;
    margin-left: 10px;
  }
}
