// Pagination
// stylelint-disable custom-property-empty-line-before

.pagination {
    // scss-docs-start pagination-css-vars
    --#{$prefix}pagination-padding-x: #{$pagination-padding-x};
    --#{$prefix}pagination-padding-y: #{$pagination-padding-y};
    @include rfs($pagination-font-size, --#{$prefix}pagination-font-size);
    --#{$prefix}pagination-color: #{$pagination-color};
    --#{$prefix}pagination-bg: #{$pagination-bg};
    --#{$prefix}pagination-border-width: #{$pagination-border-width};
    --#{$prefix}pagination-border-color: #{$pagination-border-color};
    --#{$prefix}pagination-border-radius: #{$pagination-border-radius};
    --#{$prefix}pagination-hover-color: #{$pagination-hover-color};
    --#{$prefix}pagination-hover-bg: #{$pagination-hover-bg};
    --#{$prefix}pagination-hover-border-color: #{$pagination-hover-border-color};
    --#{$prefix}pagination-focus-color: #{$pagination-focus-color};
    --#{$prefix}pagination-focus-bg: #{$pagination-focus-bg};
    --#{$prefix}pagination-focus-box-shadow: #{$pagination-focus-box-shadow};
    --#{$prefix}pagination-active-color: #{$pagination-active-color};
    --#{$prefix}pagination-active-bg: #{$pagination-active-bg};
    --#{$prefix}pagination-active-border-color: #{$pagination-active-border-color};
    --#{$prefix}pagination-disabled-color: #{$pagination-disabled-color};
    --#{$prefix}pagination-disabled-bg: #{$pagination-disabled-bg};
    --#{$prefix}pagination-disabled-border-color: #{$pagination-disabled-border-color};
    // scss-docs-end pagination-css-vars

    display: flex;
    @include list-unstyled();
}

.page-link {
    position: relative;
    
    min-width: 50px;
    min-height: 50px;
    display: inline-flex;    
    justify-content: center;
    align-items: center;    
    font-weight: 600;
    margin-left: 0px;
    
    padding: var(--#{$prefix}pagination-padding-y) var(--#{$prefix}pagination-padding-x);
    @include font-size(var(--#{$prefix}pagination-font-size));
    color: var(--#{$prefix}pagination-color);
    text-decoration: if($link-decoration == none, null, none);
    background-color: var(--#{$prefix}pagination-bg);
    border: var(--#{$prefix}pagination-border-width) solid var(--#{$prefix}pagination-border-color);
    border-radius: var(--#{$prefix}pagination-border-radius);
    @include transition($pagination-transition);

    &:hover {
        z-index: 2;
        color: var(--#{$prefix}pagination-hover-color);
        text-decoration: if($link-hover-decoration == underline, none, null);
        background-color: var(--#{$prefix}pagination-hover-bg);
        border-color: var(--#{$prefix}pagination-hover-border-color);
        box-shadow: 0px 7px 16px rgba(100, 24, 195, 0.14);
    }

    &:focus {
        z-index: 3;
        color: var(--#{$prefix}pagination-focus-color);
        background-color: var(--#{$prefix}pagination-focus-bg);
        outline: $pagination-focus-outline;
        box-shadow: var(--#{$prefix}pagination-focus-box-shadow);
    }

    &.active,
    .active > & {
        z-index: 3;
        color: var(--#{$prefix}pagination-active-color);
        @include gradient-bg(var(--#{$prefix}pagination-active-bg));
        border-color: var(--#{$prefix}pagination-active-border-color);
        box-shadow: 0px 7px 16px rgba(100, 24, 195, 0.14);
    }

    &.disabled,
    .disabled > & {
        color: var(--#{$prefix}pagination-disabled-color);
        pointer-events: none;
        background-color: var(--#{$prefix}pagination-disabled-bg);
        border-color: var(--#{$prefix}pagination-disabled-border-color);
    }
}

.page-item {
    &:not(:first-child) .page-link {
        margin-left: -($pagination-border-width);
    }
    
    &:not(:last-child) {
        margin-right: $_10px;
    }
    &:first-child {
        .page-link {
            border: 1px solid $gray-200;
            @include border-radius(var(--#{$prefix}pagination-border-radius));
        }
    }

    &:last-child {
        .page-link {
            border: 1px solid $gray-200;
            @include border-radius(var(--#{$prefix}pagination-border-radius));
        }
    }

}


//
// Sizing
//

.pagination-lg {
    @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg);
}

.pagination-sm {
    @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm);
}
