.search-engine {
  position: relative;

  &__nav {
    padding: var(--spacer-2);
    margin-bottom: var(--spacer-3);
    background: var(--light);
    color: var(--gray);

    > div {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
  }

  &__toggles {
    display: flex;

    button {
      margin-left: var(--spacer-1);
      color: var(--secondary);
    }
  }

  &__count {
    position: relative;
  }

  &__spinner {
    position: absolute;
    top: 50%;
    right: -3rem;
    width: 1.75rem;
    height: 1.75rem;
    margin-top: -.875rem;
    color: var(--secondary);
  }

  &__aside {
    position: fixed;
    width: 280px;
    max-width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 1100;
    border-radius: 0;

    .card {
      &-body {
        overflow-y: auto;
      }
    }

    &-open {
      position: fixed;
      right: 0;
      bottom: 50vh;
      text-align: right;
      z-index: 890;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;

      .spinner-border {
        margin-bottom: 3px;
      }

      .i-search {
        opacity: .6;
      }
    }
  }

  &__filter {
    &:not(:first-child) {
      margin-top: var(--spacer-2);
    }

    &:last-child {
      margin-bottom: var(--spacer-4);
    }

    button {
      max-width: 100%;
      padding-left: 0;
      color: var(--secondary);
      font-size: var(--font-size-lg);
      font-weight: var(--font-light);

      i,
      svg {
        font-size: var(--font-size);
        margin-right: var(--spacer-1);
        color: var(--gray);
        opacity: .5;
        transition: opacity .25s;
      }

      .i-chevron-up {
        display: none;
      }

      &[aria-expanded=true] {
        .i-chevron-down {
          display: none;
        }

        .i-chevron-up {
          display: inherit;
        }
      }

      &:hover {
        i,
        svg {
          opacity: 1;
        }
      }

      &:focus {
        box-shadow: none;
      }
    }
  }

  &__option {
    color: var(--primary-light);

    small {
      color: var(--gray);
    }
  }

  &__selected {
    margin-left: var(--spacer-2);

    > small {
      color: var(--gray);

      &::before {
        content: ' / ';
      }
    }
  }

  &__info {
    padding-bottom: var(--spacer-3);

    button {
      margin-bottom: var(--spacer-2);
    }
  }

  &__terms > span {
    font-weight: var(--font-light);

    &:not(:last-of-type) {
      color: var(--text-muted);
    }
  }

  &__retail {
    padding: var(--spacer-2) 0;
  }

  &__item {
    margin-bottom: var(--spacer-3);
  }
}
