
/* ==========================================
   Pagination — DLE 21 + Bootstrap 5
========================================== */

.pagination-primary-soft {
    --pg-padding-y: 0.325rem;
    --pg-padding-x: 0.65rem;
    --pg-font-size: 0.9rem;
    --pg-radius: 0.325rem;

    --pg-color: var(--bs-primary);
    --pg-bg: rgba(var(--bs-primary-rgb), 0.1);

    --pg-hover-color: #fff;
    --pg-hover-bg: var(--bs-primary);

    --pg-active-color: #fff;
    --pg-active-bg: var(--bs-primary);

    gap: 0.25rem;
}


/* ==========================================
   Страницы + Prev / Next
========================================== */

.pagination-primary-soft > a,
.pagination-primary-soft > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 2.75rem;
    height: 2.75rem;

    padding: var(--pg-padding-y) var(--pg-padding-x);

    font-size: var(--pg-font-size);
    font-weight: 400;
    line-height: 1;

    color: var(--pg-color);
    text-decoration: none;

    background-color: var(--pg-bg);
    border: 1px solid transparent;
    border-radius: var(--pg-radius);

    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out,
        transform 0.15s ease-in-out;
}


/* ==========================================
   Hover
========================================== */

.pagination-primary-soft > a:hover {
    color: var(--pg-hover-color);
    background-color: var(--pg-hover-bg);
    text-decoration: none;
}


/* ==========================================
   Hover — лёгкий эффект
========================================== */

.pagination-primary-soft > a:hover svg {
    transform: scale(1.05);
}


/* ==========================================
   Current page
========================================== */

.pagination-primary-soft > span:not(.nav_ext) {
    color: var(--pg-active-color);
    background-color: var(--pg-active-bg);
    cursor: default;
}


/* ==========================================
   Disabled Prev / Next
========================================== */

.pagination-primary-soft > span.nav_ext {
    color: var(--pg-color);
    background-color: var(--pg-bg);

    opacity: 0.5;
    cursor: not-allowed;
}


/* ==========================================
   SVG arrows
========================================== */

.pagination-primary-soft svg {
    display: block;

    width: 1em;
    height: 1em;

    flex-shrink: 0;

    fill: currentColor;

    transition: transform 0.15s ease-in-out;
}


/* ==========================================
   Focus
========================================== */

.pagination-primary-soft > a:focus-visible {
    outline: 0;

    box-shadow:
        0 0 0 0.25rem
        rgba(var(--bs-primary-rgb), 0.25);
}


/* ==========================================
   Mobile
========================================== */

@media (max-width: 575.98px) {

    .pagination-primary-soft {
        gap: 0.2rem;
    }

    .pagination-primary-soft > a,
    .pagination-primary-soft > span {
        min-width: 2.4rem;
        height: 2.4rem;

        padding: 0.25rem 0.5rem;

        font-size: 0.85rem;
    }
}

