/* ==========================================================================
   RadMenu Touch + Desktop Hover — FINAL
   Scope: #ctl01_ciPrimaryNavigation_NavControl_NavMenu
   Behavior:
     • ≥768px + touch: first tap opens, second tap navigates (JS handles it)
     • ≥768px + desktop/mouse: hover opens, submenu stays clickable
     • <768px: unchanged
   ========================================================================== */

/* < 768px: leave everything alone; ensure any overlays are inert */
@media (max-width: 767.98px) {
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem > a .mtg-hit {
    display: none !important;
  }
}

/* ≥ 768px: main rules */
@media (min-width: 768px) {

  /* Root items = positioning context */
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem {
    position: relative;
  }

  /* Unhide Telerik ULs when the item is open/expanded (touch + click path) */
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmOpen > .rmSlide > ul.rmVertical,
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmOpen > ul.rmVertical,
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmExpanded > .rmSlide > ul.rmVertical,
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmExpanded > ul.rmVertical {
    display: block !important;
  }

  /* Show containers and neutralize off-canvas tricks when open/expanded */
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmOpen > .rmSlide,
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmOpen > .rmGroup,
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmExpanded > .rmSlide,
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmExpanded > .rmGroup {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    transform: none !important;
    clip: auto !important;
    clip-path: none !important;
    pointer-events: auto !important; /* interactive when open */
  }

  /* Position dropdown under the label (for .rmSlide wrappers) */
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmOpen > .rmSlide,
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmExpanded > .rmSlide {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    z-index: 100010 !important;
    min-width: 220px !important;
  }

  /* Normalize inner group container */
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmOpen > .rmSlide > .rmGroup,
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmExpanded > .rmSlide > .rmGroup,
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmOpen > .rmGroup,
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.rmExpanded > .rmGroup {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    min-width: 220px !important;
  }

  /* Safety: when NOT open, keep submenu wrappers inert so they don’t block forms */
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem > .rmSlide,
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem > .rmGroup {
    pointer-events: none;          /* inert unless open or hovered (see below) */
    visibility: hidden;            /* avoid invisible hit-boxes */
  }

  /* Keep the overlay above the label text only */
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem > a { position: relative; z-index: 0; }
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem > a .mtg-hit { z-index: 1; }

  /* Avoid clipping; raise stack */
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu,
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup,
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem {
    overflow: visible !important;
  }
  #ctl01_ciPrimaryNavigation_NavControl_NavMenu {
    position: relative !important;
    z-index: 100000 !important;
  }

  /* Touch-only: disable the parent anchor so our overlay captures the first tap */
  @media (pointer: coarse) {
    #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.mtg-parent > a {
      pointer-events: none;
    }
    #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem.mtg-parent > a .mtg-hit {
      position: absolute;
      top: 0; right: 0; bottom: 0; left: 0;
      display: block;
      background: transparent;
      pointer-events: auto;
      z-index: 100020;
      cursor: pointer;
    }
  }

  /* ===================== Desktop hover support ===================== */
  @media (pointer: fine) {
    /* When hovering a root item OR focusing via keyboard, make submenu visible & interactive */
    #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem:hover > .rmSlide,
    #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem:hover > .rmGroup,
    #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem:focus-within > .rmSlide,
    #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem:focus-within > .rmGroup {
      display: block !important;
      visibility: visible !important;
      opacity: 1 !important;
      pointer-events: auto !important; /* critical: allow mouse to enter submenu */
    }

    /* If there’s a .rmSlide wrapper, position it under the label on hover too */
    #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem:hover > .rmSlide,
    #ctl01_ciPrimaryNavigation_NavControl_NavMenu .rmRootGroup > li.rmItem:focus-within > .rmSlide {
      position: absolute !important;
      top: 100% !important;
      left: 0 !important;
      z-index: 100010 !important;
      min-width: 220px !important;
    }
  }
}
