.header-main--menu,
.header-main--menu--inner,
.header-main--menu--desktop {
  height: 100%;
}

.header-main--menu--inner {
  display: flex;
  align-items: center;
}

.header-main--menu--mobile {
  color: var(--c-brand-umber);
  width: 32px;

  * {
    pointer-events: none;
  }

  @media only screen and (min-width: 1024px) {
    display: none;
  }
}

.header-main--menu--desktop {
  display: none;

  @media only screen and (min-width: 1024px) {
    display: block;
  }
}

.menu-linklist,
.menu-link {
  margin: 0;
}

.menu-link,
.menu-trigger,
.menu-anchor,
.menu-title {
  white-space: nowrap;
  line-height: 1;
}

.menu-trigger {
  * {
    pointer-events: none;
  }
}

.menu-linklist {
  &[data-menu-context="mobile"] {
    > .menu-link {
      border-bottom: 1px solid var(--c-brand-umber-35);

      > .menu-anchor,
      > .menu-trigger {
        padding-inline: 40px;
        padding-block: 28px;
      }

      > .menu-trigger {
        width: 100%;
        justify-content: center;

        &[aria-expanded="true"] {
          .menu-icon {
            rotate: 180deg;
          }
        }

        .menu-icon {
          transition: rotate 0.2s ease-in-out;
        }
      }

      > .menu-submenu {
        &[aria-hidden="false"] {
          height: auto;
        }
      }
    }

    .menu-submenu {
      height: 0;
      overflow: hidden;

      interpolate-size: allow-keywords;
      transition: height 0.2s ease-in-out;
      transition-behavior: allow-discrete;

      @starting-style {
        height: 0;
      }
    }
  }

  &[data-menu-context="desktop"] {
    &[data-menu-level="1"] {
      display: flex;
      column-gap: 40px;
      height: 100%;

      > .menu-link {
        height: 100%;

        &:hover {
          > .menu-trigger {
            .menu-icon {
              rotate: 180deg;
            }
          }
        }

        > .menu-trigger,
        > .menu-anchor {
          height: 100%;
        }

        > .menu-anchor {
          display: flex;
          align-items: center;
        }

        > .menu-submenu {
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          z-index: 1;
          text-align: center;
          background-color: var(--c-brand-buff);

          .menu-trigger {
            justify-content: center;
            width: 100%;
          }
        }
      }
    }

    [data-menu-level="2"] {
      padding-top: var(--header-py);

      > .menu-link {
        &:hover {
          > .menu-trigger {
            [data-toggle-y] {
              rotate: 90deg;
            }
          }
        }
      }

      .menu-link {
        &:not(:last-child) {
          border-bottom: 1px solid var(--c-brand-umber-35);
        }
      }

      .menu-trigger,
      .menu-anchor {
        padding: 16px;
      }
    }

    .menu-link {
      &:hover {
        > .menu-submenu {
          height: auto;
        }
      }
    }

    .menu-submenu {
      height: 0;
      overflow: hidden;

      interpolate-size: allow-keywords;
      transition: height 0.2s ease-in-out;
      transition-behavior: allow-discrete;

      @starting-style {
        height: 0;
      }
    }
  }

  &[data-menu-level="1"] {
    > .menu-link {
      > .menu-anchor {
        font-size: 18px;
        text-transform: uppercase;
        padding-inline: 8px;
      }
    }
  }
}

.menu-link {

  &:hover {
    > .menu-trigger,
    > .menu-anchor {
      color: var(--c-brand-umber-75);
    }
  }

  &.menu-link--has-submenu {
    position: relative;

    .menu-trigger {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .menu-icon,
    [data-toggle-y] {
      transform-origin: center;
      transition: rotate 0.2s ease-in-out;
    }
  }

  &.menu-link--has-megamenu {
    position: static;
  }
}

.menu-icon {
  width: 10px;
}

.menu-trigger,
.menu-anchor,
.menu-title {
  color: var(--c-brand-umber);
  transition: all 0.2s ease-in-out;
}

.menu-trigger,
.menu-title {
  font-size: 18px;
  text-transform: uppercase;
}

.menu-anchor {
  display: inline-block;
  font-size: 22px;
}