$pagination-element-height: 2.75rem !default;

@mixin pagination-item() {
    display: inline-block;
    display: flex;
    min-width: 3rem;
    height: $pagination-element-height;
    align-items: center;
    justify-content: center;
    border-top: 1px solid var(--cardBorderColor);
    border-right: 1px solid var(--cardBorderColor);
    border-bottom: 1px solid var(--cardBorderColor);
}

.pagination {
    &__container {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
    }

    .go-to {
        &-input {
            width: 4rem;
            height: $pagination-element-height;
            border: 1px solid var(--cardBorderColor);
        }

        &-button {
            width: auto;
            height: $pagination-element-height;
        }
    }

    &__ellipsis-item {
        @include pagination-item();
    }

    &__item {
        @include pagination-item();

        color: var(--brandPrimary);
        cursor: pointer;

        &:hover {
            background-color: var(--brandPrimaryLighter);
        }

        &-highlight {
            background-color: var(--brandPrimary);

            div {
                color: white;
            }
        }

        &-container {
            &:first-of-type {
                border-bottom-left-radius: var(--cardBorderRadius);
                border-top-left-radius: var(--cardBorderRadius);

                div {
                    border-left: 1px solid var(--cardBorderColor);
                    border-bottom-left-radius: var(--cardBorderRadius);
                    border-top-left-radius: var(--cardBorderRadius);
                }
            }

            &:last-of-type {
                border-bottom-right-radius: var(--cardBorderRadius);
                border-top-right-radius: var(--cardBorderRadius);

                div {
                    border-left: none;
                    border-bottom-right-radius: var(--cardBorderRadius);
                    border-top-right-radius: var(--cardBorderRadius);
                }
            }
        }
    }
}
