/* ============================================================
   EDC Solutions Mega Menu — front end
   Colors and spacing match www.edcus.com (edc.css "NewNavbar").
   Selectors use a doubled class (.edc-mm.edc-mm) plus !important
   so the theme (JNews) cannot override the menu's layout.
   ============================================================ */

.edc-solutions-item { position: relative !important; }

/* ---------- Reset everything inside the menu ---------- */
.edc-mm.edc-mm, .edc-mm.edc-mm *,
.edc-mm-acc.edc-mm-acc, .edc-mm-acc.edc-mm-acc * {
  box-sizing: border-box !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  float: none !important; width: auto !important; height: auto !important;
  min-width: 0 !important; min-height: 0 !important; max-width: none !important;
  line-height: 1.4 !important; letter-spacing: normal !important;
  text-transform: none !important; text-align: left !important;
  text-decoration: none !important; text-shadow: none !important;
  box-shadow: none !important; background: none !important;
  font-family: "Titillium Web", system-ui, -apple-system, "Segoe UI", Arial, sans-serif !important;
  font-style: normal !important; white-space: normal !important;
  position: static !important; transform: none !important; opacity: 1 !important;
  visibility: inherit !important; overflow: visible !important; border-radius: 0 !important;
}
.edc-mm.edc-mm *::before, .edc-mm.edc-mm *::after,
.edc-mm-acc.edc-mm-acc *::before, .edc-mm-acc.edc-mm-acc *::after { content: none !important; display: none !important; }

/* ---------- Dropdown container (hidden until hover) ---------- */
.edc-mm.edc-mm {
  display: flex !important;
  position: absolute !important; top: 100% !important; left: 0 !important; z-index: 99999 !important;
  width: 840px !important; max-width: calc(100vw - 32px) !important;
  background: #ffffff !important;
  border: 1px solid #e0dff8 !important; border-radius: 10px !important;
  box-shadow: 0 8px 32px rgba(83, 74, 183, 0.12) !important;
  overflow: hidden !important;
  font-size: 14px !important; color: #2d2a5e !important;
  visibility: hidden !important; opacity: 0 !important; pointer-events: none !important;
  /* short grace period so the menu doesn't vanish while the mouse travels to it */
  transition: opacity .12s ease, visibility 0s linear .2s !important;
}
.edc-solutions-item:not(.edc-is-mobile):hover > .edc-mm.edc-mm,
.edc-solutions-item:not(.edc-is-mobile):focus-within > .edc-mm.edc-mm {
  visibility: visible !important; opacity: 1 !important; pointer-events: auto !important;
  transition: opacity .12s ease, visibility 0s linear 0s !important;
}
.edc-solutions-item.edc-is-mobile > .edc-mm.edc-mm { display: none !important; }

/* ---------- Left column ---------- */
.edc-mm.edc-mm .edc-mm-left {
  display: block !important; width: 232px !important; flex-shrink: 0 !important;
  padding: 14px 0 !important; background: #ffffff !important;
  border-right: 1px solid #e8e7f9 !important;
}
.edc-mm.edc-mm .edc-mm-left-label {
  display: block !important; padding: 0 18px 10px !important;
  font-size: 10px !important; font-weight: 700 !important; letter-spacing: .09em !important;
  text-transform: uppercase !important; color: #9994c8 !important;
}
.edc-mm.edc-mm .edc-mm-cat {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  padding: 9px 18px !important; cursor: pointer !important;
  font-size: 14px !important; font-weight: 600 !important; color: #2d2a5e !important;
  white-space: nowrap !important; transition: background .13s, color .13s !important;
}
.edc-mm.edc-mm .edc-mm-cat-label { white-space: nowrap !important; color: inherit !important; font: inherit !important; }
.edc-mm.edc-mm .edc-mm-cat:hover,
.edc-mm.edc-mm .edc-mm-cat.is-active { background: #EEEDFE !important; color: #3C3489 !important; }
.edc-mm.edc-mm .edc-mm-chev { font-size: 11px !important; margin-left: 12px !important; color: inherit !important; opacity: .5 !important; }
.edc-mm.edc-mm .edc-mm-cat.is-active .edc-mm-chev { opacity: 1 !important; color: #7F77DD !important; }

/* ---------- Right panel ---------- */
.edc-mm.edc-mm .edc-mm-right {
  display: block !important; flex: 1 1 auto !important; min-width: 0 !important; min-height: 300px !important;
  padding: 20px 24px 24px !important; background: #EEEDFE !important;
}
.edc-mm.edc-mm .edc-mm-panel { display: none !important; }
.edc-mm.edc-mm .edc-mm-panel.is-visible { display: block !important; }

.edc-mm.edc-mm .edc-mm-right-label {
  display: block !important; margin-bottom: 16px !important;
  font-size: 10px !important; font-weight: 700 !important; letter-spacing: .09em !important;
  text-transform: uppercase !important; color: #534AB7 !important;
}
.edc-mm.edc-mm .edc-mm-section { display: block !important; margin-bottom: 20px !important; }
.edc-mm.edc-mm .edc-mm-section:last-child { margin-bottom: 0 !important; }
.edc-mm.edc-mm .edc-mm-section-title {
  display: block !important; margin-bottom: 10px !important; padding-bottom: 6px !important;
  border-bottom: 1px solid #d4d2f0 !important;
  font-size: 10px !important; font-weight: 700 !important; letter-spacing: .09em !important;
  text-transform: uppercase !important; color: #9994c8 !important;
}
.edc-mm.edc-mm .edc-mm-grid {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 32px !important; width: 100% !important;
}

/* ---------- Product links ---------- */
.edc-mm.edc-mm .edc-mm-product { display: block !important; cursor: pointer !important; }
.edc-mm.edc-mm .edc-mm-name {
  display: block !important; margin-bottom: 2px !important;
  font-size: 13px !important; font-weight: 700 !important; color: #3C3489 !important;
  transition: color .12s !important;
}
.edc-mm.edc-mm .edc-mm-product:hover .edc-mm-name { color: #534AB7 !important; text-decoration: underline !important; }
.edc-mm.edc-mm .edc-mm-desc {
  display: block !important; font-size: 12px !important; line-height: 1.45 !important;
  color: #534AB7 !important; opacity: .72 !important;
}

/* Featured product card (EDC-MoveStar, MERCED) */
.edc-mm.edc-mm .edc-mm-featured {
  background: #f4f6ff !important; border: 1px solid #4165f5 !important;
  border-radius: 10px !important; padding: 8px 12px !important;
}

/* ---------- Mobile accordion (inside the theme's mobile menu) ---------- */
.edc-mm-acc.edc-mm-acc { display: none !important; }
.edc-solutions-item.edc-is-mobile.edc-open > .edc-mm-acc.edc-mm-acc {
  display: block !important; margin: 4px 0 8px 8px !important; padding: 0 0 12px 12px !important;
  border-left: 3px solid #EEEDFE !important;
}
.edc-mm-acc.edc-mm-acc .edc-mm-acc-cat {
  display: block !important; padding: 10px 0 4px !important; margin-bottom: 6px !important;
  border-bottom: 1px solid #e0dff8 !important;
  font-size: 10px !important; font-weight: 700 !important; letter-spacing: .09em !important;
  text-transform: uppercase !important; color: #9994c8 !important;
}
.edc-mm-acc.edc-mm-acc .edc-mm-acc-item { display: block !important; padding: 7px 4px !important; border-bottom: 1px solid #f0eff9 !important; }
.edc-mm-acc.edc-mm-acc .edc-mm-name { display: block !important; font-size: 13px !important; font-weight: 700 !important; color: #3C3489 !important; }
.edc-mm-acc.edc-mm-acc .edc-mm-desc { display: block !important; font-size: 11px !important; line-height: 1.35 !important; color: #534AB7 !important; opacity: .75 !important; }

/* Open/closed arrow on the top-level link in the mobile menu */
.edc-solutions-item.edc-is-mobile > a::after { content: " ▾" !important; display: inline !important; font-size: .8em !important; }
.edc-solutions-item.edc-is-mobile.edc-open > a::after { content: " ▴" !important; }
