/* HiHorse category menu: keep long category trees inside the viewport. */
@media (min-width: 992px) {
  #_desktop_megamenu .menu-content > .menu-item4 > .cat-drop-menu,
  #_desktop_megamenu .menu-content > .menu-item5 > .cat-drop-menu,
  #_desktop_megamenu .menu-content > .menu-item6 > .cat-drop-menu,
  #_desktop_megamenu .menu-content > .menu-item7 > .cat-drop-menu {
    width: clamp(640px, 50vw, 760px);
    height: var(--hihorse-menu-closed-height, auto);
    max-height: calc(100vh - 130px);
    overflow: visible;
    transition: opacity 180ms ease, transform 180ms ease;
  }

  #_desktop_megamenu .menu-content > .menu-item4 > .cat-drop-menu > .avaorg-sub-inner,
  #_desktop_megamenu .menu-content > .menu-item5 > .cat-drop-menu > .avaorg-sub-inner,
  #_desktop_megamenu .menu-content > .menu-item6 > .cat-drop-menu > .avaorg-sub-inner,
  #_desktop_megamenu .menu-content > .menu-item7 > .cat-drop-menu > .avaorg-sub-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: min-content;
    align-content: start;
    column-gap: 18px;
    padding: 14px 16px 18px;
    height: 100% !important;
    min-height: 0 !important;
    max-height: calc(100vh - 130px);
    overflow: visible;
  }

  #_desktop_megamenu .menu-content > .menu-item4 > .cat-drop-menu > .avaorg-sub-inner > li,
  #_desktop_megamenu .menu-content > .menu-item5 > .cat-drop-menu > .avaorg-sub-inner > li,
  #_desktop_megamenu .menu-content > .menu-item6 > .cat-drop-menu > .avaorg-sub-inner > li,
  #_desktop_megamenu .menu-content > .menu-item7 > .cat-drop-menu > .avaorg-sub-inner > li {
    position: relative;
    min-width: 0;
    padding: 0;
    border-bottom: 1px solid #eee8ec;
  }

  #_desktop_megamenu .menu-content > .menu-item4 > .cat-drop-menu > .avaorg-sub-inner > li:nth-child(odd),
  #_desktop_megamenu .menu-content > .menu-item5 > .cat-drop-menu > .avaorg-sub-inner > li:nth-child(odd),
  #_desktop_megamenu .menu-content > .menu-item6 > .cat-drop-menu > .avaorg-sub-inner > li:nth-child(odd),
  #_desktop_megamenu .menu-content > .menu-item7 > .cat-drop-menu > .avaorg-sub-inner > li:nth-child(odd) {
    border-right: 0;
  }

  #_desktop_megamenu .menu-content > .menu-item4 > .cat-drop-menu > .avaorg-sub-inner > li > a,
  #_desktop_megamenu .menu-content > .menu-item5 > .cat-drop-menu > .avaorg-sub-inner > li > a,
  #_desktop_megamenu .menu-content > .menu-item6 > .cat-drop-menu > .avaorg-sub-inner > li > a,
  #_desktop_megamenu .menu-content > .menu-item7 > .cat-drop-menu > .avaorg-sub-inner > li > a {
    display: block;
    min-height: 54px;
    padding: 16px 38px 16px 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #655d62;
    line-height: 1.4;
  }

  /* Nested categories are animated overlays. They do not resize the root
     grid, so neither column jumps and the pointer never loses its target. */
  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu .cat-drop-menu {
    position: absolute;
    z-index: 30;
    top: calc(100% - 1px);
    left: 8px;
    display: block !important;
    width: calc(100% - 16px);
    min-width: 0;
    max-height: 560px;
    padding: 0;
    overflow: visible;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px) !important;
    transform-origin: top center;
    transition: opacity 180ms ease, transform 220ms ease, visibility 0s linear 220ms;
  }

  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu li:hover > .cat-drop-menu,
  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu li:focus-within > .cat-drop-menu {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) !important;
    transition-delay: 0s;
  }

  /* The module renders mobile accordion controls in the desktop tree too.
     They fight with hover navigation and can close a branch under the
     pointer. Desktop uses the indicators attached to category links below. */
  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu .icon-drop-mobile {
    display: none !important;
    pointer-events: none;
  }

  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu .cat-drop-menu > .avaorg-sub-inner {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 8px;
    border: 1px solid #eee8ec;
    border-radius: 0 0 9px 9px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(38, 27, 33, 0.12);
  }

  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu .cat-drop-menu li {
    position: relative;
    padding: 0;
    border: 0;
  }

  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu li:hover,
  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu li:focus-within {
    z-index: 40;
  }

  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu .cat-drop-menu li > a {
    position: relative;
    padding: 7px 30px 7px 9px;
    overflow: visible;
    color: #655d62;
    line-height: 1.35;
    white-space: normal;
    border-radius: 7px;
    transition: color 160ms ease, background-color 160ms ease, padding-left 160ms ease;
  }

  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu .cat-drop-menu li:hover > a,
  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu .cat-drop-menu li:focus-within > a {
    color: var(--hihorse-accent, #e3147c);
    background: rgba(227, 20, 124, 0.08);
    padding-left: 13px;
  }

  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu li:has(> .cat-drop-menu) > a::after {
    position: absolute;
    top: 50%;
    right: 10px;
    content: "+";
    color: #a49aa0;
    font-size: 17px;
    font-weight: 500;
    line-height: 1;
    transform: translateY(-50%);
  }

  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu li:has(> .cat-drop-menu):hover > a::after,
  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu li:has(> .cat-drop-menu):focus-within > a::after {
    content: "−";
    color: var(--hihorse-accent, #e3147c);
  }

  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu > .avaorg-sub-inner > li > a {
    position: relative;
    border-radius: 8px;
    transition: color 160ms ease, background-color 160ms ease, padding-left 160ms ease;
  }

  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu > .avaorg-sub-inner > li:hover > a,
  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7)
    > .cat-drop-menu > .avaorg-sub-inner > li:focus-within > a {
    color: var(--hihorse-accent, #e3147c);
    background: rgba(227, 20, 124, 0.07);
    padding-left: 18px;
  }

  /* Current category and its path remain visible after navigation. */
  #_desktop_megamenu .cat-drop-menu a.hihorse-current {
    color: var(--hihorse-accent, #e3147c) !important;
    background: rgba(227, 20, 124, 0.08) !important;
    font-weight: 600;
  }

  #_desktop_megamenu .menu-content > .menu-item > a.hihorse-current,
  #_desktop_megamenu .menu-content > .menu-item.active > a,
  #_desktop_megamenu .menu-content > .menu-item.hihorse-current-ancestor > a {
    color: var(--hihorse-accent, #e3147c) !important;
  }

  #_desktop_megamenu .menu-content > .menu-item > a.hihorse-current::after,
  #_desktop_megamenu .menu-content > .menu-item.active > a::after,
  #_desktop_megamenu .menu-content > .menu-item.hihorse-current-ancestor > a::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    content: "";
    background: var(--hihorse-accent, #e3147c);
  }

  #_desktop_megamenu .cat-drop-menu li.hihorse-current-ancestor > a:not(.hihorse-current) {
    color: #8b315f;
    font-weight: 500;
  }

  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7):hover
    > .cat-drop-menu li.hihorse-current-ancestor > .cat-drop-menu,
  #_desktop_megamenu .menu-content > :is(.menu-item4, .menu-item5, .menu-item6, .menu-item7):focus-within
    > .cat-drop-menu li.hihorse-current-ancestor > .cat-drop-menu {
    display: block !important;
  }
}

/* Tablet/mobile menu remains an accordion; its first category level uses two columns. */
@media (min-width: 576px) and (max-width: 991.98px) {
  #mobile-megamenu .menu-content > .menu-item4 > .cat-drop-menu > .avaorg-sub-inner > li,
  #mobile-megamenu .menu-content > .menu-item5 > .cat-drop-menu > .avaorg-sub-inner > li,
  #mobile-megamenu .menu-content > .menu-item6 > .cat-drop-menu > .avaorg-sub-inner > li,
  #mobile-megamenu .menu-content > .menu-item7 > .cat-drop-menu > .avaorg-sub-inner > li {
    display: inline-block;
    width: 50%;
    vertical-align: top;
  }
}

@media (max-width: 991.98px) {
  #mobile-megamenu .cat-drop-menu a.hihorse-current {
    color: var(--hihorse-accent, #e3147c) !important;
    background: rgba(227, 20, 124, 0.08) !important;
    font-weight: 600;
  }

  #mobile-megamenu .cat-drop-menu li.hihorse-current-ancestor > a:not(.hihorse-current) {
    color: #8b315f;
    font-weight: 500;
  }
}
