/* Elementor Slanted Menu v1.1.1 with Active Background control */
.esm-wrap {
  --esm-item-h: 44px;
  --esm-skew: 18px;
  --esm-gap: 16px;
  --esm-bg: #737373;
  --esm-hover: #505050;
  --esm-active: #505050;
  --esm-text: #ffffff;
  --esm-align: flex-start;
  --esm-div: yes;
  --esm-div-color: #737373;
  --esm-div-th: 2px;
  --esm-bp: 992px;
}

.esm-wrap .esm-menu {
  display: flex;
  gap: var(--esm-gap);
  align-items: center;
  justify-content: var(--esm-align);
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: visible;
}

.esm-wrap .esm-menu > li {
  position: relative;
  overflow: visible;
}

/* divider "/" between items */
.esm-wrap .esm-menu > li + li::before {
  content: "";
  position: absolute;
  left: calc( -1 * (var(--esm-gap) / 2) );
  top: 50%;
  width: var(--esm-div-th);
  height: 100%;
  background: var(--esm-div-color);
  transform: translateY(-50%) rotate(20deg);
  z-index: 2;
}
.esm-wrap.esm-no-divider .esm-menu > li + li::before { display: none; }

.esm-wrap .esm-menu > li > a {
  position: relative;
  display: inline-block;
  height: var(--esm-item-h);
  line-height: var(--esm-item-h);
  padding: 0 20px;
  background: var(--esm-bg);
  color: var(--esm-text);
  text-decoration: none;
  overflow: visible;
  z-index: 1;
  white-space: nowrap;
}

/* triangles */
/* .esm-wrap .esm-menu > li > a::before,
.esm-wrap .esm-menu > li > a::after {
  content: "";
  position: absolute;
  top: 0;
  width: 0; height: 0;
  pointer-events: none;
  z-index: 0;
  border-top: calc(var(--esm-item-h)/2) solid transparent;
  border-bottom: calc(var(--esm-item-h)/2) solid transparent;
} */

.esm-wrap .esm-menu > li > a::before {
  content: "";
  position: absolute;
  top: 0;
  width: 0; height: 0;
  pointer-events: none;
  z-index: 0;
  border-top: var(--esm-item-h) solid transparent;
}
.esm-wrap .esm-menu > li > a::after {
  content: "";
  position: absolute;
  top: 0;
  width: 0; height: 0;
  pointer-events: none;
  z-index: 0;
  border-bottom: var(--esm-item-h) solid transparent;
}

/* left */
.esm-wrap .esm-menu > li > a::before {
  left: calc(-1 * var(--esm-skew));
  border-right: var(--esm-skew) solid var(--esm-bg);
}

/* right */
.esm-wrap .esm-menu > li > a::after {
  right: calc(-1 * var(--esm-skew));
  border-left: var(--esm-skew) solid var(--esm-bg);
}

/* hover */
.esm-wrap .esm-menu > li > a:hover {
  background: var(--esm-hover);
}
.esm-wrap .esm-menu > li > a:hover::before { border-right-color: var(--esm-hover); }
.esm-wrap .esm-menu > li > a:hover::after  { border-left-color:  var(--esm-hover); }

/* active current menu item (Option A: hover does NOT override active) */
.esm-wrap .esm-menu > li.current-menu-item > a,
.esm-wrap .esm-menu > li.current_page_item > a {
  background: var(--esm-active);
}
.esm-wrap .esm-menu > li.current-menu-item > a::before,
.esm-wrap .esm-menu > li.current_page_item > a::before {
  border-right-color: var(--esm-active);
}
.esm-wrap .esm-menu > li.current-menu-item > a::after,
.esm-wrap .esm-menu > li.current_page_item > a::after {
  border-left-color: var(--esm-active);
}
/* Ensure hover does NOT override active */
.esm-wrap .esm-menu > li.current-menu-item > a:hover,
.esm-wrap .esm-menu > li.current_page_item > a:hover {
  background: var(--esm-active);
}
.esm-wrap .esm-menu > li.current-menu-item > a:hover::before,
.esm-wrap .esm-menu > li.current_page_item > a:hover::before {
  border-right-color: var(--esm-active);
}
.esm-wrap .esm-menu > li.current-menu-item > a:hover::after,
.esm-wrap .esm-menu > li.current_page_item > a:hover::after {
  border-left-color: var(--esm-active);
}

/* safety */
.esm-wrap, .esm-wrap * { box-sizing: border-box; }

/* MOBILE TOGGLE */
.esm-wrap.esm-has-toggle { position: relative; }
.esm-wrap .esm-toggle {
  display: none;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px 10px;
  
}
.esm-wrap .esm-toggle .esm-bar {
  display: block;
  width: 28px;
  height: 3px;
  background: #737373 !important;
  margin: 5px 0;
}

/* JS toggles mobile state based on --esm-bp */
.esm-wrap.esm-mobile .esm-toggle { display: inline-block; }
.esm-wrap.esm-mobile .esm-menu {
  display: none;
  flex-direction: column;
  gap: 10px;
}
.esm-wrap.esm-mobile.esm-open .esm-menu { display: flex; }
/* Optional: hide divider in stacked mode */
.esm-wrap.esm-mobile .esm-menu > li + li::before { display: none; }