/* =========================================================
AstronovAI Smart Pagination
Global pagination polish + AJAX loading state.
========================================================= */

.ai-smart-pagination,
.pagination-wrap,
.blog-pagination,
.ai-directory-pagination,
.navigation.pagination .nav-links{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
    margin:42px auto 0;
}

.ai-smart-pagination .page-numbers,
.pagination-wrap .page-numbers,
.blog-pagination .page-numbers,
.ai-directory-pagination .page-numbers,
.navigation.pagination .page-numbers{
    box-sizing:border-box;
    min-width:48px;
    height:48px;
    padding:0 17px;
    border-radius:16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:#fff;
    border:1px solid rgba(15,23,42,.1);
    color:#0f172a;
    text-decoration:none !important;
    font-size:15px;
    line-height:1;
    font-weight:900;
    white-space:nowrap;
    box-shadow:0 12px 28px rgba(15,23,42,.06);
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.ai-smart-pagination .page-numbers.prev,
.ai-smart-pagination .page-numbers.next,
.pagination-wrap .page-numbers.prev,
.pagination-wrap .page-numbers.next,
.blog-pagination .page-numbers.prev,
.blog-pagination .page-numbers.next,
.ai-directory-pagination .page-numbers.prev,
.ai-directory-pagination .page-numbers.next,
.navigation.pagination .page-numbers.prev,
.navigation.pagination .page-numbers.next{
    width:auto !important;
    min-width:112px;
    padding-inline:20px;
    font-size:15px;
    letter-spacing:0;
}

.ai-smart-pagination .page-numbers.prev::before,
.pagination-wrap .page-numbers.prev::before,
.blog-pagination .page-numbers.prev::before,
.ai-directory-pagination .page-numbers.prev::before,
.navigation.pagination .page-numbers.prev::before{
    content:'←';
    font-weight:900;
}

.ai-smart-pagination .page-numbers.next::after,
.pagination-wrap .page-numbers.next::after,
.blog-pagination .page-numbers.next::after,
.ai-directory-pagination .page-numbers.next::after,
.navigation.pagination .page-numbers.next::after{
    content:'→';
    font-weight:900;
}

.ai-smart-pagination .page-numbers.current,
.pagination-wrap .page-numbers.current,
.blog-pagination .page-numbers.current,
.ai-directory-pagination .page-numbers.current,
.navigation.pagination .page-numbers.current,
.ai-smart-pagination .page-numbers:hover,
.pagination-wrap .page-numbers:hover,
.blog-pagination .page-numbers:hover,
.ai-directory-pagination .page-numbers:hover,
.navigation.pagination .page-numbers:hover{
    background:#050b18;
    border-color:#050b18;
    color:#fff;
    box-shadow:0 16px 34px rgba(5,11,24,.18);
    transform:translateY(-1px);
}

.ai-smart-pagination .page-numbers.dots,
.pagination-wrap .page-numbers.dots,
.blog-pagination .page-numbers.dots,
.ai-directory-pagination .page-numbers.dots,
.navigation.pagination .page-numbers.dots{
    pointer-events:none;
    background:#fff;
    color:#64748b;
    box-shadow:none;
}

.ai-page-label{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
}

.ai-ajax-pagination-region{
    position:relative;
}

.ai-ajax-pagination-region.is-loading{
    min-height:280px;
}

.ai-ajax-pagination-region.is-loading::before{
    content:'';
    position:absolute;
    inset:-8px;
    border-radius:28px;
    background:rgba(248,250,252,.72);
    backdrop-filter:blur(4px);
    z-index:20;
}

.ai-ajax-pagination-region.is-loading::after{
    content:'Loading next page…';
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    z-index:21;
    min-width:190px;
    padding:14px 18px;
    border-radius:999px;
    background:#050b18;
    color:#fff;
    text-align:center;
    font-size:13px;
    font-weight:900;
    box-shadow:0 18px 50px rgba(5,11,24,.24);
}

.ai-ajax-pagination-region .tools-grid,
.ai-ajax-pagination-region .blog-grid{
    transition:opacity .18s ease, transform .18s ease;
}

.ai-ajax-pagination-region.is-loading .tools-grid,
.ai-ajax-pagination-region.is-loading .blog-grid{
    opacity:.38;
    transform:translateY(4px);
}

@media (max-width:640px){
    .ai-smart-pagination,
    .pagination-wrap,
    .blog-pagination,
    .ai-directory-pagination,
    .navigation.pagination .nav-links{
        gap:8px;
        margin-top:30px;
    }

    .ai-smart-pagination .page-numbers,
    .pagination-wrap .page-numbers,
    .blog-pagination .page-numbers,
    .ai-directory-pagination .page-numbers,
    .navigation.pagination .page-numbers{
        min-width:42px;
        height:42px;
        padding:0 13px;
        border-radius:14px;
        font-size:13px;
    }

    .ai-smart-pagination .page-numbers.prev,
    .ai-smart-pagination .page-numbers.next,
    .pagination-wrap .page-numbers.prev,
    .pagination-wrap .page-numbers.next,
    .blog-pagination .page-numbers.prev,
    .blog-pagination .page-numbers.next,
    .ai-directory-pagination .page-numbers.prev,
    .ai-directory-pagination .page-numbers.next,
    .navigation.pagination .page-numbers.prev,
    .navigation.pagination .page-numbers.next{
        min-width:92px;
        padding-inline:14px;
    }
}
