.nsw-accordion {
  @include nsw-spacing(margin, md none none);

  &__title,
  &__button {
    @include font-stack('heading');
    @include font-size('sm');
    @include nsw-spacing(margin, xs none none);
    @include nsw-spacing(padding, md);
    border-left: solid 4px $nsw-primary-blue;
    background-color: $light10;
    display: block;
    width: 100%;
    text-align: left;
    position: relative;
  }

  &__title {
    .is-ready & {
      border-left: 0;
      padding: 0;
      margin-top: 0;
    }
  }

  &__button {
    border: 0;
    border-left: solid 4px $nsw-primary-blue;

    &:hover {
      @include nsw-hover;
    }

    &:focus {
      @include nsw-focus;
      @include z-index;
      position: relative;
    }
  }

  &__icon {
    transform: translateY(-50%) rotate(90deg);
    height: rem(16px);
    width: rem(16px);
    position: absolute;
    top: 50%;
    right: rem(16px);

    .is-open & {
      transform: translateY(-50%) rotate(270deg);
    }
  }

  &__content {
    @include nsw-spacing(padding, md);
    border-left: solid 4px $nsw-primary-blue;
  }
}
