/* Top Navbar Fix - Ensure black background appears */

/* Force black background on top navbar - override original settings */
#navbar-top {
  background-color: #000000 !important;
  border-bottom: 1px solid #e9ecef !important;
  min-height: var(--ep-primary-header-height, 60px) !important;
  max-height: var(--ep-primary-header-height, 60px) !important;
  height: var(--ep-primary-header-height, 60px) !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: hidden !important;
}

/* Two-column grid: account links (LHS) + main nav (RHS), aligned on one row */
.ep-primary-header-content {
  display: grid !important;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
  align-items: center !important;
  column-gap: var(--ep-header-grid-gap) !important;
  width: 100% !important;
  height: 60px !important;
  min-height: 60px !important;
  max-height: 60px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.ep-primary-header-content__account-menu {
  grid-column: 1 / span 1;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  min-width: 0;
  height: 60px !important;
  padding-left: var(--ep-header-edge-padding);
  overflow: hidden !important;
  background-color: #000000 !important;
}

.ep-primary-header-content__main-nav {
  grid-column: 2 / span 1;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  height: 60px !important;
  padding-right: var(--ep-header-edge-padding);
  box-sizing: border-box;
  overflow-x: clip;
  overflow-y: hidden;
}

#navbar-top .ep-primary-header-content__account-menu .region-secondary-menu,
#navbar-top .ep-primary-header-content__account-menu .region-secondary-menu.row {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  height: var(--ep-primary-header-height, 60px) !important;
  min-height: var(--ep-primary-header-height, 60px) !important;
  max-height: var(--ep-primary-header-height, 60px) !important;
  overflow: visible !important;
}

#navbar-top .ep-primary-header-content__account-menu .block,
#navbar-top .ep-primary-header-content__account-menu .block-menu,
#navbar-top .ep-primary-header-content__account-menu nav,
#navbar-top .ep-primary-header-content__main-nav .block,
#navbar-top .ep-primary-header-content__main-nav .block-menu,
#navbar-top .ep-primary-header-content__main-nav nav {
  display: flex !important;
  align-items: center !important;
  align-self: center !important;
  height: var(--ep-primary-header-height, 60px) !important;
  min-height: var(--ep-primary-header-height, 60px) !important;
  max-height: var(--ep-primary-header-height, 60px) !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#navbar-top .ep-primary-header-content__account-menu .nav,
#navbar-top .ep-primary-header-content__account-menu .navbar-nav {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 60px !important;
}

#navbar-top .ep-primary-header-content__main-nav .menu--main,
#navbar-top .ep-primary-header-content__main-nav .block-menu {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Shared link alignment across account (LHS) and main (RHS) navigation */
#navbar-top .ep-primary-header-content .nav-item {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 60px !important;
  max-height: 60px !important;
}

#navbar-top .ep-primary-header-content .nav-link {
  display: flex !important;
  align-items: center !important;
  height: 60px !important;
  max-height: 60px !important;
  line-height: normal !important;
  padding: 0.5rem var(--ep-header-control-padding-x) !important;
  margin: 0 !important;
  vertical-align: middle !important;
}

#navbar-top .ep-primary-header-content__main-nav .nav-link,
#navbar-top .ep-primary-header-content__main-nav .menu-item a,
#navbar-top .ep-primary-header-content__main-nav .ep-primary-header-nav__nav-link {
  padding: 0.625rem var(--ep-header-tab-padding-x) !important;
  margin: 0 !important;
}

/* Force all child elements to have minimal height */
#navbar-top .container,
#navbar-top .container-fluid,
#navbar-top .navbar-nav,
#navbar-top .navbar-nav .navbar-nav,
#navbar-top .navbar-nav .navbar-nav .navbar-nav,
#navbar-top .navbar-nav .navbar-nav .navbar-nav .navbar-nav,
#navbar-top .navbar-nav .navbar-nav .navbar-nav .navbar-nav .navbar-nav,
#navbar-top .navbar-nav .navbar-nav .navbar-nav .navbar-nav .navbar-nav .navbar-nav,
#navbar-top .row,
#navbar-top .col,
#navbar-top .col-auto,
#navbar-top .nav,
#navbar-top .nav-item,
#navbar-top .menu,
#navbar-top .menu-item,
#navbar-top ul,
#navbar-top li,
#navbar-top .block,
#navbar-top .block-system-menu-block,
#navbar-top .menu,
#navbar-top .menu-item,
#navbar-top .menu-item a,
#navbar-top .region-secondary-menu,
#navbar-top .region-secondary-menu * {
  background-color: #000000 !important;
  color: var(--ep-color-bg-page) !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: normal !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#navbar-top .container,
#navbar-top .container-fluid {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Force beige text color for secondary menu links */
#navbar-top .nav-link,
#navbar-top .nav-item a,
#navbar-top .menu-item a,
#navbar-top .menu a,
#navbar-top a,
.navbar-top .nav-link,
.navbar-top .nav-item a,
.navbar-top .menu-item a,
.navbar-top .menu a,
.navbar-top a,
.region-secondary-menu .nav-link,
.region-secondary-menu .nav-item a,
.region-secondary-menu .menu-item a,
.region-secondary-menu .menu a,
.region-secondary-menu a,
#navbar-top .navbar-nav .nav-link,
#navbar-top .navbar-nav .nav-item a,
#navbar-top .navbar-nav .menu-item a,
#navbar-top .navbar-nav .menu a,
#navbar-top .navbar-nav a {
  color: var(--ep-color-bg-page) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  transition: all 0.3s ease !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0.5rem var(--ep-header-control-padding-x) !important;
  margin: 0 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  line-height: normal !important;
  height: var(--ep-primary-header-height, 60px) !important;
  max-height: var(--ep-primary-header-height, 60px) !important;
  overflow: visible !important;
  vertical-align: middle !important;
}

/* Hover states for secondary menu links */
#navbar-top .nav-link:hover,
#navbar-top .nav-item a:hover,
#navbar-top .menu-item a:hover,
#navbar-top .menu a:hover,
#navbar-top a:hover,
.navbar-top .nav-link:hover,
.navbar-top .nav-item a:hover,
.navbar-top .menu-item a:hover,
.navbar-top .menu a:hover,
.navbar-top a:hover,
.region-secondary-menu .nav-link:hover,
.region-secondary-menu .nav-item a:hover,
.region-secondary-menu .menu-item a:hover,
.region-secondary-menu .menu a:hover,
.region-secondary-menu a:hover,
#navbar-top .navbar-nav .nav-link:hover,
#navbar-top .navbar-nav .nav-item a:hover,
#navbar-top .navbar-nav .menu-item a:hover,
#navbar-top .navbar-nav .menu a:hover,
#navbar-top .navbar-nav a:hover {
  color: #ffffff !important;
  background-color: transparent !important;
  border: none !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Active states: bold text only (no highlight box). */
#navbar-top .nav-link.is-active,
#navbar-top .nav-item a.is-active,
#navbar-top .menu-item a.is-active,
#navbar-top .menu a.is-active,
#navbar-top a.is-active,
.navbar-top .nav-link.is-active,
.navbar-top .nav-item a.is-active,
.navbar-top .menu-item a.is-active,
.navbar-top .menu a.is-active,
.navbar-top a.is-active,
.region-secondary-menu .nav-link.is-active,
.region-secondary-menu .nav-item a.is-active,
.region-secondary-menu .menu-item a.is-active,
.region-secondary-menu .menu a.is-active,
.region-secondary-menu a.is-active,
#navbar-top .navbar-nav .nav-link.is-active,
#navbar-top .navbar-nav .nav-item a.is-active,
#navbar-top .navbar-nav .menu-item a.is-active,
#navbar-top .navbar-nav .menu a.is-active,
#navbar-top .navbar-nav a.is-active {
  color: #ffffff !important;
  font-weight: 700 !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Override any conflicting transparent background rules */
#navbar-top *,
#navbar-top * *,
#navbar-top * * *,
#navbar-top * * * *,
#navbar-top * * * * *,
#navbar-top * * * * * *,
#navbar-top * * * * * * *,
#navbar-top * * * * * * * *,
#navbar-top * * * * * * * * *,
#navbar-top * * * * * * * * * * {
  background-color: #000000 !important;
  color: var(--ep-color-bg-page) !important;
}

/* Ensure search form elements maintain their styling */
#navbar-top .navbar-form .form-control,
#navbar-top .form-inline .form-control,
#navbar-top input[type="search"],
#navbar-top input[type="text"],
#navbar-top .search-form input,
#navbar-top .search-block-form input,
#navbar-top .form-item input,
#navbar-top .form-wrapper input {
  background-color: #ffffff !important;
  border: 1px solid #e9ecef !important;
  border-radius: 4px !important;
  color: var(--ep-color-text-primary) !important;
  padding: 8px 12px !important;
  font-size: 0.9rem !important;
  box-shadow: none !important;
}

/* Ensure search buttons maintain their styling */
#navbar-top .btn,
#navbar-top .btn-primary,
#navbar-top .btn-secondary,
#navbar-top .search-form .form-submit,
#navbar-top .search-block-form .form-submit,
#navbar-top input[type="submit"],
#navbar-top button[type="submit"],
#navbar-top .search-form button,
#navbar-top .search-block-form button {
  background-color: #c4a5a5 !important;
  border-color: #c4a5a5 !important;
  color: var(--ep-color-text-primary) !important;
  font-weight: 600 !important;
  padding: 8px 16px !important;
  border-radius: 4px !important;
  transition: all 0.3s ease !important;
  margin-left: 8px !important;
}

/* Overflow menu dropdown must not inherit black header background */
#navbar-top .ep-primary-header-nav__three-dots-dropdown,
#navbar-top .ep-primary-header-nav__three-dots-dropdown .ep-primary-header-nav__nav-link {
  background-color: #ffffff !important;
  color: var(--ep-color-text-primary, #1A1614) !important;
}

.ep-primary-header-nav__three-dots-dropdown,
.ep-primary-header-nav__three-dots-dropdown * {
  overflow: visible !important;
  max-height: none !important;
  line-height: normal !important;
}

/* Main navigation menu styling in top header */
#navbar-top .navbar-nav {
  margin-left: auto !important;
  margin-right: 0 !important;
  display: flex !important;
  align-items: center !important;
  height: 60px !important;
  min-width: 0;
  max-width: 100%;
}

#navbar-top .region-secondary-menu {
  display: flex !important;
  align-items: center !important;
}

#navbar-top .navbar-nav .nav-item {
  margin: 0 !important;
  padding: 0 !important;
  height: 60px !important;
  display: flex !important;
  align-items: center !important;
  line-height: normal !important;
}

#navbar-top .navbar-nav .nav-link {
  color: var(--ep-color-bg-page) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  padding: 0.5rem var(--ep-header-control-padding-x) !important;
  margin: 0 !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  height: 60px !important;
  line-height: normal !important;
  transition: all 0.3s ease !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#navbar-top .navbar-nav .nav-link:hover {
  color: #ffffff !important;
  background-color: transparent !important;
  transform: none !important;
  box-shadow: none !important;
}

#navbar-top .navbar-nav .nav-link.is-active {
  color: #ffffff !important;
  font-weight: 700 !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Hide contextual links (white dotted box and pen icon) in primary header */
/* Only hide the contextual links themselves, not the menu items */
#navbar-top .contextual,
#navbar-top .contextual-link,
#navbar-top .contextual-links,
#navbar-top .contextual-region .contextual,
#navbar-top .contextual-region .contextual-link,
#navbar-top .contextual-region .contextual-links,
#navbar-top .trigger,
#navbar-top .contextual-region .trigger,
#navbar-top .contextual-region .contextual-links-wrapper,
#navbar-top .contextual-links-wrapper,
#navbar-top .contextual-region .contextual-links-trigger {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#navbar-top .contextual-region::before,
#navbar-top .contextual-region::after,
#navbar-top .contextual-region .contextual-links-wrapper::before,
#navbar-top .contextual-region .contextual-links-wrapper::after {
  display: none !important;
  content: none !important;
}

/* Main navigation overflow — mirrors secondary header navigation-tabs pattern */
.ep-primary-header-nav {
  display: flex !important;
  align-items: center;
  justify-content: flex-end !important;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.ep-primary-header-nav__visible-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--ep-header-grid-gap);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  flex-wrap: nowrap;
}

.ep-primary-header-nav__nav-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  white-space: nowrap;
  padding: 0.625rem var(--ep-header-tab-padding-x) !important;
  margin: 0 !important;
  height: 60px !important;
  max-height: 60px !important;
  color: var(--ep-color-bg-page) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: all 0.3s ease !important;
}

.ep-primary-header-nav__nav-link:hover,
.ep-primary-header-nav__nav-link:focus {
  color: #ffffff !important;
  background-color: transparent !important;
  text-decoration: none !important;
}

.ep-primary-header-nav__nav-link.active,
.ep-primary-header-nav__nav-link.is-active {
  color: #ffffff !important;
  font-weight: 700 !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.ep-primary-header-nav__three-dots-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  flex-shrink: 0;
  padding: 0;
  margin: 0;
}

.ep-primary-header-nav__three-dots-menu[hidden] {
  display: none !important;
}

.ep-primary-header-nav__three-dots-button {
  background: transparent;
  border: none;
  color: var(--ep-color-bg-page) !important;
  padding: 0.625rem var(--ep-header-tab-padding-x);
  border-radius: 0;
  cursor: pointer;
  transition: color 0.2s ease;
  outline: none;
  box-shadow: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  font-size: 1.25rem;
  height: 60px !important;
  line-height: 1 !important;
}

.ep-primary-header-nav__three-dots-button:hover,
.ep-primary-header-nav__three-dots-button:focus,
.ep-primary-header-nav__three-dots-button:focus-visible,
.ep-primary-header-nav__three-dots-button:active {
  color: #ffffff !important;
  background-color: #333333 !important;
  border: none;
  outline: none !important;
  box-shadow: none !important;
}

.ep-primary-header-nav__three-dots-dropdown {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  min-width: 11rem;
  margin-top: 0;
  padding: 0.25rem 0;
  background: #ffffff !important;
  border: 1px solid var(--ep-color-border-primary);
  border-radius: 0;
  box-shadow: 0 8px 20px var(--ep-color-shadow-medium);
  z-index: 1002;
}

.ep-primary-header-nav__three-dots-dropdown[hidden] {
  display: none !important;
}

.ep-primary-header-nav__three-dots-dropdown:not([hidden]) {
  display: block;
}

.ep-primary-header-nav__three-dots-dropdown .ep-primary-header-nav__nav-link {
  display: block !important;
  width: 100%;
  padding: 0.5rem 1rem !important;
  margin: 0 !important;
  text-align: left;
  box-sizing: border-box;
  height: auto !important;
  max-height: none !important;
  background: #ffffff !important;
  color: var(--ep-color-text-primary, #1A1614) !important;
}

.ep-primary-header-nav__three-dots-dropdown .ep-primary-header-nav__nav-link:hover,
.ep-primary-header-nav__three-dots-dropdown .ep-primary-header-nav__nav-link:focus,
.ep-primary-header-nav__three-dots-dropdown .ep-primary-header-nav__nav-link:focus-visible {
  background: var(--ep-color-primary-light) !important;
  color: var(--ep-color-primary) !important;
  outline: none !important;
}

/*
 * Final authority: every primary-header wrapper and link stays vertically centered
 * in the 60px bar (account menu LHS + module links RHS).
 */
#navbar-top .ep-primary-header-content {
  align-items: center !important;
  height: var(--ep-primary-header-height, 60px) !important;
  min-height: var(--ep-primary-header-height, 60px) !important;
  max-height: var(--ep-primary-header-height, 60px) !important;
}

#navbar-top .ep-primary-header-content__account-menu,
#navbar-top .ep-primary-header-content__main-nav,
#navbar-top .ep-primary-header-content .region-secondary-menu,
#navbar-top .ep-primary-header-content .nav,
#navbar-top .ep-primary-header-content .navbar-nav,
#navbar-top .ep-primary-header-content .nav-item,
#navbar-top .ep-primary-header-content .ep-primary-header-nav,
#navbar-top .ep-primary-header-content .ep-primary-header-nav__visible-row,
#navbar-top .ep-primary-header-content .ep-primary-header-nav__three-dots-menu {
  display: flex !important;
  align-items: center !important;
  align-self: center !important;
  height: var(--ep-primary-header-height, 60px) !important;
  min-height: var(--ep-primary-header-height, 60px) !important;
  max-height: var(--ep-primary-header-height, 60px) !important;
  line-height: normal !important;
}

#navbar-top .ep-primary-header-content .nav-link,
#navbar-top .ep-primary-header-content .ep-primary-header-nav__nav-link,
#navbar-top .ep-primary-header-content .menu-item a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: var(--ep-primary-header-height, 60px) !important;
  min-height: var(--ep-primary-header-height, 60px) !important;
  max-height: var(--ep-primary-header-height, 60px) !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

#navbar-top .ep-primary-header-content .nav-item {
  overflow: hidden !important;
  box-sizing: border-box !important;
}

#navbar-top .ep-primary-header-content .nav-link.is-active,
#navbar-top .ep-primary-header-content .nav-link.active,
#navbar-top .ep-primary-header-content .ep-primary-header-nav__nav-link.is-active,
#navbar-top .ep-primary-header-content .ep-primary-header-nav__nav-link.active,
#navbar-top .ep-primary-header-content .menu-item a.is-active,
#navbar-top .ep-primary-header-content .menu-item a.active {
  background-color: transparent !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  border: none !important;
}


