/* ECIG Canada Zone: robust hover target + invisible bridge across small gaps. */
:root { --ecz-menu-z: 99999; }
/* Standard WordPress and common custom mega-menu structures */
.primary-navigation li, .main-navigation li, .site-navigation li,
.site-header nav li, header nav li, .ecz-nav-item, .ecz-menu-item,
.nav-menu > li, .menu > li { position: relative; }
.primary-navigation li > .sub-menu, .main-navigation li > .sub-menu,
.site-navigation li > .sub-menu, .site-header nav li > .sub-menu,
header nav li > .sub-menu, .nav-menu > li > .sub-menu, .menu > li > .sub-menu,
.woocommerce ul.products, .ecz-mega-menu, .ecz-mega-dropdown,
.mega-menu, .mega-menu-panel, .mega-sub-menu, [class*="mega-menu"] [class*="dropdown"] {
  z-index: var(--ecz-menu-z);
}
/* Keep dropdown active for the entire parent+child hover/focus region. */
.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu,
.main-navigation li:hover > .sub-menu, .main-navigation li:focus-within > .sub-menu,
.site-navigation li:hover > .sub-menu, .site-navigation li:focus-within > .sub-menu,
.site-header nav li:hover > .sub-menu, .site-header nav li:focus-within > .sub-menu,
header nav li:hover > .sub-menu, header nav li:focus-within > .sub-menu,
.nav-menu > li:hover > .sub-menu, .nav-menu > li:focus-within > .sub-menu,
.menu > li:hover > .sub-menu, .menu > li:focus-within > .sub-menu,
.ecz-nav-item:hover .ecz-mega-menu, .ecz-nav-item:focus-within .ecz-mega-menu,
.ecz-menu-item:hover .ecz-mega-dropdown, .ecz-menu-item:focus-within .ecz-mega-dropdown,
.mega-menu-item:hover > .mega-menu, .mega-menu-item:focus-within > .mega-menu,
.mega-menu-item:hover > .mega-menu-panel, .mega-menu-item:focus-within > .mega-menu-panel {
  display: block;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
/* Bridge a tiny vertical gap so the pointer never briefly leaves the menu. */
.primary-navigation li > .sub-menu::before, .main-navigation li > .sub-menu::before,
.site-navigation li > .sub-menu::before, .site-header nav li > .sub-menu::before,
header nav li > .sub-menu::before, .nav-menu > li > .sub-menu::before,
.menu > li > .sub-menu::before, .ecz-mega-menu::before, .ecz-mega-dropdown::before,
.mega-menu::before, .mega-menu-panel::before {
  content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 16px;
}
/* Avoid animation delays that can make a menu disappear before a click. */
.primary-navigation .sub-menu, .main-navigation .sub-menu, .site-navigation .sub-menu,
.site-header nav .sub-menu, header nav .sub-menu, .ecz-mega-menu, .ecz-mega-dropdown,
.mega-menu, .mega-menu-panel {
  transition: opacity .12s ease, visibility .12s ease;
}
@media (hover: none), (max-width: 900px) {
  .primary-navigation li > .sub-menu::before, .main-navigation li > .sub-menu::before,
  .site-navigation li > .sub-menu::before, .site-header nav li > .sub-menu::before,
  header nav li > .sub-menu::before, .nav-menu > li > .sub-menu::before,
  .menu > li > .sub-menu::before, .ecz-mega-menu::before, .ecz-mega-dropdown::before,
  .mega-menu::before, .mega-menu-panel::before { display: none; }
}
