/* ─── Hamburger Menu Widget ──────────────────────────────────────────────── */

.hamburger-menu {
  cursor: pointer;
  background: none;
  border: none;
  outline: none;
  position: relative;
  padding: 0;
  width: 44px;
  height: 24px;
  -webkit-tap-highlight-color: transparent;
}

/* Reset all focus/active/hover browser defaults cleanly.
   Box-shadow and border are intentionally NOT reset here so the
   Elementor style controls can apply them without being overridden. */
.hamburger-menu:focus,
.hamburger-menu:focus-visible {
  outline: none !important;
}

.hamburger-menu .bar {
  display: block;
  position: absolute;
  left: 0;
  height: 4px;
  width: 100%;
  background: #000;
  border-radius: 0px;
  transition:
    width     0.3s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    opacity   0.25s ease;
  transform-origin: center center;
}

/* ─── Bar positions ──────────────────────────────────────────────────────── */
.hamburger-menu .bar-top    { top: 0; }
.hamburger-menu .bar-middle { top: 50%; transform: translateY(-50%); }
.hamburger-menu .bar-bottom { bottom: 0; }

/* ─── Hover: shrink top & bottom bars ───────────────────────────────────── */
.hamburger-menu:not(.is-open):hover .bar-top,
.hamburger-menu:not(.is-open):hover .bar-bottom {
  width: 55%;
}

/* ─── Open / X state ─────────────────────────────────────────────────────── */
.hamburger-menu.is-open .bar-top {
  transform: translateY(9px) rotate(45deg);
  width: 100%;
}

.hamburger-menu.is-open .bar-middle {
  opacity: 0;
  transform: translateY(-50%) scaleX(0);
}

.hamburger-menu.is-open .bar-bottom {
  transform: translateY(-11px) rotate(-45deg);
  width: 100%;
}

/* ─── Link wrapper ───────────────────────────────────────────────────────── */
a.hamburger-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  line-height: 0;
  background: none;
  border: none;
  padding: 0;
}

a.hamburger-link:hover,
a.hamburger-link:focus {
  background: none;
  outline: none;
}
