// Base pagination
.c-pagination {
  display: flex;
  list-style: none;
  margin: $space-0;
  padding: $space-0;

  &-current {
    cursor: default;
    text-align: center;
    font-weight: bold;
    min-width: $pagination-item-size;
    color: $pagination-item-current-color;
    background: $pagination-item-current-bg;

    &:hover {
      background: $pagination-item-current-bg;
    }
  }

  a,
  &-link {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    color: $pagination-item-color;
    font-size: $pagination-font-size;
    min-width: $pagination-item-size;
    min-height: $pagination-item-size;
    margin: $space-0 $pagination-item-spacing;
    border-radius: $pagination-item-border-radius;


    &:hover {
      background: $pagination-item-current-bg;
    }
  }

  &-next {
    &.c-pagination-link {
      position: relative;
      padding-left: $space-md;
      color: $pagination-next-color;
      margin-right: $space-md + $space-sm;

      &:hover {
        background: transparent;
        color: $pagination-next-color;
      }
    }

    i {
      font-size: $pagination-icon-size;
      margin-left: $pagination-item-spacing * 4;
    }

    &::before {
      top: 50%;
      width: 6px;
      height: 6px;
      content: "";
      display: block;
      position: absolute;
      right: -($space-md + $space-sm);
      transform: translate(-50%, -50%) rotate(135deg);
      border: 2px solid currentColor;
      border-right: 0;
      border-bottom: 0;
    }

    &::after {
      top: 50%;
      width: 8px;
      height: 2px;
      content: "";
      display: block;
      position: absolute;
      background: currentColor;
      right: -($space-md + $space-sm);
      transform: translate(-50%, -50%);
    }
  }

  &-previous {
    &.c-pagination-link {
      position: relative;
      margin-right: $space-md;
      color: $pagination-previous-color;
      padding-left: $space-md + $space-sm;

      &:hover {
        background: transparent;
        color: $pagination-previous-color;
      }
    }

    i {
      font-size: $pagination-icon-size;
      margin-right: $pagination-item-spacing * 4;
    }

    &::before {
      top: 50%;
      left: 8px;
      width: 6px;
      height: 6px;
      content: "";
      display: block;
      position: absolute;
      transform: translate(-50%, -50%) rotate(-45deg);
      border: 2px solid currentColor;
      border-right: 0;
      border-bottom: 0;
    }

    &::after {
      top: 50%;
      left: 8px;
      width: 8px;
      content: "";
      height: 2px;
      display: block;
      position: absolute;
      background: currentColor;
      transform: translate(-50%, -50%);
    }
  }

  &-disabled {
    &.c-pagination-link {
      cursor: not-allowed;
      color: $pagination-item-color;
      background: $pagination-bg-disabled;

      &:hover {
        cursor: not-allowed;
        color: $pagination-item-color;
        background: $pagination-bg-disabled;
      }
    }
  }

  &-ellipsis::after {
    content: '\2026';
    padding: $space-0;
    color: $pagination-item-color;
  }
}
