CSS
#primary-menu > li > a {
position: relative;
text-decoration: none;
color: inherit;
}
/* Underline */
#primary-menu > li > a::after {
content: "";
position: absolute;
bottom: 0;
left: 12px; /* a padding-left */
right: 12px; /* a padding-right */
height: 2px;
background: var(--global-palette2);
opacity: 0;
transform: scaleX(0);
transform-origin: right; /* animation start. left, center, right */
transition: opacity 0.3s ease, transform 0.3s ease;
}
#primary-menu > li > a:hover::after,
#primary-menu > li > a:focus-visible::after,
#primary-menu > li.current-menu-item > a::after {
opacity: 1;
transform: scaleX(1);
}