/* =========================================================
   MPS Header Widgets (SCOPED) - SAFE + COMPATIBLE
   - Keeps old .mps-hw-* styles (legacy)
   - Adds/repairs new .mps-hm-* menu styles (current)
   - Keeps Account (upgraded) + Sticky
   ========================================================= */

/* ---------- Small safe resets (scoped, not global) ---------- */
.elementor-widget-mps_header_menu .mps-hm,
.elementor-widget-mps_header_menu .mps-hw-menu {
  direction: rtl;
}

.elementor-widget-mps_header_menu .mps-hm a,
.elementor-widget-mps_header_menu .mps-hw-menu a {
  text-decoration: none;
}

.elementor-widget-mps_header_menu .mps-hm button,
.elementor-widget-mps_header_menu .mps-hw-menu button {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

/* =========================================================
   Logo widget
   ========================================================= */
.elementor-widget-mps_header_logo .mps-hw-logo {
  display: flex;
  align-items: center;
}

.elementor-widget-mps_header_logo .mps-hw-logo__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.elementor-widget-mps_header_logo .custom-logo-link img {
  height: 40px;
  width: auto;
}

.elementor-widget-mps_header_logo .mps-hw-logo__text {
  font-weight: 900;
  letter-spacing: -.2px;
}

/* =========================================================
   NEW MENU WIDGET (mps-hm)  FIXED + ICONS + MULTI LEVEL
   - Fix: hamburger hidden on desktop by default
   - Fix: desktop submenu jump (hover bridge)
   - Add: caret (submenu indicator) for ALL levels (desktop)
   - Add: per-item icons support (desktop + mobile)
   - Support: deep levels (4/5) by nested rules
   ========================================================= */
.elementor-widget-mps_header_menu .mps-hm {
  --mps-hm-gap: 18px;
  --mps-hm-link: #5b5c5a;
  --mps-hm-link-hover: #181818;

  --mps-hm-sub-bg: #fff;
  --mps-hm-sub-link: #4b5563;
  --mps-hm-sub-link-hover: #181818;
  --mps-hm-sub-hover-bg: #f3f4f6;

  /*  new: submenu offsets for no-jump */
  --mps-hm-sub-offset: 10px;
  /* vertical gap */
  --mps-hm-sub-hgap: 8px;
  /* horizontal gap for nested flyouts */

  --mps-hm-toggle-size: 38px;
  --mps-hm-toggle-color: #181818;
  --mps-hm-toggle-bg: transparent;

  --mps-hm-backdrop: rgba(15, 23, 42, .38);
  --mps-hm-panel-bg: #fff;
  --mps-hm-panel-shadow: 0 0 40px rgba(15, 23, 42, .25);
  --mps-hm-panel-w: 420px;

  --mps-hm-m-link: #181818;
  --mps-hm-m-link-hover: #181818;

  --mps-hm-prof-bg: #fff;
  --mps-hm-prof-border: #f1f5f9;

  /*  new: desktop item icons */
  --mps-hm-dico-color: currentColor;
  --mps-hm-dico-size: 16px;
  --mps-hm-dico-gap: 8px;

  /*  new: caret */
  --mps-hm-caret-color: currentColor;
  --mps-hm-caret-hover-color: var(--mps-hm-link-hover);
  --mps-hm-caret-active-color: var(--mps-hm-link-hover);
  --mps-hm-caret-size: 14px;
  --mps-hm-caret-gap: 6px;

  /* mobile item icons */
  --mps-hm-mico-color: var(--mps-hm-m-link);
  --mps-hm-mico-hover-color: var(--mps-hm-m-link-hover);
  --mps-hm-mico-active-color: var(--mps-hm-m-link-hover);
  --mps-hm-mico-size: 18px;
  --mps-hm-mico-gap: 10px;

  /* mobile submenu caret */
  --mps-hm-mcaret-color: #181818;
  --mps-hm-mcaret-hover-color: #181818;
  --mps-hm-mcaret-active-color: #181818;
  --mps-hm-mcaret-size: 16px;
  --mps-hm-mcaret-offset: 0px;

  --mps-hm-close-size: 38px;
  --mps-hm-close-icon-size: 20px;
  --mps-hm-close-color: #181818;
  --mps-hm-close-hover-color: #181818;
  --mps-hm-close-bg: transparent;
  --mps-hm-close-hover-bg: rgba(0,0,0,.04);
  --mps-hm-close-radius: 999px;

  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* --- Desktop nav --- */
.elementor-widget-mps_header_menu .mps-hm__desktop {
  display: block;
}

.elementor-widget-mps_header_menu .mps-hm__desktop>ul,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dlist {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--mps-hm-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.elementor-widget-mps_header_menu .mps-hm__desktop li {
  position: relative;
  list-style: none;
}

/*  support both: old wp default anchors AND new walker anchors */
.elementor-widget-mps_header_menu .mps-hm__desktop>ul>li>a,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dlist>li>a,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dlink {
  display: inline-flex;
  align-items: center;
  padding: 6px 0;
  color: var(--mps-hm-link);
  transition: color .15s ease;
  gap: var(--mps-hm-dico-gap);
}

.elementor-widget-mps_header_menu .mps-hm__desktop>ul>li>a:hover,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dlist>li>a:hover,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dlink:hover {
  color: var(--mps-hm-link-hover);
}

.elementor-widget-mps_header_menu .mps-hm__txt {
  white-space: nowrap;
}

/*  per-item icon (from walker) */
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__item-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--mps-hm-dico-color);
  flex: 0 0 auto;
  width: var(--mps-hm-dico-size);
  height: var(--mps-hm-dico-size);
  line-height: 1;
}

.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__item-ico svg,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__item-ico i {
  width: var(--mps-hm-dico-size) !important;
  height: var(--mps-hm-dico-size) !important;
  max-width: 100%;
  max-height: 100%;
  font-size: var(--mps-hm-dico-size);
  line-height: 1;
  display: block;
  flex: 0 0 auto;
}

.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__item-ico svg,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__item-ico svg * {
  color: currentColor;
}

.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__item-ico svg [fill]:not([fill="none"]):not([fill^="url("]),
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__item-ico svg:not([fill="none"]) {
  fill: currentColor;
}

/*  caret (from walker) */
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dcaret,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__subico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-inline-start: var(--mps-hm-caret-gap);
  color: var(--mps-hm-caret-color);
  font-size: var(--mps-hm-caret-size);
  line-height: 1;
  opacity: .9;
  flex: 0 0 auto;
  width: var(--mps-hm-caret-size);
  height: var(--mps-hm-caret-size);
}

.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dcaret svg,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dcaret i,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__subico svg,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__subico i {
  width: var(--mps-hm-caret-size) !important;
  height: var(--mps-hm-caret-size) !important;
  max-width: 100%;
  max-height: 100%;
  font-size: var(--mps-hm-caret-size);
  line-height: 1;
  display: block;
}

.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dcaret svg,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dcaret svg *,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__subico svg,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__subico svg * {
  color: currentColor;
}

.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dcaret svg [fill]:not([fill="none"]):not([fill^="url("]),
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dcaret svg:not([fill="none"]),
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__subico svg [fill]:not([fill="none"]):not([fill^="url("]),
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__subico svg:not([fill="none"]) {
  fill: currentColor;
}

.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dcaret svg [stroke]:not([stroke="none"]):not([stroke^="url("]),
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dcaret svg:not([stroke="none"]),
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__subico svg [stroke]:not([stroke="none"]):not([stroke^="url("]),
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__subico svg:not([stroke="none"]) {
  stroke: currentColor;
}

.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dlink:hover .mps-hm__dcaret,
.elementor-widget-mps_header_menu .mps-hm__desktop .mps-hm__dlink:focus-visible .mps-hm__dcaret,
.elementor-widget-mps_header_menu .mps-hm__desktop>ul>li>a:hover .mps-hm__dcaret,
.elementor-widget-mps_header_menu .mps-hm__desktop li:focus-within>.mps-hm__dlink .mps-hm__dcaret {
  color: var(--mps-hm-caret-hover-color);
}

.elementor-widget-mps_header_menu .mps-hm__desktop li.current-menu-item>.mps-hm__dlink .mps-hm__dcaret,
.elementor-widget-mps_header_menu .mps-hm__desktop li.current-menu-ancestor>.mps-hm__dlink .mps-hm__dcaret,
.elementor-widget-mps_header_menu .mps-hm__desktop li.current_page_item>.mps-hm__dlink .mps-hm__dcaret,
.elementor-widget-mps_header_menu .mps-hm__desktop li.current_page_ancestor>.mps-hm__dlink .mps-hm__dcaret {
  color: var(--mps-hm-caret-active-color);
}

/*  fallback caret (if you didn't update PHP walker yet)
   only applies to anchors that are NOT .mps-hm__dlink */
.elementor-widget-mps_header_menu .mps-hm__desktop li.menu-item-has-children>a:not(.mps-hm__dlink)::after {
  content: "▾";
  display: inline-block;
  margin-inline-start: var(--mps-hm-caret-gap);
  font-size: var(--mps-hm-caret-size);
  color: var(--mps-hm-caret-color);
  opacity: .9;
}

.elementor-widget-mps_header_menu .mps-hm__desktop li.menu-item-has-children>a:not(.mps-hm__dlink):hover::after,
.elementor-widget-mps_header_menu .mps-hm__desktop li.menu-item-has-children>a:not(.mps-hm__dlink):focus-visible::after {
  color: var(--mps-hm-caret-hover-color);
}

.elementor-widget-mps_header_menu .mps-hm__desktop li.current-menu-item> a:not(.mps-hm__dlink)::after,
.elementor-widget-mps_header_menu .mps-hm__desktop li.current-menu-ancestor> a:not(.mps-hm__dlink)::after,
.elementor-widget-mps_header_menu .mps-hm__desktop li.current_page_item> a:not(.mps-hm__dlink)::after,
.elementor-widget-mps_header_menu .mps-hm__desktop li.current_page_ancestor> a:not(.mps-hm__dlink)::after {
  color: var(--mps-hm-caret-active-color);
}

/* Desktop submenu (RTL, anchored right) */
.elementor-widget-mps_header_menu .mps-hm__desktop .sub-menu {
  position: absolute;
  right: 0;
  left: auto;
  top: calc(100% + var(--mps-hm-sub-offset));
  min-width: 210px;
  padding: 8px 0;
  margin: 0;
  list-style: none;

  border-radius: 16px;
  background: var(--mps-hm-sub-bg);
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 14px 40px rgba(15, 23, 42, .18);

  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 50;
  direction: rtl;
}

/*  hover bridge (prevents submenu jump) */
.elementor-widget-mps_header_menu .mps-hm__desktop .sub-menu::before {
  content: "";
  position: absolute;
  top: calc(-1 * var(--mps-hm-sub-offset));
  right: 0;
  left: 0;
  height: var(--mps-hm-sub-offset);
}

/* open on hover + keyboard */
.elementor-widget-mps_header_menu .mps-hm__desktop li:hover>.sub-menu,
.elementor-widget-mps_header_menu .mps-hm__desktop li:focus-within>.sub-menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.elementor-widget-mps_header_menu .mps-hm__desktop .sub-menu a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--mps-hm-dico-gap);
  padding: 9px 14px;
  font-size: 14px;
  color: var(--mps-hm-sub-link);
  white-space: nowrap;
  width: 100%;
}

.elementor-widget-mps_header_menu .mps-hm__desktop .sub-menu a:hover {
  background: var(--mps-hm-sub-hover-bg);
  color: var(--mps-hm-sub-link-hover);
}

/*  nested submenu (supports multiple levels) */
.elementor-widget-mps_header_menu .mps-hm__desktop .sub-menu .sub-menu {
  top: -8px;
  right: calc(100% + var(--mps-hm-sub-hgap));
  left: auto;
}

/*  hover bridge for nested horizontal gap */
.elementor-widget-mps_header_menu .mps-hm__desktop .sub-menu .sub-menu::before {
  content: "";
  position: absolute;
  top: 0;
  right: calc(-1 * var(--mps-hm-sub-hgap));
  width: var(--mps-hm-sub-hgap);
  height: 100%;
}

/* optional: rotate caret for nested items (RTL flyout) */
.elementor-widget-mps_header_menu .mps-hm__desktop .sub-menu li.menu-item-has-children>a .mps-hm__dcaret {
  transform: rotate(90deg);
}

/* fallback rotate caret for nested (if no walker) */
.elementor-widget-mps_header_menu .mps-hm__desktop .sub-menu li.menu-item-has-children>a:not(.mps-hm__dlink)::after {
  transform: rotate(90deg);
}

/* --- Toggle (Hamburger) --- */
/*  hidden by default (desktop) */
.elementor-widget-mps_header_menu .mps-hm__toggle {
  display: none;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  color: var(--mps-hm-toggle-color);
  background: var(--mps-hm-toggle-bg);
  transition: transform .12s ease, background .15s ease;
}

.elementor-widget-mps_header_menu .mps-hm__toggle svg {
  width: var(--mps-hm-toggle-size);
  height: var(--mps-hm-toggle-size);
  color: var(--mps-hm-toggle-color);
  fill: var(--mps-hm-toggle-color);
}

.elementor-widget-mps_header_menu .mps-hm__toggle:hover {
  background: rgba(0, 0, 0, .04);
  transform: translateY(-1px);
}

.elementor-widget-mps_header_menu .mps-hm__ico {
  font-size: 20px;
  line-height: 1;
  display: inline-flex;
}

/* --- Offcanvas --- */
.elementor-widget-mps_header_menu .mps-hm__offcanvas {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: flex;
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
  flex-direction: row-reverse;
}

.elementor-widget-mps_header_menu .mps-hm__offcanvas.is-open {
  opacity: 1;
  pointer-events: auto;
}

.elementor-widget-mps_header_menu .mps-hm__backdrop {
  flex: 1;
  background: var(--mps-hm-backdrop);
}

.elementor-widget-mps_header_menu .mps-hm__panel {
  width: 100%;
  max-width: var(--mps-hm-panel-w);
  background: var(--mps-hm-panel-bg);
  box-shadow: var(--mps-hm-panel-shadow);

  height: 100vh;
  height: 100dvh;
  display: flex;
  flex-direction: column;

  transform: translateX(100%);
  transition: transform .26s ease;
}

/* side */
.elementor-widget-mps_header_menu .mps-hm[data-side="right"] .mps-hm__offcanvas {
  justify-content: flex-end;
}

.elementor-widget-mps_header_menu .mps-hm[data-side="left"] .mps-hm__offcanvas {
  justify-content: flex-start;
}

.elementor-widget-mps_header_menu .mps-hm[data-side="left"] .mps-hm__panel {
  transform: translateX(-100%);
}

.elementor-widget-mps_header_menu .mps-hm__offcanvas.is-open .mps-hm__panel {
  transform: translateX(0);
}

/* defaults for panel header logo (controlled by Elementor) */
.elementor-widget-mps_header_menu .mps-hm {
  --mps-hm-logo-w: 150px;
  --mps-hm-logo-max-w: none;
  --mps-hm-logo-h: auto;
  --mps-hm-logo-fit: contain;
  --mps-hm-logo-radius: 0px;
  --mps-hm-brand-justify: flex-start;
}

/* make brand stretch so alignment works nicely */
.elementor-widget-mps_header_menu .mps-hm__brand {
  display: flex;
  align-items: center;
  justify-content: var(--mps-hm-brand-justify);
  flex: 1 1 auto;
  min-width: 0;
}

.elementor-widget-mps_header_menu .mps-hm__logo,
.elementor-widget-mps_header_menu .mps-hm__logo a {
  display: inline-flex;
  align-items: center;
}

.elementor-widget-mps_header_menu .mps-hm__logo img {
  display: block;
  width: var(--mps-hm-logo-w);
  max-width: var(--mps-hm-logo-max-w);
  height: var(--mps-hm-logo-h);
  object-fit: var(--mps-hm-logo-fit);
  border-radius: var(--mps-hm-logo-radius);
}

/* panel header */
.elementor-widget-mps_header_menu .mps-hm__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px 10px;
  border-bottom: 1px solid #f1f5f9;
  flex: 0 0 auto;
}

.elementor-widget-mps_header_menu .mps-hm__title {
  font-weight: 900;
  font-size: 14px;
  color: #181818;
}

.elementor-widget-mps_header_menu .mps-hm__close {
  width: var(--mps-hm-close-size);
  height: var(--mps-hm-close-size);
  min-width: var(--mps-hm-close-size);
  min-height: var(--mps-hm-close-size);
  border-radius: var(--mps-hm-close-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--mps-hm-close-color);
  background: var(--mps-hm-close-bg);
}
.elementor-widget-mps_header_menu .mps-hm__close svg,
.elementor-widget-mps_header_menu .mps-hm__close i {
  width: var(--mps-hm-close-icon-size) !important;
  height: var(--mps-hm-close-icon-size) !important;
  max-width: 100%;
  max-height: 100%;
  font-size: var(--mps-hm-close-icon-size) !important;
  color: currentColor;
  display: block;
}
.elementor-widget-mps_header_menu .mps-hm__close svg [fill]:not([fill="none"]):not([fill^="url("]),
.elementor-widget-mps_header_menu .mps-hm__close svg:not([fill="none"]) { fill: currentColor; }
.elementor-widget-mps_header_menu .mps-hm__close svg [stroke]:not([stroke="none"]):not([stroke^="url("]),
.elementor-widget-mps_header_menu .mps-hm__close svg:not([stroke="none"]) { stroke: currentColor; }

.elementor-widget-mps_header_menu .mps-hm__close:hover,
.elementor-widget-mps_header_menu .mps-hm__close:focus-visible {
  color: var(--mps-hm-close-hover-color);
  background: var(--mps-hm-close-hover-bg);
}

.elementor-widget-mps_header_menu .mps-hm__close--floating {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
}

/* scroll area */
.elementor-widget-mps_header_menu .mps-hm__body {
  flex: 1 1 auto;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* mobile list */
.elementor-widget-mps_header_menu .mps-hm__mobile>ul,
.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__mlist {
  list-style: none;
  margin: 0;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: right;
}

.elementor-widget-mps_header_menu .mps-hm__item {
  list-style: none;
}

.elementor-widget-mps_header_menu .mps-hm__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 40px;
}

.elementor-widget-mps_header_menu .mps-hm__link {
  width: 100%;
  min-width: 0;
  padding: 10px 0;
  font-size: 18px;
  color: var(--mps-hm-m-link);
  transition: color .15s ease;
  display: inline-flex;
  align-items: center;
  gap: var(--mps-hm-mico-gap);
}

.elementor-widget-mps_header_menu .mps-hm__link:hover {
  color: var(--mps-hm-m-link-hover);
}

/*  per-item icon (mobile) */
.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__item-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  opacity: .95;
  color: var(--mps-hm-mico-color);
  width: var(--mps-hm-mico-size);
  height: var(--mps-hm-mico-size);
  line-height: 1;
}

.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__item-ico svg,
.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__item-ico i {
  width: var(--mps-hm-mico-size) !important;
  height: var(--mps-hm-mico-size) !important;
  max-width: 100%;
  max-height: 100%;
  font-size: var(--mps-hm-mico-size);
  line-height: 1;
  display: block;
  flex: 0 0 auto;
}

.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__item-ico svg,
.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__item-ico svg * {
  color: currentColor;
}

.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__item-ico svg [fill]:not([fill="none"]):not([fill^="url("]),
.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__item-ico svg:not([fill="none"]) {
  fill: currentColor;
}

.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__link:hover .mps-hm__item-ico,
.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__link:focus-visible .mps-hm__item-ico {
  color: var(--mps-hm-mico-hover-color);
}

.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__item.current-menu-item > .mps-hm__row .mps-hm__item-ico,
.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__item.current-menu-ancestor > .mps-hm__row .mps-hm__item-ico,
.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__item.current_page_item > .mps-hm__row .mps-hm__item-ico,
.elementor-widget-mps_header_menu .mps-hm__mobile .mps-hm__item.current_page_ancestor > .mps-hm__row .mps-hm__item-ico {
  color: var(--mps-hm-mico-active-color);
}

/* submenu toggle button */
.elementor-widget-mps_header_menu .mps-hm__subtoggle {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--mps-hm-mcaret-color);
  flex: 0 0 auto;
  padding-inline: 0;
}

.elementor-widget-mps_header_menu .mps-hm__subtoggle:hover,
.elementor-widget-mps_header_menu .mps-hm__subtoggle:focus-visible {
  background: transparent;
  color: var(--mps-hm-mcaret-hover-color);
}

.elementor-widget-mps_header_menu .mps-hm__subico {
  font-size: var(--mps-hm-mcaret-size);
  width: var(--mps-hm-mcaret-size);
  height: var(--mps-hm-mcaret-size);
  line-height: 1;
  transition: transform .18s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-inline-start: var(--mps-hm-mcaret-offset);
  color: inherit;
  flex: 0 0 auto;
}

/* Elementor may render the icon itself as svg.mps-hm__subico or render
 * an SVG/font icon inside a wrapper. Both structures use the same control. */
.elementor-widget-mps_header_menu svg.mps-hm__subico,
.elementor-widget-mps_header_menu i.mps-hm__subico,
.elementor-widget-mps_header_menu .mps-hm__subico svg,
.elementor-widget-mps_header_menu .mps-hm__subico i {
  width: var(--mps-hm-mcaret-size) !important;
  height: var(--mps-hm-mcaret-size) !important;
  max-width: 100%;
  max-height: 100%;
  font-size: var(--mps-hm-mcaret-size);
  line-height: 1;
  display: block;
  color: inherit;
}

.elementor-widget-mps_header_menu svg.mps-hm__subico,
.elementor-widget-mps_header_menu svg.mps-hm__subico *,
.elementor-widget-mps_header_menu .mps-hm__subico svg,
.elementor-widget-mps_header_menu .mps-hm__subico svg * {
  color: inherit;
}

.elementor-widget-mps_header_menu svg.mps-hm__subico:not([fill="none"]),
.elementor-widget-mps_header_menu svg.mps-hm__subico [fill]:not([fill="none"]):not([fill^="url("]),
.elementor-widget-mps_header_menu .mps-hm__subico svg:not([fill="none"]),
.elementor-widget-mps_header_menu .mps-hm__subico svg [fill]:not([fill="none"]):not([fill^="url("]) {
  fill: currentColor !important;
}

.elementor-widget-mps_header_menu svg.mps-hm__subico:not([stroke="none"]),
.elementor-widget-mps_header_menu svg.mps-hm__subico [stroke]:not([stroke="none"]):not([stroke^="url("]),
.elementor-widget-mps_header_menu .mps-hm__subico svg:not([stroke="none"]),
.elementor-widget-mps_header_menu .mps-hm__subico svg [stroke]:not([stroke="none"]):not([stroke^="url("]) {
  stroke: currentColor !important;
}

.elementor-widget-mps_header_menu .mps-hm__item.is-sub-open>.mps-hm__row .mps-hm__subtoggle,
.elementor-widget-mps_header_menu .mps-hm__item.current-menu-ancestor>.mps-hm__row .mps-hm__subtoggle,
.elementor-widget-mps_header_menu .mps-hm__item.current-menu-item>.mps-hm__row .mps-hm__subtoggle {
  color: var(--mps-hm-mcaret-active-color);
}

.elementor-widget-mps_header_menu .mps-hm__item.is-sub-open>.mps-hm__row .mps-hm__subico {
  transform: rotate(180deg);
}

/* submenu accordion */
.elementor-widget-mps_header_menu .mps-hm__submenu {
  display: none;
  list-style: none;
  margin: 0;
  padding: 6px 0 10px 10px;
}

.elementor-widget-mps_header_menu .mps-hm__submenu a {
  display: block;
  padding: 8px 0;
  font-size: 14px;
  color: #4b5563;
}

html[dir="ltr"] .elementor-widget-mps_header_menu .mps-hm,
body:not([dir="rtl"]) .elementor-widget-mps_header_menu .mps-hm[data-dir="ltr"] {
  direction: ltr;
}

@media (prefers-reduced-motion: reduce) {
  .elementor-widget-mps_header_menu .mps-hm__subico,
  .elementor-widget-mps_header_menu .mps-hm__subtoggle,
  .elementor-widget-mps_header_menu .mps-hm__toggle,
  .elementor-widget-mps_header_menu .mps-hm__offcanvas,
  .elementor-widget-mps_header_menu .mps-hm__panel {
    transition-duration: 0ms !important;
  }
}

/* footer profile pinned */
.elementor-widget-mps_header_menu .mps-hm__footer {
  flex: 0 0 auto;
  background: var(--mps-hm-prof-bg);
  border-top: 1px solid var(--mps-hm-prof-border);
  padding: 14px 18px;
  padding-bottom: calc(14px + env(safe-area-inset-bottom));
}

.elementor-widget-mps_header_menu .mps-hm__profile {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: right;
  color: #181818;
}

.elementor-widget-mps_header_menu .mps-hm__avatar {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  overflow: hidden;
  flex: 0 0 auto;
}

.elementor-widget-mps_header_menu .mps-hm__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.elementor-widget-mps_header_menu .mps-hm__ptext {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

.elementor-widget-mps_header_menu .mps-hm__pname {
  font-weight: 900;
  font-size: 14px;
  color: #181818;
}

.elementor-widget-mps_header_menu .mps-hm__psub {
  margin-top: 3px;
  font-size: 12px;
  color: #64748b;
}

/*  Mobile state handling (JS adds .is-mobile) */
.elementor-widget-mps_header_menu .mps-hm.is-mobile .mps-hm__desktop {
  display: none;
}

.elementor-widget-mps_header_menu .mps-hm.is-mobile .mps-hm__toggle {
  display: inline-flex;
}

/* body lock */
body.mps-hm--lock {
  overflow: hidden;
}

/* =========================================================
   LEGACY MENU WIDGET (mps-hw-*)  (kept, not removed)
   ========================================================= */
.elementor-widget-mps_header_menu .mps-hw-menu {
  --hw-gap: 18px;
  --hw-link: #5b5c5a;
  --hw-link-hover: #181818;

  --hw-panel-bg: #fff;
  --hw-backdrop: rgba(15, 23, 42, .35);
  --hw-shadow: -12px 0 40px rgba(15, 23, 42, .3);

  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

/* Desktop list */
.elementor-widget-mps_header_menu .mps-hw-menu--desktop .mps-hw-menu-list {
  display: flex;
  align-items: center;
  gap: var(--hw-gap);
  justify-content: flex-end;
}

.elementor-widget-mps_header_menu .mps-hw-menu--desktop .mps-hw-menu-list>li {
  position: relative;
}

.elementor-widget-mps_header_menu .mps-hw-menu--desktop .mps-hw-menu-list>li>a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 0;
  color: var(--hw-link);
  transition: color .15s ease;
}

.elementor-widget-mps_header_menu .mps-hw-menu--desktop .mps-hw-menu-list>li>a:hover {
  color: var(--hw-link-hover);
}

/* Desktop submenu */
.elementor-widget-mps_header_menu .mps-hw-menu--desktop .sub-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  min-width: 200px;
  padding: 8px 0;
  margin: 0;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 0 14px 40px rgba(15, 23, 42, .18);
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 40;
}

.elementor-widget-mps_header_menu .mps-hw-menu--desktop li:hover>.sub-menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.elementor-widget-mps_header_menu .mps-hw-menu--desktop .sub-menu a {
  display: block;
  padding: 8px 14px;
  font-size: 14px;
  color: #4b5563;
}

.elementor-widget-mps_header_menu .mps-hw-menu--desktop .sub-menu a:hover {
  background: #f3f4f6;
  color: #181818;
}

/* Hamburger */
.elementor-widget-mps_header_menu .mps-hw-hamburger {
  display: none;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  color: #464646;
  transition: background .15s ease, transform .1s ease;
}

.elementor-widget-mps_header_menu .mps-hw-hamburger:hover {
  background: #f3f4f6;
  transform: translateY(-1px);
}

.elementor-widget-mps_header_menu .mps-hw-hamburger i {
  font-size: 28px;
}

/* Offcanvas */
.elementor-widget-mps_header_menu .mps-hw-offcanvas {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: flex;
  justify-content: flex-end;
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
}

.elementor-widget-mps_header_menu .mps-hw-offcanvas.is-open {
  opacity: 1;
  pointer-events: auto;
}

.elementor-widget-mps_header_menu .mps-hw-backdrop {
  flex: 1;
  background: var(--hw-backdrop);
}

.elementor-widget-mps_header_menu .mps-hw-panel {
  width: 100%;
  max-width: 420px;
  background: var(--hw-panel-bg);
  box-shadow: var(--hw-shadow);
  transform: translateX(100%);
  transition: transform .26s ease;
  display: flex;
  flex-direction: column;
}

.elementor-widget-mps_header_menu .mps-hw-offcanvas.is-open .mps-hw-panel {
  transform: translateX(0);
}

.elementor-widget-mps_header_menu .mps-hw-menu[data-side="left"] .mps-hw-offcanvas {
  justify-content: flex-start;
}

.elementor-widget-mps_header_menu .mps-hw-menu[data-side="left"] .mps-hw-panel {
  transform: translateX(-100%);
}

.elementor-widget-mps_header_menu .mps-hw-menu[data-side="left"] .mps-hw-offcanvas.is-open .mps-hw-panel {
  transform: translateX(0);
}

.elementor-widget-mps_header_menu .mps-hw-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px 10px;
  border-bottom: 1px solid #f3f4f6;
}

.elementor-widget-mps_header_menu .mps-hw-panel-title {
  font-weight: 900;
  font-size: 14px;
  color: #181818;
}

.elementor-widget-mps_header_menu .mps-hw-close {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #181818;
}

.elementor-widget-mps_header_menu .mps-hw-close:hover {
  background: #f3f4f6;
}

/* Mobile list */
.elementor-widget-mps_header_menu .mps-hw-menu--mobile .mps-hw-menu-list--mobile {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  padding: 16px 18px 14px;
}

.elementor-widget-mps_header_menu .mps-hw-menu--mobile .mps-hw-item-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.elementor-widget-mps_header_menu .mps-hw-menu--mobile .mps-hw-link {
  width: 100%;
  padding: 10px 0;
  font-size: 18px;
  color: #181818;
}

.elementor-widget-mps_header_menu .mps-hw-sub-toggle {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #181818;
}

.elementor-widget-mps_header_menu .mps-hw-sub-toggle:hover {
  background: #f3f4f6;
}

.elementor-widget-mps_header_menu .mps-hw-menu--mobile .mps-hw-submenu {
  display: none;
  padding: 6px 0 10px 12px;
}

.elementor-widget-mps_header_menu li.is-sub-open>.mps-hw-submenu {
  display: block;
}

.elementor-widget-mps_header_menu .mps-hw-menu--mobile .mps-hw-submenu a {
  display: block;
  padding: 8px 0;
  font-size: 14px;
  color: #4b5563;
}

/* JS makes it mobile by class */
.elementor-widget-mps_header_menu .mps-hw-menu.is-mobile .mps-hw-menu--desktop {
  display: none;
}

.elementor-widget-mps_header_menu .mps-hw-menu.is-mobile .mps-hw-hamburger {
  display: inline-flex;
}

.elementor-widget-mps_header_menu .mps-hw-menu:not(.is-mobile) .mps-hw-hamburger {
  display: none;
}

body.mps-hw-body-lock {
  overflow: hidden;
}
