@use "variables";

.fwe-accordion {
  background-color: variables.$white;

  &-header {
    display: flex;
    align-items: center;
    height: variables.$spacer-xl;
    padding: 0 variables.$spacer-s 0 variables.$spacer-m;
    font-size: variables.$font-size-md;
    font-weight: variables.$font-weight-bold;
    color: variables.$text;
    border-bottom: 1px solid variables.$gray-100;
  }

  &-item {
    position: relative;
    padding: 0 variables.$spacer-s 0 variables.$spacer-m;
    border-top: 1px solid variables.$gray-100;
    border-bottom: 1px solid variables.$gray-100;

    &-header {
      outline: none;
      display: flex;
      align-items: center;
      padding: variables.$spacer-m variables.$spacer-xxl variables.$spacer-m 0;
      min-height: variables.$spacer-xl;
      cursor: pointer;
    }

    &::-webkit-details-marker {
      display: none;
    }

    &::before {
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      content: "";
      width: variables.$spacer-xxxs;
      height: 0px;
      background-color: variables.$caerul;
    }

    &::after {
      position: absolute;
      top: 21px;
      right: 16px;
      pointer-events: none;
      content: "";
      height: 32px;
      width: 32px;
      background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgzMnYzMkgweiIvPjxwYXRoIGZpbGw9IiMzMzMiIGQ9Im0xNiAyMi04LjcwNy04LjcwNyAxLjQxNC0xLjQxNEwxNiAxOS4xNzJsNy4yOTMtNy4yOTMgMS40MTQgMS40MTRMMTYgMjJ6IiAvPjwvc3ZnPg==");
      transition: transform 0.2s ease;
    }

    &[open] {
      .fwe-accordion-item-header {
        font-weight: variables.$font-weight-bold;
      }

      &::after {
        transform: rotate(-180deg);
      }

      &::before {
        height: 100%;
      }
    }

    &:not([open]) .fwe-accordion-item-header {
      font-weight: variables.$font-weight-normal;
    }

    &-body {
      overflow: hidden;
      margin-right: 0;
      margin-bottom: variables.$spacer-m;

      > :first-child {
        margin-top: 0 !important;
        padding-top: 0 !important;
      }

      > :last-child {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
      }

      > :not(.fwe-accordion) {
        margin-right: 0px;
      }
    }
  }
}

@media (min-width: variables.$grid-breakpoint-xs) {
  .fwe-accordion {
    &-item {
      &-body {
        margin-right: variables.$spacer-xxl;
      }
    }
  }
}
