/* === Products mega menu START === */

/* Break out of sticky/overflow clipping ancestors */
#masthead,
#masthead.header--sticky,
#masthead.stuck,
#masthead .header-inner,
#masthead .header-wrapper,
#masthead .header-main,
.header-wrapper,
.header-wrapper.stuck,
#header,
.header-main,
.flex-row.container,
.flex-row,
.flex-col,
.header-nav-main {
  overflow: visible !important;
}

ul.header-nav.header-nav-main,
.header-nav-main.nav {
  position: static !important;
}

#menu-item-4529.has-dropdown,
li#menu-item-4529.menu-item,
#menu-item-4529 {
  position: static !important;
}

/* Full-bleed white panel — fixed so parent overflow cannot clip background */
li#menu-item-4529.menu-item > .nav-dropdown,
li#menu-item-4529.menu-item > .nav-dropdown.dark,
li#menu-item-4529.menu-item > ul.nav-dropdown,
.header-nav li#menu-item-4529 > ul.nav-dropdown,
#menu-item-4529 > .nav-dropdown {
  /* Kill Flatsome full-width JS inset:0 (bottom:0 collapses height to padding only) */
  position: fixed !important;
  inset: auto !important;
  top: var(--lepure-products-menu-top, 90px) !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  transform: none !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  color: #111111 !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.12) !important;
  border: 0 !important;
  border-top: 1px solid #e6e6e6 !important;
  border-radius: 0 !important;
  padding: 36px clamp(28px, 5vw, 80px) 42px !important;
  display: none !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
  gap: 28px 32px !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  max-height: calc(100vh - var(--lepure-products-menu-top, 90px)) !important;
  height: auto !important;
  min-height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 99999 !important;
}

/* Solid white backdrop covering full panel + any visual bleed */
li#menu-item-4529.menu-item > .nav-dropdown::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  background: #ffffff !important;
  z-index: -1 !important;
  pointer-events: none !important;
  display: block !important;
}

li#menu-item-4529.menu-item.has-dropdown:hover > .nav-dropdown,
li#menu-item-4529.menu-item.has-dropdown.current-dropdown > .nav-dropdown,
li#menu-item-4529.menu-item.has-dropdown:hover > .nav-dropdown.dark,
li#menu-item-4529.menu-item.has-dropdown.current-dropdown > .nav-dropdown.dark,
li#menu-item-4529.menu-item.has-dropdown:hover > ul.nav-dropdown,
li#menu-item-4529.menu-item.has-dropdown.current-dropdown > ul.nav-dropdown,
.header-nav li#menu-item-4529.menu-item.has-dropdown:hover > ul.nav-dropdown,
.header-nav li#menu-item-4529.menu-item.has-dropdown.current-dropdown > ul.nav-dropdown {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  inset: auto !important;
  bottom: auto !important;
  max-height: calc(100vh - var(--lepure-products-menu-top, 90px)) !important;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
}

#menu-item-4529 > .nav-dropdown > li {
  display: block !important;
  float: none !important;
  clear: none !important;
  vertical-align: top !important;
  position: relative !important;
  z-index: 1 !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col,
#menu-item-4529 > .nav-dropdown > li:not(.nav-dropdown-col) {
  display: block !important;
  float: none !important;
  /* Prefer up to 4 columns per row; 5th+ wraps to next row at same column width */
  flex: 1 1 calc(25% - 24px) !important;
  width: calc(25% - 24px) !important;
  min-width: 200px !important;
  max-width: calc(25% - 24px) !important;
  align-self: flex-start !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* ===== Level 1: blue uppercase + underline ===== */
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > a,
#menu-item-4529 > .nav-dropdown > li:not(.nav-dropdown-col) > a {
  color: #4a9ad4 !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid #d8d8d8 !important;
  padding: 0 0 12px !important;
  margin: 0 0 16px !important;
  display: block !important;
  line-height: 1.4 !important;
  background: transparent !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > a:hover,
#menu-item-4529 > .nav-dropdown > li:not(.nav-dropdown-col) > a:hover {
  color: #2f7eb8 !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > a::after,
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > a::before,
#menu-item-4529 > .nav-dropdown > li:not(.nav-dropdown-col) > a::after,
#menu-item-4529 > .nav-dropdown > li:not(.nav-dropdown-col) > a::before {
  display: none !important;
  content: none !important;
}

#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu {
  display: block !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  box-shadow: none !important;
  background: transparent !important;
  border: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

/* ===== Level 2: all bold; black default, blue on hover ===== */
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item {
  position: relative !important;
  max-width: 100% !important;
  overflow: visible !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item > a {
  color: #111111 !important; /* 默认黑色（含展开态） */
  font-weight: 700 !important; /* 二级统一加粗（有/无三级一致） */
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
  padding: 9px 22px 9px 0 !important;
  position: relative !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  line-height: 1.45 !important;
  cursor: pointer !important;
  /* Long titles wrap so chevron stays visible */
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  word-break: normal !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
  transition: color .15s ease !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item > a:hover {
  color: #4a9ad4 !important; /* 悬停现有蓝 */
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item.is-open > a {
  color: #111111 !important; /* 展开态保持黑色 */
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item.is-open > a:hover {
  color: #4a9ad4 !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item > a::before {
  display: none !important;
  content: none !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item > a::after {
  display: none !important;
  content: none !important;
}

/* L2: leave room for right toggle; chevron lives on the button */
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item-has-children {
  position: relative !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item-has-children > a {
  padding-right: 36px !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item-has-children > a::after {
  display: none !important;
  content: none !important;
}

/* Right hit-area: expands L3 only (full row height when title wraps) */
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item-has-children > .lepure-l2-toggle {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 32px !important;
  height: auto !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  z-index: 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item-has-children > .lepure-l2-toggle::before {
  content: '' !important;
  display: block !important;
  width: 6px !important;
  height: 6px !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 1.5px solid #4a9ad4 !important;
  border-bottom: 1.5px solid #4a9ad4 !important;
  background: transparent !important;
  transform: translateY(-15%) rotate(45deg) !important;
  opacity: .9 !important;
  pointer-events: none !important;
  transition: transform .15s ease, border-color .15s ease !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item-has-children.is-open > .lepure-l2-toggle::before {
  transform: translateY(15%) rotate(-135deg) !important;
  border-color: #4a9ad4 !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item-has-children > .lepure-l2-toggle:hover::before {
  border-color: #4a9ad4 !important;
}

/* ===== Level 3: dark grey default, blue ONLY on hover ===== */
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item > .sub-menu {
  display: none !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  box-shadow: none !important;
  background: transparent !important;
  border: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 2px 0 8px 8px !important;
  margin: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item.is-open > .sub-menu {
  display: block !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item > .sub-menu > .menu-item > a {
  color: #111111 !important; /* 三级默认黑 */
  font-weight: 400 !important;
  font-size: 13px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 6px 0 6px 14px !important;
  position: relative !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  line-height: 1.45 !important;
  transition: color .15s ease !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item > .sub-menu > .menu-item > a:hover {
  color: #4a9ad4 !important; /* 悬停蓝 */
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item > .sub-menu > .menu-item > a::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 5px !important;
  height: 5px !important;
  background: #4a9ad4 !important;
  transform: translateY(-50%) !important;
  display: block !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item > .sub-menu > .menu-item > a::after {
  display: none !important;
  content: none !important;
}

/* Tablet: 2 columns per row */
@media (max-width: 1100px) {
  #menu-item-4529 > .nav-dropdown > .nav-dropdown-col,
  #menu-item-4529 > .nav-dropdown > li:not(.nav-dropdown-col) {
    flex: 1 1 calc(50% - 16px) !important;
    width: calc(50% - 16px) !important;
    max-width: calc(50% - 16px) !important;
    min-width: 180px !important;
  }
}

@media (max-width: 849px) {
  li#menu-item-4529.menu-item > .nav-dropdown {
    position: static !important;
    width: 100% !important;
    flex-wrap: wrap !important;
  }
  #menu-item-4529 > .nav-dropdown > .nav-dropdown-col,
  #menu-item-4529 > .nav-dropdown > li:not(.nav-dropdown-col) {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* Hide empty WP menu items (no label text) */
#menu-item-4529 .nav-dropdown li.menu-item > a:empty {
  display: none !important;
}
#menu-item-4529 .nav-dropdown li.menu-item:has(> a:empty) {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}
#menu-item-4529 > .nav-dropdown > .nav-dropdown-col > .sub-menu > .menu-item-has-children:not(:has(> .sub-menu > .menu-item > a:not(:empty))) > a::after {
  display: none !important;
  content: none !important;
}
/* === Products mega menu END === */

/* mega-color-v2: L2 leaf=细, L2 parent=粗, L3=蓝细 */
/* mega-wrap-v1: L2 titles wrap; chevron stays visible */
/* mega-scroll-v1: panel max-height + overflow-y auto when taller than viewport */
/* mega-l2-black-v1: L2 default black, hover blue */
/* mega-l2-bold-v2: all L2 bold; L2/L3 black default, blue on hover */
