h1 {
  text-align: center;
}
.stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  button {
    border-radius: 99rem;
    border: 1px solid var(--neutral-950);
    width: 3rem;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-family: var(--font-serif);
    font-weight: bold;
    transition: color var(--transition), border-color var(--transition),
      background-color var(--transition);
    &.done {
      background-color: var(--green-s-1);
    }
    &.current,
    &.done:hover {
      background-color: var(--green-s-1);
      color: var(--green-a);
      border-color: var(--green-a);
    }
    &:not(.done, .current) {
      cursor: not-allowed;
    }
    &:not(:first-of-type) {
      position: relative;
      &::before {
        content: "";
        position: absolute;
        right: calc(100% + 1px);
        width: 2rem;
        height: 1px;
        border-top: inherit;
      }
    }
  }
}

@counter-style alpha-parenthesis {
  system: alphabetic;
  symbols: "a" "b" "c" "d";
  suffix: ") ";
}
.pbh-quiz {
  h2 {
    text-align: center;
  }
  .step {
    ol {
      display: flex;
      flex-direction: column;
      gap: var(--element-space);

      li > label {
        display: block;
        padding: 0.5rem;
        cursor: pointer;
        border: 1px solid var(--green-a);
        transition: background-color var(--transition);
        input {
          display: none;
        }
        .radio {
          display: inline-flex;
          align-items: center;
          justify-content: center;

          width: 1rem;
          aspect-ratio: 1;
          border-radius: 99rem;
          background-color: var(--green-s-1);
          border: 1px solid var(--green-s-2);
          margin-right: 0.5rem;
          &::before {
            content: "";
            width: 0.5rem;
            aspect-ratio: 1;
            background-color: transparent;
            border-radius: inherit;
            transition: background-color var(--transition);
          }
        }
        &:has(:checked) {
          .radio::before {
            background-color: var(--green-s-2);
          }
        }
        &:hover {
          background-color: var(--green-s-1);
          .radio::before {
            background-color: var(--green-s-2);
          }
        }
      }
      &.imgs {
        display: grid;
        li > label {
          padding: 0;
        }
        img {
          aspect-ratio: 3/4;
        }
        .radio {
          display: flex;
          margin-inline: auto;
          margin-block: 0.5rem;
        }
        @media (min-width: 40rem) {
          grid-template-columns: repeat(2, 1fr);
        }
        @media (min-width: 60rem) {
          grid-template-columns: repeat(4, 1fr);
        }
      }
    }
  }
  .buttons {
    display: flex;
    align-items: center;
    justify-content: space-between;
    .next {
      margin-left: auto;
    }
  }
  @media (min-width: 40rem) {
    grid-column: 2 / -2;
  }
  @media (min-width: 60rem) {
    grid-column: 3 / -3;
  }
  @media (min-width: 80rem) {
    grid-column: 4 / -4;
  }
}
