.navbar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  gap: 8px;
  padding: 0 16px;
  border-radius: 100px;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  text-decoration: none;
  color: var(--navbar-btn-color, #fff);
  background-color: var(--navbar-btn-bg, transparent);
  box-shadow: inset 0 0 0 100px rgba(0, 0, 0, 0);
  transition:
    background-color 300ms ease-in-out,
    box-shadow 300ms ease-in-out;
}

.navbar-btn:hover,
.navbar-btn:focus {
  text-decoration: none;
  color: var(--navbar-btn-color, #fff);
}

.navbar-btn:hover {
  background-color: var(
    --navbar-btn-bg-hover,
    var(--navbar-btn-bg, transparent)
  );
  box-shadow: inset 0 0 0 100px
    rgba(0, 0, 0, var(--navbar-btn-hover-shade, 0.08));
}

.navbar-btn__arrow {
  --navbar-btn-arrow-gap: 6px;

  margin-left: 3px;
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 20px;
  height: 13px;
  overflow: hidden;
}

.navbar-btn__arrow-glyph {
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 300ms ease-in-out;
}

.navbar-btn__arrow-glyph:last-child {
  transform: translateX(calc(-100% - var(--navbar-btn-arrow-gap)));
}

.navbar-btn:hover .navbar-btn__arrow-glyph:first-child {
  transform: translateX(calc(100% + var(--navbar-btn-arrow-gap)));
}

.navbar-btn:hover .navbar-btn__arrow-glyph:last-child {
  transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {
  .navbar-btn,
  .navbar-btn__arrow-glyph {
    transition: none;
  }

  .navbar-btn:hover .navbar-btn__arrow-glyph:first-child,
  .navbar-btn__arrow-glyph:last-child {
    transform: none;
  }
}
