/**
 * 软件库列表页专用布局（/index/download/list）
 * 与 Bootstrap .container、down.css 里全局 .left/.right 脱钩，避免再出现「最近更新」竖条、侧栏重叠。
 */

/* 与文章区 index.css 一致：去掉 main 左右 15px，否则顶栏 nav>.container 与 main 内 .container 参照宽度不同，软件库详情看起来「顶栏更宽、下面整块缩进去」 */
main.content.main-download-layout {
    overflow: visible;
    padding-left: 0;
    padding-right: 0;
}

/* 详情页外壳已与列表一致为 .fm-dl.download-page，布局由下方 .fm-dl / .fm-dl__side 承担，勿再叠一套 .container Grid */

.fm-dl {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 15px;
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    align-items: start;
}

/* 与首页/文章列表 index.css .left 一致：白底、无整列深绿 */
.fm-dl__side {
    position: sticky;
    top: 72px;
    width: 170px;
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 4px;
    border: 1px solid var(--fm-card-line, #eef1f4);
    box-shadow: var(--fm-card-shadow, 0 2px 10px rgba(15, 23, 42, 0.04));
    max-height: calc(100vh - 88px);
    overflow: auto;
}

.fm-dl__side .left_menu {
    padding: 12px;
    border-radius: inherit;
}

/* 侧栏：图标 + 文案垂直居中（文案用 .fm-dl-side__label 包裹，避免 flex 匿名文本行盒偏移） */
.fm-dl__side .menu_list {
    padding: 0;
    border-radius: 4px;
    text-align: left;
}

.fm-dl__side .menu_list > a {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    width: 100%;
    gap: 8px;
    min-height: 44px;
    /* 中文字形在行盒内偏上，略加大上内边距、减小下内边距，使视觉上上下留白接近 */
    padding: 9px 10px 5px 10px;
    box-sizing: border-box;
    font-size: 14px;
    color: #333;
    line-height: 1;
    text-decoration: none;
}

.fm-dl__side .menu_list > a:hover {
    text-decoration: none;
}

.fm-dl__side .menu_list > a > i {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin: 0;
    font-size: 14px;
    line-height: 1;
    font-style: normal;
    vertical-align: middle;
}

.fm-dl__side .menu_list > a > i::before {
    line-height: 16px;
}

.fm-dl__side .menu_list > a > .fm-dl-side__label {
    flex: 1 1 auto;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    /* 与字号一致的行高，去掉 1.25 带来的行盒下半空白 */
    font-size: 14px;
    line-height: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fm-dl:not(.download-page) .fm-dl__side .menu_list > a {
    min-height: 18px;
    padding: 10px;
    font-weight: 500;
}

/* 软件库详情页仍用 .left */
main.main-download-layout .download-page .fm-dl__side .menu_list {
    padding: 0;
    border-radius: 4px;
}

main.main-download-layout .download-page .fm-dl__side .menu_list > a {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    gap: 8px;
    min-height: 44px;
    padding: 9px 10px 5px 10px;
    box-sizing: border-box;
    font-size: 14px;
    color: #333;
    line-height: 1;
    text-decoration: none;
}

main.main-download-layout .download-page .fm-dl__side .menu_list > a:hover {
    text-decoration: none;
}

main.main-download-layout .download-page .fm-dl__side .menu_list > a > i {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin: 0;
    font-size: 14px;
    line-height: 1;
    font-style: normal;
    vertical-align: middle;
}

main.main-download-layout .download-page .fm-dl__side .menu_list > a > i::before {
    line-height: 16px;
}

main.main-download-layout .download-page .fm-dl__side .menu_list > a > .fm-dl-side__label {
    flex: 1 1 auto;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    line-height: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 详情页左侧栏：选中/悬停与列表页 .fm-dl__side 一致（高优先级覆盖 down.css / 主题链接色） */
main.main-download-layout .download-page .fm-dl__side .left_menu {
    padding: 12px;
    border-radius: 4px;
    border: 1px solid var(--fm-card-line, #eef1f4);
    background: #fff;
    box-shadow: var(--fm-card-shadow, 0 2px 10px rgba(15, 23, 42, 0.04));
}

main.main-download-layout .download-page .fm-dl__side .menu_list.left_menu_om {
    background-color: #c7ecd4;
    border-radius: 4px;
}

main.main-download-layout .download-page .fm-dl__side .menu_list.left_menu_om > a,
main.main-download-layout .download-page .fm-dl__side .menu_list.left_menu_om > a:link,
main.main-download-layout .download-page .fm-dl__side .menu_list.left_menu_om > a:visited {
    color: #177739;
    font-weight: 600;
}

main.main-download-layout .download-page .fm-dl__side .menu_list.left_menu_om > a > i {
    font-weight: 600;
}

main.main-download-layout .download-page .fm-dl__side .menu_list:hover {
    background-color: #c7ecd4;
    transform: translateX(2px);
}

main.main-download-layout .download-page .fm-dl__side .menu_list:hover > a,
main.main-download-layout .download-page .fm-dl__side .menu_list:hover > a:link,
main.main-download-layout .download-page .fm-dl__side .menu_list:hover > a:visited {
    color: #177739;
}

main.main-download-layout .download-page .fm-dl__side .menu_list.left_menu_om:hover > a,
main.main-download-layout .download-page .fm-dl__side .menu_list.left_menu_om:hover > a:link,
main.main-download-layout .download-page .fm-dl__side .menu_list.left_menu_om:hover > a:visited {
    color: #177739;
    font-weight: 600;
}

main.main-download-layout .download-page .fm-dl__side .menu_list.left_menu_om:hover > a > i {
    font-weight: 600;
}

main.main-download-layout .download-page .fm-dl__side {
    background: transparent;
    border: none;
    box-shadow: none;
    overflow: visible;
}

main.main-download-layout .download-page .fm-dl__side .menu_list {
    border-radius: 4px;
    margin-bottom: 6px;
    transition: background-color .2s ease, transform .2s ease;
}

main.main-download-layout .download-page .fm-dl__side .menu_list:last-child {
    margin-bottom: 0;
}

main.main-download-layout .download-page .fm-dl__side .menu_list > a {
    min-height: 18px;
    padding: 10px;
    font-weight: 500;
}

.fm-dl__side .menu_list.left_menu_om {
    background-color: #c7ecd4;
    border-radius: 4px;
}

.fm-dl__side .menu_list.left_menu_om > a,
.fm-dl__side .menu_list.left_menu_om > a:link,
.fm-dl__side .menu_list.left_menu_om > a:visited {
    color: #177739;
    font-weight: 600;
}

.fm-dl__side .menu_list.left_menu_om > a > i {
    font-weight: 600;
}

.fm-dl__side .menu_list:hover {
    background-color: #c7ecd4;
}

.fm-dl__side .menu_list:hover > a,
.fm-dl__side .menu_list:hover > a:link,
.fm-dl__side .menu_list:hover > a:visited {
    color: #177739;
}

.fm-dl__side .menu_list.left_menu_om:hover > a,
.fm-dl__side .menu_list.left_menu_om:hover > a:link,
.fm-dl__side .menu_list.left_menu_om:hover > a:visited {
    color: #177739;
    font-weight: 600;
}

.fm-dl__side .menu_list.left_menu_om:hover > a > i {
    font-weight: 600;
}

.fm-dl__main {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
}

/*
 * 顶图：占满主栏（版心 1200、左右各 12、侧栏 170、列间距 15 → 主栏约 991px）
 * 三列等分 + 中间两道 15px 间距；单格高宽比沿用旧素材比例 328.33 : 202.05
 */
.fm-dl__banner {
    --fm-banner-gap: 15px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto;
    gap: var(--fm-banner-gap);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* 仅 1 张轮播：单格铺满整行宽度 */
.fm-dl__banner.fm-dl__banner--slots-1 {
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
}

.fm-dl__banner.fm-dl__banner--slots-1 .fm-dl__banner-cell {
    width: 100%;
    max-width: none;
}

/* 仅 2 张轮播：两列等分 */
.fm-dl__banner.fm-dl__banner--slots-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 100%;
}

.fm-dl__banner.fm-dl__banner--slots-2 .fm-dl__banner-cell {
    width: 100%;
    max-width: none;
}

.fm-dl__banner-cell {
    overflow: hidden;
    border-radius: 3px;
    min-height: 0;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 328.33 / 202.05;
    height: auto;
    box-sizing: border-box;
}

.fm-dl__banner-cell a,
.fm-dl__banner-cell img {
    display: block;
    width: 100%;
    height: 100%;
}

.fm-dl__banner-cell img {
    object-fit: cover;
    object-position: center;
}

/* 覆盖 down.css 里 .top_1/.top_2/.top_3 旧版浮动与固定尺寸 */
.fm-dl__banner .top_1,
.fm-dl__banner .top_2,
.fm-dl__banner .top_3 {
    float: none;
    width: auto;
    max-width: none;
    margin: 0;
}

.fm-dl__banner .top_1 img,
.fm-dl__banner .top_2 img,
.fm-dl__banner .top_3 img {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
}

/* 后台轮播：第 2、3 格可点击切换 */
.fm-dl__carousel-thumb a {
    cursor: pointer;
    transition: opacity 0.2s ease, box-shadow 0.2s ease;
}

.fm-dl__carousel-thumb a:hover {
    opacity: 0.92;
    box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.45);
}

/* 软件库：标题模糊搜索结果 */
.fm-dl__search-wrap {
    width: 100%;
    min-width: 0;
}

.fm-dl__search-summary {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    padding: 18px 22px;
    font-size: 16px;
    color: #333;
    line-height: 1.5;
    margin-bottom: 10px;
    box-sizing: border-box;
}

.fm-dl__search-kw {
    font-weight: 600;
    color: #111;
}

.fm-dl__search-num {
    color: #177739;
    font-weight: 700;
    margin: 0 2px;
}

.fm-dl__search-list {
    margin-top: 0;
}

/* 软件详情正文区主标题（箭头所指） */
.download-page .down_content > .down_content-title {
    font-size: 23px;
    font-weight: 700;
    color: #333333;
}

/* 详情右侧信息卡：与左侧 .down_content 上沿对齐（同用 10px margin-top） */
.download-page .down_right .down_detail {
    margin-top: 10px;
    background-color: #fff;
    border-radius: 3px;
    overflow: hidden;
    border: 1px solid #e8e8e8;
    box-sizing: border-box;
    padding-bottom: 0;
}

.download-page .down_right .detail_title {
    background: none !important;
    background-image: none !important;
    color: #121212;
    height: auto;
    min-height: 0;
    line-height: 1.45;
    padding: 16px 20px 14px;
    margin-top: 0;
    border-bottom: 1px solid #E7E8EB;
    box-sizing: border-box;
    font-size: 16px;
    font-weight: 600;
}

.download-page .down_right .detail_title img {
    width: 22px;
    height: 22px;
    margin-left: 0;
    margin-right: 8px;
    vertical-align: middle;
    object-fit: contain;
}

.download-page .down_right .detail_detail {
    padding: 16px 20px 20px;
    background-color: #fff;
}

.download-page .down_right .detail_detail > p .fm-dl-detail-meta__val {
    color: #333333;
}

/* 需登录 / VIP 提示：在「立即下载」下方居中 */
.download-page .down_right .detail_detail > p.fm-dl-detail-perm-tip {
    margin-top: 12px;
    margin-bottom: 0;
    padding: 0;
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
}

.download-page .down_right .detail_detail > p.fm-dl-detail-perm-tip--vip {
    color: #c00;
}

.download-page .down_right .detail_detail > p.fm-dl-detail-perm-tip--login {
    color: #666;
}

/* 详情右侧「立即下载」：与顶栏注册/登录（.header_button）同款绿底白字，无边框/竖线 */
.download-page .down_right .detail_detail > a.fm-dl-detail-download-btn,
.download-page .down_right .detail_detail > a.fm-dl-detail-download-btn:link,
.download-page .down_right .detail_detail > a.fm-dl-detail-download-btn:visited {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 36px;
    line-height: 36px;
    margin-top: 20px;
    margin-bottom: 0;
    padding: 0 16px;
    box-sizing: border-box;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #fff !important;
    text-decoration: none;
    border: none;
    border-radius: 3px;
    background-color: #177739;
    -webkit-transition: background-color 0.2s ease, color 0.2s ease;
    transition: background-color 0.2s ease, color 0.2s ease;
    cursor: pointer;
}

.download-page .down_right .detail_detail > a.fm-dl-detail-download-btn:hover,
.download-page .down_right .detail_detail > a.fm-dl-detail-download-btn:focus {
    color: #fff !important;
    font-weight: 600;
    text-decoration: none;
    background-color: #125a2d;
    border: none;
    outline: none;
}

.download-page .down_right .detail_detail > a.fm-dl-detail-download-btn:active {
    color: #fff !important;
    background-color: #0f4a24;
}

/* 右侧「软件下载」信息卡与下方「软件声明」之间 15px */
.download-page .down_right .fm-software-disclaimer {
    margin-top: 15px;
    border-radius: 4px;
    overflow: hidden;
}

.download-page .down_right .right_list {
    border-radius: 4px;
    overflow: hidden;
}

/* 详情页：正文区上间距（覆盖 down.css 20px）；与下方「相关推荐」间距 15px */
.download-page .down_left > .down_content {
    margin-top: 10px;
    margin-bottom: 15px;
}

/* 相关推荐：标题与首行软件连成一块，中间 #E7E8EB；列表区与软件库「推荐/最新」同款 flex + gap 15px */
.download-page .fm-dl-detail-recommend {
    background-color: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    max-width: 730px;
}

.download-page .fm-dl-detail-recommend__head.down_title {
    margin: 0;
    border: none;
    border-bottom: 1px solid #E7E8EB;
    border-radius: 0;
    background-color: #fff;
    padding: 14px 20px;
    box-sizing: border-box;
    font-size: 15px;
}

/* 浅灰底：flex gap 与卡片白底形成对比，否则整块白底看不出与「没有更多了」之间的 15px */
.download-page .fm-dl-detail-recommend .index_article_1 {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    width: 100%;
    max-width: 730px;
    box-sizing: border-box;
    align-content: flex-start;
    margin: 0;
    padding: 16px 20px 20px;
    background-color: #f5f6f8;
}

.download-page .fm-dl-detail-recommend .index_article_1 > .clear {
    display: none;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.download-page .fm-dl-detail-recommend .index_article_1 > .down_list {
    float: none !important;
    width: 357.5px !important;
    max-width: calc(50% - 7.5px);
    height: auto !important;
    min-height: 104px;
    margin-top: 0 !important;
    margin-left: 0 !important;
    padding: 0 14px;
    background-color: #fff;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    row-gap: 0;
}

.download-page .fm-dl-detail-recommend .index_article_1 > .down_list.down_list_1 {
    margin-left: 0 !important;
}

.download-page .fm-dl-detail-recommend .index_article_1 > .down_list > .clear {
    display: none;
}

.download-page .fm-dl-detail-recommend .index_article_1 .list_img {
    float: none;
    width: 65px;
    min-width: 65px;
    padding-top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
}

.download-page .fm-dl-detail-recommend .index_article_1 .list_img a {
    display: flex;
    align-items: center;
    justify-content: center;
}

.download-page .fm-dl-detail-recommend .index_article_1 .list_img img {
    width: 65px;
    height: 65px;
    max-width: 65px;
    max-height: 65px;
    object-fit: contain;
    vertical-align: middle;
}

.download-page .fm-dl-detail-recommend .index_article_1 .list_content {
    float: none;
    margin-left: 0;
    flex: 1 1 auto;
    min-width: 0;
    align-self: center;
    order: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
}

.download-page .fm-dl-detail-recommend .index_article_1 .down_name {
    font-size: 14px !important;
    line-height: 1.3;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.download-page .fm-dl-detail-recommend .index_article_1 .list_content > a.fm-dl-detail-recommend__title {
    display: block;
    min-width: 0;
}

.download-page .fm-dl-detail-recommend .index_article_1 .fm-dl-detail-recommend__foot {
    min-height: 28px;
    display: flex;
    align-items: center;
}

.download-page .fm-dl-detail-recommend .index_article_1 .fm-dl-detail-recommend__desc {
    margin: 0;
    width: 100%;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.download-page .fm-dl-detail-recommend .index_article_1 .fm-dl-detail-recommend__action {
    display: none !important;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 12px;
    border: 1px solid #177739;
    border-radius: 4px;
    color: #177739;
    font-size: 13px;
    font-weight: 600;
    background: #fff;
}

.download-page .fm-dl-detail-recommend .index_article_1 > .down_list:hover .fm-dl-detail-recommend__desc {
    display: none;
}

.download-page .fm-dl-detail-recommend .index_article_1 > .down_list:hover .fm-dl-detail-recommend__action {
    display: inline-flex !important;
}

/* 与上一行软件间距由父级 flex gap:15px 承担，此处勿再加 margin-top（否则会与 gap 叠成约 30px） */
.download-page .fm-dl-detail-recommend .index_article_1 .layui-flow-more,
.download-page .fm-dl-detail-recommend .index_article_1 > [class*="flow-more"]:not(.down_list) {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-align: center;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    padding: 14px 0;
    line-height: 1.4;
}

.download-page .fm-dl-detail-recommend .index_article_1 .layui-flow-more cite {
    text-align: center;
    display: block;
}

.download-page .down_left .index_article_2 .layui-flow-more,
.download-page .down_left .index_article_2 > [class*="flow-more"]:not(.down_list) {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-align: center;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    display: block;
}

/* 最近更新：整区与主栏同宽 991；内区左右各 20px，五卡 + 四道 gap15 → 单卡宽约 (951-60)/5 */
.fm-dl__recent {
    background: #fff;
    border-radius: 3px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    align-self: stretch;
    min-width: 0;
}

.fm-dl__recent-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 20px;
    box-sizing: border-box;
}

.fm-dl__recent-title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #000;
    padding: 0;
    border-bottom: none;
    box-sizing: border-box;
    flex: 1;
    min-width: 0;
}

.fm-dl__recent-refresh {
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 14px;
    color: #177739;
    font-family: inherit;
    line-height: 1.2;
}

.fm-dl__recent-refresh:hover {
    opacity: 0.88;
}

.fm-dl__recent-refresh:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

/*
 * 最近更新：Flex 横排 + gap，与「推荐/最新」区块由 .fm-dl__main 的 column-gap 控制为 15px
 */
main#article_lists.content.main-download-layout #fm-dl-recent-grid,
main.content.main-download-layout .fm-dl__recent .fm-dl__recent-grid,
.fm-dl__recent-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start;
    align-content: flex-start;
    justify-content: flex-start;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 20px 16px;
    gap: 15px;
}

main#article_lists.content.main-download-layout #fm-dl-recent-grid > .fm-dl__card,
main.content.main-download-layout .fm-dl__recent .fm-dl__recent-grid > .fm-dl__card,
.fm-dl__recent-grid > .fm-dl__card {
    box-sizing: border-box;
    --fm-recent-card-w: calc((100% - 60px) / 5);
    flex: 0 0 var(--fm-recent-card-w) !important;
    width: var(--fm-recent-card-w) !important;
    max-width: var(--fm-recent-card-w) !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 178px !important;
    max-height: none !important;
    display: flex;
    flex-direction: column;
    grid-column: unset !important;
    grid-row: unset !important;
    margin: 0;
    padding: 20px 4px 20px;
    border: 1px solid rgb(240, 240, 240);
    border-radius: 2px;
    overflow: hidden;
    position: relative;
}

/*
 * 183px 竖向：顶 20 + 图 60 + 图→文 10 + 标题两行 + gap 4 + 时间 + gap 4 + 简介一行 + 底 20
 * 文案区不用 flex:1+min-height:0，避免 -webkit-line-clamp 标题被压成一条线
 */
.fm-dl__recent-grid > .fm-dl__card > .on_show,
.fm-dl__recent-grid > .fm-dl__card > .on_up {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    min-height: 0;
    box-sizing: border-box;
    overflow: visible;
}

.fm-dl__recent-grid > .fm-dl__card > .on_up {
    display: none; /* 默认隐藏；悬停时由 JS 设为 flex */
    position: absolute;
    inset: 0;
    padding: 20px 15px;
    background: #fff;
    justify-content: center;
    align-items: center;
}

.fm-dl__recent-grid .new_img {
    text-align: center;
    padding-top: 0;
    flex-shrink: 0;
    width: 100%;
    height: 60px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.fm-dl__recent-grid .new_img a {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    line-height: 0;
}

.fm-dl__recent-grid .new_img img {
    width: 60px;
    height: 60px;
    max-width: 60px;
    max-height: 60px;
    object-fit: cover;
    vertical-align: middle;
    border-radius: 2px;
}

/* 固定 183 高，悬停不撑破卡片 */
.fm-dl__recent-grid > .fm-dl__card:hover {
    overflow: visible;
    position: relative;
    z-index: 2;
}

.fm-dl__recent-grid .new_content {
    flex: 0 0 auto;
    width: 100%;
    margin-top: 15px;
    padding: 0 15px;
    overflow: visible;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 8px;
}

/* 软件名称（首段）、日期居中；简介保持默认左对齐 */
.fm-dl__recent-grid .new_content > p:first-child,
.fm-dl__recent-grid .new_time {
    text-align: center;
}

.fm-dl__recent-grid .new_content p {
    margin-bottom: 0;
    font-size: 12px;
    font-weight: 500;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    line-height: 1.35;
}

.fm-dl__recent-grid .new_content > p:first-child {
    font-size: 14px;
    color: #181818;
    margin: 0;
    padding: 0;
    line-height: 1.35;
    display: block;
    overflow: visible;
    flex-shrink: 0;
    word-break: break-word;
}

.fm-dl__recent-grid .show_content > p {
    font-size: 14px;
    color: #181818;
}

.fm-dl__recent-grid .new_time {
    font-size: 10px;
    color: #979797;
    margin: 0;
    padding: 0;
    line-height: 1.3;
    flex-shrink: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fm-dl__recent-grid .new_content p.new_dis {
    font-size: 12px;
    color: #888;
    line-height: 1.25;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    box-sizing: border-box;
    word-break: normal;
    overflow-wrap: normal;
    margin: 0;
    flex-shrink: 0;
}

/* 悬停态：与 .new_content 同一图→文间距与左右内边距 */
.fm-dl__recent-grid .show_content {
    text-align: center;
    margin-top: 15px;
    padding: 0 15px 0;
    width: 100%;
    box-sizing: border-box;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    overflow: visible;
}

.fm-dl__recent-grid .show_content p {
    margin-bottom: 6px;
    word-break: break-word;
    white-space: normal;
    font-size: 14px;
    line-height: 1.35;
    display: block;
    overflow: visible;
}

/* 与「推荐」列表 .down_list:hover > .list_down a 同款渐变按钮 */
.fm-dl__recent-grid .show_content a {
    min-height: 30px;
    padding: 0 12px;
    font-size: 11px;
    color: #fff;
    border: 1px solid #177739;
    border-radius: 2px;
    background: linear-gradient(180deg, #1a6b32 0%, #177739 50%, #125a2d 100%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    vertical-align: middle;
    box-sizing: border-box;
}

.fm-dl__recent-grid > .fm-dl__card.show_on {
    background-color: #f9f9f9;
}

/* 推荐 / 排行榜 两栏（仅列表页；691 + 15 + 285 = 991 与主栏同宽） */
.fm-dl:not(.download-page) .down_load {
    display: grid;
    grid-template-columns: minmax(0, 691px) 285px;
    gap: 15px;
    align-items: start;
    width: 100%;
    max-width: 991px;
    margin-top: 0;
    box-sizing: border-box;
    clear: none;
    overflow: visible;
}

.fm-dl .down_left,
.fm-dl .down_right {
    float: none;
    width: auto;
    margin: 0;
}

.fm-dl:not(.download-page) .down_right .right_list {
    border-radius: 4px;
    overflow: hidden;
}

.fm-dl:not(.download-page) .down_right .index_ad {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.fm-dl .down_left {
    min-width: 0;
    display: flow-root;
}

/* 推荐 / 最新：每行 2 条，中间间距 15px；列表页主栏 691；详情页正文侧仍 730 */
.fm-dl .down_left .index_article_1,
.fm-dl .down_left .index_article_2,
.fm-dl .down_left .fm-dl__search-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    width: 100%;
    max-width: 691px;
    box-sizing: border-box;
    align-content: flex-start;
}

.download-page .down_left .index_article_2 {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    width: 100%;
    max-width: 730px;
    box-sizing: border-box;
    align-content: flex-start;
}

.fm-dl .down_left .index_article_1 > .clear,
.fm-dl .down_left .index_article_2 > .clear,
.fm-dl .down_left .fm-dl__search-list > .clear,
.download-page .down_left .index_article_2 > .clear {
    display: none;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.fm-dl .down_left .index_article_1 > .down_list,
.fm-dl .down_left .index_article_2 > .down_list,
.fm-dl .down_left .fm-dl__search-list > .down_list {
    float: none !important;
    width: calc(50% - 7.5px) !important;
    max-width: calc(50% - 7.5px);
    height: auto !important;
    min-height: 130px;
    margin-top: 0 !important;
    margin-left: 0 !important;
    padding: 0 14px;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    row-gap: 0;
}

.download-page .down_left .index_article_2 > .down_list {
    float: none !important;
    width: 357.5px !important;
    max-width: calc(50% - 7.5px);
    height: auto !important;
    min-height: 130px;
    margin-top: 0 !important;
    margin-left: 0 !important;
    padding: 0 14px;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    row-gap: 0;
}

.fm-dl .down_left .index_article_1 > .down_list.down_list_1,
.fm-dl .down_left .index_article_2 > .down_list.down_list_1,
.fm-dl .down_left .fm-dl__search-list > .down_list.down_list_1,
.download-page .down_left .index_article_2 > .down_list.down_list_1 {
    margin-left: 0 !important;
}

.fm-dl .down_left .index_article_1 > .down_list > .clear,
.fm-dl .down_left .index_article_2 > .down_list > .clear,
.fm-dl .down_left .fm-dl__search-list > .down_list > .clear,
.download-page .down_left .index_article_2 > .down_list > .clear {
    display: none;
}

.fm-dl .down_left .index_article_1 .list_img,
.fm-dl .down_left .index_article_2 .list_img,
.fm-dl .down_left .fm-dl__search-list .list_img,
.download-page .down_left .index_article_2 .list_img {
    float: none;
    width: 65px;
    min-width: 65px;
    padding-top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
}

.fm-dl .down_left .index_article_1 .list_img a,
.fm-dl .down_left .index_article_2 .list_img a,
.fm-dl .down_left .fm-dl__search-list .list_img a,
.download-page .down_left .index_article_2 .list_img a {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fm-dl .down_left .index_article_1 .list_img img,
.fm-dl .down_left .index_article_2 .list_img img,
.fm-dl .down_left .fm-dl__search-list .list_img img,
.download-page .down_left .index_article_2 .list_img img {
    width: 65px;
    height: 75px;
    max-width: 65px;
    max-height: 110px;
    object-fit: contain;
    vertical-align: middle;
}

.fm-dl .down_left .index_article_1 .list_content,
.fm-dl .down_left .index_article_2 .list_content,
.fm-dl .down_left .fm-dl__search-list .list_content,
.download-page .down_left .index_article_2 .list_content {
    float: none;
    margin-left: 0;
    flex: 1 1 auto;
    min-width: 0;
    align-self: center;
    order: 2;
}

.fm-dl .down_left .index_article_1 .list_content a,
.fm-dl .down_left .index_article_2 .list_content a,
.fm-dl .down_left .fm-dl__search-list .list_content a,
.download-page .down_left .index_article_2 .list_content a {
    display: block;
}

.fm-dl .down_left .index_article_1 .down_name,
.fm-dl .down_left .index_article_2 .down_name,
.fm-dl .down_left .fm-dl__search-list .down_name,
.download-page .down_left .index_article_2 .down_name {
    font-size: 15px !important;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
}

.fm-dl .down_left .index_article_1 .fm-dl__meta-row,
.fm-dl .down_left .index_article_2 .fm-dl__meta-row,
.fm-dl .down_left .fm-dl__search-list .fm-dl__meta-row,
.download-page .down_left .index_article_2 .fm-dl__meta-row {
    margin: 6px 0 0;
}

.fm-dl .down_left .index_article_1 .fm-dl__size-row,
.fm-dl .down_left .index_article_2 .fm-dl__size-row,
.fm-dl .down_left .fm-dl__search-list .fm-dl__size-row,
.download-page .down_left .index_article_2 .fm-dl__size-row {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
}

.fm-dl .down_left .index_article_1 .fm-dl__stats-row,
.fm-dl .down_left .index_article_2 .fm-dl__stats-row,
.fm-dl .down_left .fm-dl__search-list .fm-dl__stats-row,
.download-page .down_left .index_article_2 .fm-dl__stats-row {
    margin: 4px 0 0;
    color: #94a3b8;
    font-size: 12px;
    line-height: 1.45;
}

.fm-dl .down_left .index_article_1 .list_down,
.fm-dl .down_left .index_article_2 .list_down,
.fm-dl .down_left .fm-dl__search-list .list_down,
.download-page .down_left .index_article_2 .list_down {
    float: none !important;
    padding-top: 0 !important;
    margin-left: 0;
    flex: 0 0 auto;
    width: auto;
    min-width: 92px;
    order: 3;
    display: flex;
    align-items: center;
    align-self: center;
    justify-content: flex-end;
}

.fm-dl .down_left .index_article_1 .list_down a,
.fm-dl .down_left .index_article_2 .list_down a,
.fm-dl .down_left .fm-dl__search-list .list_down a,
.download-page .down_left .index_article_2 .list_down a {
    align-self: center;
}

/* Layui flow：独占一行居中；与上一行间距由父级 gap:15px 承担，勿叠 margin-top */
.fm-dl .down_left .index_article_1 .layui-flow-more,
.fm-dl .down_left .index_article_2 .layui-flow-more {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-align: center;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    display: block;
}

.fm-dl .down_left .index_article_1 .layui-flow-more cite,
.fm-dl .down_left .index_article_2 .layui-flow-more cite {
    text-align: center;
    display: inline-block;
}

/* 兼容部分 Layui 版本类名差异 */
.fm-dl .down_left .index_article_1 > [class*="flow-more"]:not(.down_list),
.fm-dl .down_left .index_article_2 > [class*="flow-more"]:not(.down_list) {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-align: center;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    display: block;
}

.fm-dl .down_right {
    width: 285px;
    max-width: 100%;
}

/* 推荐 / 最新、下载排行榜、关于我们|友情链接：标题区 15px（仅软件库 .fm-dl） */
.fm-dl .down_left .down_title,
.fm-dl .down_left .down_title a {
    font-size: 15px;
}

.fm-dl .down_right .list_title,
.fm-dl .down_right .list_title .about_title {
    font-size: 15px;
}

/* 详情页侧栏同结构，无 .fm-dl 包裹 */
.download-page .down_right .list_title,
.download-page .down_right .list_title .about_title {
    font-size: 15px;
}

/* 下载排行榜：外框 + 标题与列表间分隔线，与 .list_title（关于我们）同为 #E7E8EB */
.fm-dl .shengming .shengming_title {
    background-color: #fff;
    border: 1px solid #e8e8e8;
    border-bottom: 1px solid #E7E8EB;
    box-sizing: border-box;
    border-radius: 3px 3px 0 0;
    font-size: 15px;
}

.fm-dl .shengming .shengming_detail {
    padding-left: 0;
    padding-right: 0;
    border: 1px solid #e8e8e8;
    border-top: none;
    box-sizing: border-box;
    border-radius: 0 0 3px 3px;
}

.fm-dl .down_top_list {
    padding-left: 20px;
    padding-right: 20px;
    margin: 0;
    border-radius: 0;
    transition: background-color 0.15s ease;
    box-sizing: border-box;
}

.fm-dl .down_top_list p {
    height: 40px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.fm-dl .down_top_list p > a {
    flex: 1 1 auto;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    line-height: 1;
    white-space: nowrap;
    overflow: hidden;
}

.fm-dl .down_top_list p > a img {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    margin: 0;
}

.fm-dl .down_top_list .down_down {
    flex: 0 0 auto;
    float: none;
    line-height: 1;
    white-space: nowrap;
}

.fm-dl .down_top_list .down_now {
    float: none;
    margin-top: 0;
}

.fm-dl .down_top_list:hover {
    background-color: #c7ecd4;
}

@media (max-width: 1100px) {
    .fm-dl {
        grid-template-columns: 1fr;
    }

    .fm-dl__side {
        position: relative;
        top: auto;
        width: 100%;
        max-width: none;
        max-height: none;
    }

    .fm-dl__banner {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        height: auto;
        max-width: 100%;
    }

    .fm-dl__banner.fm-dl__banner--slots-1,
    .fm-dl__banner.fm-dl__banner--slots-2 {
        grid-template-columns: 1fr;
    }

    .fm-dl__banner-cell {
        width: 100%;
        max-width: 100%;
        height: auto;
        aspect-ratio: 328.33 / 202.05;
        min-height: 0;
    }

    .fm-dl__banner-cell img {
        min-height: 0;
    }

    .fm-dl__recent {
        max-width: 100%;
    }

    .fm-dl__recent-grid {
        justify-content: center;
    }

    main#article_lists.content.main-download-layout #fm-dl-recent-grid > .fm-dl__card,
    main.content.main-download-layout .fm-dl__recent .fm-dl__recent-grid > .fm-dl__card,
    .fm-dl__recent-grid > .fm-dl__card {
        flex: 1 1 158px !important;
        width: auto !important;
        max-width: min(100%, max(158px, calc((100% - 60px) / 5))) !important;
        height: auto !important;
        min-height: 160px !important;
        max-height: none !important;
    }

    .fm-dl__recent-grid .new_img {
        height: 60px;
    }

    .fm-dl__recent-grid .new_img img {
        width: 60px;
        height: 60px;
        max-width: 60px;
        max-height: 60px;
    }

    .fm-dl:not(.download-page) .down_load {
        grid-template-columns: 1fr;
    }

    .fm-dl .down_left .index_article_1 > .down_list,
    .fm-dl .down_left .index_article_2 > .down_list,
    .fm-dl .down_left .fm-dl__search-list > .down_list,
    .download-page .down_left .index_article_2 > .down_list {
        width: 100% !important;
        max-width: 100%;
        flex-wrap: wrap;
        align-items: flex-start;
        row-gap: 10px;
    }

    .fm-dl:not(.download-page) .down_left .index_article_1 > .down_list,
    .fm-dl:not(.download-page) .down_left .index_article_2 > .down_list,
    .fm-dl:not(.download-page) .down_left .fm-dl__search-list > .down_list {
        flex-wrap: nowrap;
        align-items: center;
        row-gap: 0;
    }

    .fm-dl .down_left .index_article_1 .list_down,
    .fm-dl .down_left .index_article_2 .list_down,
    .fm-dl .down_left .fm-dl__search-list .list_down,
    .download-page .down_left .index_article_2 .list_down {
        flex: 0 0 100%;
        width: 100%;
        min-width: 0;
        align-self: stretch;
    }

    .fm-dl:not(.download-page) .down_left .index_article_1 .list_down,
    .fm-dl:not(.download-page) .down_left .index_article_2 .list_down,
    .fm-dl:not(.download-page) .down_left .fm-dl__search-list .list_down {
        flex: 0 0 auto;
        width: auto;
        min-width: 92px;
        margin-left: auto;
        align-self: center;
    }

    .fm-dl .down_right {
        width: 100%;
    }

    .download-page .down_load {
        gap: 0;
    }

    .download-page .down_right {
        flex: 1 1 100%;
        width: 100%;
        max-width: 100%;
    }

    .download-page .down_right .down_detail,
    .download-page .down_right .right_list {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .download-page .fm-dl-detail-recommend {
        max-width: 100%;
    }

    .download-page .fm-dl-detail-recommend .index_article_1 > .down_list {
        width: 100% !important;
        max-width: 100%;
    }
}
