/**
 * 国学培训主题 — 对齐首页 div_02 资讯面板
 * 加载顺序须置于 article-* / index / common-theme 之后
 * Token: #ede7d9 / #fffcf5 / #dac8a8 / #603811 / #b36d41 / #875a3d
 */

/* ========== Banner ========== */
.article-banner-title {
    display: none !important;
}

#zspx .banner.article-banner,
#wzy .banner.article-banner {
    height: 400px !important;
    background-size: cover;
    background-position: center;
    position: relative;
}

#zspx .banner.article-banner::before,
#wzy .banner.article-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(44, 24, 16, 0.18);
    pointer-events: none;
    z-index: 1;
}

/* ========== 主区：铺在首页米色底上 ========== */
body#zspx,
body#wzy {
    background: #ede7d9;
}

#zspx .main {
    background: #ede7d9 !important;
    padding: 40px 0 70px !important;
}

/* 详情页：纸感抬升（晕，不是卡）— 略加强层次 */
#wzy .main {
    background-color: #ede7d9 !important;
    background-image:
        radial-gradient(
            ellipse 90% 60% at 50% 10%,
            rgba(248, 245, 237, 0.82) 0%,
            rgba(248, 245, 237, 0.28) 42%,
            rgba(237, 231, 217, 0) 72%
        ),
        linear-gradient(
            180deg,
            rgba(248, 245, 237, 0.4) 0%,
            rgba(237, 231, 217, 0) 24%,
            rgba(237, 231, 217, 0) 70%,
            rgba(218, 200, 168, 0.14) 100%
        );
    background-repeat: no-repeat;
    background-size: 100% 100%;
    padding: 40px 0 70px !important;
}

#zspx .main_in,
#wzy .main_in {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    position: relative;
    overflow: visible;
}

#zspx .main_in::before,
#wzy .main_in::before,
#zspx .main_in::after,
#wzy .main_in::after {
    display: none !important;
}

/* ========== 面包屑 ========== */
/* 总览页：轻量盒装；详情页：线式（更贴首页画布） */
#zspx .crumb,
#zspx .main .main_in .crumb {
    margin-bottom: 28px !important;
    padding: 12px 0 !important;
    background: transparent;
    border: none;
    border-bottom: none;
    border-radius: 0;
    font-size: 14px;
    color: #875a3d;
    box-shadow: none;
}

#wzy .crumb,
#wzy .main .main_in .crumb,
#wzy .main .crumb {
    margin-bottom: 22px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-bottom: none !important;
    border-radius: 0 !important;
    font-size: 14px;
    color: #875a3d;
    box-shadow: none !important;
}

#zspx .crumb a,
#wzy .crumb a,
#zspx .main .main_in .crumb p a,
#wzy .main .main_in .crumb p a {
    color: #b36d41 !important;
    transition: color 0.25s ease;
}

#zspx .crumb a:hover,
#wzy .crumb a:hover,
#zspx .main .main_in .crumb p a:hover,
#wzy .main .main_in .crumb p a:hover {
    color: #603811 !important;
    text-decoration: none;
}

#zspx .crumb span,
#wzy .crumb span,
#zspx .main .main_in .crumb p span,
#wzy .main .main_in .crumb p span {
    color: #603811 !important;
    font-weight: 600;
}

/* ========== 总览页标题：对齐书生简介 .k-titt 纯中文大标题 ========== */
#zspx .training-title.k-titt,
#zspx .training-title {
    text-align: left;
    margin: 0 0 28px;
    padding: 0 0 18px;
    position: relative;
    border-bottom: 1px solid #e8e2d8;
    overflow: visible;
}

#zspx .training-title::after {
    display: none;
}

#zspx .training-title > p,
#zspx .training-title h2 {
    float: none !important;
    margin: 0;
    padding: 0;
    font-size: 28px;
    font-family: "Noto Serif SC", "Source Han Serif SC", serif;
    font-weight: 600;
    color: #603811;
    letter-spacing: 0.08em;
    line-height: 1.35;
    text-wrap: balance;
}

/* 不再使用副标题，避免与课程卡片标题抢层级 */
#zspx .training-title .subtitle {
    display: none;
}

/* ========== 课程卡片：对齐 gsjj / 首页米色面板 ========== */
#zspx .training-courses {
    margin: 0;
    padding: 0;
}

#zspx .zs {
    display: flex;
    align-items: stretch;
    width: 100%;
    margin: 0 0 22px;
    overflow: hidden;
    border-radius: 4px;
    box-sizing: border-box;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

#zspx .zs:hover {
    box-shadow: 0 6px 20px rgba(96, 56, 17, 0.1);
}

#zspx .zs-1 {
    flex-direction: row;
    background: #fffcf5;
    border: 1px solid #e8e2d8;
}

#zspx .zs-2 {
    flex-direction: row-reverse;
    background: #f7f1e6;
    border: 1px solid #e0d2ba;
}

#zspx .zs:hover {
    border-color: #c4a77a;
}

#zspx .zs .box {
    flex: 1 1 auto;
    min-width: 0;
    padding: 26px 30px;
    box-sizing: border-box;
}

#zspx .zs .name {
    margin: 0 0 14px;
    padding: 0 0 12px;
    border-bottom: 1px solid #dac8a8;
    font-size: 20px;
    font-weight: 600;
    font-family: var(--font-display, "Noto Serif SC", "Source Han Serif SC", serif);
    color: #603811;
    line-height: 1.35;
}

#zspx .zs .name a {
    color: #603811;
    text-decoration: none;
    transition: color 0.2s ease;
}

#zspx .zs .name a:hover {
    color: #b36d41;
}

#zspx .zs ul {
    margin: 0 0 14px;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 24px;
    font-size: 14px;
    line-height: 1.7;
}

#zspx .zs ul li {
    position: relative;
    padding-left: 14px;
    color: #555;
}

#zspx .zs ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #b36d41;
}

#zspx .zs .info {
    margin: 8px 0 8px;
    font-size: 16px;
    font-weight: 600;
    color: #603811;
}

#zspx .zs .info1 {
    margin: 0 0 16px;
    font-size: 14px;
    line-height: 1.85;
    color: #666;
    text-align: justify;
    text-indent: 2em;
}

#zspx .zs .zs-action {
    margin: 0;
    text-indent: 0;
}

#zspx .zs > img {
    flex: 0 0 200px;
    align-self: center;
    width: 200px;
    max-width: 28%;
    height: auto;
    margin: 22px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #dac8a8;
    box-shadow: 0 3px 12px rgba(96, 56, 17, 0.1);
    background: #f8f5ed;
}

/* 兼容旧 list 结构（若其它页仍引用） */
#zspx .con_div .list_01,
#zspx .con_div .list_02,
#zspx .main .main_in .con_div .list_01,
#zspx .main .main_in .con_div .list_02 {
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    height: auto !important;
    min-height: 0;
    margin: 0 0 22px 0 !important;
    padding: 24px 26px !important;
    background: #fffcf5 !important;
    border: 1px solid #e8e2d8;
    border-radius: 4px;
    box-sizing: border-box;
    position: relative;
    overflow: visible;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

#zspx .con_div .list_02,
#zspx .main .main_in .con_div .list_02 {
    flex-direction: row-reverse;
    background: #f7f1e6 !important;
    border-color: #e0d2ba;
}

#zspx .con_div .list_01::before,
#zspx .con_div .list_02::before {
    display: none !important;
}

#zspx .con_div .list_01:hover,
#zspx .con_div .list_02:hover,
#zspx .main .main_in .con_div .list_01:hover,
#zspx .main .main_in .con_div .list_02:hover {
    transform: none;
    border-color: #c4a77a;
    box-shadow: 0 6px 20px rgba(96, 56, 17, 0.1);
}

/* 文区 */
#zspx .con_div .l_txt,
#zspx .main .main_in .con_div .list_01 .l_txt,
#zspx .main .main_in .con_div .list_02 .l_txt {
    float: none !important;
    flex: 1;
    width: auto !important;
    max-width: none;
    padding: 0 !important;
}

#zspx .con_div .l_txt h3,
#zspx .main .main_in .con_div .l_txt h3 {
    display: flex;
    align-items: center;
    margin: 0 0 16px !important;
    padding: 0 0 12px;
    border-bottom: 1px solid #dac8a8;
    color: #603811 !important;
    font-size: 20px !important;
    font-family: var(--font-display, "Noto Serif SC", "Source Han Serif SC", serif);
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.35;
}

#zspx .con_div .l_txt h3::before {
    content: "";
    width: 3px;
    height: 18px;
    margin-right: 12px;
    background: #b36d41;
    border-radius: 1px;
    flex-shrink: 0;
}

#zspx .con_div .l_txt h4,
#zspx .main .main_in .con_div .l_txt h4 {
    margin: 8px 0 10px !important;
    color: #603811 !important;
    font-size: 16px !important;
    font-weight: 600;
}

/* 信息列表 */
#zspx .con_div .lsit,
#zspx .main .main_in .con_div .lsit {
    margin: 0 0 14px !important;
}

#zspx .con_div .lsit ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#zspx .con_div .lsit li,
#zspx .main .main_in .con_div .lsit ul li {
    display: flex !important;
    align-items: baseline !important;
    height: auto !important;
    min-height: 0;
    overflow: visible !important;
    margin: 0;
    padding: 2px 0;
    font-size: 14px;
    color: #333;
    line-height: 1.55;
}

#zspx .con_div .lsit li .icon,
#zspx .con_div .lsit li span.icon,
#zspx .main .main_in .con_div .lsit ul li .icon {
    width: 5px !important;
    height: 5px !important;
    min-width: 5px;
    margin: 0 8px 0 0 !important;
    float: none !important;
    background: #b36d41 !important;
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
    top: -1px;
}

#zspx .con_div .lsit li .txt,
#zspx .con_div .lsit li span.txt,
#zspx .main .main_in .con_div .lsit ul li .txt {
    float: none !important;
    display: inline !important;
    color: #333 !important;
    line-height: 1.55 !important;
    font-size: 14px !important;
}

#zspx .con_div .lsit li .txt a {
    color: #b36d41;
    font-weight: 600;
}

#zspx .con_div .lsit li .txt a:hover {
    color: #603811;
    text-decoration: none;
}

/* 简介 */
#zspx .con_div .l_txt .del,
#zspx .main .main_in .con_div .l_txt .del {
    margin-top: 6px;
    padding: 14px 0 0 !important;
    border-top: 1px dashed #dac8a8;
    color: #555 !important;
    font-size: 14px !important;
    line-height: 1.85 !important;
    text-indent: 2em;
    text-align: justify;
}

/* 配图 */
#zspx .con_div .pic,
#zspx .main .main_in .con_div .list_01 .pic,
#zspx .main .main_in .con_div .list_02 .pic {
    float: none !important;
    flex-shrink: 0;
    width: 200px !important;
    height: auto !important;
    margin: 0 !important;
}

#zspx .con_div .pic img,
#zspx .main .main_in .con_div .pic img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: 200px;
    object-fit: cover;
    border: 1px solid #dac8a8;
    border-radius: 4px;
    background: #f8f5ed;
    box-shadow: 0 3px 12px rgba(96, 56, 17, 0.1);
    transition: box-shadow 0.28s ease;
}

#zspx .con_div .list_01:hover .pic img,
#zspx .con_div .list_02:hover .pic img {
    box-shadow: 0 4px 12px rgba(96, 56, 17, 0.14);
}

/* 「了解详情」— 对齐首页 .more 实心按钮 */
.btn-more {
    display: inline-block;
    margin-top: 0;
    min-width: 96px;
    height: 28px;
    line-height: 28px;
    padding: 0 14px;
    background: #b36d41;
    border: none;
    border-radius: 3px;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.btn-more:hover {
    background: #603811;
    color: #ffffff !important;
    text-decoration: none !important;
    transform: translateY(-1px);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
}

/* ========== 详情页：内容直接落在米色画布上（对齐首页段面） ========== */
#wzy .con_div {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 8px 0 0 !important;
    margin: 0 !important;
}

#wzy .con_div h3,
#wzy .main .con_div h3 {
    text-align: center;
    margin: 8px 0 22px !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: none !important;
    color: #603811 !important;
    font-size: 28px !important;
    font-family: var(--font-display, "Noto Serif SC", "Source Han Serif SC", serif) !important;
    font-weight: 600 !important;
    letter-spacing: 2px;
    line-height: 1.35;
    text-wrap: balance;
}

#wzy .con_div h3::after,
#wzy .con_div h3::before {
    display: none !important;
}

#wzy .tp_info,
#wzy .con_div .tp_info {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 18px 28px;
    margin: 0 auto 20px !important;
    max-width: 820px;
    padding: 12px 0 !important;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #dac8a8 !important;
    background: transparent;
    color: #666;
    font-size: 14px;
}

#wzy .tp_info > div,
#wzy .con_div .tp_info > div {
    float: none !important;
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
}

#wzy .tp_info .yds,
#wzy .tp_info .yds .title,
#wzy .tp_info .yds .num {
    float: none !important;
    display: inline !important;
    width: auto !important;
    height: auto !important;
    line-height: inherit !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#wzy .tp_info .yds .title {
    margin-right: 4px !important;
    color: #875a3d;
}

#wzy .del_info,
#wzy .con_div .del_info {
    width: auto !important;
    max-width: 820px;
    margin: 0 auto !important;
    padding: 20px 24px 12px !important;
    border: none !important;
    border-radius: 0;
    background: linear-gradient(
        180deg,
        rgba(248, 245, 237, 0.55) 0%,
        rgba(248, 245, 237, 0.22) 50%,
        rgba(248, 245, 237, 0.06) 100%
    ) !important;
    box-shadow: none;
    font-size: 15px;
    line-height: 2;
    color: #333;
    font-family: var(--font-body, "Noto Sans SC", "Source Han Sans SC", sans-serif);
}

/* 配图：与课程概览标题卡同宽（内容区通栏） */
#wzy .del_info .pic {
    display: block !important;
    width: 100%;
    max-width: 100%;
    margin: 0 0 20px;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
}

#wzy .del_info .pic img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    object-fit: cover;
    object-position: center;
    border: 1px solid #d4c4a8;
    border-radius: 3px;
    background: #f8f5ed;
    box-shadow: 0 2px 8px rgba(96, 56, 17, 0.08);
}

#wzy .del_info p,
#wzy .con_div .del_info p {
    margin: 0 0 16px !important;
    color: #333 !important;
    font-size: 15px !important;
    line-height: 2 !important;
    text-indent: 2em;
}

#wzy .del_info p strong {
    color: #603811;
}

/* 课程概览 / 课程状态：保留现有小卡片，不改动 */
#wzy .del_info > p:first-of-type,
#wzy .del_info > p.overview-label {
    margin-top: 8px !important;
    padding: 12px 16px 12px 14px !important;
    border: none !important;
    border-left: 3px solid #be8853 !important;
    border-radius: 0 3px 3px 0;
    background: rgba(179, 109, 65, 0.06) !important;
    color: #603811 !important;
    font-size: 16px !important;
    font-weight: 600;
    text-indent: 0 !important;
    box-shadow: none !important;
}

#wzy .del_info > p:first-of-type strong,
#wzy .del_info > p.overview-label strong {
    color: #603811 !important;
    font-weight: 600;
}

/* 核心讲授 / 教学特色 / 阳宅阴宅等：同步课程概览标题卡（各课程页共用） */
#wzy .del_info p.section-label,
#wzy .del_info .content-list:not(.preview-box) > p:first-child {
    margin: 22px 0 14px !important;
    padding: 12px 16px 12px 14px !important;
    border: none !important;
    border-left: 3px solid #be8853 !important;
    border-radius: 0 3px 3px 0;
    background: rgba(179, 109, 65, 0.06) !important;
    color: #603811 !important;
    font-size: 16px !important;
    font-weight: 600;
    text-indent: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

#wzy .del_info p.section-label strong,
#wzy .del_info .content-list:not(.preview-box) > p:first-child strong {
    color: #603811 !important;
    font-weight: 600;
}

#wzy .del_info .content-list {
    margin: 8px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}

#wzy .del_info .content-list > p:not(:first-child) {
    text-indent: 0 !important;
    margin-bottom: 10px !important;
}

#wzy .del_info .content-list.preview-box {
    margin: 24px 0 !important;
    padding: 18px 0 !important;
    background: transparent !important;
    border: none !important;
    border-top: 1px solid #dac8a8 !important;
    border-bottom: 1px solid #dac8a8 !important;
    border-radius: 0 !important;
}

#wzy .del_info .content-list.preview-box > p:first-child {
    text-align: center;
    text-indent: 0 !important;
    color: #603811 !important;
    font-size: 17px !important;
    font-weight: 600;
    margin-bottom: 14px !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

/* 预约咨询：同步课程概览标题卡样式 */
#wzy .contact-box {
    margin-top: 28px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

#wzy .contact-box .contact-title,
#wzy .contact-box > p:first-child {
    margin: 0 0 14px !important;
    padding: 12px 16px 12px 14px !important;
    background: rgba(179, 109, 65, 0.06) !important;
    border: none !important;
    border-left: 3px solid #be8853 !important;
    border-radius: 0 3px 3px 0;
    color: #603811 !important;
    font-size: 16px !important;
    font-weight: 600;
    text-indent: 0 !important;
    line-height: 1.6 !important;
    box-shadow: none !important;
    outline: none !important;
}

#wzy .contact-box .contact-title strong,
#wzy .contact-box > p:first-child strong {
    color: #603811 !important;
}

#wzy .contact-box p {
    margin: 0 0 8px !important;
    color: #444 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    text-indent: 0 !important;
}

#wzy .contact-box p:last-child {
    margin-bottom: 0 !important;
}

#wzy .con_div .share {
    margin: 28px 0 0 !important;
    text-align: center;
}

/* ========== 响应式 ========== */
@media screen and (max-width: 992px) {
    #zspx .zs,
    #zspx .zs-1,
    #zspx .zs-2 {
        flex-direction: column !important;
    }

    #zspx .zs > img {
        width: 200px;
        max-width: 60%;
        margin: 0 auto 20px;
        flex: none;
        order: -1;
    }

    #zspx .zs ul {
        grid-template-columns: 1fr;
    }

    #zspx .con_div .list_01,
    #zspx .con_div .list_02,
    #zspx .main .main_in .con_div .list_01,
    #zspx .main .main_in .con_div .list_02 {
        flex-direction: column !important;
        padding: 20px !important;
    }

    #zspx .con_div .lsit ul {
        grid-template-columns: 1fr;
    }

    #zspx .con_div .pic,
    #zspx .main .main_in .con_div .pic {
        width: 100% !important;
        max-width: 360px;
        margin: 0 auto !important;
    }

    #zspx .con_div .pic img {
        max-height: 220px;
    }

    .training-title h2,
    #zspx .training-title > p {
        font-size: 24px;
    }

    #wzy .con_div {
        padding: 0 !important;
    }

    #wzy .tp_info,
    #wzy .con_div .tp_info,
    #wzy .del_info,
    #wzy .con_div .del_info {
        max-width: 100%;
        padding: 18px 16px !important;
    }

    #wzy .con_div h3 {
        font-size: 22px !important;
    }
}

@media screen and (max-width: 768px) {
    #zspx .main,
    #wzy .main {
        padding: 28px 0 48px !important;
    }

    #zspx .banner.article-banner,
    #wzy .banner.article-banner {
        height: 240px !important;
    }

    .training-title {
        margin-bottom: 22px;
    }

    .training-title h2,
    #zspx .training-title > p {
        font-size: 22px;
        letter-spacing: 0.05em;
    }

    #zspx .zs .box {
        padding: 20px;
    }

    #zspx .zs .name {
        font-size: 18px;
    }

    #zspx .con_div .l_txt h3 {
        font-size: 18px !important;
    }

    #wzy .contact-box {
        padding: 18px 16px;
    }

    #wzy .tp_info {
        gap: 10px 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #zspx .zs,
    #zspx .con_div .list_01,
    #zspx .con_div .list_02,
    #zspx .con_div .pic img,
    .btn-more {
        transition: none !important;
    }

    .btn-more:hover {
        transform: none;
    }
}
