.primary-nav__header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  top: 0;
  right: 0;
  width: 100%;
  height: var(--header-height);
  flex-shrink: 0;

  .primary-nav--active & {
    padding-inline-end: var(--space-s);
  }
}

.primary-nav__account-nav {
  flex-shrink: 0;
  padding: var(--space-s);
  width: var(--nav-width);
}

.primary-nav__account-nav--signed-out {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--space-m);
}

.primary-nav__wrapper {
  --transition-speed: .15s;
  --nav-width: min(30ch, 80vw);

  top: 0;
  left: 0;
  position: fixed;
  width: 40px;
  height: 100dvh;
  transition: width var(--transition-speed);
  transition-timing-function: ease-out;
  overflow-x: hidden;
  background-color: var(--color-background);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: var(--navigation-z);

  &.primary-nav--active {
    width: var(--nav-width);
    transition: width var(--transition-speed);
  }

  &.primary-nav--opened {
    box-shadow: 0 0 10px var(--color-mono-bold-half-trans);
  }

  &.primary-nav--closed {
    height: var(--header-height);
    overflow: hidden;

    & > *:not(.primary-nav__header) {
      display: none;
    }
  }
}

.primary-nav {
  overflow: scroll;
  width: var(--nav-width);
  padding-bottom: var(--space-m);
  flex-grow: 1;
  scrollbar-width: none; /* Firefox */

  &::-webkit-scrollbar {
    display: none;  /* Safari, Chrome, Edge */
  }
}

.nav-section {
  padding-inline-start: var(--space-s);
  padding-block-end: var(--space-m);
}

.nav-secion__header {
  font-size: var(--font-size-m);
}

.nav-section__list {
  padding-inline-start: var(--space-s);
  list-style: none;
}
