@charset "utf-8";
/* ==========================================================================
   新闻列表：摘要区高度 + 分页
   站点主色 #2ab0ee，圆角与描边沿用 app.css 的视觉语言。
   该类只用于前台内容列表，不复用 bootstrap 的 .pagination（原站那套太素）。
   ========================================================================== */

/* --------------------------------------------------------------------------
   摘要只做「不溢出」，不改原站版式
   app.css 里 `.height-100 { height: 100px }` 写死，摘要超出部分会画到盒子外面：
   手机端列宽 390px 时最长溢出 196px，第 20 条的文字直接盖在分页条上。
   这里只在窄屏把溢出的部分裁掉（3 行 + 省略号），条目高度、标题、日期
   全部保持原站样式不动 —— 之前试过改日期位置和 height:auto，反而把版式打散了。
   -------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
    .news-box .height-100 {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        line-clamp: 3;
        overflow: hidden;
    }

    /* 日期是 absolute right:0 钉在标题右上角的，标题一折行就钻到它下面。
       不改日期位置，只让标题右侧留出这条宽度，标题提前换行，两者互不干扰。 */
    .news-box .news-title {
        padding-right: 112px;
    }
}

.cms-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px 22px;
    margin: 2.5rem 0 3rem;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid #ebedf0;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .04);
}

/* 左侧「第 1 / 2 页」 */
.cms-pager__info {
    font-size: .875rem;
    color: #8a8f96;
    letter-spacing: .02em;
}

.cms-pager__info b {
    font-weight: 600;
    color: #2ab0ee;
    padding: 0 2px;
}

/* 右侧按钮组 */
.cms-pager__list {
    display: flex;
    align-items: center;
    gap: 6px;
}

.cms-pager__list > * {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 9px;
    font-size: .875rem;
    line-height: 1;
    color: #55595e;
    text-decoration: none;
    background: #fff;
    border: 1px solid #e2e5e9;
    border-radius: 5px;
    transition: color .18s, border-color .18s, background-color .18s;
}

/* 页码 / 上下页 hover：主色描边 + 主色字 */
.cms-pager__list > a:hover {
    color: #2ab0ee;
    border-color: #2ab0ee;
    background: #f4fbff;
    text-decoration: none;
}

/* 当前页：主色实心 */
.cms-pager__num.is-active {
    color: #fff;
    font-weight: 600;
    background: #2ab0ee;
    border-color: #2ab0ee;
    box-shadow: 0 2px 6px rgba(42, 176, 238, .3);
    cursor: default;
}

/* 禁用态（第一页时的「上一页」）：保留占位避免布局跳动 */
.cms-pager__btn.is-disabled {
    color: #c5c5c5;
    background: #fafafa;
    border-color: #eef0f2;
    cursor: not-allowed;
    user-select: none;
}

/* 省略号 */
.cms-pager__gap {
    min-width: 20px;
    padding: 0;
    color: #b8b8b8;
    background: transparent;
    border-color: transparent;
    cursor: default;
    letter-spacing: 1px;
}

/* 首末页按钮比普通按钮略瘦 */
.cms-pager__edge {
    padding: 0 7px;
    color: #8a8f96;
}

/* 上下页的箭头与文字之间留一点气口 */
.cms-pager__btn .cms-pager__arrow {
    font-size: 1rem;
    line-height: 1;
}

.cms-pager__btn .cms-pager__text {
    margin: 0 3px;
}

/* 无「第 x / y 页」提示时（窄屏）按钮组右对齐 */
@media (max-width: 575.98px) {
    .cms-pager {
        justify-content: center;
        gap: 10px;
        padding: 12px 10px;
    }

    .cms-pager__list > * {
        min-width: 30px;
        height: 30px;
        padding: 0 6px;
        font-size: .8125rem;
    }

    /* 窄屏只留箭头，省出空间给页码 */
    .cms-pager__btn .cms-pager__text {
        display: none;
    }

    .cms-pager__edge {
        display: none;
    }
}
