.pagination {
    margin-top: 48px;
    margin-bottom: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.pagination__arrow {
    font-size: var(--sl-font-size-x-large);
}

.pagination__arrow::part(base) {
    color: var(--type-color);
    border: none;
    border-radius: 4px;
}

.pagination__arrow::part(base):hover {
    background-color: oklch(from var(--type-color) l c h / 0.05);
}

.pagination__pages {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pagination__page::part(base) {
    display: flex;
    align-items: center;
    min-width: 48px;
    height: 48px;
    font-size: var(--sl-font-size-medium);
    font-weight: var(--sl-font-weight-normal);
    color: var(--type-color);
    border: 1px solid var(--accent-color-2);
    border-radius: 4px;
}

.pagination__page::part(base):hover {
    background-color: oklch(from var(--accent-color-2) l c h / 0.05);
}

.pagination__page--active::part(base) {
    background-color: var(--accent-color-2);
    opacity: 1;
}

.pagination__ellipsis {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    height: 40px;
    color: oklch(from var(--type-color) l c h / 0.38);
    font-size: var(--sl-font-size-medium);
    user-select: none;
}

@media (max-width: 767px) {
    .pagination__page::part(base) {
        min-width: 40px;
        height: 40px;
        font-size: var(--sl-font-size-small);
    }
}
