/* Behsazan Glass Menu - scoped, no fonts or external assets. */
.elementor-widget-behsazan-glass-menu { position: relative; z-index: 20; min-width: 0; }
.elementor-widget-behsazan-glass-menu > .elementor-widget-container { overflow: visible; }

.bzn {
  --bzn-color: #1d1d1f;
  --bzn-hover: #0066cc;
  --bzn-gap: 28px;
  --bzn-mobile-size: 26px;
  --bzn-padding: 28px;
  --bzn-duration: 420ms;
  --bzn-ease: cubic-bezier(.22, 1, .36, 1);
  --bzn-blur: 12px;
  --bzn-white: .6;
  --bzn-item-fade: calc(var(--bzn-duration) + 120ms);
  --bzn-stagger: 70ms;
  position: relative;
  width: 100%;
  color: var(--bzn-color);
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
  text-align: start;
}

.bzn *,
.bzn *::before,
.bzn *::after { box-sizing: border-box; }

.bzn ul,
.bzn li { list-style: none; margin: 0; padding: 0; }

.bzn li { position: relative; }

.bzn .bzn__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--bzn-gap);
  flex-wrap: wrap;
}

.bzn a {
  display: block;
  color: var(--bzn-color);
  text-decoration: none;
  font: inherit;
  padding-block: 12px;
  overflow-wrap: anywhere;
  transition: color 160ms ease;
}

.bzn a:hover,
.bzn a[aria-current="page"],
.bzn .current-menu-ancestor > a { color: var(--bzn-hover); }

.bzn a:focus-visible,
.bzn button:focus-visible {
  outline: 2px solid var(--bzn-hover);
  outline-offset: 3px;
  border-radius: 4px;
}

.bzn button {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  color: inherit;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  touch-action: manipulation;
  font: inherit;
}

.bzn button:hover,
.bzn button:focus { color: var(--bzn-hover); background: transparent; }

.bzn .bzn__toggle {
  display: none;
  position: relative;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  z-index: 4;
}

.bzn__bar {
  position: absolute;
  top: 21px;
  left: 11px;
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transform: translateY(-4px);
  transition: transform var(--bzn-duration) var(--bzn-ease);
}

.bzn__bar + .bzn__bar { transform: translateY(4px); }

.bzn.bzn--open .bzn__bar,
.bzn.bzn--closing .bzn__bar { transform: rotate(45deg); }

.bzn.bzn--open .bzn__bar + .bzn__bar,
.bzn.bzn--closing .bzn__bar + .bzn__bar { transform: rotate(-45deg); }

.bzn .menu-item-has-children > a { padding-inline-end: 36px; }

.bzn .bzn__branch {
  display: none;
  position: absolute;
  inset-inline-end: 0;
  top: 0;
  width: 32px;
  height: 44px;
  align-items: center;
  justify-content: center;
}

.bzn.bzn--ready .bzn__branch { display: flex; }

.bzn__branch span {
  width: 7px;
  height: 7px;
  border-bottom: 1.5px solid currentColor;
  border-inline-end: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 220ms ease;
}

[dir="rtl"] .bzn__branch span { transform: rotate(-45deg); }

.bzn .bzn__branch[aria-expanded="true"] span { transform: rotate(225deg); }

[dir="rtl"] .bzn .bzn__branch[aria-expanded="true"] span { transform: rotate(135deg); }

.bzn .sub-menu {
  display: none;
  position: absolute;
  z-index: 30;
  top: 100%;
  inset-inline-start: 0;
  width: 240px;
  max-width: calc(100vw - 32px);
  padding: 12px 18px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .06);
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .09);
}

.bzn .sub-menu a { padding-block: 10px; }

.bzn:not(.bzn--mobile) .bzn__list > li > .sub-menu {
  max-height: 70vh;
  overflow-y: auto;
}

/* Nested levels expand in place so long menus stay inside the viewport. */
.bzn .sub-menu .sub-menu {
  position: static;
  width: auto;
  max-width: none;
  margin-inline-start: 8px;
  padding: 0 12px;
  border: 0;
  border-radius: 0;
  border-inline-start: 1px solid rgba(0, 0, 0, .12);
  box-shadow: none;
  background: transparent;
}

.bzn.bzn--ready .bzn-sub-open > .sub-menu,
.bzn:not(.bzn--ready) li:hover > .sub-menu,
.bzn:not(.bzn--ready) li:focus-within > .sub-menu { display: block; }

.bzn:not(.bzn--ready) .bzn__list > li:last-child > .sub-menu {
  inset-inline-start: auto;
  inset-inline-end: 0;
}

.bzn.bzn--mobile { display: flex; justify-content: end; }

.bzn.bzn--mobile .bzn__toggle { display: block; }

.bzn:not(.bzn--mobile) .bzn__surface {
  background: transparent;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.bzn:not(.bzn--mobile) .bzn__glass::before,
.bzn:not(.bzn--mobile) .bzn__glass::after { display: none; content: none; }

.bzn__layer {
  position: fixed;
  inset: 0;
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  max-width: none;
  min-width: 100%;
  height: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  max-height: none;
  background: transparent;
  color: inherit;
  overflow: hidden;
  overscroll-behavior: none;
}

.bzn__layer::backdrop { background: transparent; }

.bzn__anchor { display: block; width: 100%; height: 44px; }

.bzn.bzn--mobile.bzn--overlay,
.bzn.bzn--mobile.bzn--fallback { width: 100%; }

.bzn.bzn--mobile.bzn--overlay .bzn__toggle,
.bzn.bzn--mobile.bzn--fallback .bzn__toggle {
  position: fixed;
  top: max(var(--bzn-toggle-top, 8px), env(safe-area-inset-top));
  inset-inline-start: max(var(--bzn-toggle-start, 16px), env(safe-area-inset-left));
}

[dir="rtl"] .bzn.bzn--mobile.bzn--overlay .bzn__toggle,
[dir="rtl"] .bzn.bzn--mobile.bzn--fallback .bzn__toggle {
  inset-inline-start: max(var(--bzn-toggle-start, 16px), env(safe-area-inset-right));
}

.bzn.bzn--mobile .bzn__surface {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  visibility: visible;
  pointer-events: auto;
  transition: visibility 0s linear;
}

.bzn.bzn--mobile.bzn--overlay .bzn__surface { position: absolute; inset: 0; }

.bzn.bzn--mobile.bzn--fallback .bzn__surface {
  position: fixed;
  inset: 0;
}

.bzn.bzn--ready.bzn--mobile:not(.bzn--open):not(.bzn--closing) .bzn__surface {
  visibility: hidden;
  pointer-events: none;
}

/* Full-panel glass: blur covers the whole panel; white stays solid until 50%. */
.bzn.bzn--mobile .bzn__glass::before,
.bzn.bzn--mobile .bzn__glass::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--bzn-duration) ease;
}

.bzn.bzn--mobile .bzn__glass::before {
  z-index: 0;
  background: transparent;
  -webkit-backdrop-filter: blur(var(--bzn-blur));
  backdrop-filter: blur(var(--bzn-blur));
}

.bzn.bzn--mobile .bzn__glass::after {
  z-index: 1;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, var(--bzn-white)) 0,
    rgba(255, 255, 255, var(--bzn-white)) 50%,
    rgba(255, 255, 255, 0) 100%
  );
}

.bzn.bzn--mobile.bzn--open .bzn__glass::before,
.bzn.bzn--mobile.bzn--open .bzn__glass::after { opacity: 1; }

.bzn.bzn--mobile.bzn--closing .bzn__glass::before,
.bzn.bzn--mobile.bzn--closing .bzn__glass::after {
  opacity: 0;
  transition-duration: var(--bzn-item-fade);
}

.bzn.bzn--mobile .bzn__viewport {
  position: relative;
  z-index: 2;
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-block-start: max(var(--bzn-content-top, 8px), env(safe-area-inset-top));
  padding-inline-start: max(var(--bzn-pad-start, var(--bzn-padding)), env(safe-area-inset-left));
  padding-inline-end: max(var(--bzn-pad-end, var(--bzn-padding)), env(safe-area-inset-right));
  padding-block-end: max(44px, env(safe-area-inset-bottom));
}

[dir="rtl"] .bzn.bzn--mobile .bzn__viewport {
  padding-inline-start: max(var(--bzn-pad-start, var(--bzn-padding)), env(safe-area-inset-right));
  padding-inline-end: max(var(--bzn-pad-end, var(--bzn-padding)), env(safe-area-inset-left));
}

.bzn.bzn--mobile .bzn__list {
  display: block;
  max-width: 1120px;
  margin-inline: auto;
}

.bzn.bzn--mobile .bzn__list > li > a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding-block: 0;
  font-size: var(--bzn-mobile-size);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -.025em;
}

.bzn.bzn--mobile .bzn__list > li {
  opacity: 0;
  transition: opacity var(--bzn-item-fade) ease;
}

.bzn.bzn--mobile.bzn--open .bzn__list > li {
  opacity: 1;
  transition-delay: var(--bzn-delay, 0ms);
}

.bzn.bzn--mobile.bzn--closing .bzn__list > li {
  opacity: 0;
  transition-delay: var(--bzn-exit-delay, 0ms);
}

.bzn.bzn--mobile .sub-menu {
  position: static;
  width: auto;
  max-width: none;
  padding: 0 16px 8px;
  margin-block: 0 8px;
  border: 0;
  border-inline-start: 1px solid rgba(0, 0, 0, .12);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.bzn.bzn--mobile .sub-menu a {
  font-size: 17px;
  padding-block: 10px;
}

.bzn.bzn--mobile .bzn__branch { width: 44px; height: 54px; }

.bzn.bzn--mobile .sub-menu .bzn__branch { height: 44px; }

.bzn__notice { padding: 16px; border: 1px dashed #b8bec7; font: inherit; }

/* Phone fallback without JS: show the menu list instead of hiding it behind a dialog. */
@media (max-width: 767.98px) {
  .bzn { display: flex; justify-content: end; }
  .bzn .bzn__toggle { display: block; }
  .bzn:not(.bzn--ready) .bzn__toggle { display: none; }
  .bzn:not(.bzn--ready) .bzn__surface {
    position: static;
    width: 100%;
    height: auto;
    overflow: visible;
    visibility: visible;
    pointer-events: auto;
  }
  .bzn:not(.bzn--ready) .bzn__list { display: block; }
  .bzn:not(.bzn--ready) .sub-menu {
    display: block;
    position: static;
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0 16px;
    border: 0;
    box-shadow: none;
    background: transparent;
  }
}

/* Desktop and tablet reset only when JS says this is not mobile. */
@media (min-width: 768px) {
  .bzn:not(.bzn--mobile) .bzn__toggle { display: none !important; }
  .bzn:not(.bzn--mobile) .bzn__list { display: flex !important; }
  .bzn:not(.bzn--mobile) .bzn__surface {
    position: static !important;
    visibility: visible !important;
    pointer-events: auto !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
  }
}

/* Tablet keeps the horizontal menu aligned to the end edge. */
@media (max-width: 1024.98px) and (min-width: 768px) {
  .bzn .bzn__list { justify-content: end; }
  .bzn:not(.bzn--mobile) .bzn__surface { margin-inline-start: auto; }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .bzn.bzn--mobile .bzn__glass::before { background: rgba(255, 255, 255, .95); }
}

@media (prefers-reduced-motion: reduce) {
  .bzn *,
  .bzn *::before,
  .bzn *::after {
    transition: none !important;
    scroll-behavior: auto !important;
  }

  .bzn.bzn--closing .bzn__surface { visibility: hidden; }
}

@media (forced-colors: active) {
  .bzn.bzn--mobile .bzn__surface,
  .bzn .sub-menu {
    background: Canvas;
    border: 1px solid CanvasText;
  }

  .bzn.bzn--mobile .bzn__glass::before,
  .bzn.bzn--mobile .bzn__glass::after { display: none; content: none; }

  .bzn__bar { background: ButtonText; }
}
