@use './variables';
@use './mixins/border-radius' as br;
@use './mixins/pagination' as pagination;
//
// Pagination (multiple pages)
// --------------------------------------------------
.pagination {
    display: inline-block;
    padding-left: 0;
    margin: 0;
    border-radius: variables.$border-radius-base;

    > li {
        display: inline; // Remove list-style and block-level defaults
        > a,
        > span {
            position: relative;
            float: left; // Collapse white-space
            padding: variables.$padding-base-vertical variables.$padding-base-horizontal;
            margin-left: -1px;
            line-height: variables.$line-height-base;
            color: variables.$pagination-color;
            text-decoration: none;
            background-color: variables.$pagination-bg;
            border: 1px solid variables.$pagination-border;
            border-radius: variables.$border-radius-base;

            &:hover,
            &:focus {
                z-index: 2;
                color: variables.$pagination-hover-color;
                background-color: variables.$pagination-hover-bg;
                border-color: variables.$pagination-hover-border;
            }
        }
        &:first-child {
            > a,
            > span {
                margin-left: 0;
                @include br.border-left-radius(variables.$border-radius-base);
            }
        }
        &:last-child {
            > a,
            > span {
                @include br.border-right-radius(variables.$border-radius-base);
            }
        }
    }

    > .active > a,
    > .active > span {
        &,
        &:hover,
        &:focus {
            z-index: 3;
            color: variables.$pagination-active-color;
            cursor: default;
            background-color: variables.$pagination-active-bg;
            border-color: variables.$pagination-active-border;
        }
    }

    > .disabled {
        > span,
        > span:hover,
        > span:focus,
        > a,
        > a:hover,
        > a:focus {
            color: variables.$pagination-disabled-color;
            cursor: variables.$cursor-disabled;
            background-color: variables.$pagination-disabled-bg;
            border-color: variables.$pagination-disabled-border;
        }
    }
}

// Sizing
// --------------------------------------------------

// Large
.pagination-lg {
    @include pagination.pagination-size(
        variables.$padding-large-vertical,
        variables.$padding-large-horizontal,
        variables.$font-size-large,
        variables.$line-height-large,
        variables.$border-radius-large
    );
}

// Small
.pagination-sm {
    @include pagination.pagination-size(
        variables.$padding-small-vertical,
        variables.$padding-small-horizontal,
        variables.$font-size-small,
        variables.$line-height-small,
        variables.$border-radius-small
    );
}
