.xp-navigation__original,
.xp-navigation [hidden] {
  display: none !important;
}

.xp-navigation {
  position: relative;
  width: 100%;
  color: #243235;
  background: #fff;
  font: 400 14px/1.45 Arial, sans-serif;
}

.xp-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.xp-navigation__departments {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 4px;
}

.xp-navigation__toggle {
  min-height: 44px;
  width: 100%;
  border: 0;
  border-bottom: 2px solid transparent;
  padding: 7px 10px;
  background: #fff;
  color: #243235;
  font: inherit;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.xp-navigation__toggle::after {
  content: '⌄';
  display: inline-block;
  margin-left: .35em;
}

.xp-navigation__toggle[aria-expanded="true"] {
  border-color: #108481;
  color: #075a58;
  background: #edf8f7;
}

.xp-navigation__toggle[aria-expanded="true"]::after {
  transform: rotate(180deg);
}

.xp-navigation__panel {
  position: absolute;
  z-index: 1000;
  top: 100%;
  left: 0;
  right: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 28px;
  padding: 18px 22px;
  border: 1px solid #d6e2e3;
  background: #f4faf9;
  box-shadow: 0 8px 18px rgba(30, 53, 58, .16);
}

.xp-navigation__column h2 {
  margin: 0 0 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid #b4d1d0;
  color: #075a58;
  font: 600 15px/1.35 Arial, sans-serif;
}

#header .xp-navigation a:any-link {
  display: block;
  padding: 8px 0;
  /* Electroshops forces header links to white. Keep this override local to the menu. */
  color: #20383e !important;
  overflow-wrap: anywhere;
}

#header .xp-navigation a:any-link:hover,
#header .xp-navigation a:any-link:focus-visible,
#header .xp-navigation a[aria-current="page"] {
  text-decoration: underline;
  color: #075a58 !important;
  background: #def1ee;
}

#header .xp-navigation__column a:any-link {
  padding-inline: 8px;
  border-radius: 4px;
}

.xp-navigation__services {
  display: flex;
  flex-wrap: wrap;
  column-gap: 18px;
  border-top: 1px solid #e1e8e8;
}

#header .xp-navigation__all-toggle {
  width: auto;
  min-height: 0;
  padding: 6px 8px;
  color: #075a58;
}

.xp-navigation__tree {
  max-height: min(64vh, 36rem);
  overflow: auto;
}

.xp-navigation__tree summary {
  padding: 8px 0;
  color: #20383e;
  cursor: pointer;
}

.xp-navigation__tree details > ul,
#header .xp-navigation__tree details > a:any-link {
  padding-inline-start: 14px;
}

#header .xp-navigation__services a:any-link {
  padding: 6px 8px;
}

@media (max-width: 991px) {
  .xp-navigation__departments {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .xp-navigation__departments {
    display: block;
  }

  .xp-navigation__department {
    border-bottom: 1px solid #e1e8e8;
  }

  .xp-navigation__panel {
    position: static;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 10px 14px;
    border: 0;
    box-shadow: none;
  }

  #header .xp-navigation a:any-link {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}
.xp-catalog-categories ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.xp-catalog-categories ul ul {
  padding-inline-start: 0.9rem;
}

.xp-catalog-categories li {
  margin: 0.3rem 0;
}

.xp-catalog-categories a,
.xp-catalog-categories summary {
  color: #00575b;
  overflow-wrap: anywhere;
  white-space: normal;
}

.xp-catalog-categories summary {
  cursor: pointer;
  font-weight: 600;
}

.xp-catalog-categories a:hover,
.xp-catalog-categories a:focus-visible {
  color: #003b3e;
  text-decoration: underline;
}
