.icon-menu {
  width: 20px;
  height: 14px;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin-top: -2px;
  margin-right: 8px;
  cursor: pointer;
  flex-shrink: 0;
}

.catalog-btn-text {
  font-size: 16px;
  display: inline-block;
}

.bar {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 4px;
  background-color: currentColor;
  transform-origin: center;
  will-change: transform;
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}

.bar--1 {
  top: 0px;
}
.bar--2 {
  top: 6px;
}
.bar--3 {
  top: 12px;
}

.dropdown:has(:popover-open) .bar--1 {
  transform: translateY(6px) rotate(45deg);
}

.dropdown:has(:popover-open) .bar--2 {
  transform: scaleX(0);
}

.dropdown:has(:popover-open) .bar--3 {
  transform: translateY(-6px) rotate(-45deg);
}

.catalog-button {
  #catalogPopover {
    margin-top: 10px;
    width: fit-content;
    max-height: calc(-150px + 100vh);
    position: fixed;
    border: none;
    padding: 0;
    inset: unset;
    position-anchor: --catalog-button;
    position-area: bottom span-right;
    background: transparent;

    transition:
      opacity 0.2s ease-in-out,
      transform 0.2s ease-in-out,
      display 0.2s ease-in-out allow-discrete,
      overlay 0.2s ease-in-out allow-discrete;

    opacity: 0;
    transform: translateY(-10px);

    &:popover-open {
      opacity: 1;
      transform: translateY(0);
    }

    @starting-style {
      &:popover-open {
        opacity: 0;
        transform: translateY(-10px);
      }
    }

    .container {
      padding: 0;
    }
    @media (max-width: 1205px) {
      position-area: bottom;
      width: 100%;
      padding-inline: 1rem;
    }
  }

  .custom-backdrop {
    position: fixed;
    z-index: -1;
    backdrop-filter: blur(2px);
    position-anchor: --catalog-button;
    position-area: bottom;
    width: 100vw;
    height: 100vh;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    opacity: 0;
    transition:
      opacity 0.2s ease-in-out,
      display 0.2s ease-in-out allow-discrete;

    &.show {
      display: block;
      opacity: 1;
    }
  }
}
