/* =================================
   MENU ICON WIDGET
================================= */

.inv-menu-icon {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  color: inherit;
  text-decoration: none;
}

.inv-menu-icon:link,
.inv-menu-icon:visited,
.inv-menu-icon:hover,
.inv-menu-icon:active {
  color: inherit;
  text-decoration: none;
}

.inv-menu-icon__label {
  transition: color .25s ease;
}

.inv-menu-icon__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: inherit;
  transition: color .25s ease;
}

.inv-menu-icon__lines {
  position: relative;
  display: block;
  width: 1.5rem;
  height: 1rem;
  --inv-line-thickness: 2px;
}

.inv-menu-icon__lines > span {
  position: absolute;
  left: 0;
  width: 100%;
  height: var(--inv-line-thickness);
  background: currentColor;
  transform-origin: center;
  transition:
    transform .3s cubic-bezier(.4,0,.2,1),
    opacity .2s ease,
    top .3s cubic-bezier(.4,0,.2,1),
    background-color .2s ease;
}

.inv-menu-icon__lines > span:nth-child(1) {
  top: 0;
}

.inv-menu-icon__lines > span:nth-child(2) {
  top: calc(50% - (var(--inv-line-thickness) / 2));
}

.inv-menu-icon__lines > span:nth-child(3) {
  top: calc(100% - var(--inv-line-thickness));
}

body.inv-popup-open .inv-menu-icon__lines > span:nth-child(1) {
  top: calc(50% - (var(--inv-line-thickness) / 2));
  transform: rotate(45deg);
}

body.inv-popup-open .inv-menu-icon__lines > span:nth-child(2) {
  opacity: 0;
}

body.inv-popup-open .inv-menu-icon__lines > span:nth-child(3) {
  top: calc(50% - (var(--inv-line-thickness) / 2));
  transform: rotate(-45deg);
}
