@keyframes ieosNavDropIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Hook class added by js/ieos-nav-dropdown.js + raw header submenus */
.td-header-wrap ul.sub-menu,
.td-header-menu-wrap ul.sub-menu,
.td-header-main-menu ul.sub-menu,
#td-header-menu ul.sub-menu,
.tdb-header-wrap ul.sub-menu,
.tdb-header-menu ul.sub-menu,
.tdb-menu ul.sub-menu,
.sf-menu ul.sub-menu,
ul.ieos-dd {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-top: 3px solid #309b65 !important;
  border-radius: 12px !important;
  box-shadow: 0 20px 48px -10px rgba(15, 23, 42, 0.16), 0 0 1px rgba(15, 23, 42, 0.08) !important;
  padding: 10px 8px 10px !important;
  margin-top: 0 !important;
  top: calc(100% - 2px) !important;
  min-width: 260px !important;
  width: 280px !important;
  max-width: 340px !important;
  overflow: visible !important;
  z-index: 100000 !important;
  animation: ieosNavDropIn 0.18s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Invisible hover bridge so the pointer never leaves the menu */
.td-header-wrap ul.sub-menu::before,
.td-header-menu-wrap ul.sub-menu::before,
.td-header-main-menu ul.sub-menu::before,
#td-header-menu ul.sub-menu::before,
.tdb-header-wrap ul.sub-menu::before,
.tdb-header-menu ul.sub-menu::before,
.tdb-menu ul.sub-menu::before,
.sf-menu ul.sub-menu::before,
ul.ieos-dd::before {
  content: "" !important;
  position: absolute !important;
  left: 0;
  right: 0;
  top: -16px;
  height: 18px;
  background: transparent !important;
  pointer-events: auto !important;
}

/* Do not squeeze a real mega grid if posts are present */
li.td-mega-menu > ul.sub-menu:has(img),
li.tdb-mega-menu > ul.sub-menu:has(img) {
  min-width: 820px !important;
  width: max(820px, 70vw) !important;
  max-width: min(1080px, 94vw) !important;
  padding: 0 !important;
  border-radius: 0 0 16px 16px !important;
  border-top: 3px solid #309b65 !important;
}

/* Rows */
.td-header-wrap ul.sub-menu > li,
.td-header-menu-wrap ul.sub-menu > li,
.td-header-main-menu ul.sub-menu > li,
#td-header-menu ul.sub-menu > li,
.tdb-header-wrap ul.sub-menu > li,
.tdb-header-menu ul.sub-menu > li,
.tdb-menu ul.sub-menu > li,
.sf-menu ul.sub-menu > li,
ul.ieos-dd > li {
  display: block !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #eef2f7 !important;
  background: transparent !important;
  list-style: none !important;
}
.td-header-wrap ul.sub-menu > li:last-child,
.td-header-menu-wrap ul.sub-menu > li:last-child,
.td-header-main-menu ul.sub-menu > li:last-child,
#td-header-menu ul.sub-menu > li:last-child,
.tdb-header-wrap ul.sub-menu > li:last-child,
.tdb-header-menu ul.sub-menu > li:last-child,
.tdb-menu ul.sub-menu > li:last-child,
.sf-menu ul.sub-menu > li:last-child,
ul.ieos-dd > li:last-child {
  border-bottom: 0 !important;
}

/* Top-level labels on navy header — never inherit submenu dark text */
.td-header-wrap .sf-menu > li > a,
.td-header-wrap .tdb-menu > li > a,
.tdb-header-menu > li > a,
.tdb-header-menu > li > .tdb-menu-item-text,
.td-header-main-menu > li > a,
#td-header-menu > ul > li > a {
  color: #ffffff !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Links */
.td-header-wrap ul.sub-menu > li > a,
.td-header-menu-wrap ul.sub-menu > li > a,
.td-header-main-menu ul.sub-menu > li > a,
#td-header-menu ul.sub-menu > li > a,
.tdb-header-wrap ul.sub-menu > li > a,
.tdb-header-menu ul.sub-menu > li > a,
.tdb-menu ul.sub-menu > li > a,
.sf-menu ul.sub-menu > li > a,
ul.ieos-dd > li > a,
.td-header-wrap ul.sub-menu > li > a.tdb-menu-item-text,
.tdb-header-menu ul.sub-menu > li > a.tdb-menu-item-text,
.tdb-menu ul.sub-menu > li > .tdb-menu-item-text {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 2px 0 !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-radius: 8px !important;
  border-left: 3px solid transparent !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #1e293b !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.4 !important;
  text-transform: none !important;
  white-space: normal !important;
  transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.td-header-wrap ul.sub-menu > li > a:hover,
.td-header-menu-wrap ul.sub-menu > li > a:hover,
.td-header-main-menu ul.sub-menu > li > a:hover,
#td-header-menu ul.sub-menu > li > a:hover,
.tdb-header-wrap ul.sub-menu > li > a:hover,
.tdb-header-menu ul.sub-menu > li > a:hover,
.tdb-menu ul.sub-menu > li > a:hover,
.sf-menu ul.sub-menu > li > a:hover,
ul.ieos-dd > li > a:hover {
  background: #f0fdf4 !important;
  background-color: #f0fdf4 !important;
  color: #166534 !important;
  border-left-color: #309b65 !important;
  transform: translateX(3px) !important;
}

.td-header-wrap ul.sub-menu > li.current-menu-item > a,
.td-header-wrap ul.sub-menu > li.current-menu-ancestor > a,
.td-header-menu-wrap ul.sub-menu > li.current-menu-item > a,
.tdb-menu ul.sub-menu > li.current-menu-item > a,
.tdb-header-menu ul.sub-menu > li.current-menu-item > a,
.sf-menu ul.sub-menu > li.current-menu-item > a,
ul.ieos-dd > li.current-menu-item > a,
ul.ieos-dd > li > a.td-cur-sub-cat {
  background: #f0fdf4 !important;
  background-color: #f0fdf4 !important;
  color: #166534 !important;
  border-left-color: #309b65 !important;
  font-weight: 700 !important;
}

/* Mega extras — only if Newspaper renders post cards */
.td_mega_menu_sub_cats {
  float: none !important;
  width: 100% !important;
  padding: 8px !important;
  background: transparent !important;
  border: 0 !important;
}
li.td-mega-menu > ul.sub-menu:has(.td-mega-span) .td_mega_menu_sub_cats {
  flex: 0 0 248px !important;
  width: 248px !important;
  background: #f4f7fb !important;
  border-right: 1px solid #e8edf2 !important;
  padding: 16px 12px !important;
}

/* Hide empty mega image columns so they cannot peek behind the list */
.td-mega-span:empty,
.td-header-wrap li.td-mega-menu .td-mega-span:not(:has(img)):not(:has(.entry-title)) {
  display: none !important;
}

/* Top bar */
.td-header-top-menu ul.sub-menu,
.td-header-sp-top-menu ul.sub-menu {
  background: #0f172a !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  max-width: 280px !important;
}
.td-header-top-menu ul.sub-menu > li > a {
  color: #e2e8f0 !important;
}
.td-header-top-menu ul.sub-menu > li > a:hover {
  background: rgba(48, 155, 101, 0.22) !important;
  color: #86efac !important;
}

/* Keep open while the pointer travels from label → panel */
.td-header-wrap li.menu-item-has-children,
.tdb-header-menu li.menu-item-has-children,
#td-header-menu li.menu-item-has-children,
.ieos-dd-parent {
  position: relative !important;
}
.ieos-dd-parent.ieos-dd-open > ul.sub-menu,
.ieos-dd-parent.sfHover > ul.sub-menu,
.ieos-dd-parent:hover > ul.sub-menu,
.ieos-dd-parent:focus-within > ul.sub-menu,
.td-header-wrap li.menu-item-has-children.ieos-dd-open > ul.sub-menu,
.tdb-header-menu li.menu-item-has-children.ieos-dd-open > ul.sub-menu,
#td-header-menu li.menu-item-has-children.ieos-dd-open > ul.sub-menu,
.sf-menu li.ieos-dd-open > ul.sub-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

@media (hover: hover) and (pointer: fine) {
  .ieos-dd-parent:hover > ul.sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

/* Mobile */
#td-mobile-nav ul.sub-menu,
.td-mobile-main-menu ul.sub-menu {
  background: #f8fafc !important;
  border-left: 3px solid #309b65 !important;
  max-width: none !important;
  min-width: 0 !important;
  box-shadow: none !important;
  margin: 0 12px 8px !important;
  border-radius: 0 8px 8px 0 !important;
}
#td-mobile-nav ul.sub-menu > li > a {
  min-height: 44px;
  display: flex !important;
  align-items: center;
}

/* Never restyle footer */
.td-footer-wrap ul.sub-menu,
.td-footer-template-wrap ul.sub-menu,
footer ul.sub-menu {
  background: inherit !important;
  box-shadow: none !important;
  border: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
}
