/* =======================
   Mega Menu Grid Layouts
   ======================= */
#menu-item-3013 > .sub-menu,
#menu-item-2988 > .sub-menu,
#menu-item-2997 > .sub-menu,
#menu-item-3003 > .sub-menu,
#menu-item-3023 > .sub-menu {
  display: grid !important;
  grid-auto-rows: auto;
  grid-auto-flow: row dense;
  padding: 2rem !important;
  background: #F5F6FA !important;
  border-radius: 15px;
  list-style: none;
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  z-index: 999 !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* 3-column grid for menus with divider: left | 1px | right */
#menu-item-3013  > .sub-menu,
#menu-item-2988 > .sub-menu,
#menu-item-2997> .sub-menu,
#menu-item-3003  > .sub-menu {
  grid-template-columns: 1fr 1px 1fr !important; /* middle track is the divider lane */
  column-gap: 3rem !important;                   /* one source of truth for spacing */
  position: relative;                            /* needed for the absolute divider */
}

/* Single-column menu stays single-column */
#menu-item-3023 > .sub-menu {
  grid-template-columns: 1fr !important;
}

/* Show on hover */
#menu-item-3013:hover  > .sub-menu,
#menu-item-2988:hover > .sub-menu,
#menu-item-2997:hover> .sub-menu,
#menu-item-3003:hover  > .sub-menu,
#menu-item-3023:hover > .sub-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Min-widths */
#menu-item-2997 > .sub-menu { min-width: 780px; }
#menu-item-2988 > .sub-menu { min-width: 384px; }
#menu-item-3003  > .sub-menu { min-width: 540px; }
#menu-item-3023 > .sub-menu { min-width: 0; }
#menu-item-3013  > .sub-menu { min-width: 366px; }

/* -------- Vertical divider: full height inside padding, perfectly centered -------- */
#menu-item-2988 > .sub-menu::before,
#menu-item-2997 > .sub-menu::before,
#menu-item-3003  > .sub-menu::before,
#menu-item-3013  > .sub-menu::before {
  content: "";
  position: absolute;
  inset-block: 2rem;              /* top/bottom = submenu padding */
  left: 50%;
  transform: translateX(-0.5px);  /* crisp 1px line */
  width: 1px;
  background: rgba(0, 42, 122, 1);
  pointer-events: none;
  z-index: 0;
}

/* ---------- Column targeting &amp; item sizing ---------- */
/* Stop shrink-to-fit and centering on LIs */
#menu-item-3013  > .sub-menu > li,
#menu-item-2988 > .sub-menu > li,
#menu-item-2997> .sub-menu > li,
#menu-item-3003  > .sub-menu > li {
  display: block !important;
  margin: 0 !important;
  width: 100% !important;           /* fill the grid track */
  justify-self: stretch !important; /* hug track edges */
  text-align: left !important;
}

/* Put columns on the outer tracks */
.sub-menu > .col1 { grid-column: 1 !important; }
.sub-menu > .col2 { grid-column: 3 !important; }

/* Make links fill their track so text starts at the edge */
#menu-item-3013  > .sub-menu li a,
#menu-item-2988 > .sub-menu li a,
#menu-item-2997> .sub-menu li a,
#menu-item-3003  > .sub-menu li a {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
}

/* -------- Generic UL base (no fixed columns here to avoid overrides) -------- */
ul.sub-menu {
  display: grid;
  padding: 2rem;
  background: #F5F6FA;
  border-radius: 15px;
  position: relative;
}

/* Link appearance */
.desktop-nav-wrap > ul > li .sub-menu li a {
  padding-bottom: 5px;
  font-weight: 400;
  font-size: 1rem;
}

/* Divider after nav links */
.desktop-nav-wrap a:after { border-bottom: 5px solid #002A7A; }

/* Header shadow override */
header.main-banner { box-shadow: none !important; }

/* Descriptions */
.menu-item-description {
  padding: 4px 0;
  font-weight: normal;
  font-size: 1rem;
  line-height: 20px;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* Alignments for specific items (keep if you use them) */
li#menu-item-1557 a{ margin-top: -35px; }          /* “Technology Integrations” */
li#menu-item-2940 { margin-top: 15px !important; }/* “Resellers” */

/* ===================
   Media Query: Desktop
   =================== */
@media (min-width: 1024px) {
  /* Place items left/right of the divider track */
  #menu-item-3013  > .sub-menu > li.col1,
  #menu-item-2988 > .sub-menu > li.col1,
  #menu-item-2997> .sub-menu > li.col1,
  #menu-item-3003  > .sub-menu > li.col1,
  #menu-item-3023 > .sub-menu > li.col1 {
    grid-column: 1 !important;
  }

  #menu-item-3013  > .sub-menu > li.col2,
  #menu-item-2988 > .sub-menu > li.col2,
  #menu-item-2997> .sub-menu > li.col2,
  #menu-item-3003  > .sub-menu > li.col2 {
    grid-column: 3 !important;
  }

  /* Menu headings */
  #menu-item-3013  > .sub-menu > li.menu-heading > a,
  #menu-item-2988 > .sub-menu > li.menu-heading > a,
  #menu-item-3003  > .sub-menu > li.menu-heading > a,
  #menu-item-3023 > .sub-menu > li.menu-heading > a {
    font-weight: 700;
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
    display: block;
    pointer-events: none;
  }

  #menu-item-2997 > .sub-menu > li.menu-heading > a {
    font-weight: 700;
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
    display: block;
  }

  .menu-heading-link > a {
    font-weight: 700 !important;
    font-size: 1.125rem !important;
    margin-bottom: 0.5rem;
  }

  /* Inner submenu appearance */
  #menu-item-3013  > .sub-menu > li.menu-heading > .sub-menu,
  #menu-item-2988 > .sub-menu > li.menu-heading > .sub-menu,
  #menu-item-2997> .sub-menu > li.menu-heading > .sub-menu,
  #menu-item-3003  > .sub-menu > li.menu-heading > .sub-menu,
  #menu-item-3023 > .sub-menu > li.menu-heading > .sub-menu {
    display: block !important;
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: auto !important;
  }

  /* Links under inner headings */
  #menu-item-3013  > .sub-menu > li.menu-heading > .sub-menu > li,
  #menu-item-2988 > .sub-menu > li.menu-heading > .sub-menu > li,
  #menu-item-2997> .sub-menu > li.menu-heading > .sub-menu > li,
  #menu-item-3003  > .sub-menu > li.menu-heading > .sub-menu > li,
  #menu-item-3023 > .sub-menu > li.menu-heading > .sub-menu > li {
    margin: 0.25rem 0;
  }
}






/* 1) Force level-3 submenus open */
.mobile-menu .sub-menu .sub-menu {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
  overflow: visible !important;
}

/* 2) Hide the accordion toggle only for level-3 parents */
.mobile-menu .sub-menu a.expand {
    display: none !important;
}

/* Optional: indent level-3 items a bit */
.mobile-menu .sub-menu .sub-menu a {
  padding-left: 2rem;
}