@charset "utf-8";
* {
  box-sizing: border-box;
}

/* ================================================== */
/* ========== 合集详情页：sub_js 模块 ========== */
/* ================================================== */
.sub_js_box {
    margin: 10px auto;
    max-width: 1200px;
    padding: 0 15px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.sub_js {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 10px;
    border: 1px solid #f2f2f2;
    border-radius: 3px;
    gap: 15px;
    align-items: flex-start;
}

/* 左侧图片 */
.sub_js_left {
    flex: 0 0 360px;
    max-width: 100%;
    height: auto;
    margin-right: 20px;
}
.sub_js_left img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 3px;
}

/* 中间内容 */
.sub_js_center {
    flex: 1;
    min-width: 250px;
}
.sub_js_center .sub_js_title {
    overflow: hidden;
    margin-bottom: 8px;
}
.sub_js_center .sub_js_title > h1 {
    font-weight: 700;
    font-size: 30px;
    line-height: 1.4;
    margin: 0;
}
.sub_js_center .sub_js_title > span {
    display: inline-block;
    margin-top: 8px;
    margin-right: 15px;
    font-size: 14px;
    color: #666;
}
.sub_js_center p {
    color: #565656;
    font-size: 15px;
    line-height: 22px;
    margin-bottom: 10px;
}

/* 右侧二维码 */
.sub_js_right {
    flex: 0 0 158px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.sub_js_right img {
    width: 100%;
    height: auto;
    max-width: 140px;
}
.sub_js_right p {
    margin-top: 8px;
    color: #869cb8;
    font-size: 14px;
    line-height: 18px;
}

/* ================== 响应式 ================== */
/* 平板及以下 */
@media screen and (max-width: 992px) {
    .sub_js {
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: auto;
    }
    .sub_js_left {
        flex: 0 0 80%;
        max-width: 80%;
        margin: 0 auto 12px auto;
    }
    .sub_js_center {
        width: 100%;
    }
    .sub_js_center .sub_js_title > h1 {
        font-size: 24px;
    }
    .sub_js_center p {
        font-size: 14px;
        line-height: 20px;
    }
    .sub_js_right {
        width: auto;
        margin-bottom: 15px;
    }
    .sub_js_right img {
        width: 100px;
        max-width: 100px;
        height: auto;
    }
}

/* 手机端 */
@media (max-width: 767px) {
    .sub_js_left, .sub_js_center, .sub_js_right {
        width: 100%;
        flex: 0 0 auto;
        margin: 0 auto 10px auto;
        text-align: center;
    }
    .sub_js_right {
        margin-top: 10px;
    }
    .sub_js_left img {
        width: 100%;
        height: auto;
    }
}


/* ================================================== */
/* ========== main-container：整体布局 ========== */
/* ================================================== */
.main-container {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

/* 左侧两栏 */
.left-side {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 20px;
}
.col-l-l {
    background: #f9f9f9;
    padding: 10px;
    border-radius: 4px;
}
.b-r.newCon {
    background: #fff;
    padding: 10px;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px;
}
.b-r-tit {
    width: 100%;
    margin-bottom: 10px;
}
.b-r-tit a {
    display: inline-block;
    padding: 6px 12px;
    font-size: 14px;
    color: #333;
    text-decoration: none;
    border-bottom: 2px solid transparent;
}
.b-r-tit a.b-r-active {
    border-color: #4caf50;
    color: #2e7d32;
}
.b-r-con img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 4px;
}

/* 右侧栏 */
.right_hj {
    width: 280px;
    background: #fff;
    padding: 10px;
    border-radius: 4px;
}

/* ================== 响应式 ================== */
@media (max-width: 1024px) {
    .main-container { gap: 15px; }
    .right_hj { width: 220px; }
    .b-r.newCon { margin-bottom: 15px; }
    .b-r-tit a { font-size: 13px; }
    .b-r-con img { max-width: 80%; }
}
@media (max-width: 992px) {
    .main-container { flex-direction: column; gap: 15px; }
    .col-l-l, .b-r.newCon, .right_hj { width: 100%; margin-bottom: 20px; }
}
@media (max-width: 767px) {
    .main-container { flex-direction: column; width: 100%; }
    .left-side, .b-r.newCon, .right_hj { width: 100%; display: block; margin: 0 auto; }
    .right_hj { margin-top: 15px; }
    .b-r.newCon { text-align: center; }
    .b-r-con img { max-width: 60%; height: auto; }
}


/* ================================================== */
/* ========== 文章列表 article-list ========== */
/* ================================================== */
.article-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-family: "Microsoft YaHei", sans-serif;
}
.article-item {
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 12px 16px;
    background: #fff;
    transition: all 0.25s ease;
}
.article-item:hover {
    border-color: #4caf50;
    background-color: #f6fff8;
}
.article-meta {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #888;
    margin-bottom: 6px;
}
.article-meta .cate {
    color: #4caf50;
    text-decoration: none;
    font-weight: 500;
}
.article-meta .cate:hover { text-decoration: underline; }
.article-link { display: block; color: inherit; text-decoration: none; }
.article-title {
    font-size: 16px;
    font-weight: 600;
    color: #222;
    margin-bottom: 4px;
    line-height: 1.4;
}
.article-desc {
    font-size: 14px;
    color: #555;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.article-item.active {
    border: 1px solid #4caf50 !important;
    background-color: #e9f9ee !important;
    box-shadow: 0 0 6px rgba(76, 175, 80, 0.2);
}
.article-item.active .article-title { color: #2e7d32; }

/* 平板 */
@media (max-width: 1024px) {
    .article-item { padding: 10px 12px; }
    .article-title { font-size: 15px; }
    .article-desc { font-size: 13px; -webkit-line-clamp: 3; }
}
/* 手机 */
@media (max-width: 767px) {
    .article-list { gap: 8px; }
    .article-item { padding: 8px 10px; }
    .article-meta { flex-direction: column; align-items: flex-start; font-size: 12px; }
    .article-title { font-size: 14px; }
    .article-desc { font-size: 12px; -webkit-line-clamp: 2; }
}


/* ================================================== */
/* ========== doc-table 表格 ========== */
/* ================================================== */
.doc-table {
    width: 860px;
    margin: 10px auto;
    font-family: "Microsoft YaHei", sans-serif;
    font-size: 14px;
    color: #333;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    background: #fff;
}
.doc-table .row {
    display: grid !important;
    grid-template-columns: 130px 1fr 110px !important;
    align-items: center;
    padding: 6px 12px;
    border-bottom: 1px solid #e5e7eb;
    cursor: pointer;
}
.doc-table .row.header1 { background: #f9fafb; font-weight: bold; color: #111; }
.doc-table .row:nth-child(odd):not(.header1) { background: #fcfcfc; }
.doc-table .row:hover { background: #f2f6ff; }
.doc-table .row:last-child { border-bottom: none; }
.doc-table .cell { padding: 2px 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.doc-table .col-1 { color: #555; }
.doc-table .col-2 a { color: #0b4dbb; text-decoration: none; }
.doc-table .col-2 a:hover { text-decoration: underline; }
.doc-table .col-3 { text-align: center; color: #444; }

/* 平板 */
@media (max-width: 1024px) and (min-width: 768px) {
    .doc-table { width: 100%; max-width: 100%; margin: 10px auto; }
    .doc-table .row { grid-template-columns: 100px 1fr 90px !important; padding: 6px 10px; }
}
/* 手机 */
@media (max-width: 767px) {
    .doc-table { width: 100%; margin: 10px auto; font-size: 13px; }
    .doc-table .row.header1 { display: none !important; }
    .doc-table .row {
        display: flex !important;
        flex-direction: column;
        align-items: flex-start;
        padding: 6px 8px;
        grid-template-columns: none !important;
    }
    .doc-table .row .cell {
        width: 100%;
        white-space: normal;
        text-align: left;
        padding: 2px 0;
    }
    .doc-table .row .cell.col-3 { text-align: right; font-size: 12px; margin-top: 4px; }
}


/* ================================================== */
/* ========== right_hj 右侧合集列表 ========== */
/* ================================================== */
.right_hj ul {
    padding-top: 20px;
    margin: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
.right_hj ul li {
    width: 100%;
    max-width: 230px;
    text-align: center;
}
.right_hj ul li > a {
    display: block;
    overflow: hidden;
    border-radius: 6px;
    transition: transform 0.3s, opacity 0.3s;
}
.right_hj ul li > a img {
    display: block;
    width: 100%;
    height: auto;
}
.right_hj ul li > a:hover {
    transform: scale(1.03);
    opacity: 0.85;
}
.right_hj ul li > p {
    margin: 5px 0 0;
    text-align: center;
}
.right_hj ul li > p a {
    font-size: 13px;
    color: #333;
    text-decoration: none;
}
.right_hj ul li > p a:hover { color: #FF684F; }

/* 手机端两列 */
@media (max-width: 767px) {
    .right_hj ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    .right_hj ul li {
        width: 100%;
        margin: 0;
    }
    .right_hj ul li > a { height: 100px; }
    .right_hj ul li > p a { font-size: 13px; }
}
.main-container .b-r.newCon {
    width: auto !important;
    flex: 1 !important;
    max-width: 100%;
}
.b-r.newCon {
    align-items: stretch !important;
}
