/* =====================================================================
   全站统一分页器样式
   ---------------------------------------------------------------------
   分页 HTML 由 Renderer::pagerHtml() / TemplatePreviewService::previewPager()
   统一输出为 <ul class="xr-pager-list">…</ul>，所有模板共用这一套样式；
   !important 用于覆盖各模板自带的 .page / .xr-pager / .dede_pages 分页样式。
   主色取 --xr-primary（模板里由主题色注入），未定义时回落 #1677ff。
   ===================================================================== */

/* 容器：横向居中、自动换行 */
ul.xr-pager-list {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    margin: 28px 0 12px !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: center;
    box-sizing: border-box;
    border: 0 !important;
    background: none !important;
}

/* 条目：清掉模板里的浮动、序号、背景装饰 */
ul.xr-pager-list > li {
    display: block !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    list-style: none !important;
    line-height: 1 !important;
}

/* 页码按钮：统一圆角方块 */
ul.xr-pager-list > li > a,
ul.xr-pager-list > li > span {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 13px !important;
    border: 1px solid #e5e6eb !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #4e5969 !important;
    font-size: 14px !important;
    font-weight: 400;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap;
    vertical-align: middle;
    box-sizing: border-box;
    transition: color .2s ease, border-color .2s ease, background .2s ease,
                box-shadow .2s ease, transform .2s ease;
}

/* 可点击项：悬停高亮 */
ul.xr-pager-list > li > a:hover {
    border-color: var(--xr-pager-color, var(--xr-primary, #1677ff)) !important;
    background: #fff !important;
    color: var(--xr-pager-color, var(--xr-primary, #1677ff)) !important;
    text-decoration: none !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
}

/* 不可点击项（上一页 / 下一页 / 省略号）：弱化为浅灰文字 */
ul.xr-pager-list > li > span {
    border-color: transparent !important;
    background: transparent !important;
    color: #c9cdd4 !important;
    cursor: default;
}

/* 当前页 */
ul.xr-pager-list > li.active > a,
ul.xr-pager-list > li.active > span,
ul.xr-pager-list > li.is-active > a,
ul.xr-pager-list > li.is-active > span,
ul.xr-pager-list > li > a.active,
ul.xr-pager-list > li > span.active {
    border-color: var(--xr-pager-color, var(--xr-primary, #1677ff)) !important;
    background: var(--xr-pager-color, var(--xr-primary, #1677ff)) !important;
    color: #fff !important;
    font-weight: 500;
    box-shadow: none;
}

/* =====================================================================
   历史/静态分页块统一
   ---------------------------------------------------------------------
   部分模板的分页是静态 HTML（DedeCMS 的 .dede_pages、MetInfo 的 .met_pager、
   .pagination、<div class="page"> 里的 a + b 等），结构各不相同。
   这里用分页专用类名 + :has() 精确匹配（避免误伤 .page 这类通用容器），
   把里面的 a / b 也统一成同一套圆角按钮。
   ===================================================================== */

/* 容器：横向居中；font-size:0 用来吃掉 &nbsp; 分隔符，子元素再单独设字号 */
:is(.xr-pager, .dede_pages, .met_pager, .pagebar, .pageinfo, .pager:has(a[href]),
    .m-pages, .m-page, .pagelist, .pagesize, .pagination,
    .page:has(a[title="Total record"]),
    .pages:has(a[title="Total record"]),
    .page:has(a[href*="index_2"]),
    .pages:has(a[href*="index_2"]),
    .pagination:has(a[href*="index_2"])) {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    width: auto;
    margin: 28px auto 12px !important;
    padding: 0 !important;
    font-size: 0 !important;
    text-align: center;
    list-style: none !important;
    border: 0 !important;
    background: none !important;
    box-sizing: border-box;
}

/* 容器内可能套了一层 ul / p */
:is(.xr-pager, .dede_pages, .met_pager, .pagebar, .pageinfo, .pager:has(a[href]),
    .m-pages, .m-page, .pagelist, .pagesize, .pagination,
    .page:has(a[title="Total record"]),
    .pages:has(a[title="Total record"]),
    .page:has(a[href*="index_2"]),
    .pages:has(a[href*="index_2"]),
    .pagination:has(a[href*="index_2"])) :is(ul, ol) {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* 条目：清浮动与编号 */
:is(.xr-pager, .dede_pages, .met_pager, .pagebar, .pageinfo, .pager:has(a[href]),
    .m-pages, .m-page, .pagelist, .pagesize, .pagination,
    .page:has(a[title="Total record"]),
    .pages:has(a[title="Total record"]),
    .page:has(a[href*="index_2"]),
    .pages:has(a[href*="index_2"]),
    .pagination:has(a[href*="index_2"])) :is(li) {
    display: block !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    list-style: none !important;
}

/* 页码：统一圆角按钮；当前页 <b> 与 .current 用主色实心 */
:is(.xr-pager, .dede_pages, .met_pager, .pagebar, .pageinfo, .pager:has(a[href]),
    .m-pages, .m-page, .pagelist, .pagesize, .pagination,
    .page:has(a[title="Total record"]),
    .pages:has(a[title="Total record"]),
    .page:has(a[href*="index_2"]),
    .pages:has(a[href*="index_2"]),
    .pagination:has(a[href*="index_2"])) :is(a:not([title="Total record"]), b) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 13px !important;
    border: 1px solid #e5e6eb !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #4e5969 !important;
    font-size: 14px !important;
    font-weight: 400;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap;
    box-sizing: border-box;
    transition: color .2s ease, border-color .2s ease, background .2s ease;
}

:is(.xr-pager, .dede_pages, .met_pager, .pagebar, .pageinfo, .pager:has(a[href]),
    .m-pages, .m-page, .pagelist, .pagesize, .pagination,
    .page:has(a[title="Total record"]),
    .pages:has(a[title="Total record"]),
    .page:has(a[href*="index_2"]),
    .pages:has(a[href*="index_2"]),
    .pagination:has(a[href*="index_2"])) :is(a:not([title="Total record"]):hover) {
    border-color: var(--xr-pager-color, var(--xr-primary, #1677ff)) !important;
    color: var(--xr-pager-color, var(--xr-primary, #1677ff)) !important;
    background: #fff !important;
}

/* 当前页：静态模板多用 <b>，部分模板用 a.current */
:is(.xr-pager, .dede_pages, .met_pager, .pagebar, .pageinfo, .pager:has(a[href]),
    .m-pages, .m-page, .pagelist, .pagesize, .pagination,
    .page:has(a[title="Total record"]),
    .pages:has(a[title="Total record"]),
    .page:has(a[href*="index_2"]),
    .pages:has(a[href*="index_2"]),
    .pagination:has(a[href*="index_2"])) :is(b, a.current, a.active) {
    border-color: var(--xr-pager-color, var(--xr-primary, #1677ff)) !important;
    background: var(--xr-pager-color, var(--xr-primary, #1677ff)) !important;
    color: #fff !important;
    font-weight: 500 !important;
}

/* 静态分页里的「共 N 页 / 总记录」等说明文字隐藏，保持统一外观 */
:is(.dede_pages, .met_pager, .pagebar, .pageinfo, .pager:has(a[href]),
    .page:has(a[title="Total record"]),
    .pages:has(a[title="Total record"])) :is([title="Total record"], .pageRemark, .pageEllipsis) {
    display: none !important;
}

/* 移动端：与动态分页器同规格 */
@media (max-width: 768px) {
    :is(.xr-pager, .dede_pages, .met_pager, .pagebar, .pageinfo, .pager:has(a[href]),
        .m-pages, .m-page, .pagelist, .pagesize, .pagination,
        .page:has(a[title="Total record"]),
        .pages:has(a[title="Total record"]),
        .page:has(a[href*="index_2"]),
        .pages:has(a[href*="index_2"]),
        .pagination:has(a[href*="index_2"])) {
        gap: 6px;
        margin: 20px auto 10px !important;
    }

    :is(.xr-pager, .dede_pages, .met_pager, .pagebar, .pageinfo, .pager:has(a[href]),
        .m-pages, .m-page, .pagelist, .pagesize, .pagination,
        .page:has(a[title="Total record"]),
        .pages:has(a[title="Total record"]),
        .page:has(a[href*="index_2"]),
        .pages:has(a[href*="index_2"]),
        .pagination:has(a[href*="index_2"])) :is(a:not([title="Total record"]), b) {
        min-width: 32px;
        height: 32px;
        padding: 0 9px !important;
        border-radius: 6px !important;
        font-size: 13px !important;
    }
}

/* 移动端：按钮收小，间距收紧 */
@media (max-width: 768px) {
    ul.xr-pager-list {
        gap: 6px;
        margin: 20px 0 10px !important;
    }

    ul.xr-pager-list > li > a,
    ul.xr-pager-list > li > span {
        min-width: 32px;
        height: 32px;
        padding: 0 9px !important;
        border-radius: 6px !important;
        font-size: 13px !important;
    }

    ul.xr-pager-list > li > a:hover {
        transform: none;
        box-shadow: none;
    }
}

/* 超窄屏：只保留首尾与临近页码的紧凑排列 */
@media (max-width: 360px) {
    ul.xr-pager-list {
        gap: 4px;
    }

    ul.xr-pager-list > li > a,
    ul.xr-pager-list > li > span {
        min-width: 28px;
        height: 28px;
        padding: 0 7px !important;
        font-size: 12px !important;
    }
}
