/* Десктопная пагинация сохраняет штатную структуру и получает устойчивое выравнивание чисел */
.pagination > li > a,
.pagination > li > span {
    font-variant-numeric: tabular-nums;
}

@media (max-width: 767.999px) {
    /* На телефоне постраничная навигация помещается в одну строку с удобными областями нажатия */
    .pagination {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        gap: 4px;
        max-width: 100%;
        padding: 0;
    }

    .pagination > li {
        flex: 0 0 auto;
    }

    .pagination > li > a,
    .pagination > li > span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: var(--quick-tickets-touch-target);
        min-height: var(--quick-tickets-touch-target);
        margin: 0;
        padding: 6px;
        border-radius: var(--quick-tickets-radius-small);
        line-height: 1;
    }

    /* Крайние переходы скрываются, потому что соседние кнопки уже ведут в нужном направлении */
    .pagination > .first,
    .pagination > .last {
        display: none;
    }

    /* Базовый вариант оставляет текущую страницу между кнопками назад и вперёд */
    .pagination > .page {
        display: none;
    }

    .pagination > .page.active {
        display: block;
    }

    /* Современные браузеры дополнительно показывают по одной соседней странице */
    @supports selector(li:has(+ li)) {
        .pagination > .page:has(+ .page.active),
        .pagination > .page.active + .page {
            display: block;
        }
    }
}
