/* 新闻资讯 — 卡片信息流样式 */

:root {
    --ny-text: #1f2329;
    --ny-muted: #8a9199;
    --ny-meta: #949aa3;
    --ny-line: #eef1f4;
    --ny-page: #ffffff;
    --ny-brand: #0fbbd8;
    --ny-brand-dark: #067db2;
    --ny-soft: rgba(15, 187, 216, 0.1);
    --ny-radius: 12px;
    --ny-shadow: 0 1px 3px rgba(31, 35, 41, 0.04), 0 4px 14px rgba(31, 35, 41, 0.04);
}

html:has(.news-shell),
body.page-news {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden;
}

body.page-news,
body.page-news .site-main {
    background: #f3f5f7 !important;
}

body.page-news .header-spacer {
    margin-bottom: 0 !important;
}

body.page-news {
    text-align: left !important;
}

body.page-news .header {
    min-width: 0 !important;
    max-width: 100% !important;
}

.news-shell {
    box-sizing: border-box;
    width: 100%;
    min-height: 560px;
    padding: 20px 0 48px;
    position: relative;
    background: transparent !important;
}

.news-shell *,
.news-shell *::before,
.news-shell *::after {
    box-sizing: border-box;
}

.news-shell .news-page.container {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding-left: 16px;
    padding-right: 16px;
    float: none;
}

.news-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    column-gap: 20px;
    row-gap: 12px;
    align-items: start;
}

/* 轮播通栏置顶 */
.news-hero-wrap {
    grid-column: 1 / -1;
    grid-row: 1;
    margin-bottom: 2px;
}

.news-section__head {
    grid-column: 1;
    grid-row: 2;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0 2px;
}

.news-main {
    grid-column: 1;
    grid-row: 3;
    min-width: 0;
}

.news-aside {
    grid-column: 2;
    grid-row: 3;
    width: 280px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-self: start;
    height: fit-content;
    position: sticky;
    top: 88px;
}

/* 允许 JS 同步高度生效（覆盖 flex 默认 min-height:auto） */
.news-aside > .news-card.is-synced {
    min-height: 0;
    overflow: hidden;
    flex: 0 0 auto;
}

/* 无轮播时：侧栏与列表顶部对齐 */
.news-layout:not(:has(#newsHeroWrap:not(.hidden))) .news-section__head {
    grid-row: 1;
}

.news-layout:not(:has(#newsHeroWrap:not(.hidden))) .news-main {
    grid-row: 2;
}

.news-layout:not(:has(#newsHeroWrap:not(.hidden))) .news-aside {
    grid-row: 2;
}

.news-hero-wrap.hidden,
.news-hero-wrap[hidden] {
    display: none !important;
}

.news-carousel {
    position: relative;
    height: 240px;
    border-radius: 8px;
    overflow: hidden;
    background: #067db2;
    box-shadow: none;
    border: 1px solid rgba(6, 125, 178, 0.2);
}

.news-carousel__viewport {
    position: relative;
    width: 100%;
    height: 100%;
}

.news-carousel__slide {
    position: absolute;
    inset: 0;
    display: block;
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 0;
    pointer-events: none;
}

.news-carousel__slide.is-leaving {
    opacity: 0;
    visibility: visible;
    z-index: 1;
    pointer-events: none;
}

.news-carousel__slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
    pointer-events: auto;
}

/* 对齐首页 hero：fade-up / slide-in */
.news-carousel__slide .news-hero__badge,
.news-carousel__slide .news-hero__meta,
.news-carousel__slide .news-hero__title,
.news-carousel__slide .news-hero__body::after,
.news-carousel__slide .news-hero__ip-layer,
.news-carousel__slide .news-hero__bg {
    opacity: 0;
    animation: none;
}

.news-carousel__slide.is-active .news-hero__badge,
.news-carousel__slide.is-active .news-hero__meta,
.news-carousel__slide.is-active .news-hero__title,
.news-carousel__slide.is-active .news-hero__body::after {
    animation-name: news-hero-fade-up;
    animation-duration: 0.75s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
}

.news-carousel__slide.is-active .news-hero__badge {
    animation-delay: 0.08s;
}

.news-carousel__slide.is-active .news-hero__meta {
    animation-delay: 0.18s;
}

.news-carousel__slide.is-active .news-hero__title {
    animation-delay: 0.28s;
}

.news-carousel__slide.is-active .news-hero__body::after {
    animation-delay: 0.38s;
}

.news-carousel__slide.is-active .news-hero__ip-layer {
    animation-name: news-hero-slide-in;
    animation-duration: 0.9s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-delay: 0.32s;
    animation-fill-mode: both;
}

.news-carousel__slide.is-active .news-hero__bg {
    animation-name: news-hero-scale-in;
    animation-duration: 0.9s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    animation-fill-mode: both;
}

@keyframes news-hero-fade-up {
    from {
        opacity: 0;
        transform: translate3d(0, 28px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes news-hero-slide-in {
    from {
        opacity: 0;
        transform: translate3d(48px, 0, 0) scale(0.94);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes news-hero-scale-in {
    from {
        opacity: 0;
        transform: translate3d(0, 16px, 0) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@media (prefers-reduced-motion: reduce) {
    .news-carousel__slide,
    .news-carousel__slide.is-active .news-hero__badge,
    .news-carousel__slide.is-active .news-hero__meta,
    .news-carousel__slide.is-active .news-hero__title,
    .news-carousel__slide.is-active .news-hero__body::after,
    .news-carousel__slide.is-active .news-hero__ip-layer,
    .news-carousel__slide.is-active .news-hero__bg {
        animation: none !important;
        transition: opacity 0.2s ease !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

.news-hero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: none;
}

.news-carousel__slide.is-active:hover .news-hero__bg {
    transform: none;
}

.news-hero__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 125, 178, 0.28) 0%, rgba(6, 125, 178, 0.08) 42%, transparent 72%);
}

.news-hero__ip-layer {
    position: absolute;
    right: 18px;
    top: 18px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    pointer-events: none;
}

.news-hero__ip-chip {
    padding: 5px 12px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.2;
    backdrop-filter: none;
    box-shadow: none;
}

.news-hero__ip-chip--soft {
    font-weight: 600;
    letter-spacing: 0.02em;
    background: rgba(15, 187, 216, 0.35);
    border-color: rgba(255, 255, 255, 0.28);
}

.news-hero__badge {
    position: absolute;
    left: 20px;
    top: 18px;
    z-index: 2;
    padding: 4px 10px;
    border-radius: 4px;
    background: #0fbbd8;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    box-shadow: none;
}

.news-hero__body {
    position: absolute;
    left: 20px;
    right: auto;
    top: auto;
    bottom: 28px;
    z-index: 2;
    max-width: min(620px, calc(100% - 200px));
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 10px;
    min-height: 0;
    border-radius: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.news-hero__meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin: 0;
    order: -1;
    padding: 4px 0;
    border-radius: 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.4;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.28);
    text-shadow: none;
}

.news-hero__title {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-shadow: none;
    padding: 0;
    border: none;
}

.news-hero__body::after {
    content: "";
    width: 72px;
    height: 2px;
    border-radius: 0;
    background: #0fbbd8;
}

.news-carousel__btn {
    position: absolute;
    top: 50%;
    bottom: auto;
    z-index: 3;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.28);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    opacity: 0;
    transform: translateY(-50%);
    transition: opacity 0.2s ease, background 0.2s ease;
}

.news-carousel__btn svg {
    display: block;
    flex-shrink: 0;
}

.news-carousel:hover .news-carousel__btn {
    opacity: 1;
}

.news-carousel__btn:hover {
    background: #0fbbd8;
}

.news-carousel__btn--prev {
    left: 12px;
}

.news-carousel__btn--next {
    right: 12px;
}

.news-carousel__dots {
    position: absolute;
    left: 52px;
    right: 52px;
    bottom: 16px;
    z-index: 3;
    display: flex;
    justify-content: center;
    gap: 6px;
    padding-right: 0;
    pointer-events: none;
}

.news-carousel__dot {
    pointer-events: auto;
    width: 8px;
    height: 8px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    transition: background 0.2s ease;
}

.news-carousel__dot.is-active {
    width: 8px;
    border-radius: 50%;
    background: #0fbbd8;
}

.news-section__head h2 {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: var(--ny-text);
}

/* 勿用 .news-list：zhima 有 height:450px 冲突 */
.news-feed {
    list-style: none;
    margin: 0;
    padding: 0;
    height: auto !important;
    width: 100%;
    background: transparent;
    position: static;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.news-feed > li {
    margin: 0;
    padding: 0;
    border: 1px solid rgba(31, 35, 41, 0.06);
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
    clear: both;
    position: relative;
    overflow: hidden;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.news-feed > li:hover {
    background: #f5fbfd;
    border-color: rgba(15, 187, 216, 0.35);
    box-shadow: inset 3px 0 0 #0fbbd8;
}

.news-feed > li::before {
    content: none;
}

.news-feed__card {
    display: flex;
    align-items: stretch;
    gap: 16px;
    box-sizing: border-box;
    width: 100%;
    min-height: 136px;
    padding: 16px 18px;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.news-feed__card:hover,
.news-feed__card:focus {
    color: inherit;
    text-decoration: none;
}

.news-feed__card:focus-visible {
    outline: 2px solid rgba(15, 187, 216, 0.55);
    outline-offset: -2px;
}

.news-feed .body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0;
    gap: 8px;
    order: 1;
}

.news-feed .thumb {
    flex: 0 0 148px;
    width: 148px;
    height: 104px;
    overflow: hidden;
    background: #e8eef3;
    border-radius: 8px;
    align-self: center;
    position: relative;
    flex-shrink: 0;
    order: 2;
}

.news-feed .thumb::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: inherit;
    background: rgba(0, 0, 0, 0.08);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.45s ease;
}

/* 图 + 叠字同一层，悬停一起放大旋转 */
.news-feed .thumb-motion {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    transform: scale(1.02) rotate(0deg);
    transition: transform 0.65s cubic-bezier(0.25, 0.8, 0.25, 1);
    will-change: transform;
}

.news-feed .thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-feed .thumb-title {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    z-index: 1;
    transform: translateY(-50%);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    padding: 0 8px;
    box-sizing: border-box;
    text-align: center;
    color: #fff;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.02em;
    word-break: break-all;
    pointer-events: none;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.news-feed .thumb:hover .thumb-motion,
.news-feed > li:hover .thumb .thumb-motion {
    transform: scale(1.25) rotate(-8deg);
}

.news-feed .thumb:hover::after,
.news-feed > li:hover .thumb::after {
    opacity: 1;
}

.news-feed .body a,
.news-feed__card {
    text-decoration: none;
}

.news-feed .body-top {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 8px;
    font-size: 12px;
    color: var(--ny-meta);
    line-height: 1.2;
}

.news-feed .meta-source {
    color: #5f6b76;
    font-weight: 600;
}

.news-feed .meta-dot {
    color: #c5cbd1;
}

.news-feed .meta-tag {
    display: inline-flex;
    align-items: center;
    margin-left: 4px;
    padding: 2px 8px;
    border: none;
    border-radius: 999px;
    color: var(--ny-brand-dark);
    font-size: 12px;
    line-height: 1.3;
    background: var(--ny-soft);
    font-weight: 500;
}

.news-feed .titles {
    margin: 0;
    padding: 0;
    border: none;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--ny-text);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s ease;
}

.news-feed > li:hover .titles {
    color: #067db2;
}

.news-feed > li:hover .meta-tag {
    color: #067db2;
    background: rgba(15, 187, 216, 0.14);
}

.news-feed .body-main {
    min-width: 0;
}

.news-feed .summary {
    margin: 6px 0 0;
    padding: 0;
    font-size: 13px;
    line-height: 1.65;
    color: var(--ny-muted);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

.news-feed .summary:empty {
    display: none;
}

.news-feed .meta {
    display: flex;
    align-items: center;
    margin-top: 2px;
    padding-top: 0;
    border-top: none;
    font-size: 12px;
    color: var(--ny-meta);
    line-height: 1;
}

.news-feed .meta-time {
    color: var(--ny-meta);
}

.news-feed .meta-views {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #a0adb8;
}

.news-feed .meta-views i {
    font-size: 13px;
}

.news-main .pageItems {
    position: relative;
    z-index: 2;
    clear: both;
    text-align: center;
    margin: 14px 0 0;
    padding: 14px 16px;
    border: 1px solid rgba(31, 35, 41, 0.04);
    border-radius: var(--ny-radius);
    background: #fff;
    box-shadow: var(--ny-shadow);
    overflow: hidden;
}

.news-main .pageItems__nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.news-main .pageItems .page-total {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    order: -1;
    margin: 0 4px 0 0;
    padding: 0 4px;
    border: none;
    background: transparent;
    font-size: 13px;
    line-height: 34px;
    color: #7b8794;
    cursor: default;
    white-space: nowrap;
}

.news-main .pageItems #page {
    display: contents;
}

.news-main .pageItems a,
.news-main .pageItems span.prev,
.news-main .pageItems span.next,
.news-main .pageItems span.num,
.news-main .pageItems span.current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    flex: 0 0 auto;
    min-width: 34px;
    height: 32px;
    margin: 0;
    padding: 0 11px;
    border: 1px solid #e6edf3;
    border-radius: 8px;
    background: #fff;
    color: #667788;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}

.news-main .pageItems a:hover,
.news-main .pageItems span.prev:hover:not(.disabled),
.news-main .pageItems span.next:hover:not(.disabled):not(.pr),
.news-main .pageItems span.num:hover {
    border-color: rgba(15, 187, 216, 0.45);
    color: #067db2;
}

.news-main .pageItems span.current,
.news-main .pageItems a.active,
.news-main .pageItems a.current {
    background: linear-gradient(90deg, #0fbbd8, #067db2);
    border-color: transparent;
    color: #fff;
    cursor: default;
}

.news-main .pageItems span.disabled,
.news-main .pageItems span.pr {
    opacity: 0.45;
    cursor: not-allowed;
}

.news-load-more {
    display: none;
}

.news-load-more__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 0 16px;
    border: 1px solid rgba(15, 187, 216, 0.4);
    border-radius: 10px;
    background: rgba(15, 187, 216, 0.08);
    color: #067db2;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.news-load-more__btn:hover:not(:disabled) {
    background: rgba(15, 187, 216, 0.14);
    border-color: rgba(15, 187, 216, 0.55);
}

.news-load-more__btn:disabled,
.news-load-more.is-end .news-load-more__btn {
    border-color: #e8eef3;
    background: #f7f9fb;
    color: #9aa7b2;
    cursor: default;
}

/* 平板：收起首页/末页，保留页码 */
@media (max-width: 992px) {
    .news-main .pageItems {
        padding: 12px 10px;
    }

    .news-main .pageItems .page-first,
    .news-main .pageItems .page-last {
        display: none !important;
    }

    .news-main .pageItems a,
    .news-main .pageItems span.prev,
    .news-main .pageItems span.next,
    .news-main .pageItems span.num,
    .news-main .pageItems span.current {
        min-width: 32px;
        height: 32px;
        padding: 0 8px;
        font-size: 12px;
    }
}

/* 手机：翻页改为加载更多 */
@media (max-width: 640px) {
    .news-main .pageItems {
        padding: 12px;
        margin-top: 12px;
        background: transparent;
        border: none;
        box-shadow: none;
    }

    .news-main .pageItems__nav {
        display: none !important;
    }

    .news-load-more {
        display: block;
        width: 100%;
    }

    .news-load-more__btn {
        height: 46px;
        font-size: 15px;
        border-radius: 12px;
    }
}

.news-card {
    background: #fff;
    border: 1px solid rgba(31, 35, 41, 0.04);
    border-radius: var(--ny-radius);
    box-shadow: var(--ny-shadow);
    padding: 14px 16px 16px;
}

.news-card__title {
    margin: 0 0 12px;
    padding: 0 0 10px;
    font-size: 15px;
    font-weight: 700;
    color: var(--ny-text);
    border-bottom: 1px solid var(--ny-line);
    position: relative;
}

.news-card__title::before {
    content: none;
}

/* 热门排行：高度对齐前两张资讯卡 */
.news-rank {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    overflow: hidden;
}

.news-rank .news-card__title {
    flex: 0 0 auto;
}

.news-rank__list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.news-rank__list li {
    margin: 0;
}

.news-rank__list a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    text-decoration: none;
    color: #444;
    border-bottom: 1px solid #f3f5f7;
}

.news-rank__list li:last-child a {
    border-bottom: none;
    padding-bottom: 0;
}

.news-rank__list a:hover {
    color: var(--ny-brand-dark);
}

.news-rank__num {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    background: #c5ced6;
    line-height: 1;
}

.news-rank__list li:nth-child(1) .news-rank__num {
    background: #067db2;
}

.news-rank__list li:nth-child(2) .news-rank__num {
    background: #0fbbd8;
}

.news-rank__list li:nth-child(3) .news-rank__num {
    background: #5ec8de;
    color: #fff;
}

.news-rank__text {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 13px;
    line-height: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 资讯分类 + 套餐推荐：合并卡片，列表页对齐 3 张资讯卡高度 */
.news-board {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    gap: 0;
}

.news-board.is-synced {
    overflow: hidden;
}

.news-board__block {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.news-board.is-synced .news-board__block {
    flex: 1 1 0;
    overflow: hidden;
}

.news-board .news-card__title {
    flex: 0 0 auto;
}

.news-card__title--sub {
    margin-top: 10px;
    padding-top: 12px;
    border-top: 1px solid var(--ny-line);
}

/* 分类：标签流 + 下方精选入口（通栏，避免左右空） */
.news-cats__body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1 1 auto;
    min-height: 0;
}

.news-cats__list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    flex: 0 0 auto;
    min-width: 0;
}

.news-cats__list span,
.news-cats__list a.news-cats__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: #f3f6f8;
    color: #4d5b66;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
    cursor: pointer;
}

.news-cats__list a.news-cats__item::before {
    content: none;
}

.news-cats__list a.news-cats__item:hover {
    background: rgba(15, 187, 216, 0.12);
    color: #067db2;
    text-decoration: none;
}

.news-cats__list a.news-cats__item.is-active {
    background: #0fbbd8;
    color: #fff;
}

.news-cats__panel {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: none;
    background: transparent;
}

.news-cats__panel-title {
    margin: 0;
    padding-top: 8px;
    border-top: 1px dashed #e6edf3;
    font-size: 12px;
    font-weight: 700;
    color: #8a9199;
    line-height: 1.2;
}

.news-cats__tips {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    flex: 1 1 auto;
    min-height: 0;
    align-content: start;
}

.news-board.is-synced .news-cats__tips {
    align-content: stretch;
}

.news-cats__tips li {
    min-height: 0;
}

.news-cats__tips a {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 100%;
    min-height: 34px;
    padding: 7px 8px;
    border-radius: 6px;
    background: #f7fafb;
    color: #3d4a56;
    text-decoration: none;
    font-size: 12px;
    line-height: 1.3;
    transition: background 0.15s ease, color 0.15s ease;
}

.news-cats__tips a:hover {
    background: rgba(15, 187, 216, 0.1);
    color: #067db2;
    text-decoration: none;
}

.news-cats__tips a i {
    flex: 0 0 auto;
    color: #0fbbd8;
    font-size: 13px;
}

.news-cats__tips a span {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news-notice__list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.news-notice__list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 6px 0;
    font-size: 13px;
    line-height: 1.5;
    color: #5a6670;
    border-bottom: 1px solid #f3f5f7;
}

.news-notice__list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.news-notice__list i {
    color: var(--ny-brand);
    margin-top: 2px;
    flex-shrink: 0;
}

.news-pkg__list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.news-board.is-synced .news-pkg__list {
    justify-content: space-between;
}

.news-pkg__list li {
    margin: 0;
    padding: 0;
}

.news-pkg__list a {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 10px;
    border-radius: 8px;
    background: #f7fafb;
    color: inherit;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}

.news-pkg__list a:hover {
    background: rgba(15, 187, 216, 0.1);
    color: #067db2;
    text-decoration: none;
}

.news-pkg__list a > i {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(15, 187, 216, 0.12);
    color: #0fbbd8;
    font-size: 14px;
}

.news-pkg__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1 1 auto;
}

.news-pkg__text em {
    font-style: normal;
    font-size: 13px;
    font-weight: 600;
    color: #2a3540;
    line-height: 1.3;
}

.news-pkg__list a:hover .news-pkg__text em {
    color: #067db2;
}

.news-pkg__text small {
    font-size: 11px;
    color: #8a9199;
    line-height: 1.3;
}

/* 快捷入口：高度对齐第 5 张资讯卡 */
.news-quick {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    overflow: hidden;
}

.news-quick .news-card__title {
    flex: 0 0 auto;
}

.news-quick__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    flex: 1 1 auto;
    min-height: 0;
    align-content: start;
}

.news-quick.is-synced .news-quick__list {
    align-content: stretch;
    grid-template-rows: 1fr 1fr;
}

.news-quick.is-synced .news-quick__item {
    min-height: 0;
}

.news-quick__item {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    min-height: 40px;
    height: auto;
    padding: 10px 12px;
    border-radius: 8px;
    background: #f5f8fa;
    color: #3d4a56;
    text-decoration: none;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.news-quick__item i {
    flex: 0 0 auto;
    font-size: 16px;
    line-height: 1;
}

.news-quick__item span {
    flex: 1 1 auto;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.news-quick__item--teal {
    background: rgba(15, 187, 216, 0.1);
    color: #067db2;
}

.news-quick__item--teal i { color: #0fbbd8; }

.news-quick__item--blue {
    background: rgba(37, 99, 235, 0.1);
    color: #1d4ed8;
}

.news-quick__item--blue i { color: #2563eb; }

.news-quick__item--violet {
    background: rgba(124, 58, 237, 0.1);
    color: #6d28d9;
}

.news-quick__item--violet i { color: #7c3aed; }

.news-quick__item--amber {
    background: rgba(217, 119, 6, 0.1);
    color: #b45309;
}

.news-quick__item--amber i { color: #d97706; }

.news-quick__item:hover {
    text-decoration: none;
    box-shadow: inset 0 0 0 1px currentColor;
    filter: brightness(0.98);
}

/* 服务亮点：高度对齐第 6–7 张资讯卡 */
.news-features {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    overflow: hidden;
}

.news-features .news-card__title {
    flex: 0 0 auto;
}

.news-features__list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.news-features__list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid #f3f5f7;
}

.news-features__list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.news-features__list i {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.news-features__item--orange i,
.news-features__item--green i,
.news-features__item--indigo i {
    background: rgba(15, 187, 216, 0.12);
    color: #067db2;
}

.news-features__list strong {
    display: block;
    margin: 0 0 2px;
    font-size: 13px;
    font-weight: 700;
    color: #1f2329;
    line-height: 1.3;
}

.news-features__list span {
    display: block;
    font-size: 12px;
    line-height: 1.45;
    color: #7b8794;
}

.news-features__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    margin-top: 12px;
    height: 38px;
    border-radius: 8px;
    background: linear-gradient(90deg, #0fbbd8, #067db2);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.15s ease;
}

.news-features__cta:hover {
    color: #fff;
    text-decoration: none;
    opacity: 0.92;
}

.news-features__cta i {
    font-size: 14px;
    line-height: 1;
}

/* 随便看看：双列封面+标题；高度由 JS 对齐左侧 3 张资讯卡 */
.news-browse {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.news-browse .news-card__title {
    flex: 0 0 auto;
}

.news-browse__list {
    list-style: none;
    margin: 0;
    padding: 4px 0 0;
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: repeat(3, auto);
    align-content: space-between;
    column-gap: 12px;
    row-gap: 12px;
    overflow: hidden;
}

.news-browse.is-synced .news-browse__list {
    overflow: hidden;
}

.news-browse__list > li {
    margin: 0;
    min-width: 0;
}

.news-browse__item {
    display: flex;
    flex-direction: column;
    width: 100%;
    text-decoration: none;
    color: inherit;
}

.news-browse__item:hover {
    text-decoration: none;
    color: inherit;
}

.news-browse__thumb {
    position: relative;
    display: block;
    width: 100%;
    flex: 0 0 auto;
    height: 0;
    /* 封面略高，约接近 4:3 */
    padding-top: 72%;
    border-radius: 8px;
    overflow: hidden;
    background: #e8eef3;
}

.news-browse__thumb img {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

.news-browse__thumb-title {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    z-index: 1;
    transform: translateY(-50%);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    padding: 0 6px;
    box-sizing: border-box;
    text-align: center;
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.35;
    word-break: break-all;
    pointer-events: none;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}

.news-browse__item:hover .news-browse__thumb img {
    opacity: 0.72;
    transform: scale(1.04);
}

.news-browse__name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    flex: 0 0 auto;
    margin-top: 6px;
    min-height: 32px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.35;
    color: #2a3540;
    word-break: break-word;
    transition: color 0.15s ease;
}

.news-browse__item:hover .news-browse__name {
    color: #067db2;
}

@media (max-width: 992px) {
    .news-layout {
        display: flex;
        flex-direction: column;
    }

    .news-hero-wrap,
    .news-section__head,
    .news-main,
    .news-aside {
        grid-column: auto;
        grid-row: auto;
        width: 100%;
        position: static;
        max-height: none;
        overflow: visible;
    }

    .news-layout:not(:has(#newsHeroWrap:not(.hidden))) .news-aside {
        grid-row: auto;
    }

    .news-carousel {
        height: 200px;
    }
}

@media (max-width: 640px) {
    .news-cats__tips {
        grid-template-columns: 1fr;
    }

    .news-carousel {
        height: 180px;
    }

    .news-hero__ip-layer {
        right: 12px;
        top: 12px;
        gap: 6px;
    }

    .news-hero__ip-chip {
        padding: 4px 8px;
        font-size: 11px;
    }

    .news-hero__body {
        left: 14px;
        right: auto;
        top: auto;
        bottom: 20px;
        max-width: calc(100% - 100px);
        padding: 0;
        gap: 8px;
    }

    .news-carousel__btn {
        opacity: 1;
        width: 28px;
        height: 28px;
        top: 50%;
        bottom: auto;
        transform: translateY(-50%);
    }

    .news-hero__title {
        font-size: 16px;
        padding: 0 0 6px;
    }

    .news-hero__meta {
        font-size: 11px;
        margin: 0;
        padding: 2px 0;
    }

    .news-feed__card {
        gap: 12px;
        padding: 14px;
    }

    .news-feed .thumb {
        flex: 0 0 96px;
        width: 96px;
        height: 72px;
    }

    .news-feed .titles {
        font-size: 15px;
    }

    .news-feed .summary {
        -webkit-line-clamp: 2;
    }
}

/* 资讯页复用首页「核心产品」区块 */
body.page-news .news-shell {
    padding-bottom: 24px;
}

.news-products-wrap {
    width: 100%;
}

.news-products-wrap .home-section--products {
    margin: 0;
}
