/* ==========================================
   CSS重置和全局样式
   ========================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    /* 颜色变量 */
    --primary-red: #AD0800;
    --primary-red-dark: #8A0600;
    --tag-orange: #FFF3E6;
    --tag-orange-text: #D97706;
    --text-primary: #131313;
    --text-secondary: #666666;
    --text-light: #999999;
    --border-color: #E5E5E5;
    --border-red: #D32F2F;
    --bg-white: #FFFFFF;
    --bg-light: #F8F8F8;
    --card-red-bg: #C62828;

    /* 布局变量 */
    --page-width: 1443px;
    --content-width: 900px;
    --sidebar-width: 265px;
    --gap: 35px;
}

html,
body {
    width: 100%;
    height: 100%;
    font-family: 'Inter', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-primary);
    background: var(--bg-white);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
}

button {
    border: none;
    background: none;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.3s ease;
}

ul,
ol {
    list-style: none;
}

/* ==========================================
   顶部导航栏
   ========================================== */
.header {
    background: var(--bg-white);
    position: sticky;
    top: 0;
    z-index: 1000;
    filter: drop-shadow(0px 0px 11px rgba(215, 215, 215, 0.329));
}

.header-wrapper {
    display: flex;
    flex-direction: column;
}

/* PC端：顶部红色搜索栏隐藏，只显示白色导航栏 */
.header-top-bar {
    display: none;
}

.header-nav-bar {
    max-width: var(--page-width);
    margin: 0 auto;
    padding: 7px 121px;
    display: flex;
    align-items: center;
    gap: 30px;
    width: 100%;
    background: var(--bg-white);
}

.logo img {
    height: 32px;
    width: auto;
}

.nav-menu {
    display: flex;
    gap: 35px;
    align-items: center;
    margin-left: 100px;
}

.nav-link {
    font-size: 16px;
    font-weight: 400;
    color: #000000;
    font-family: 'PingFang SC', 'PingFangSC-Regular', 'Microsoft YaHei', sans-serif;
    padding: 8px 0;
    white-space: nowrap;
}

.nav-link:hover {
    color: var(--primary-red);
    font-weight: bold;
}

/* PC端搜索框放在导航栏右侧 */
.search-container {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}

.search-box {
    display: flex;
    align-items: center;
    background: linear-gradient(135deg, #ED6525 0%, #EA1D1D 24%, #B80D0D 100%);
    border-radius: 11px;
    width: 454px;
    height: 38px;
    padding: 2px;
    gap: 0;
    overflow: hidden;
}

.search-input {
    width: 376px;
    flex-shrink: 0;
    border: none;
    background: #FFFFFF;
    padding: 0 15px;
    font-size: 14px;
    outline: none;
    color: #000;
    border-radius: 10px;
    height: 100%;
    margin: 0;
}

.search-input::placeholder {
    color: #9F9B9B;
}

.search-btn {
    flex: 1;
    background: transparent;
    color: #FFFFFF;
    padding: 0;
    font-size: 15px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', sans-serif;
    white-space: nowrap;
    height: 100%;
    text-align: center;
}

/* 移动端课程列表PC端隐藏 */
.course-list-mobile {
    display: none !important;
}

/* PC端：显示大头像，隐藏小头像 */
.avatar-mobile {
    display: none;
}

.avatar-pc {
    display: block;
    width: 110px;
    height: 115px;
}

/* 导航栏头像 - PC端隐藏 */
.nav-avatar {
    display: none;
}

/* PC端搜索框显示，移动端搜索框隐藏 */
.pc-search {
    display: flex;
}

/* 底部固定按钮 - PC端隐藏 */
.mobile-fixed-btn {
    display: none;
}

/* 移动端logo - PC端隐藏 */
.mobile-logo {
    display: none;
}

/* ==========================================
   页面主容器
   ========================================== */
.page-wrapper {
    max-width: var(--page-width);
    margin: 0 auto;
    padding: 0 121px;
}

.main-container {
    display: flex;
    gap: var(--gap);
    padding-top: 20px;
    position: relative;
}

.content-left {
    width: var(--content-width);
    flex-shrink: 0;
}

.sidebar-right {
    width: var(--sidebar-width);
    flex-shrink: 0;
}

/* ==========================================
   讲师主卡片
   ========================================== */
.teacher-main-card {
    padding: 30px 0;
    margin-bottom: 40px;
    background: var(--bg-white);
}

.teacher-card-inner {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    justify-content: space-between;
}

.teacher-info-left {
    flex: 1;
}

.teacher-name {
    font-size: 28px;
    font-weight: 650;
    font-family: 'PingFang SC', 'PingFangSC-Semibold', 'Microsoft YaHei', sans-serif;
    color: var(--text-primary);
    margin-bottom: 10px;
}

.teacher-subtitle {
    font-size: 18px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', 'Microsoft YaHei', sans-serif;
    color: var(--text-primary);
    margin-bottom: 12px;
}

.teacher-experience {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', 'Microsoft YaHei', sans-serif;
    color: var(--text-primary);
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.teacher-experience .divider {
    color: var(--border-color);
}

.teacher-intro-text {
    font-size: 15px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', 'Microsoft YaHei', sans-serif;
    color: var(--text-secondary);
    line-height: 1.8;
    margin-bottom: 15px;
}

.teacher-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.teacher-tags::-webkit-scrollbar {
    display: none;
}

.tag-badge {
    display: inline-block;
    background: linear-gradient(90deg, #FFEEE5 0%, #FFECEB 26%, #FFE8E5 100%);
    border: 1px solid rgba(255, 232, 232, 1);
    color: var(--text-primary);
    padding: 0 12px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', sans-serif;
    height: 24px;
    line-height: 24px;
    white-space: nowrap;
    flex-shrink: 0;
}

.btn-invite {
    background: linear-gradient(135deg, #B80D0D 0%, #EA1D1D 76%, #ED6525 100%);
    color: #FFFFFF;
    width: 223px;
    height: 33px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', sans-serif;
    border: none;
    cursor: pointer;
}

.btn-invite:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.teacher-avatar-right {
    flex-shrink: 0;
    width: 225px;
    height: 225px;
    border-radius: 16px;
    overflow: hidden;
    border: none;
    background: transparent;
}

.has-png-avatar {
    position: relative;
    overflow: hidden;
}

.has-png-avatar::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    /* 跟随外层容器圆角（PC/移动端都一致） */
    padding: 5px;
    background: linear-gradient(to bottom, #ffd7c5 0%, #ffe9d1 41%, #fff3e5 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: destination-out;
    mask-composite: exclude;
    pointer-events: none;
    z-index: 3;
}

.teacher-avatar-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}

/* ==========================================
   通用区块样式
   ========================================== */
.section {
    margin-bottom: 50px;
}

.section-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 10px;
}

.title-line {
    width: 100%;
    height: 1px;
    background: var(--primary-red);
    margin-bottom: 20px;
}

.section-text {
    font-size: 15px;
    color: #000000;
    line-height: 30px;
}

/* ==========================================
   课程列表
   ========================================== */
.courses-section {
    margin-bottom: 50px;
}

.course-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.course-item {
    background: rgba(255, 251, 251, 1);
    border: 1px solid rgba(255, 237, 226, 1);
    border-radius: 10px;
    padding: 19px 15px 15px 13px;
    transition: all 0.3s ease;
    position: relative;
    width: 100%;
    height: 131px;
    box-sizing: border-box;
    overflow: hidden;
}

.course-item:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.course-name {
    font-size: 18px;
    font-weight: 500;
    font-family: 'PingFang SC', 'PingFangSC-Medium', 'Microsoft YaHei', sans-serif;
    color: #000000;
    margin-bottom: 0;
    line-height: 25px;
    height: 25px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    cursor: pointer;
}

.course-name:hover {
    text-decoration: underline;
    color: #AD0800;
}

.course-intro {
    font-size: 14px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', 'Microsoft YaHei', sans-serif;
    color: #888888;
    line-height: 20px;
    height: 20px;
    margin-top: 11px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.course-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 11px;
    border-top: none;
    padding-top: 0;
}

.teacher-mini {
    display: flex;
    align-items: center;
    gap: 8px;
}

.teacher-mini-avatar {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    flex-shrink: 0;
}

.teacher-mini-info {
    display: flex;
    flex-direction: row;
    gap: 6px;
    align-items: center;
}

.teacher-mini-name {
    font-size: 15px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', sans-serif;
    color: #000000;
    line-height: 21px;
    white-space: nowrap;
}

.teacher-mini-title {
    font-size: 14px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', sans-serif;
    color: #888888;
    line-height: 20px;
    white-space: nowrap;
}

/* 培训咨询按钮 */
.btn-consult {
    background: linear-gradient(135deg, #B80D0D 0%, #F22121 100%);
    background-size: 200% 100%;
    background-position: left center;
    color: #FFFFFF;
    width: 68px;
    height: 28px;
    font-size: 13px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', sans-serif;
    border: none;
    cursor: pointer;
    border-radius: 8px;
    flex-shrink: 0;
    align-self: center;
    transition: background-position 0.3s ease;
}

.btn-consult:hover {
    background-position: right center;
    opacity: 1;
}

.btn-consult:hover {
    opacity: 0.85;
}

.view-more {
    display: inline-block;
    color: #000000;
    font-size: 18px;
    font-weight: 700;
}

.view-more:hover {
    color: #E00F0F;
    text-decoration: none;
}

/* ==========================================
    右侧微信卡片
   ========================================== */
.sidebar-right {
    position: sticky;
    top: 113px;
    height: fit-content;
}

.wechat-card {
    width: 265px;
    border-radius: 16px;
    overflow: visible;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
    position: relative;
}

/* 上半部分红色背景 - 高153px */
.wechat-card-top {
    position: relative;
    border-radius: 16px 16px 0 0;
    padding: 21px 21px 0;
    height: 153px;
    box-sizing: border-box;
    overflow: hidden;
    background: #C62828;
}

.wechat-card-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 265px;
    height: 153px;
    display: block;
}

.wechat-title {
    font-size: 20px;
    font-weight: 400;
    font-family: 'Arial', sans-serif;
    color: #FFFFFF;
    margin-bottom: 8px;
    position: relative;
    z-index: 1;
}

.wechat-tip {
    font-size: 14px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', sans-serif;
    color: #FFFFFF;
    line-height: 1.4;
    position: relative;
    z-index: 1;
}

/* 二维码跨越红白两区域 */
.wechat-qrcode-wrap {
    position: relative;
    z-index: 2;
    width: 190px;
    height: 189px;
    margin: -60px auto 0;
}

.wechat-qrcode-img {
    width: 190px;
    height: 189px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

/* 下半部分白色背景 */
.wechat-card-bottom {
    background: #FFFFFF;
    border-radius: 0 0 16px 16px;
    padding: 15px 21px 20px;
    box-sizing: border-box;
    text-align: center;
}

.wechat-note {
    font-size: 14px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', sans-serif;
    color: #131313;
    text-align: center;
    white-space: nowrap;
}

/* ==========================================
   底部
   ========================================== */
.footer {
    background: #000000;
    padding: 50px 0 30px;
    margin-top: 80px;
}

.footer-content {
    max-width: var(--page-width);
    margin: 0 auto;
    padding: 0 121px;
}

.footer-intro {
    margin-bottom: 15px;
}

.footer-intro p {
    font-size: 14px;
    color: #7D7D7D;
    line-height: 1.8;
}

.footer-divider {
    width: 100%;
    height: 1px;
    background: #333333;
    margin-bottom: 20px;
}

.footer-section-block {
    margin-bottom: 20px;
}

.footer-section-title {
    font-size: 14px;
    font-weight: bold;
    color: #908F8F;
    font-family: 'PingFang SC', 'PingFangSC-Regular', sans-serif;
    margin-bottom: 12px;
}

.footer-tags-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.footer-tag {
    font-size: 14px;
    color: #908F8F;
    font-family: 'PingFang SC', 'PingFangSC-Regular', sans-serif;
    cursor: pointer;
    transition: color 0.2s ease;
    margin-right: 30px;
    margin-bottom: 8px;
}

.footer-tag:hover {
    color: #ffffff;
}

.footer-desc {
    font-size: 13px;
    color: #908F8F;
    line-height: 1.8;
    margin-bottom: 8px;
}

.footer-bottom {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 23px;
    padding-top: 20px;
    max-width: var(--page-width);
    margin: 0 auto;
    padding-left: 121px;
    padding-right: 121px;
}

.footer-bottom p {
    font-size: 14px;
    color: #7D7D7D;
    margin-bottom: 0;
}

.footer-copyright {
    text-align: left;
}

.footer-beian {
    text-align: left;
    white-space: nowrap;
}

.beian-icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    vertical-align: middle;
    margin: 0 4px;
}

/* ==========================================
    培训咨询弹窗
   ========================================== */
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 2000;
    align-items: center;
    justify-content: center;
}

.modal-overlay.active {
    display: flex;
}

.modal-box {
    position: relative;
    width: 265px;
    border-radius: 16px;
    overflow: visible;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
}

.modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 24px;
    height: 24px;
    background: rgba(255, 255, 255, 0.3);
    color: #fff;
    border-radius: 50%;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    border: none;
    line-height: 1;
}

.modal-close:hover {
    background: rgba(255, 255, 255, 0.5);
}

.modal-box {
    position: relative;
    width: 265px;
    border-radius: 16px;
    overflow: visible;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
    background: #fff;
}

.modal-top {
    position: relative;
    height: 153px;
    padding: 21px 21px 0;
    box-sizing: border-box;
    overflow: hidden;
    background: #C62828;
    border-radius: 16px 16px 0 0;
}

.modal-card-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 265px;
    height: 153px;
    display: block;
}

.modal-title {
    font-size: 20px;
    font-weight: 400;
    font-family: 'Arial', sans-serif;
    color: #FFFFFF;
    margin-bottom: 8px;
    position: relative;
    z-index: 1;
}

.modal-tip {
    font-size: 14px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', sans-serif;
    color: #FFFFFF;
    line-height: 1.4;
    position: relative;
    z-index: 1;
}

.modal-qrcode-wrap {
    position: relative;
    z-index: 2;
    width: 190px;
    height: 189px;
    margin: -60px auto 0;
}

.modal-qrcode-img {
    width: 190px;
    height: 189px;
    object-fit: cover;
    border-radius: 16px;
    display: block;
}

.modal-bottom {
    background: #fff;
    padding: 15px 21px 20px;
    text-align: center;
    border-radius: 0 0 16px 16px;
}

.modal-note {
    font-size: 14px;
    font-weight: 400;
    font-family: 'PingFang SC', 'PingFangSC-Regular', sans-serif;
    color: #131313;
    text-align: center;
    white-space: nowrap;
}

@media (max-width: 1200px) {

    .header-nav-bar,
    .page-wrapper,
    .footer-content,
    .footer-bottom {
        padding-left: 40px;
        padding-right: 40px;
    }

    .main-container {
        flex-direction: column;
    }

    .content-left {
        width: 100%;
    }

    .sidebar-right {
        width: 100%;
        position: static;
    }

    .wechat-card {
        max-width: 400px;
        margin: 0 auto;
    }

    .course-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 底部面包屑导航 */
.breadcrumb-bottom {
    width: 100%;
    max-width: 900px;
    height: 34px;
    background: linear-gradient(90deg, #fff1ea 0%, rgba(245, 226, 225, 0.27) 27%, rgba(253, 230, 224, 0.36) 100%);
    border-radius: 10px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    gap: 8px;
    margin-top: 40px;
    font-size: 14px;
    font-family: 'PingFang SC', 'PingFangSC-Regular', sans-serif;
    font-weight: 400;
    box-sizing: border-box;
}

.bc-label {
    color: #131313;
}

.bc-link {
    color: #131313;
    text-decoration: none;
}

.bc-link:hover {
    color: var(--primary-red);
}

.bc-sep {
    color: #131313;
}

.bc-current {
    color: #131313;
    font-weight: 500;
}

/*  ===== 2026.03.19 分类页面  ===== */

.breadcrumb-top,
.breadcrumb-top a {
    color: #A3A2A2;
    font-size: 14px;
}

.breadcrumb-top a:hover {
    color: var(--primary-red);
    text-decoration: underline;
}


/* 搜索 */
.search-mid {
    display: flex;
    justify-content: space-between;
    margin-top: 15px;
}

.search-mid-l {
    width: 698px;
    height: 46px;
    padding: 2px;
    border-radius: 16px;
    /* background: linear-gradient(to right, #B80D0D, #EA1D1D, #ED6525); */
    background: linear-gradient(to right, #B80D0D, #EA1D1D);
    display: flex;
    overflow: hidden;
    justify-content: space-between;
}

.search-mid-l input[type=text],
.search-mid-l input[type=search] {
    -webkit-appearance: none;
    appearance: none;
    width: 584px;
    height: 100%;
    border-radius: 14px;
    border: none;
    background-color: #fff;
    padding-left: 12px;
    font-size: 15px;
}

.search-mid-l input[type=text]::placeholder,
.search-mid-l input[type=search]::placeholder {
    font-size: 14px;
    color: #9fa19f;
}

.search-mid-l input[type=text]:focus,
.search-mid-l input[type=search]:focus {
    outline: none;
}

.search-mid-l button {
    flex: 1;
    font-size: 18px;
    color: #fff;
}

/* .search-mid-l:hover {
    background: linear-gradient(to left, #c21010, #ea1e1d);
} */

.search-mid-r {
    flex: 1;
    margin-left: 15px;
    font-size: 18px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 16px 16px 0 16px;
    background: linear-gradient(to right, #e8273e, #ed6127);
}

.search-mid-r:hover {
    background: linear-gradient(to right, #ed6127, #e8273e);
}

/* 热门主题 */
.hot {
    margin-top: 12px;
    display: flex;
    align-items: center;
}

.hot a {
    display: inline-block;
    margin-right: 10px;
}

.hot a:hover {
    color: var(--primary-red);
    text-decoration: underline;
}

/* 分类选择 */
.category-card {
    width: 100%;
    max-width: 900px;
    margin-top: 12px;
    background: linear-gradient(to right, #fffaf6, #fdf4ed);
    border: 1px solid #fbe6e5;
    border-radius: 10px;
    padding: 12px;
    transition: all 0.2s;
}

.filter-section {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* 每一行 = 一级分类 + 二级分类容器 */
.filter-row-all {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.filter-row-all::-webkit-scrollbar {
    display: none;
}

/* 一级分类标题 (左侧) */
.primary-cat-title {
    width: 80px;
    font-weight: 600;
    padding: 2px 0;
    color: #000;
    text-align: center;
    border-radius: 8px;
    background: linear-gradient(to right, #ffe3df, #fef4ec);
}

/* 二级分类整体容器 */
.secondary-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    flex: 1;
    margin-left: 10px;
    color: #000;
}

/* 二级分类的每个可选项 */
.sec-item {
    font-size: 15px;
    font-weight: normal;
    color: #3c3a4a;
    padding: 4px 2px;
    cursor: default;
    transition: color 0.15s ease, text-decoration 0.1s;
    text-decoration: none;
    line-height: 1.5;
    border-bottom: 2px solid transparent;
    position: relative;
    cursor: pointer;
}

/* 鼠标经过 (hover) 颜色变红 + 下划线 */
.sec-item:hover {
    color: #AD0800 !important;
    text-decoration: underline;
    text-decoration-color: #AD0800;
    text-underline-offset: 5px;
    text-decoration-thickness: 1px;
    font-weight: bold;
}

/* 点击后 (active 类) 颜色变红 + 下划线 + 加粗 —— 模拟选中效果 */
.sec-item.active {
    color: #FF1B1B !important;
    text-decoration: underline;
    text-decoration-color: #FF1B1B;
    text-underline-offset: 5px;
    text-decoration-thickness: 3px;
    font-weight: bold;
}

/* 为了保证效果图一致性，将“全部”设为默认active（第一个分类） */
.sec-item.active-first {
    color: #FF1B1B;
    text-decoration: underline;
    text-decoration-color: #FF1B1B;
    text-underline-offset: 5px;
    text-decoration-thickness: 1px;
    font-weight: bold;
}

/* 小点缀：一级分类和右侧的间距适配窄屏 */
@media (max-width: 700px) {
    .filter-row {
        flex-wrap: wrap;
        gap: 8px 20px;
    }

    .primary-cat {
        min-width: 100%;
        border-bottom: 1px dashed #cdc3d9;
        padding-bottom: 6px;
        margin-bottom: 4px;
    }
}

.secondary-list .sec-item {
    white-space: nowrap;
    /* 防止数字/词语换行，保持一行 */
}

/* 筛选区使用 <a class="sec-item"> 时与 span 视觉一致 */
.secondary-list a.sec-item {
    color: inherit;
    text-decoration: none;
}

/* 选中态需覆盖上面的 text-decoration，保证下划线显示 */
.secondary-list a.sec-item.active {
    text-decoration: underline !important;
    text-decoration-color: #FF1B1B;
    text-underline-offset: 5px;
    text-decoration-thickness: 2px;
}

/* 想让一级分类也有淡淡的装饰，仿效果图极简风格 */
.primary-cat {
    position: relative;
}

.primary-cat::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 24px;
    height: 2px;
    background: #b0a2c0;
    opacity: 0.3;
    border-radius: 2px;
}

/* 为了更接近原图，干脆去掉，只保留文字本身 */
.primary-cat::after {
    display: none;
}

/* 培训专家 */
.training {
    display: flex;
    align-items: center;
    margin-top: 20px;
    padding-bottom: 3px;
    border-bottom: 1px solid #e0e0e0;
}

.training::-webkit-scrollbar {
    display: none;
}

.training h1 {
    position: relative;
    font-size: 20px;
}

.training h1::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 82px;
    height: 6px;
    background: linear-gradient(to right, #ba0e0e, #f22121);
}

.training h2 {
    position: relative;
}

.training h2::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 82px;
    height: 6px;
    background: linear-gradient(to right, #ba0e0e, #f22121);
}

.training h3 {
    position: relative;
}

.training h3::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 82px;
    height: 6px;
    background: linear-gradient(to right, #ba0e0e, #f22121);
}

.training span {
    font-size: 21px;
    font-weight: bold;
}

.training .result-count {
    margin-left: 15px;
    font-style: normal;
    color: #747474;
}

.introduce {
    margin-top: 10px;
    color: #6b6666;
}

/* 移动端：与 PC 行数一致，每行过长时可横向滑动 */
.introduce-mobile {
    display: none;
}

@media (max-width: 768px) {
    .introduce {
        min-width: 0;
    }

    .introduce-desktop {
        display: none;
    }

    .introduce-mobile {
        display: flex;
        flex-direction: column;
        gap: 8px;
        width: 100%;
        font-size: 14px;
        line-height: 1.5;
    }

    .introduce-mobile-line {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        white-space: nowrap;
        min-width: 0;
        width: 100%;
        padding-bottom: 2px;
        scrollbar-width: none;
        /* Firefox */
        -ms-overflow-style: none;
        /* IE/Edge */
    }

    .introduce-mobile-line::-webkit-scrollbar {
        display: none;
        /* Chrome / Safari */
    }
}

.card_training {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(440px, 1fr));
    gap: 15px;
    margin-top: 15px;
    box-sizing: border-box;
}

.card_training .card {
    overflow: hidden;
    box-sizing: border-box;
    padding: 12px;
    border-radius: 10px;
    border: 1px solid #ffede2;
    background: #fffbfb;
}

.card_training .card .card_img {
    float: left;
    width: 85px;
    height: 85px;
    margin-right: 12px;
    border-radius: 12px;
    overflow: hidden;
}

.card_training .card .card_text {
    position: relative;
    overflow: hidden;
    margin-left: 0;
    min-width: 0;
    /* 头像 85px 后，右侧文字区域占满剩余空间，多显示内容 */
    width: calc(100% - 97px);
}

.card_list {
    display: flex;
    align-items: center;
    color: #6f6f6f;
}

.card_training .card .card_text h3 {
    font-size: 1.4em;
    font-weight: 500;
    transition: color 0.2s ease;
}

.card_training .card .card_text h3:hover {
    color: #AD0800;
}

.card_list li {
    line-height: 26px;
}

.card_list li:nth-child(1) {
    width: 70px;
}

.card_list li:nth-child(2) {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.card_position {
    position: absolute;
    top: 4px;
    right: 0px;
    width: 70px;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.card_position img {
    margin-right: 5px;
    width: 18px;
    height: 18px;
}

/* Pages */
.pages_pc,
.pages_mobile {
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.pages_pc a,
.pages_mobile a {
    padding: 8px 15px;
    border-radius: 10px;
    border: 1px solid #797979;
    box-sizing: border-box;
    min-width: 40.41px;
    text-align: center;
}

.pages_pc a:hover,
.pages_mobile a:hover {
    color: var(--primary-red);
    border: 1px solid var(--primary-red);
}

.page-jump-box {
    display: inline-flex;
    align-items: center;
    padding: 8px 8px;
    border-radius: 10px;
    border: 1px solid #797979;
    gap: 5px;
    box-sizing: border-box;
}

.page-jump-box:hover,
.page-jump-box:focus-within {
    border-color: var(--primary-red);
}

.page-jump-box:hover .page-jump-link {
    color: var(--primary-red);
}

.page-jump-divider {
    color: #797979;
    user-select: none;
    line-height: 1;
}

.page-jump-input {
    width: 34px;
    min-width: 0;
    flex: 0 0 34px;
    padding: 0;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: inherit;
    line-height: 1.4;
    text-align: center;
    box-sizing: border-box;
}

.page-jump-input:focus {
    outline: none;
}

.page-jump-input::placeholder {
    color: #999;
}

.pages_pc .page-jump-box a.page-jump-link {
    padding: 0;
    border: none;
    border-radius: 0;
    min-width: auto;
    text-align: left;
}

.pages_pc .page-jump-box a.page-jump-link:hover {
    border: none;
}

.pages_mobile {
    display: none;
}

/* 主题 */
.theme {
    margin-top: 50px;
    margin-bottom: 50px;
}

.theme h2 {
    font-size: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ad0800;
    font-size: 18px;
}

.theme h3 {
    font-size: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ad0800;
    font-size: 18px;
}

.theme h4 {
    font-size: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ad0800;
    font-size: 18px;
}

.theme p {
    margin-top: 12px;
}

.theme_tag {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
}

.theme_tag span {
    padding: 6px 15px;
    border-radius: 10px;
    background-color: #fef1eb;
}

.theme_tag span:hover {
    color: #fff;
    background-color: #cc0000;
}

.theme-more-link {
    display: inline-block;
    margin-top: 18px;
    font-size: 15px;
    font-weight: 600;
    color: #000;
    text-decoration: none;
}

.theme-more-link:hover {
    color: #F01616;
}

/* 「了解 XX 培训内容」小模块 */
.theme-content-block {
    margin-top: 50px;
    padding-top: 20px;
    border-top: 1px solid #ffd7ca;
}

.theme-content-title {
    font-size: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ad0800;
}

.theme-content-desc {
    margin-top: 12px;
    color: #444;
    font-size: 15px;
    line-height: 1.7;
}


.expert {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #ffd7ca;
}

.expert h2 {
    font-size: 18px;
}

.expert p {
    margin-top: 10px;
}

.expert_list p {
    margin-top: 2px;
    margin-left: 12px;
}

.expert_list p span {
    font-size: 20px;
    margin-right: 5px;
}

.mt15 {
    margin-top: 15px;
}

.bread_bottom {
    display: none;
}

/* 2023.04.06 */
.training_card {
    background: #fef5ee;
    border: 1px solid #ead6c9;
    border-radius: 20px;
    padding: 15px 15px 24px 15px;
    margin-top: 15px;
}

.training_card h1 {
    font-size: 28px;
}

.training_card p {
    line-height: 26px;
    margin-top: 8px;
}

.training_link {
    padding: 4px 40px;
    color: #fff;
    display: inline-block;
    border-radius: 10px;
    cursor: pointer;
    background: linear-gradient(to right, #c00f0f, #eb2a1f);
}

.training_link:hover {
    background: linear-gradient(to right, #eb201e, #e51c1c);
}


.questions {
    margin-top: 30px;
    font-size: 15px;
}

.questions h2 {
    margin-bottom: 15px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ad0800;
}

.questions>h3 {
    font-size: 17px;
    margin-top: 20px;
}

.questions h4 {
    font-size: 17px;
    font-weight: normal;
}

.qaList {
    margin-top: 10px;
    list-style: disc;
    padding-left: 40px;
    line-height: 26px;
}

.questions p {
    margin-top: 6px;
}

.questions p.mt20 {
    margin-top: 20px;
}

/* 热门供应链管理培训课程 */
.card-grid {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 18px;
    /* 行间距28px，列间距24px */
    margin-bottom: 15px;
}

/* 卡片样式完全符合设计 */
.course-card {
    background-color: #fffbfb;
    border: 1px solid #ffede2;
    border-radius: 10px;
    padding: 20px 15px 15px 12px;
    display: flex;
    flex-direction: column;
    height: 100%;
}


/* 大标题 h3 */
.course-card h3 {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    color: #2c2b2b;
    margin-bottom: 10px;
    letter-spacing: -0.2px;
}

.course-card h3:hover {
    color: #b50800;
    text-decoration: underline;
}

/* 灰色介绍文字 */
.course-desc {
    color: #868686;
    font-size: 0.95rem;
    line-height: 1.45;
    margin-bottom: 12px;
    font-weight: 400;
}

/* 人物信息区域: 左边图像 + 右侧姓名+职位灵活布局 */
.instructor {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    flex-wrap: wrap;
}

/* 头像容器: 圆形图像 */
.avatar {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    background: #fce8dc;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 人物右侧信息容器 (姓名+职位) */
.instructor-info {
    flex: 1;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6px 12px;
}

/* 讲师姓名 */
.instructor-name {
    font-size: 16px;
    color: #2e2a28;
    letter-spacing: 0.3px;
}

.instructor-name:hover {
    color: #b50800;
    text-decoration: underline;
}

/* 职位: 放在姓名的右边 */
.instructor-title {
    font-size: 0.85rem;
    color: #a17a6a;
    background: #fff1ea;
    padding: 4px 10px;
    border-radius: 30px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    display: inline-block;
}

/* 为了在姓名右边且能够灵活换行：利用flex，让职位自然跟在姓名右侧或者换行右对齐 */
/* 保持紧凑但优雅，职位始终在姓名旁边 */
.name-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
}

/* 调整 instructor-info 内部细节 */
.instructor-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.name-wrapper {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

/* 右侧职位默认在姓名右边(同行) 小屏下若宽度不足则换行 */
.instructor-name {
    font-size: 1rem;
    color: #2e2a28;
}

.instructor-tit {
    font-size: 14px;
    color: #868686;
    white-space: nowrap;
}

.qaLink {
    margin-top: 10px;
    display: inline-block;
    color: #ad0800;
    font-size: 16px;
}

.qaLink:hover {
    color: #ee184c;
    font-weight: bold;
}

.qaLink a {
    text-decoration: underline;
}

.theme_list {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 15px;
}

/* 覆盖全局 a 的 color transition：渐变 background 无法与 color 同步插值，会出现背景已变、文字仍在过渡的错位感 */
.theme_list a {
    padding: 4px 15px;
    border-radius: 8px;
    background: #fff2f0;
    transition: none;
}

.theme_list a:hover {
    color: #fff;
    background: linear-gradient(to right, #ec1f1f, #cd1818);
}

.lingyu {
    display: flex;
    align-items: center;
    margin-top: 12px;
    gap: 15px;
}

.lingyu a {
    padding: 12px 40px 12px 15px;
    border-radius: 13px;
    border: 1px solid #ffe8e8;
    background: #fff8f6;
    transition: none;
}

.lingyu a span {
    color: #626262;
    transition: none;
}

.lingyu a:hover {
    color: #fff;
    border: 1px solid transparent;
    background: linear-gradient(to right, #ea201d, #ec3f21);
}

.lingyu a:hover span {
    color: #fff;
}



.card_teacher {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(440px, 1fr));
    gap: 15px;
    margin-top: 15px;
    box-sizing: border-box;
}

.card_teacher .card {
    overflow: hidden;
    box-sizing: border-box;
    padding: 12px;
    border-radius: 10px;
    border: 1px solid #ffede2;
    background: #fffbfb;
}

.card_teacher .card .card_img {
    float: left;
    width: 100px;
    height: 100px;
    margin-right: 12px;
    border-radius: 12px;
    overflow: hidden;
}

.card_teacher .card .card_text {
    position: relative;
    overflow: hidden;
    margin-left: 0;
    min-width: 0;
    /* 头像 85px 后，右侧文字区域占满剩余空间，多显示内容 */
    width: calc(100% - 112px);
}

.card_list {
    display: flex;
    align-items: center;
}

.card_list.color {
    color: #131313;
}

.card_teacher .card .card_text h3 {
    font-size: 1.4em;
    font-weight: 500;
    transition: color 0.2s ease;
}

.card_teacher .card .card_text h3:hover {
    color: #AD0800;
}

.card_teacher .card_list li {
    line-height: 26px;
}

.card_teacher .card_list li:nth-child(1) {
    width: 76px;
}

.card_teacher .card_list li:nth-child(2) {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}


/* 2026.04.13 */
.topic-header {
    background: #fef5ee;
    border: 1px solid #ead6c9;
    border-radius: 20px;
    padding: 15px 15px 24px 15px;
    margin-top: 15px;
}

.topic-header h1 {
    font-size: 28px;
}

.topic-header-link {
    padding: 4px 25px;
    color: #fff;
    display: inline-block;
    border-radius: 10px;
    margin-top: 15px;
    cursor: pointer;
    background: linear-gradient(to right, #c00f0f, #eb2a1f);
}

.topic-header-link:hover {
    background: linear-gradient(to right, #eb201e, #e51c1c);
}

.mt10 {
    margin-top: 10px;
}

/* 核心培训主题方向 */
.topic-core {
    margin-top: 30px;
}

.topic-core h2 {
    margin-bottom: 15px;
    padding-bottom: 8px;
    font-size: 20px;
    border-bottom: 1px solid #ad0800;
}

.topic-core .topic-tags {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 25px;
}

.topic-core .topic-tags li {
    flex: 1;
}

.topic-core .topic-tags li a {
    display: block;
    text-align: left;
    padding: 16px 12px;
    font-size: 15px;
    border-radius: 10px;
    border: 1px solid #eee5e5;
    background: linear-gradient(to right, #fffdfb, #fff6f6, #fff8f2);
}

.topic-core .topic-tags li a:hover {
    color: #ee1818;
    text-decoration: underline;
}


/* 全部培训主题 */
.topic-list {
    margin-top: 70px;
}

.topic-list h2 {
    margin-bottom: 15px;
    padding-bottom: 8px;
    font-size: 20px;
    border-bottom: 1px solid #ad0800;
}

.topic-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(48%, 1fr));
    gap: 30px;
}

.topic-item h3 {
    font-size: 18px;
}

.topic-item h3 a:hover {
    color: #ee1818;
    text-decoration: underline;
}

.topic-item p {
    margin-top: 6px;
}

.topic-item>a {
    display: block;
    margin-top: 15px;
    font-size: 15px;
    color: #ee1818;
}

.topic-item>a:hover {
    font-weight: bold;
}

/* 推荐讲师 */
.expert-list {
    margin-top: 70px;
}

.expert-list h2 {
    margin-bottom: 15px;
    padding-bottom: 8px;
    font-size: 20px;
    border-bottom: 1px solid #ad0800;
}

.expert-items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(48%, 1fr));
    gap: 20px;
    margin-top: 18px;
}

.expert-items .expert-card {
    overflow: hidden;
    padding: 15px;
    border: 1px solid #fff0e6;
    border-radius: 13px;
    background: #fffbfb;
}

.expert-items .expert-card .expert-card-inner {
    display: flex;
}

.expert-items .expert-card .expert-avatar img {
    width: 118px;
    height: 118px;
    border-radius: 10px;
    overflow: hidden;
    display: block;
}

.expert-items .expert-card .expert-info {
    margin-left: 15px;
}

.expert-items .expert-card .expert-info h3 {
    font-size: 18px;
    margin: 0;
    font-weight: bold;
}

.expert-items .expert-card .expert-info h3 a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.expert-items .expert-card .expert-info h3 a:hover {
    color: #ee1818;
    text-decoration: underline;
}

.expert-items .expert-card .expert-info p {
    color: #696969;
    font-size: 15px;
    margin-top: 4px;
}

/* 「查看详情」与「查看主题」(.topic-item>a) 一致：默认红色，hover 加粗，无下划线 */
.expert-items .expert-card .expert-detail-link {
    display: block;
    font-size: 15px;
    margin-top: 4px;
    color: #ee1818;
    text-decoration: none;
}

.expert-items .expert-card .expert-detail-label,
.expert-items .expert-card .expert-detail-arrow {
    text-decoration: none;
    display: inline;
    color: inherit;
}

.expert-items .expert-card .expert-detail-link:hover {
    font-weight: bold;
}

/* ==========================================
响应式设计 - 手机端 (<768px)
   ========================================== */
@media (max-width: 768px) {

    /* 返回顶部按钮手机端隐藏 */
    #gotop-btn {
        display: none !important;
    }

    /* 导航栏固定在顶部 */
    .header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        width: 100%;
        padding: 0;
        margin: 0;
        box-shadow: none;
    }

    .header-wrapper {
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin: 0;
    }

    /* 顶部搜索栏：白色背景 */
    .header-top-bar {
        display: flex;
        align-items: center;
        background: #FFFFFF;
        padding: 8px 10px;
        width: 100%;
        box-sizing: border-box;
    }

    .search-container {
        display: flex;
        flex: 1;
        width: 100%;
    }

    /* 搜索框外框：渐变红色，圆角13px，高44px */
    .search-box {
        width: 100%;
        background: linear-gradient(135deg, #b80d0d 0%, #ea1d1d 85%, #ed6525 100%);
        border-radius: 13px;
        height: 44px;
        display: flex;
        align-items: center;
        padding: 2px;
        gap: 0;
        overflow: hidden;
    }

    /* 白色内凹区域：四个角都是圆角11px */
    .search-inner {
        flex: 1;
        display: flex;
        align-items: center;
        background: #FFFFFF;
        border-radius: 11px;
        height: 100%;
        padding: 0 8px;
        gap: 6px;
        min-width: 0;
        overflow: hidden;
    }

    .mobile-logo {
        display: block;
        height: 20px;
        width: 20px;
        flex-shrink: 0;
        border-radius: 4px;
        object-fit: cover;
    }

    .search-input {
        flex: 1;
        background: transparent;
        border: none;
        outline: none;
        padding: 0;
        font-size: 16px;
        color: #000;
        height: 100%;
        min-width: 0;
        width: auto;
    }

    .search-input::placeholder {
        color: #C2BFBF;
        font-size: 16px;
    }

    /* 搜索按钮：固定68px，白色文字 */
    .search-btn {
        flex: 0 0 68px;
        background: transparent;
        color: #fff;
        padding: 0;
        font-size: 13px;
        font-weight: 400;
        height: 100%;
        text-align: center;
        white-space: nowrap;
    }

    /* PC端搜索框隐藏 */
    .pc-search {
        display: none;
    }

    /* 白色导航栏 */
    .header-nav-bar {
        max-width: 100%;
        width: 100%;
        margin: 0;
        padding: 0 13px;
        gap: 0;
        justify-content: flex-start;
        box-sizing: border-box;
        /* border-bottom: 1px solid #E5E5E5; */
    }

    /* 隐藏logo */
    .logo {
        display: none;
    }

    .nav-menu {
        display: flex;
        flex-direction: row;
        position: static;
        box-shadow: none;
        padding: 0;
        gap: 0;
        margin-left: 0;
        flex-shrink: 0;
        width: 100%;
        justify-content: space-between;
    }

    .nav-link {
        font-size: 15px;
        font-weight: 400;
        color: #000000;
        white-space: nowrap;
        padding: 10px 0;
    }

    /* 移动端头像行 - 不需要 */
    .mobile-avatar-bar {
        display: none;
    }

    /* 页面内容顶部留出导航栏高度 */
    .page-wrapper {
        padding: 0 13px;
        margin-top: 92px;
        position: relative;
    }

    /* 头像：绝对定位到右上角，紧贴导航栏下方，与合作联系对齐 */
    .teacher-avatar-right {
        position: absolute;
        top: 18px;
        /* 往下移一点，避免贴近导航栏 */
        right: 13px;
        width: 70px;
        height: 70px;
        flex-shrink: 0;
        border: none;
        border-radius: 15px;
        background: transparent;
        overflow: hidden;
        /* 头像圆角裁切 */
    }

    /* 移动端头像边框更细：由渐变伪元素 padding 控制 */
    .has-png-avatar::after {
        padding: 2px;
    }

    .avatar-pc {
        display: none !important;
    }

    .avatar-mobile {
        display: block;
        width: 70px;
        height: 70px;
        object-fit: cover;
        border-radius: 15px;
    }

    .main-container {
        flex-direction: column;
        padding-top: 0;
        gap: 0;
    }

    /* ---- 讲师主卡片 ---- */
    .teacher-main-card {
        padding: 25px 0 10px;
        /* 下移一点，避免紧贴导航栏下方 */
        margin-bottom: 0;
        background: transparent;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .teacher-main-card::-webkit-scrollbar {
        display: none;
    }

    .teacher-card-inner {
        flex-direction: row;
        gap: 10px;
        align-items: flex-start;
        min-width: 500px;
    }

    .teacher-info-left {
        flex: 1;
        min-width: 0;
    }

    /* 姓名：20px, 650, #000 */
    .teacher-name {
        font-size: 20px;
        font-weight: 650;
        font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif;
        color: #000000;
        margin-bottom: 4px;
    }

    /* 副标题：15px, 400, #000，间距13px */
    .teacher-subtitle {
        font-size: 15px;
        font-weight: 400;
        color: #000000;
        margin-bottom: 12px;
    }

    /* 经验文字：16px, 400，间距12px */
    .teacher-experience {
        flex-wrap: nowrap;
        gap: 4px;
        font-size: 16px;
        font-weight: 400;
        color: #000000;
        margin-bottom: 13px;
        line-height: 1.4;
        white-space: nowrap;
    }

    /* 简介：15px, 400，间距13px */
    .teacher-intro-text {
        font-size: 15px;
        font-weight: 400;
        color: #131313;
        line-height: 1.6;
        margin-bottom: 8px;
        white-space: normal;
    }

    /* 标签行：横排一行不换行 */
    .teacher-tags {
        gap: 6px;
        margin-bottom: 10px;
        flex-wrap: nowrap;
        overflow-x: visible;
    }

    /* 所有标签：渐变背景，字体400，黑色 */
    .tag-badge {
        font-size: 13px;
        font-weight: 400;
        color: #000000;
        padding: 0 8px;
        height: 22px;
        line-height: 22px;
        border-radius: 4px;
        white-space: nowrap;
        flex-shrink: 0;
    }

    .btn-invite {
        display: none;
    }

    /* ---- 通用区块 ---- */
    .section {
        margin-bottom: 0;
        padding-top: 18px;
        padding-bottom: 20px;
    }

    /* section标题：16px, 650, #000 */
    .section-title {
        font-size: 16px;
        font-weight: 650;
        font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif;
        color: #000000;
        margin-bottom: 8px;
    }

    /* 分割线：所有section都用红色 */
    .title-line {
        height: 1px;
        background: rgba(173, 8, 0, 1);
        margin-bottom: 14px;
    }

    /* 专家背景、代表培训课程分割线：红色 */
    .courses-section .title-line,
    .section-bg .title-line {
        background: rgba(173, 8, 0, 1);
    }

    /* 正文：15px, 400, 黑色，line-height:30px */
    .section-text {
        font-size: 15px;
        font-weight: 400;
        font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
        color: #131313;
        line-height: 30px;
        width: 370px;
    }

    /* 服务行业正文：无line-height指定，用默认 */
    .section-industry .section-text {
        line-height: 1.5;
    }

    /* 课程列表切换：移动端显示移动版，隐藏PC版 */
    .course-list-pc {
        display: none !important;
    }

    .course-list-mobile {
        display: flex !important;
    }

    /* ---- 课程列表 - 竖排单列，无背景色 ---- */
    .courses-section {
        margin-bottom: 0;
    }

    .course-list {
        display: flex;
        flex-direction: column;
        overflow-x: unset;
        gap: 0;
        padding-bottom: 0;
        padding-right: 0;
        grid-template-columns: unset;
        flex-wrap: nowrap;
        margin-bottom: 10px;
    }

    /* 课程卡片：无背景色，无边框，底部分割线，不裁切内容 */
    .course-item {
        min-width: unset;
        max-width: unset;
        width: 100%;
        height: auto;
        min-height: unset;
        flex-shrink: unset;
        background: transparent;
        border: none;
        border-bottom: 1px solid rgba(255, 237, 234, 1);
        border-radius: 0;
        padding: 12px 0;
        box-shadow: none;
        overflow: visible;
    }

    .course-item:hover {
        transform: none;
        box-shadow: none;
    }

    /* 课程名：15px, #000 */
    .course-name {
        font-size: 15px;
        font-weight: 400;
        font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
        color: #000000;
        white-space: normal;
        height: auto;
        line-height: 1.4;
        margin-bottom: 7px;
        overflow: visible;
        text-overflow: unset;
    }

    /* 课程描述：#888 */
    .course-intro {
        font-size: 13px;
        font-weight: 400;
        color: #888888;
        white-space: normal;
        height: auto;
        line-height: 1.4;
        margin-top: 0;
        overflow: visible;
        text-overflow: unset;
    }

    .course-bottom {
        flex-direction: row;
        align-items: center;
        margin-top: 8px;
        justify-content: space-between;
    }

    .teacher-mini {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 6px;
    }

    /* 讲师名和职称同一行 */
    .teacher-mini-name {
        font-size: 14px;
        font-weight: 400;
        color: #000000;
        line-height: 1.4;
        white-space: nowrap;
    }

    .teacher-mini-title {
        font-size: 14px;
        font-weight: 400;
        color: #888888;
        line-height: 1.4;
        white-space: nowrap;
    }

    .btn-consult {
        display: none;
    }

    .view-more {
        font-size: 16px;
        font-weight: 650;
        font-family: "PingFangSC-Semibold", "PingFang SC Semibold", "PingFang SC", sans-serif;
        color: #E00F0F;
        display: block;
        margin-top: 10px;
    }

    /* ---- 右侧微信卡片：移动端隐藏 ---- */
    .sidebar-right {
        display: none;
    }

    /* ---- 面包屑：横向滚动，14px黑色 ---- */
    .breadcrumb-bottom {
        font-size: 14px;
        font-weight: 400;
        color: #131313;
        height: 34px;
        padding: 0 9px;
        flex-wrap: nowrap;
        gap: 0;
        margin-top: 18px;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        white-space: nowrap;
        align-items: center;
        background: linear-gradient(90deg, #fff1ea 0%, rgba(245, 226, 225, 0.27) 27%, rgba(253, 230, 224, 0.36) 100%);
        border-radius: 10px;
    }

    .breadcrumb-bottom::-webkit-scrollbar {
        display: none;
    }

    .bc-label,
    .bc-link,
    .bc-sep,
    .bc-current {
        font-size: 14px;
        font-weight: 400;
        color: #131313;
        white-space: nowrap;
        flex-shrink: 0;
    }

    /* ---- 底部固定栏：渐变圆角按钮 ---- */
    .mobile-fixed-btn {
        position: fixed;
        bottom: 0px;
        left: 0px;
        right: 0px;
        z-index: 999;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 8px 15px;
        gap: 4px;
        overflow: hidden;
        background: #fff;

    }

    .fixed-btn-m {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 15px;
        height: 31px;
        border-radius: 8px;
        gap: 4px;
        background: linear-gradient(135deg, #f26a21 0%, #fb0000 100%);
    }

    .fixed-btn-text {
        color: #ffffff;
        font-size: 14px;
        font-weight: 400;
        font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
        white-space: nowrap;
    }

    .fixed-btn-link {
        color: #ffffff;
        font-size: 14px;
        font-weight: 400;
        font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
        white-space: nowrap;
    }

    .service {
        color: #f05252;
    }

    /* 底部留出固定栏空间 */
    .footer {
        margin-bottom: 0;
        margin-top: 30px;
        padding: 30px 0 30px 0;
    }

    .footer-content,
    .footer-bottom {
        padding-left: 13px;
        padding-right: 13px;
    }

    /* 底部文字颜色匹配原版灰色 */
    .footer-section-title {
        color: #908F8F;
        font-size: 13px;
        font-weight: bold;
        margin-bottom: 10px;
    }

    .footer-tags-row {
        gap: 0;
        display: flex;
        flex-wrap: wrap;
    }

    .footer-tag {
        color: #908F8F;
        font-size: 13px;
        margin-right: 0;
        margin-bottom: 8px;
        width: 20%;
        text-align: left;
    }

    .footer-tags-hot .footer-tag {
        width: 25%;
    }

    .footer-desc {
        color: #908F8F;
        font-size: 13px;
        line-height: 1.8;
        margin-bottom: 6px;
    }

    .footer-intro p {
        color: #908F8F;
        font-size: 13px;
    }

    .footer-section-block {
        margin-bottom: 16px;
    }

    .footer-bottom {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 10px;
        /* 减小分割线到底部文案的间距 */
    }

    .footer-divider {
        margin-bottom: 12px;
    }

    .footer-bottom p {
        color: #7D7D7D;
        font-size: 13px;
        margin-bottom: 4px;
        text-align: center;
    }

    .footer-copyright,
    .footer-beian {
        text-align: center;
        white-space: normal;
    }

    .beian-icon {
        display: inline-block;
        width: 16px;
        height: 16px;
        vertical-align: middle;
        margin: 0 2px;
    }

    /* .mobile-fixed-btn {
        bottom: 6px;
    } */

    /* 2026.03.19 分类页面 */
    .breadcrumb-top,
    .search-mid,
    .hot,
    .card_position,
    .pages_pc,
    .qaHidden,
    .training_link,
    .fangan,
    .topic-header-link {
        display: none;
    }

    .category-card {
        margin-top: 30px;
    }

    .filter-row-all,
    .training {
        max-width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        white-space: nowrap;
    }

    .secondary-list {
        flex-wrap: nowrap;
    }

    .primary-cat-title {
        padding: 2px 12px;
    }

    .card_training {
        grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    }

    .card_training .card {
        position: relative;
    }

    .card_training .card .card_img {
        position: absolute;
        top: 10px;
        right: 10px;
        float: none;
        margin-right: 0;
        width: 60px;
        height: 60px;
    }

    .card_training .card .card_text {
        position: relative;
        float: none;
        width: 100%;
    }

    .theme {
        margin-top: 30px;
        margin-bottom: 40px;
    }

    .pages_mobile {
        display: block;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }

    .pages_mobile span {
        margin: 0 12px;
    }

    .bread_bottom {
        display: block;
    }

    /* 2026.04.06 */
    .training_card {
        margin-top: 30px;
    }

    .training_card {
        padding: 15px;
    }

    .training_card h1 {
        font-size: 18px;
    }

    .card-grid {
        margin-top: 20px;
        grid-template-columns: repeat(1, 1fr);
        gap: 15px;
        margin-bottom: 5px;
    }

    .course-card {
        background: none;
        border-top: 1px solid #ffede2;
        border-bottom: none;
        border-left: none;
        border-right: none;
        border-radius: 0;
        padding: 15px 0 0 0;
    }

    .course-card.bbt {
        padding-bottom: 15px;
        border-bottom: 1px solid #ffede2;
    }

    .theme_list {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        white-space: nowrap;
    }

    .lingyu {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        white-space: nowrap;
    }

    .questions h4 {
        font-size: 14px;
    }

    .questions h2 {
        font-size: 17px;
        margin-bottom: 15px;
        padding-bottom: 12px;
    }

    .questions>h3 {
        font-size: 15px;
    }

    .card_teacher .card {
        position: relative;
    }

    .card_teacher {
        grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    }

    .card_teacher .card .card_img {
        position: absolute;
        top: 10px;
        right: -2px;
        float: none;
        width: 60px;
        height: 60px;
    }

    .card_teacher .card .card_text {
        float: none;
        width: 100%;
    }

    .course-card h3 {
        font-size: 16px;
    }

    .theme_list a:hover {
        color: #131313;
        background: #fff2f0;
    }

    .lingyu a:hover {
        color: #131313;
        border: 1px solid #ffe8e8;
        background: #fff8f6;
    }

    .lingyu a:hover span {
        color: #626262;
    }

    /* 2026.04.13 */
    .topic-header {
        padding: 15px 15px 15px 15px;
        margin-top: 30px;
        border-radius: 10px;
    }

    .topic-header h1 {
        font-size: 18px;
    }

    .topic-core h2,
    .topic-list h2,
    .expert-list h2 {
        font-size: 18px;
    }

    .topic-core .topic-tags {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        white-space: nowrap;
    }

    .topic-core .topic-tags {
        margin-top: 15px;
    }

    .topic-core .topic-tags li a:hover {
        color: none;
        text-decoration: none;
    }

    .topic-list {
        margin-top: 40px;
    }

    .expert-items .expert-card {
        padding: 0 0 15px 0;
        border-radius: 0;
        background: none;
        border-bottom: 1px solid #ececec;
        border-top: none;
        border-left: none;
        border-right: none;
    }

    .topic-item h3 {
        font-size: 15px;
    }

    .expert-items .expert-card .expert-info h3 {
        font-size: 16px;
    }

    .expert-items .expert-card .expert-info p,
    .expert-items .expert-card .expert-detail-link {
        font-size: 14px;
        margin-top: 2px;
    }

    .expert-items .expert-card .expert-avatar img {
        width: 80px;
        height: 80px;
    }
}

/* ==========================================
    专家页动态加载状态
   ========================================== */
.expert-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 400px;
    padding: 40px 20px;
}

.expert-loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--border-color);
    border-top-color: var(--primary-red);
    border-radius: 50%;
    animation: expert-spin 0.8s linear infinite;
}

.expert-loading-text {
    margin-top: 16px;
    color: var(--text-secondary);
    font-size: 14px;
}

@keyframes expert-spin {
    to {
        transform: rotate(360deg);
    }
}

.expert-content-hidden {
    display: none !important;
}

.expert-content-hidden.expert-content-visible {
    display: flex !important;
}

.expert-loading.expert-loading-hidden {
    display: none !important;
}

.expert-load-error {
    display: block;
    text-align: center;
    padding: 60px 20px;
    color: var(--text-secondary);
}

/* 返回顶部按钮 */
#gotop-btn {
    display: none;
    position: fixed;
    right: 260px;
    bottom: 40px;
    z-index: 999;
    width: 40px;
    height: 40px;
}

#gotop-btn img {
    width: 40px;
    height: 40px;
    display: block;
}

.expert-load-error p {
    margin-bottom: 12px;
}
