/* Quincy Menu Organizer: scoped to the primary Quincy navigation. */
#quincy-primary-nav.qmo-enhanced .menu-item-has-children > a::after { display: none; }

#quincy-primary-nav.qmo-enhanced .qmo-submenu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: currentColor;
  cursor: pointer;
}

#quincy-primary-nav.qmo-enhanced .qmo-submenu-toggle:hover { background: var(--quincy-soft, #f3f7f9); }
#quincy-primary-nav.qmo-enhanced .qmo-submenu-toggle:focus-visible { outline: 3px solid rgba(16, 174, 196, .24); outline-offset: 2px; }
#quincy-primary-nav.qmo-enhanced .qmo-submenu-toggle span { width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .16s ease; }
#quincy-primary-nav.qmo-enhanced .qmo-open > .qmo-submenu-toggle span { transform: translateY(2px) rotate(225deg); }

@media (min-width: 701px) {
  #quincy-primary-nav.qmo-enhanced { position: relative; }
  #quincy-primary-nav.qmo-enhanced > ul > li.menu-item-has-children { display: flex; align-items: center; }
  #quincy-primary-nav.qmo-enhanced > ul > li.menu-item-has-children > a { padding-right: 3px; }
  #quincy-primary-nav.qmo-enhanced > ul > li.menu-item-has-children > .qmo-submenu-toggle { margin-right: -7px; }

  /* Replace Quincy's sticky :hover/:focus-within display behavior with controlled open states. */
  #quincy-primary-nav.qmo-enhanced li:hover > .sub-menu,
  #quincy-primary-nav.qmo-enhanced li:focus-within > .sub-menu { display: none; }
  #quincy-primary-nav.qmo-enhanced li.qmo-open > .sub-menu { display: block; }

  /* Normal single-level dropdown. */
  #quincy-primary-nav.qmo-enhanced > ul > li > .sub-menu { top: 100%; }
  #quincy-primary-nav.qmo-enhanced .sub-menu li.menu-item-has-children { padding-right: 36px; }
  #quincy-primary-nav.qmo-enhanced .sub-menu li.menu-item-has-children > .qmo-submenu-toggle { position: absolute; top: 6px; right: 7px; }
  #quincy-primary-nav.qmo-enhanced .sub-menu .sub-menu { top: -9px; left: calc(100% + 8px); }

  /* Any top-level section with grandchildren becomes a flat, expandable mega menu. */
  #quincy-primary-nav.qmo-enhanced > ul > li.qmo-mega-menu { position: static; }
  #quincy-primary-nav.qmo-enhanced > ul > li.qmo-mega-menu > .sub-menu {
    right: 0;
    left: auto;
    width: min(920px, calc(100vw - 32px));
    max-height: min(70vh, 680px);
    overflow-x: hidden;
    overflow-y: auto;
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
    gap: 8px 22px;
    padding: 19px;
    border-radius: 12px;
  }
  #quincy-primary-nav.qmo-enhanced > ul > li.qmo-mega-menu.qmo-columns-1 > .sub-menu { width: min(370px, calc(100vw - 32px)); grid-template-columns: 1fr; }
  #quincy-primary-nav.qmo-enhanced > ul > li.qmo-mega-menu.qmo-columns-2 > .sub-menu { width: min(600px, calc(100vw - 32px)); grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #quincy-primary-nav.qmo-enhanced > ul > li.qmo-mega-menu.qmo-columns-3 > .sub-menu { width: min(900px, calc(100vw - 32px)); grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #quincy-primary-nav.qmo-enhanced > ul > li.qmo-mega-menu.qmo-columns-4 > .sub-menu { width: min(920px, calc(100vw - 32px)); grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #quincy-primary-nav.qmo-enhanced > ul > li.qmo-mega-menu.qmo-open > .sub-menu { display: grid; }
  #quincy-primary-nav.qmo-enhanced .qmo-mega-menu > .sub-menu > li { width: auto; min-width: 0; padding: 0; }
  #quincy-primary-nav.qmo-enhanced .qmo-mega-menu > .sub-menu > li > a {
    margin: 0 0 6px;
    padding: 10px 10px 10px 12px;
    border-left: 3px solid var(--quincy-primary, #0f8fa8);
    border-bottom: 1px solid var(--quincy-border, #d8e5ea);
    border-radius: 8px;
    background: var(--quincy-soft, #eef7f9);
    color: #0b7285;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.01em;
    white-space: normal;
  }
  #quincy-primary-nav.qmo-enhanced .qmo-mega-menu > .sub-menu > li > a:hover { background: #e5f2f5; }
  #quincy-primary-nav.qmo-enhanced .qmo-mega-menu > .sub-menu > li > .qmo-submenu-toggle { display: none; }
  #quincy-primary-nav.qmo-enhanced .qmo-mega-menu > .sub-menu > li > .sub-menu {
    position: static;
    display: block;
    width: auto;
    min-width: 0;
    margin: 4px 0 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
  }
  #quincy-primary-nav.qmo-enhanced .qmo-mega-menu > .sub-menu > li > .sub-menu li { width: auto; padding: 0; }
  #quincy-primary-nav.qmo-enhanced .qmo-mega-menu > .sub-menu > li > .sub-menu a {
    padding: 7px 10px;
    color: #334155;
    white-space: normal;
    line-height: 1.35;
    font-size: 13px;
    font-weight: 400;
  }
}

@media (max-width: 700px) {
  /* Override Quincy's always-expanded mobile submenus with accessible accordions. */
  .quincy-header #quincy-primary-nav.qmo-enhanced .sub-menu { display: none !important; }
  .quincy-header #quincy-primary-nav.qmo-enhanced li.qmo-open > .sub-menu { display: block !important; }
  .quincy-header #quincy-primary-nav.qmo-enhanced li.menu-item-has-children { position: relative; padding-right: 42px; }
  .quincy-header #quincy-primary-nav.qmo-enhanced li.menu-item-has-children > a { padding-right: 4px !important; white-space: normal; }
  .quincy-header #quincy-primary-nav.qmo-enhanced .qmo-submenu-toggle { position: absolute; top: 5px; right: 2px; width: 36px; height: 36px; }
  .quincy-header #quincy-primary-nav.qmo-enhanced .sub-menu { padding-left: 14px !important; }
  .quincy-header #quincy-primary-nav.qmo-enhanced .sub-menu li { border-left: 1px solid var(--quincy-border, #e2e8f0) !important; padding-left: 10px; }
  .quincy-header #quincy-primary-nav.qmo-enhanced .sub-menu a { line-height: 1.35; }
}

@media (prefers-reduced-motion: reduce) {
  #quincy-primary-nav.qmo-enhanced .qmo-submenu-toggle span { transition: none; }
}
