.pagination {
    will-change: contents;
    contain: layout style;
    --bs-pagination-transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

.pagination .page-item {
    /* Предотвращаем layout thrashing */
    flex-shrink: 0;
    isolation: isolate;
}

.pagination .page-item .page-link {
    --bs-pagination-padding-x: 0;
    --bs-pagination-padding-y: 0;
    --bs-pagination-font-size: 0.875rem;
    --bs-pagination-color: var(--bs-black);
    --bs-pagination-border-radius: var(--bs-border-radius);

    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--bs-border-radius);

    /* Оптимизация переходов */
    transition: var(--bs-pagination-transition);
    transform: translateZ(0);
    backface-visibility: hidden;

    /* Предотвращаем выделение текста при быстрых кликах */
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;

    /* Оптимизация для touch devices */
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

.pagination .page-item .page-link:hover {
    --bs-pagination-hover-border-color: var(--bs-black);
    --bs-pagination-hover-color: var(--bs-black);
    --bs-pagination-hover-bg: var(--bs-white);
}

.pagination .page-item .page-link:focus {
    --bs-pagination-focus-box-shadow: none;
    --bs-pagination-focus-bg: var(--bs-white);
    --bs-pagination-focus-color: var(--bs-black);
}

.active>.page-link,
.pagination .page-item .page-link.active {
    --bs-pagination-active-color: var(--bs-white);
    --bs-pagination-active-bg: var(--bs-black);
    --bs-pagination-active-border-color: var(--bs-black);
}

.pagination .page-item .page-link.disabled,
.disabled > .page-link {
    cursor: not-allowed;
    --bs-pagination-disabled-bg: var(--bs-white);
    --bs-pagination-disabled-color: var(--bs-border-color);
    --bs-pagination-disabled-border-color: var(--bs-border-color);
}