/* NOVA global Persian RTL pagination */
.nova-pagination {
    width: 100%;
    direction: rtl;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    margin-top: 24px;
    padding: 16px 0 2px;
    border-top: 1px solid var(--line);
}

.nova-pagination__summary {
    margin: 0;
    color: var(--muted);
    font-size: .86rem;
    line-height: 1.8;
    text-align: right;
}

.nova-pagination__summary strong {
    color: var(--text);
    font-weight: 800;
}

.nova-pagination__links {
    width: 100%;
    direction: rtl;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
}

.nova-page-link,
.nova-page-gap {
    min-width: 40px;
    height: 40px;
    padding: 0 11px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .86rem;
    font-weight: 750;
    line-height: 1;
    user-select: none;
}

.nova-page-link {
    color: var(--text);
    background: var(--surface);
    border: 1px solid var(--line);
    box-shadow: 0 5px 15px rgba(46, 25, 60, .035);
    transition: color .16s ease, background .16s ease, border-color .16s ease,
                transform .16s ease, box-shadow .16s ease;
}

.nova-page-link:hover {
    color: var(--primary);
    border-color: color-mix(in srgb, var(--primary) 42%, var(--line));
    background: var(--primary-soft);
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

.nova-page-link.is-active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--primary), #9b5fa4 62%, var(--rose));
    box-shadow: 0 9px 22px rgba(111, 74, 142, .24);
    cursor: default;
}

.nova-page-link.is-disabled {
    color: var(--subtle);
    background: var(--surface-2);
    border-color: var(--line);
    opacity: .66;
    cursor: not-allowed;
    box-shadow: none;
}

.nova-page-link.is-disabled:hover,
.nova-page-link.is-active:hover {
    transform: none;
}

.nova-page-link--wide {
    min-width: 68px;
    padding-inline: 15px;
}

.nova-page-gap {
    min-width: 28px;
    padding-inline: 4px;
    color: var(--muted);
}

.nova-pagination--simple .nova-pagination__links {
    justify-content: flex-start;
}

/* Keep pagination aligned correctly when it appears inside table cards. */
.table-panel > .nova-pagination,
.panel > .nova-pagination {
    padding-inline: 18px;
    padding-bottom: 16px;
}

@media (max-width: 640px) {
    .nova-pagination {
        gap: 10px;
        margin-top: 18px;
        padding-top: 14px;
    }

    .nova-pagination__summary {
        font-size: .79rem;
    }

    .nova-pagination__links {
        gap: 5px;
    }

    .nova-page-link,
    .nova-page-gap {
        min-width: 36px;
        height: 36px;
        padding-inline: 9px;
        border-radius: 10px;
        font-size: .8rem;
    }

    .nova-page-link--wide {
        min-width: 58px;
        padding-inline: 11px;
    }

    .table-panel > .nova-pagination,
    .panel > .nova-pagination {
        padding-inline: 12px;
        padding-bottom: 12px;
    }
}
