/*
 * Huuguu v1.53.4 — Desktop Submenu Access Fix
 *
 * Owns desktop submenu interaction safety:
 * - larger hover bridge between parent item and dropdown;
 * - stable z-index above breadcrumb/hero;
 * - hover + focus-within accessibility;
 * - no display:none flicker while moving the cursor.
 */

@media (min-width: 1025px) {
  :root {
    --hgg-desktop-submenu-gap-safe: max(var(--hgg-submenu-gap, 8px), 8px);
    --hgg-desktop-submenu-bridge: calc(var(--hgg-desktop-submenu-gap-safe) + 18px);
    --hgg-layer-desktop-submenu: 214748200;
  }

  .site-header,
  .site-header .huuguu-header-shell,
  .site-header .huuguu-header-desktop,
  .site-header .header-nav,
  .site-header .main-navigation {
    overflow: visible !important;
  }

  .site-header .main-navigation .menu > li,
  .site-header .main-navigation ul.primary-menu > li,
  .site-header .main-navigation ul.menu > li {
    position: relative !important;
  }

  .site-header .main-navigation .menu > li.menu-item-has-children::after,
  .site-header .main-navigation ul.primary-menu > li.menu-item-has-children::after,
  .site-header .main-navigation ul.menu > li.menu-item-has-children::after {
    content: "" !important;
    position: absolute !important;
    left: -14px !important;
    right: -14px !important;
    top: 100% !important;
    height: var(--hgg-desktop-submenu-bridge) !important;
    display: block !important;
    pointer-events: auto !important;
    z-index: calc(var(--hgg-layer-desktop-submenu) - 1) !important;
    background: transparent !important;
  }

  .site-header .main-navigation .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: var(--hgg-layer-desktop-submenu) !important;
    display: block !important;
    min-width: var(--hgg-submenu-min-width, 220px) !important;
    width: max-content !important;
    max-width: var(--hgg-submenu-max-width, 340px) !important;
    margin: 0 !important;
    margin-top: var(--hgg-desktop-submenu-gap-safe) !important;
    padding: var(--hgg-submenu-padding-y, 10px) var(--hgg-submenu-padding-x, 0px) !important;
    border-radius: var(--hgg-submenu-radius, 14px) !important;
    background: var(--hgg-submenu-bg, #ffffff) !important;
    border: 1px solid var(--hgg-submenu-border, rgba(23,32,51,.10)) !important;
    box-shadow: var(--hgg-submenu-shadow, 0 20px 44px rgba(17,34,68,.14)) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(0, -4px, 0) !important;
    transition: opacity .14s ease, transform .14s ease, visibility 0s linear .14s !important;
  }

  .site-header .main-navigation .sub-menu::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(-1 * var(--hgg-desktop-submenu-bridge)) !important;
    height: var(--hgg-desktop-submenu-bridge) !important;
    display: block !important;
    background: transparent !important;
    pointer-events: auto !important;
  }

  .site-header .main-navigation li:hover > .sub-menu,
  .site-header .main-navigation li:focus-within > .sub-menu,
  .site-header .main-navigation li.menu-item-submenu-open > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0, 0, 0) !important;
    transition: opacity .14s ease, transform .14s ease, visibility 0s linear 0s !important;
  }

  .site-header .main-navigation .sub-menu a {
    display: flex !important;
    align-items: center !important;
    min-height: 38px !important;
    padding: var(--hgg-submenu-item-padding-y, 10px) var(--hgg-submenu-item-padding-x, 16px) !important;
    white-space: nowrap !important;
  }

  .site-header .main-navigation .sub-menu .sub-menu {
    top: 0 !important;
    left: calc(100% + var(--hgg-desktop-submenu-gap-safe)) !important;
    margin-top: 0 !important;
  }

  .site-header .main-navigation .sub-menu .menu-item-has-children::after {
    left: 100% !important;
    right: auto !important;
    top: 0 !important;
    width: var(--hgg-desktop-submenu-bridge) !important;
    height: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .main-navigation .sub-menu {
    transition: none !important;
    transform: none !important;
  }
}
