@use 'uswds-core' as *;

.usa-accordion__button {
  @include u-border($theme-accordion-border-width, $theme-accordion-border-color);
  @include u-radius('lg');
  @include u-text('normal');
  background-color: color('transparent');
  background-size: units(2);
  color: color('primary');
  line-height: line-height($theme-body-font-family, $theme-body-line-height);

  &,
  &:hover {
    @include add-background-svg('minus');
  }

  &:hover {
    background-color: color('primary-lightest');
    color: color('primary');
  }

  &:active {
    background-color: color('primary-lighter');
    color: color('primary');
  }

  &[aria-expanded='false'] {
    background-size: units(2);

    &,
    &:hover {
      @include add-background-svg('plus');
    }
  }
}

.usa-accordion--bordered {
  .usa-accordion__button[aria-expanded='true'] {
    @include u-radius-bottom(0);
  }

  .usa-accordion__content {
    @include u-radius-bottom('lg');
  }
}

// Upstream: https://github.com/uswds/uswds/pull/5826
.usa-js-loading {
  .usa-accordion {
    .usa-accordion__heading:has(.usa-accordion__button:not([aria-expanded='true'])),
    .usa-accordion__button:not([aria-expanded='true']) {
      & + .usa-accordion__content {
        @include add-sr-only;
      }
    }
  }
}
