/* ============================================================
   pc.common.css —— PC 端全站样式（index / course_index / credential_index）
   内容：设计令牌 · 基础重置 · 双行头部 · 首页三行头部 · 页脚
         · 各页面专属模块 · 响应式 · 打印 · 可访问性
   三页 HTML 均不写内联 <style>，只引用本文件。
   页面级作用域：body.page-index / .page-course / .page-credential
   ============================================================ */

/* ===== 设计令牌（H5 棕金体系，全站同源） ===== */
:root{
  /* 品牌棕 */
  --brown:#8b5a2b; --brown-deep:#6e4420; --brown-soft:#a06b35;
  /* 鎏金 */
  --gold:#c4913f; --gold-deep:#a87a2e; --gold-bright:#f0cf8e;
  --gold-light:#dfb46e; --gold-bg:#f8efda;
  /* 宣纸 / 中性 */
  --paper:#faf4e6; --card:#ffffff; --line:#eee3ca;
  --text:#3d2c22; --text-sub:#87704f; --gray:#9e9e9e;
  /* 苔绿（公益/进行中/通过） */
  --moss:#5f7449; --moss-bg:#f0f4eb; --moss-line:#dce4d0;
  /* 强调 */
  --req:#c0562e;
  /* 阴影与圆角 */
  --shadow-sm:0 3px 12px rgba(150,110,50,.07);
  --shadow:0 10px 30px rgba(150,110,50,.13);
  --r-lg:16px; --r-md:12px;
  /* 首页层次（首页沿用） */
  --tile:#fbf5e7; --bg:#f4eddd;
  /* 兼容别名（首页组件沿用） */
  --green:var(--brown); --green-deep:var(--brown-deep);
  --green-900:#4a2e15; --green-bright:var(--gold-deep);
  --white:#fff; --ink:var(--text); --muted:var(--text-sub);
}

/* ===== 基础重置 ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-size:15px;line-height:1.6;
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Segoe UI",sans-serif;
  color:var(--text);background:var(--paper)}
body.page-index{font-size:16px;background:var(--bg)}
html:has(body.page-index){scroll-behavior:auto}
img{max-width:100%;display:block}
ul{list-style:none}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,92%);margin:0 auto}
.ico{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:-3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* 统一键盘焦点 */
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{
  outline:3px solid rgba(196,145,63,.75);outline-offset:2px;border-radius:4px;
}

/* ============================================================
   公共头部 A：双行式 mini-top + light-nav（course / credential）
   ============================================================ */

/* 第1行 深棕薄条 */
.mini-top{background:var(--brown-deep);color:rgba(255,255,255,.82);font-size:13px}
.mini-top .wrap{display:flex;align-items:center;justify-content:space-between;height:34px}
.mt-links{display:flex;align-items:center;gap:16px}
.mt-links a{color:rgba(255,255,255,.82);display:inline-flex;align-items:center;gap:5px}
.mt-links a:hover{color:var(--gold-bright)}
.mt-links .sep{opacity:.4}

/* 第2行 白色导航 */
.light-nav{background:#fff;border-bottom:1px solid var(--line);
  box-shadow:0 2px 10px rgba(150,110,50,.06);
  position:sticky;top:0;z-index:90}
.light-nav .wrap{display:flex;align-items:center;gap:26px;height:66px;min-width:0}
.ln-brand{display:flex;align-items:center;gap:11px;flex-shrink:1;min-width:0}
.ln-brand .circle-logo{width:42px;height:42px;border-radius:50%;border:2px solid var(--gold-bright);
  overflow:hidden;flex-shrink:0;background:linear-gradient(150deg,#6e4420,#4a2e15);
  box-shadow:0 3px 10px rgba(90,54,24,.22)}
.ln-brand .circle-logo img{width:100%;height:100%;object-fit:contain;padding:4px}
.ln-brand b{font-size:17px;color:var(--brown-deep);letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ln-menu{display:flex;align-items:center;gap:2px;margin-left:auto}
.ln-menu a{font-size:15px;color:var(--text);padding:8px 14px;border-radius:9px;
  position:relative;white-space:nowrap;transition:.2s}
.ln-menu a:hover{color:var(--brown);background:var(--gold-bg)}
.ln-menu a.active{color:var(--brown);font-weight:700}
.ln-menu a.active::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;
  height:3px;border-radius:3px;
  background:linear-gradient(90deg,var(--gold-bright),var(--gold))}
.ln-toggle{display:none;margin-left:auto;background:#fff;border:1px solid var(--line);
  border-radius:9px;padding:8px 11px;cursor:pointer;color:var(--brown)}
.ln-toggle .ico{width:21px;height:21px}

/* ============================================================
   公共头部 B：三行式（index 首页：实用条 + 品牌搜索 + 导航）
   ============================================================ */

/* 第1行 实用条 */
.topbar{background:var(--brown-deep);color:rgba(255,255,255,.82);font-size:13px}
.topbar .wrap{height:42px;display:flex;align-items:center;justify-content:space-between}
.tb-right{display:flex;align-items:center;gap:16px}
.tb-right a{display:inline-flex;align-items:center;gap:5px;transition:.2s}
.tb-right .ico{width:15px;height:15px}
.tb-right a:hover{color:#fff}
.tb-sep{opacity:.35}
.nav-toggle{display:none}
/* 第2行 品牌 + 搜索 */
.masthead{background:var(--white)}
.masthead .wrap{display:flex;align-items:center;gap:18px;padding:13px 0}
.circle-logo{width:68px;height:68px;border-radius:50%;border:2.5px solid var(--gold-bright);overflow:hidden;flex-shrink:0;background:linear-gradient(150deg,#6e4420,#4a2e15);box-shadow:0 4px 14px rgba(90,54,24,.2)}
.circle-logo img{width:100%;height:100%;object-fit:contain;padding:7px}
.mh-title{min-width:0}
.mh-title .t1{font-size:23px;font-weight:700;color:var(--green-deep);letter-spacing:1.5px;line-height:1.25;white-space:nowrap}
.mh-title .en{font-size:10px;color:var(--muted);letter-spacing:1px;text-indent:2px;margin-top:4px}
.searchbox{margin-left:auto;display:flex;align-items:stretch;border:1.5px solid #e6d5ae;border-radius:999px;overflow:hidden;width:380px;height:42px;flex-shrink:0;background:var(--white)}
.search-label{flex-shrink:0;display:inline-flex;align-items:center;padding:0 16px;background:var(--gold-bg);color:var(--brown);font-size:14px;font-weight:600;border-right:1px solid var(--line)}
.searchbox input{flex:1;min-width:0;border:none;padding:0 18px;font-size:14px;outline:none;background:transparent;color:var(--ink)}
.searchbox input::placeholder{color:var(--muted)}
.searchbox button{border:none;background:linear-gradient(135deg,var(--green),var(--green-deep));color:#fff;padding:0 22px;font-size:14px;cursor:pointer;white-space:nowrap}
.searchbox button:hover{filter:brightness(1.06)}
/* 第3行 导航 */
.mainnav{position:relative;overflow:hidden;border-bottom:none;
  background:linear-gradient(120deg,#5a3618 0%,#7b4f27 52%,#9c6a33 100%)}
.mainnav .wrap{height:48px;display:flex;align-items:center;position:relative;z-index:1}
.mainnav nav{display:flex;align-items:center;gap:2px;flex:1}
.mainnav nav a{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;font-size:16px;color:#fff;position:relative;transition:.2s;white-space:nowrap}
.mainnav nav a .ico{width:17px;height:17px;opacity:.9}
.mainnav nav a:hover{color:var(--gold-bright)}
.mainnav nav a.active{color:var(--gold-bright);font-weight:600}
.mainnav nav a.active::after{content:"";position:absolute;left:20px;right:20px;bottom:2px;height:2.5px;border-radius:2px;background:var(--gold-bright)}
.nav-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#5a3618;font-size:14.5px;font-weight:700;padding:9px 22px;border-radius:999px;box-shadow:0 4px 13px rgba(150,110,50,.25);transition:.2s}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(150,110,50,.4)}
.nav-cta .ico{width:17px;height:17px}

/* ============================================================
   页脚 site-footer（全站一致）
   ============================================================ */
.site-footer{position:relative;overflow:hidden;background:var(--brown-deep);
  color:rgba(255,255,255,.86);padding:46px 0 0;margin-top:40px}
.site-footer::before{content:"";position:absolute;border-radius:50%;pointer-events:none;
  width:260px;height:260px;right:-80px;top:-110px;background:rgba(255,255,255,.08)}
.site-footer::after{content:"";position:absolute;border-radius:50%;pointer-events:none;
  width:200px;height:200px;left:-70px;bottom:-110px;background:rgba(223,180,110,.14)}
.footer-grid,.copyright{position:relative;z-index:1}
.footer-grid{display:grid;grid-template-columns:1.8fr .9fr .9fr 1.02fr;gap:30px;
  padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.16)}
.footer-brand{padding-right:80px}
.fb-head{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.fb-head img{width:52px;height:52px;object-fit:contain}
.footer-brand h4{color:#fff;font-size:18px;letter-spacing:.3px;white-space:nowrap}
.fb-main{display:flex;gap:10px;align-items:flex-start;margin-left:20px}
.footer-brand p{flex:1;min-width:0;font-size:12px;line-height:1.85;color:rgba(255,255,255,.8)}
.qr-group{flex-shrink:0;text-align:center}
.footer-qr{display:block;width:88px;height:88px;padding:4px;background:#fff;
  border-radius:var(--r-md);object-fit:contain;box-shadow:0 6px 18px rgba(0,0,0,.16)}
.footer-qr-cap{font-size:12px;color:rgba(255,255,255,.7);margin-top:6px;white-space:nowrap}
.site-footer h5{color:#fff;font-size:15px;letter-spacing:.3px;margin-bottom:18px;
  position:relative;padding-bottom:10px}
.site-footer h5::after{content:"";position:absolute;left:0;bottom:0;width:26px;height:2px;
  background:var(--gold)}
.site-footer li{margin-bottom:12px;font-size:14px}
.site-footer li a{transition:.2s}
.site-footer li a:hover{color:#fff}
.contact-list li{display:flex;gap:9px;align-items:flex-start}
.contact-list .ico{width:16px;height:16px;color:var(--gold-bright);margin-top:3px;flex-shrink:0}
.copyright{padding:20px 0;text-align:center;font-size:13px;color:rgba(255,255,255,.62)}
.copyright a:hover{color:#fff}
.copyright .sep{margin:0 8px;opacity:.5}

/* ============================================================
   通用按钮基类（credential 定义，全站通用）
   ============================================================ */
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;border-radius:var(--r-md);
  font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:.2s}
.btn .ico{width:16px;height:16px}
.btn-gold{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#5a3618;
  box-shadow:0 4px 12px rgba(196,145,63,.3)}
.btn-gold:hover{transform:translateY(-2px)}
.btn-outline{background:#fff;color:var(--brown);border-color:var(--gold-light)}
.btn-outline:hover{background:var(--gold-bg)}

/* ============================================================
   credential_index 专属模块
   ============================================================ */

/* 顶部横幅（与中心列表同款渐变，作用域隔离） */
.page-credential .page-hero{border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);height:220px;display:flex;flex-direction:column;justify-content:center;
  padding:0 42px;margin:22px auto 0;overflow:hidden;
  position:relative;color:#fff;
  background:
    radial-gradient(380px 230px at 90% 12%,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 62%),
    linear-gradient(120deg,#cd903e 0%,#bb7c2e 48%,#9a6120 100%)}
.page-credential .page-hero h2{margin:0 0 10px;font-size:27px;font-weight:800;color:#fff;letter-spacing:1px;position:relative}
.page-credential .page-hero p{margin:0 0 20px;font-size:14.5px;color:rgba(255,255,255,.9);line-height:1.7;
  max-width:640px;position:relative}
.page-credential .ph-feats{display:flex;flex-wrap:wrap;gap:12px;position:relative}
.page-credential .ph-feats .pf{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:#fff;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);border-radius:999px;
  padding:7px 16px;font-weight:600}
.page-credential .ph-feats .pf .ico{width:15px;height:15px;color:var(--gold-bright);flex-shrink:0}

/* 主体两栏布局（复用 .layout / .filter-side） */
.page-credential .layout{align-items:start;margin-top:18px;margin-bottom:44px}
.page-credential .filter-side{gap:14px}

/* 左侧温馨提示卡 */
.cr-notice-box h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:15px;
  color:var(--brown-deep)}
.cr-notice-box h3 .ico{width:18px;height:18px;color:var(--gold)}
.cn-list{margin:0;padding:0;list-style:none;counter-reset:tip}
.cn-list li{position:relative;padding:0 0 12px 24px;font-size:13px;color:var(--text-sub);
  line-height:1.7;counter-increment:tip}
.cn-list li:last-child{padding-bottom:0}
.cn-list li::before{content:counter(tip);position:absolute;left:0;top:2px;width:16px;height:16px;
  border-radius:50%;background:var(--gold-bg);color:var(--gold-deep);font-size:11px;font-weight:700;
  display:flex;align-items:center;justify-content:center;line-height:1}

/* 查询卡 */
.query-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);padding:28px 30px;margin:0 0 22px}
.query-form{display:grid;grid-template-columns:1fr;gap:18px;max-width:520px}
.qf-item{min-width:0}
.qf-item label{display:block;font-size:13.5px;color:var(--text);margin-bottom:8px;font-weight:600}
.qf-item label .req-dot{color:var(--req);margin-left:3px}
.qf-item input{width:100%;height:44px;box-sizing:border-box;padding:0 14px;font-size:14px;color:var(--text);
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);outline:none;transition:.2s}
.qf-item input::placeholder{color:#b6a484}
.qf-item input:focus{border-color:var(--gold-light);box-shadow:0 0 0 3px rgba(196,145,63,.16)}

/* 滑块验证 */
.qf-slide{grid-column:1 / -1}
.slide-verify{width:100%;user-select:none}
.slide-verify .sv-track{position:relative;height:44px;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.slide-verify .sv-fill{position:absolute;left:0;top:0;bottom:0;width:0;
  background:linear-gradient(90deg,var(--gold-bg),#f3e2b6);border-right:none}
.slide-verify .sv-tip{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;
  align-items:center;justify-content:center;font-size:13px;color:var(--text-sub);
  letter-spacing:.5px;pointer-events:none;z-index:1}
.slide-verify .sv-btn{position:absolute;left:0;top:0;width:50px;height:42px;margin:0;
  background:linear-gradient(135deg,var(--brown-soft),var(--brown));
  border-radius:var(--r-md);cursor:grab;z-index:2;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 6px rgba(110,68,32,.3);transition:background .2s}
.slide-verify .sv-btn:hover{background:linear-gradient(135deg,var(--brown),var(--brown-deep))}
.slide-verify .sv-btn:active{cursor:grabbing}
.slide-verify .sv-arrow{width:18px;height:18px;color:#fff;stroke-width:2.4;
  fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.slide-verify .sv-check{display:none;width:20px;height:20px;color:#fff;
  fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.slide-verify.ok .sv-track{background:#f2f6ec;border-color:var(--moss-line)}
.slide-verify.ok .sv-fill{background:linear-gradient(90deg,#e4edd9,#cfe0bb)}
.slide-verify.ok .sv-btn{background:linear-gradient(135deg,#6f8a55,var(--moss));
  box-shadow:0 2px 6px rgba(95,116,73,.3)}
.slide-verify.ok .sv-arrow{display:none}
.slide-verify.ok .sv-check{display:block}
.slide-verify.ok .sv-tip{color:var(--moss);font-weight:600}

.qf-submit{grid-column:1 / -1}
.btn-search{width:100%;box-sizing:border-box;height:44px;padding:0 34px;border:none;border-radius:var(--r-md);cursor:pointer;
  justify-content:center;
  font-size:15px;font-weight:700;color:#5a3618;white-space:nowrap;
  background:linear-gradient(135deg,var(--gold-bright) 0%,var(--gold) 100%);
  box-shadow:0 6px 16px rgba(196,145,63,.32);transition:.2s;
  display:inline-flex;align-items:center;gap:8px}
.btn-search:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(196,145,63,.4)}
.btn-search .ico{width:18px;height:18px;color:#5a3618}
.form-msg{grid-column:1 / -1;margin:0;font-size:13px;color:var(--req);min-height:1px}

/* 查询结果 */
.result-box{animation:credIn .35s ease both}
.result-head{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.result-head h2{margin:0;font-size:18px;color:var(--brown-deep)}
.result-count{font-size:13px;color:var(--text-sub)}
.cred-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);padding:28px 30px;margin-bottom:8px;overflow:hidden}
.cred-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;
  background:linear-gradient(90deg,var(--brown),var(--gold),var(--brown))}
.cred-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding-bottom:16px;margin-bottom:18px;border-bottom:1px dashed var(--line)}
.cred-no{font-size:14px;color:var(--text-sub)}
.cred-no b{color:var(--brown-deep);font-size:15px;letter-spacing:.6px;margin-left:6px}
.cred-status{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;
  color:var(--moss);background:var(--moss-bg);border:1px solid var(--moss-line);
  padding:4px 13px;border-radius:999px;flex-shrink:0}
.cred-status .dot{width:7px;height:7px;border-radius:50%;background:var(--moss)}
.cred-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 28px}
.cg-field{min-width:0}
.cg-field .k{font-size:13px;color:var(--text-sub);margin-bottom:4px}
.cg-field .v{font-size:14.5px;color:var(--text);font-weight:600;line-height:1.5;
  overflow-wrap:anywhere}
.cred-actions{display:flex;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}

/* 无结果 */
.no-result{text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);padding:56px 24px;margin-bottom:8px}
.no-result .nr-icon{width:62px;height:62px;margin:0 auto 16px;border-radius:50%;
  background:var(--gold-bg);display:flex;align-items:center;justify-content:center}
.no-result .nr-icon .ico{width:30px;height:30px;color:var(--gold-deep)}
.no-result p{margin:0 0 6px;font-size:16px;font-weight:700;color:var(--text)}
.no-result .nr-tip{font-size:13.5px;font-weight:400;color:var(--text-sub)}

@keyframes credIn{from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}}

/* ============================================================
   course_index 专属模块
   ============================================================ */

/* 顶部轮播 */
.page-course .carousel-box{margin:22px auto 0}
.page-course .carousel{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);height:220px}
.page-course .car-track{display:flex;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.page-course .car-slide{flex:0 0 100%;height:100%;position:relative;display:flex;flex-direction:column;
  justify-content:center;padding:0 52px;color:#fff;overflow:hidden}
.page-course .car-slide.s1{background:
  radial-gradient(380px 230px at 90% 12%,rgba(255,255,255,.22),transparent 62%),
  linear-gradient(120deg,#cd903e 0%,#bb7c2e 48%,#9a6120 100%)}
.page-course .car-slide.s2{background:
  radial-gradient(380px 230px at 90% 12%,rgba(255,255,255,.22),transparent 62%),
  linear-gradient(120deg,#cd903e 0%,#bb7c2e 48%,#9a6120 100%)}
.page-course .car-slide.s3{background:
  radial-gradient(380px 230px at 90% 12%,rgba(255,255,255,.22),transparent 62%),
  linear-gradient(120deg,#cd903e 0%,#bb7c2e 48%,#9a6120 100%)}
.page-course .car-slide .deco{position:absolute;right:58px;top:50%;transform:translateY(-50%);
  width:172px;height:172px;color:#fff;opacity:.1;pointer-events:none;
  fill:currentColor;stroke:none;stroke-width:0}
.page-course .car-slide .deco *{fill:currentColor;stroke:none}
.page-course .car-slide h2{margin:0 0 10px;font-size:27px;letter-spacing:1px;display:flex;align-items:center;gap:11px}
.page-course .car-slide h2 .ico{width:25px;height:25px;color:var(--gold-bright)}
.page-course .car-slide p{margin:0;font-size:14.5px;color:rgba(255,255,255,.9);max-width:600px;line-height:1.7}
.car-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;max-width:640px}
.car-tags span{font-size:13px;padding:6px 16px;border-radius:999px;
  border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.16);color:#fff}
.car-actions{display:flex;gap:14px;margin-top:20px}
.car-btn{font-size:14px;padding:10px 28px;border-radius:999px;color:#fff;
  border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.16);transition:.2s;cursor:pointer}
.car-btn:hover{background:rgba(255,255,255,.3)}
.car-btn.solid{background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  color:#5a3618;border-color:transparent;font-weight:700}
.car-btn.solid:hover{background:linear-gradient(135deg,#f5d99c,#d09d4a)}
.page-course .car-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:42px;height:42px;
  border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.16);
  color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:.2s;backdrop-filter:blur(2px)}
.page-course .car-arrow:hover{background:rgba(255,255,255,.32)}
.page-course .car-arrow.prev{left:18px}
.page-course .car-arrow.next{right:18px}
.page-course .car-arrow .ico{width:20px;height:20px}
.page-course .car-dots{position:absolute;bottom:15px;left:0;right:0;display:flex;justify-content:center;gap:9px;z-index:5}
.page-course .car-dots button{width:9px;height:9px;border:none;border-radius:999px;padding:0;cursor:pointer;
  background:rgba(255,255,255,.4);transition:.25s}
.page-course .car-dots button.active{width:26px;background:var(--gold-bright)}

/* 主体：左筛选 + 右列表 */
.layout{display:grid;grid-template-columns:236px 1fr;gap:24px;margin:24px auto 40px;align-items:start;min-width:0}
.layout>*{min-width:0}

/* 筛选侧栏 */
.filter-side{position:sticky;top:86px;display:flex;flex-direction:column;gap:14px}
.filter-box{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 16px;box-shadow:var(--shadow-sm);overflow:hidden}
.filter-box h3{margin:0 0 12px;font-size:14px;color:var(--brown-deep);display:flex;align-items:center;gap:7px;
  padding-bottom:10px;border-bottom:1px solid var(--line)}
.filter-box h3 .ico{width:16px;height:16px;color:var(--gold)}
.fp-list{display:grid;grid-template-columns:1fr 1fr;gap:5px 6px}
.fp-list a.city-all{grid-column:1/-1}
.fp-list a{font-size:13.5px;color:var(--text);padding:7px 10px;border-radius:8px;transition:.18s;
  display:block;text-align:center;white-space:nowrap}
.fp-list a:hover{background:var(--gold-bg);color:var(--brown)}
.fp-list a.active{background:linear-gradient(135deg,var(--brown-soft),var(--brown));color:#fff;font-weight:600;box-shadow:0 3px 9px rgba(139,90,43,.25)}
.fp-tags{display:flex;flex-wrap:wrap;gap:7px}
.fp-tags a{font-size:13px;color:var(--text-sub);background:var(--paper);border:1px solid var(--line);
  padding:5px 11px;border-radius:999px;transition:.18s}
.fp-tags a:hover{border-color:var(--gold-light);color:var(--brown)}
.fp-tags a.active{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#5a3618;border-color:transparent;font-weight:700}

/* 技术标签：默认收起一行，点击展开换行显示全部 */
.tech-strip-box{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);padding:14px 18px;margin-bottom:14px}
.ts-head{display:flex;align-items:center;gap:9px}
.ts-title{font-size:14px;color:var(--brown-deep);font-weight:700;display:flex;align-items:center;gap:7px}
.ts-title .ico{width:16px;height:16px;color:var(--gold)}
.ts-toggle{margin-left:auto;display:none;align-items:center;gap:4px;font-size:13px;
  color:var(--gold-deep);background:var(--gold-bg);border:1px solid var(--line);
  padding:5px 14px;border-radius:999px;cursor:pointer;transition:.18s;white-space:nowrap}
.ts-toggle:hover{border-color:var(--gold-light);color:var(--brown-deep)}
.ts-toggle .ico{width:14px;height:14px;transition:transform .25s}
.tech-strip-box.open .ts-toggle .ico{transform:rotate(180deg)}
.tech-strip{display:flex;flex-wrap:wrap;gap:9px;min-width:0}
.tech-strip a{font-size:13px;color:var(--text-sub);background:var(--paper);
  border:1px solid var(--line);padding:6px 15px;border-radius:999px;
  white-space:nowrap;transition:.18s}
.tech-strip a:hover{border-color:var(--gold-light);color:var(--brown)}
.tech-strip a.active{background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  color:#5a3618;border-color:transparent;font-weight:700}
/* 收起态：只显示一行 */
.tech-strip:not(.open){flex-wrap:nowrap;overflow:hidden;
  max-height:33px;padding-bottom:1px;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 42px),transparent);
  mask-image:linear-gradient(90deg,#000 calc(100% - 42px),transparent)}

/* 结果条 */
.result-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}
.result-bar .cnt{font-size:14px;color:var(--text-sub)}
.result-bar .cnt b{color:var(--brown-deep)}
.sort-tabs{display:flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px}
.sort-tabs a{font-size:13px;color:var(--text-sub);padding:5px 13px;border-radius:8px}
.sort-tabs a.active{background:var(--gold-bg);color:var(--brown);font-weight:700}

/* 横向课程大卡 */
.course-row{display:flex;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;margin-bottom:16px;box-shadow:var(--shadow-sm);transition:.22s}
.course-row:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--gold-light)}
.cr-thumb{position:relative;width:248px;flex-shrink:0}
.cr-thumb img{width:100%;height:100%;min-height:168px;object-fit:cover}
.cr-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,transparent 30%,transparent 60%,rgba(0,0,0,.25))}
/* 左上状态角标 四态 */
.corner{position:absolute;left:11px;top:11px;z-index:2;font-size:12.5px;font-weight:600;
  padding:4px 13px;border-radius:999px;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.corner.hot{background:linear-gradient(135deg,#f1903f,#d2601c)}
.corner.soon{background:linear-gradient(135deg,#fbe0a0,#f2cc74);color:#8a5e14}
.corner.live{background:linear-gradient(135deg,#6e8a52,#516837)}
.corner.stop{background:linear-gradient(135deg,#b05a4e,#8f4032)}
.corner.ended{background:#9a8e7c}
/* 右上荐章 */
.rec-medal{position:absolute;right:10px;top:10px;z-index:2;width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#5a3618;
  font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 9px rgba(168,122,46,.4);border:2px solid rgba(255,255,255,.75)}

.cr-body{flex:1;min-width:0;padding:18px 22px;display:flex;flex-direction:column}
.cr-body h3{margin:0 0 9px;font-size:18px;color:var(--brown-deep);font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cr-body h3:hover{color:var(--brown)}
.cr-labs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.cr-labs span{font-size:12.5px;padding:3px 11px;border-radius:6px;line-height:1.5}
.cr-labs .tag-cat{background:#fff3e2;color:#d96a16}
.cr-labs .tag-city{background:var(--paper);color:var(--text-sub)}
.cr-labs .tag-level{background:#e6f7f6;color:#15928e}
.cr-labs .tag-free{background:#eef3e4;color:#5a703d}
.cr-desc{margin:0 0 auto;font-size:13.5px;color:var(--text-sub);line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cr-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}
.cr-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--text-sub)}
.cr-meta span{display:inline-flex;align-items:center;gap:5px}
.cr-meta .ico{width:15px;height:15px;color:var(--gold)}
.cr-meta b{color:var(--brown-deep)}
.cr-go{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--brown);
  padding:8px 18px;border-radius:999px;background:var(--gold-bg);transition:.2s;flex-shrink:0}
.cr-go:hover{background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#5a3618}
.cr-go .ico{width:15px;height:15px}
.course-row.is-ended .cr-body h3{color:#8a7d6c}
.course-row.is-ended .cr-go{background:#f2efe8;color:#9a8e7c}
.course-row.is-ended .cr-go:hover{background:#e7e2d6;color:#7d7160}

/* 分页 */
.pager{display:flex;justify-content:center;gap:7px;margin-top:26px}
.pager a,.pager span{min-width:38px;height:38px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;
  font-size:14px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--text);transition:.18s}
.pager a:hover{border-color:var(--gold-light);color:var(--brown)}
.pager .active{background:linear-gradient(135deg,var(--brown-soft),var(--brown));color:#fff;border-color:transparent;font-weight:700}
.pager .disabled{color:#c3b79e;background:#faf7ef}

/* ============================================================
   index 首页专属模块
   ============================================================ */

/* Hero 双栏 */
.page-index .hero{padding:26px 0 8px}
.hero-grid{display:grid;grid-template-columns:1fr 400px;gap:22px;align-items:stretch}
.page-index .carousel{position:relative;border-radius:var(--r-lg);overflow:hidden;height:430px;box-shadow:var(--shadow-sm)}
.page-index .car-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;background-size:cover;background-position:center}
.page-index .car-slide.active{opacity:1}
.page-index .car-dots{position:absolute;left:0;right:0;bottom:20px;z-index:5;display:flex;justify-content:center;gap:9px}
.page-index .car-dots button{width:34px;height:5px;border:none;border-radius:999px;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:.25s}
.page-index .car-dots button.active{background:var(--gold-bright)}
.page-index .car-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;opacity:0}
.page-index .carousel:hover .car-arrow,.page-index .carousel:focus-within .car-arrow{opacity:1}
.page-index .car-arrow:hover{background:rgba(255,255,255,.38)}
.page-index .car-arrow.prev{left:18px}
.page-index .car-arrow.next{right:18px}
.car-pause{position:absolute;left:18px;bottom:16px;z-index:6;width:36px;height:36px;border-radius:50%;background:rgba(74,46,21,.5);border:1px solid rgba(255,255,255,.4);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;opacity:0}
.page-index .carousel:hover .car-pause,.page-index .carousel:focus-within .car-pause{opacity:1}
.car-pause:hover{background:rgba(74,46,21,.75)}

/* 右侧欢迎卡（核心路径） */
.welcome{background:var(--white);border-radius:var(--r-lg);padding:22px 26px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:430px}
.welcome .wl-pill{align-self:flex-start;background:var(--paper);color:var(--green-deep);font-size:12px;font-weight:700;letter-spacing:3px;padding:4px 14px;border-radius:var(--r-md);margin-bottom:10px}
.welcome h3{font-size:24px;font-weight:700;color:var(--green-900);line-height:1.3;margin-bottom:6px}
.welcome .wl-desc{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:12px}
.path{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.path a{display:flex;flex-direction:row;align-items:center;gap:12px;background:var(--tile);border:1px solid transparent;border-radius:var(--r-md);padding:13px 14px;font-size:14px;color:var(--ink);transition:.2s}
.path a:hover{border-color:#dfb46e;background:var(--paper);transform:translateY(-2px)}
.path .pn{width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--green);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}
.path .pt{display:flex;flex-direction:column;gap:2px;min-width:0}
.path .pl{font-weight:600;line-height:1.2}
.path .pd{font-size:12px;color:var(--muted);line-height:1.2}
.wl-btns{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:11px}
.page-index .welcome .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 0;border-radius:var(--r-md);font-size:16px;font-weight:600;white-space:nowrap}
.btn-solid{background:linear-gradient(135deg,var(--green-bright),var(--green-deep));color:#fff;box-shadow:0 4px 12px rgba(150,110,50,.26)}
.btn-solid:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(90,54,24,.3)}
.btn-line{border-color:var(--green);color:var(--green-deep);background:transparent}
.btn-line:hover{background:var(--green);color:#fff}
.page-index .welcome .btn .ico{width:18px;height:18px}

/* 新闻 */
.section{padding:40px 0}
.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.panel{background:var(--white);border-radius:var(--r-lg);padding:24px 28px;box-shadow:var(--shadow-sm)}
.ntabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin:-2px 0 6px}
.ntabs button{position:relative;display:inline-flex;align-items:center;gap:6px;background:none;border:none;font-size:18px;font-weight:600;color:var(--muted);padding:4px 2px 16px;cursor:pointer;transition:.2s}
.ntabs button .ico{width:17px;height:17px}
.ntabs button:hover{color:var(--green-900)}
.ntabs button.active{color:var(--green-900)}
.ntabs button.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:999px;background:var(--green)}
.tabpane{display:none}
.tabpane.active{display:block}
.news-list li{border-bottom:1px dashed var(--line)}
.news-list li:last-child{border-bottom:none}
.news-list a{display:flex;align-items:center;gap:11px;padding:15px 2px;font-size:15px;transition:.2s;min-width:0}
.news-list a:hover{color:var(--green);padding-left:4px}
.news-list .dot{width:7px;height:7px;border-radius:50%;background:var(--green-bright);flex-shrink:0}
.news-list .t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.news-list time{font-size:13px;color:var(--muted);flex-shrink:0}
.news-more{display:flex;justify-content:flex-end;align-items:center;gap:4px;margin-top:14px;font-size:14px;font-weight:600;color:var(--green);transition:.2s}
.news-more:hover{color:var(--green-bright)}

/* 区块标题 */
.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.sec-title{display:flex;align-items:center;gap:12px}
.sec-title .bar{width:5px;height:26px;background:var(--green);border-radius:999px}
.sec-title h3{font-size:25px;font-weight:700;color:var(--green-900)}
.sec-title .en{font-size:13px;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin-left:4px}
.more-link{font-size:14px;color:var(--muted);display:inline-flex;align-items:center;gap:4px;transition:.2s}
.more-link:hover{color:var(--green-deep)}
.more-link .ico{width:15px;height:15px}
.pilltabs{display:flex;gap:8px}
.pilltabs button{padding:7px 22px;font-size:14px;border:1px solid var(--line);background:var(--white);color:var(--muted);border-radius:999px;cursor:pointer;transition:.2s}
.pilltabs button:hover{border-color:#dfb46e;color:var(--green-deep)}
.pilltabs button.active{background:linear-gradient(135deg,var(--gold-bright),var(--gold));border-color:transparent;color:#5a3618;font-weight:700}

/* 课程卡 */
.offline{background:linear-gradient(180deg,var(--paper),var(--bg))}
.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.course-card{background:var(--white);border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:.28s;display:flex;flex-direction:column}
.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.course-card[hidden]{display:none}
.course-thumb{height:160px;position:relative;overflow:hidden}
.course-thumb img{width:100%;height:100%;object-fit:cover;transition:.4s}
.course-card:hover .course-thumb img{transform:scale(1.06)}
.course-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(90,54,24,.1),transparent 40%)}
.course-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0 18px;text-align:center;font-size:15px;font-weight:600;color:#f3e4c6;background:linear-gradient(135deg,#8b5a2b,#6e4420)}
.course-body{padding:18px;display:flex;flex-direction:column;flex:1}
.course-body h4{font-size:16px;font-weight:600;line-height:1.45;margin-bottom:12px;height:46px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word}
.course-card .cr-labs{margin-top:auto;flex-wrap:nowrap;overflow:hidden}
.course-card .cr-labs span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0}
.course-card .cr-labs .tag-free{flex-shrink:0}
.course-meta{display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--muted);margin-bottom:15px}
.course-meta span{display:flex;align-items:center;gap:6px}
.course-meta .ico{width:15px;height:15px;color:var(--green);flex-shrink:0}

/* 视频区：精选大卡 + 右侧列表 */
.video-feature{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;align-items:stretch}
.video-main{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.vm-media{position:relative;aspect-ratio:16/9;overflow:hidden}
.vm-media img{width:100%;height:100%;object-fit:cover;transition:.4s}
.video-main:hover .vm-media img{transform:scale(1.04)}
.vm-media::after{content:"";position:absolute;inset:0;background:rgba(74,46,21,.08)}
.vm-badge{position:absolute;left:12px;top:12px;z-index:3;background:var(--gold);color:#5a3618;font-size:12px;font-weight:700;padding:3px 12px;border-radius:999px}
.vm-info{padding:20px 22px;display:flex;flex-direction:column;gap:9px}
.vm-info h4{font-size:19px;font-weight:700;color:var(--green-900);line-height:1.4}
.vm-teacher{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.vm-teacher .ico{width:16px;height:16px;color:var(--green)}
.vm-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--muted);margin-top:2px}
.vm-meta span{display:inline-flex;align-items:center;gap:5px}
.vm-meta .ico{width:15px;height:15px;color:var(--green)}
.video-list{display:flex;flex-direction:column;gap:12px}
.vl-item{display:flex;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:11px;box-shadow:var(--shadow-sm);transition:.2s}
.vl-item:hover{border-color:#dfb46e;transform:translateX(4px);box-shadow:var(--shadow)}
.vl-thumb{position:relative;width:148px;flex-shrink:0;aspect-ratio:16/10;border-radius:8px;overflow:hidden}
.vl-thumb img{width:100%;height:100%;object-fit:cover}
.vl-thumb::after{content:"";position:absolute;inset:0;background:rgba(74,46,21,.08)}
.vl-body{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px}
.vl-body h5{font-size:15px;font-weight:600;color:var(--ink);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vl-item:hover h5{color:var(--green-deep)}
.vl-body .vmeta{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:10px}
.vl-body .vmeta span{display:inline-flex;align-items:center;gap:4px}
.vl-body .vmeta .ico{width:13px;height:13px;color:var(--green)}
.vl-tags{display:flex;flex-wrap:wrap;gap:6px}
.vl-tags span{font-size:12px;padding:2px 9px;border-radius:5px;line-height:1.5}
.vl-tags .tag-level{background:#e6f7f6;color:#15928e}
.vl-tags .tag-free{background:#eef3e4;color:#5a703d}
.vl-tags .tag-cat{background:#fff3e2;color:#d96a16}

/* ============================================================
   视频课程页专属模块（page-video）
   复用：layout / filter-side / tech-strip-box / result-bar / pager
   区别：单聚焦 Hero（不轮播）+ 3 列视频网格卡
   ============================================================ */

/* 视频 Hero：单一聚焦横幅，区别于 course 的三图轮播 */
.page-video .video-hero{margin:22px auto 0;border-radius:var(--r-lg);overflow:hidden;
  position:relative;box-shadow:var(--shadow-sm);
  background:
    radial-gradient(380px 230px at 90% 12%,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 62%),
    linear-gradient(120deg,#cd903e 0%,#bb7c2e 48%,#9a6120 100%);
  height:220px;display:flex;flex-direction:column;justify-content:center;
  padding:0 44px;color:#fff}
.page-video .vh-deco{position:absolute;right:52px;top:50%;transform:translateY(-50%);
  width:118px;height:118px;color:rgba(255,255,255,.12);pointer-events:none}
.page-video .video-hero h2{margin:0 0 11px;font-size:28px;letter-spacing:1px;
  display:flex;align-items:center;gap:11px;position:relative}
.page-video .video-hero h2 .ico{width:26px;height:26px;color:var(--gold-bright)}
.page-video .video-hero p{margin:0 0 22px;font-size:14.5px;color:rgba(255,255,255,.9);
  max-width:620px;line-height:1.7;position:relative}
.page-video .vh-tags{display:flex;flex-wrap:wrap;gap:12px;position:relative}
.page-video .vh-tags .vt{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:#fff;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);border-radius:999px;
  padding:7px 16px;font-weight:600}
.page-video .vh-tags .vt .ico{width:15px;height:15px;color:var(--gold-bright);flex-shrink:0}

/* 视频网格：3 列卡片，区别于 course 的横向大卡 */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.video-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
  transition:.22s}
.video-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:var(--gold-light)}
.vc-thumb{position:relative;aspect-ratio:16/10;overflow:hidden}
.vc-thumb img{width:100%;height:100%;object-fit:cover;transition:.4s}
.video-card:hover .vc-thumb img{transform:scale(1.05)}
.vc-thumb::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.14) 0%,transparent 34%,transparent 58%,rgba(0,0,0,.3))}
/* 中央播放钮 */
.vc-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;
  width:52px;height:52px;border-radius:50%;background:rgba(139,90,43,.6);
  display:flex;align-items:center;justify-content:center;color:#fff;
  transition:.2s;backdrop-filter:blur(2px)}
.video-card:hover .vc-play,.bd-course:hover .vc-play{background:rgba(139,90,43,.85);transform:translate(-50%,-50%) scale(1.08)}
.vc-play svg{width:20px;height:20px;margin-left:3px;fill:currentColor;stroke:none}
.vc-play.vcp-sm{width:34px;height:34px}
.vc-play.vcp-sm svg{width:14px;height:14px;margin-left:2px}
.vl-item:hover .vc-play{background:rgba(139,90,43,.85);transform:translate(-50%,-50%) scale(1.08)}
/* 时长徽标 */
.vc-dur{position:absolute;right:9px;bottom:9px;z-index:3;background:rgba(0,0,0,.62);
  color:#fff;font-size:11.5px;padding:2px 9px;border-radius:6px;letter-spacing:.3px}
/* 免费/试看小角标 */
.vc-free{position:absolute;left:9px;top:9px;z-index:3;font-size:11.5px;font-weight:700;
  padding:3px 11px;border-radius:999px;background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#5a3618}
/* 右上荐章（小号） */
.video-card .rec-medal{right:8px;top:8px;width:32px;height:32px;font-size:12.5px}

.vc-body{padding:14px 15px 15px;display:flex;flex-direction:column;flex:1}
.vc-body h3{margin:0 0 8px;font-size:15.5px;font-weight:700;color:var(--brown-deep);
  line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-height:44px}
.video-card:hover h3{color:var(--brown)}
.vc-labs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}
.vc-labs span{font-size:11.5px;padding:2px 9px;border-radius:6px;line-height:1.5}
.vc-labs .tag-cat{background:#fff3e2;color:#d96a16}
.vc-labs .tag-level{background:#e6f7f6;color:#15928e}
.vc-labs .tag-city{background:var(--paper);color:var(--text-sub)}
.vc-meta{display:flex;align-items:center;gap:13px;font-size:12px;color:var(--text-sub);
  margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}
.vc-meta span{display:inline-flex;align-items:center;gap:4px}
.vc-meta .ico{width:14px;height:14px;color:var(--gold)}
.vc-meta b{color:var(--brown-deep)}
.vc-meta .vc-chapters{margin-left:auto;color:var(--gold-deep);font-weight:600}

/* ============================================================
   响应式
   ============================================================ */

/* 双行头部：平板折叠为汉堡（course / credential 共用） */
@media(max-width:960px){
  .mini-top .wrap .hello{display:none}
  .ln-menu{display:none;position:absolute;left:0;right:0;top:66px;flex-direction:column;align-items:stretch;
    gap:2px;padding:10px 4%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 14px 22px rgba(0,0,0,.1)}
  .ln-menu.open{display:flex}
  .ln-menu a{padding:12px 14px}
  .ln-menu a.active::after{display:none}
  .ln-toggle{display:inline-flex}
}

/* course：主体改单栏 */
@media(max-width:960px){
  .layout{grid-template-columns:1fr}
  .filter-side{position:static;top:0;flex-direction:column}
  .fp-list{grid-template-columns:repeat(4,1fr)}
}

/* credential：结果降列 */
@media(max-width:960px){
  .cred-grid{grid-template-columns:1fr 1fr}
}

/* index：平板 1024 以下 */
@media(max-width:1024px){
  .hero-grid{grid-template-columns:1fr}
  .welcome{height:auto}
  .page-index .carousel{height:380px}
  .course-grid{grid-template-columns:repeat(2,1fr)}
  .video-feature{grid-template-columns:1fr}
}

/* index：手机 760 以下（三行头部汉堡） */
@media(max-width:760px){
  .topbar .wrap{height:auto;flex-direction:column;gap:4px;padding:7px 0;align-items:flex-start}
  .tb-right{gap:12px;flex-wrap:wrap}
  .masthead .wrap{flex-wrap:wrap}
  .mh-title .t1{font-size:19px;white-space:normal}
  .searchbox{width:100%;order:3;margin-left:0}
  .nav-toggle{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,var(--brown-soft),var(--brown));color:#fff;border:none;border-radius:var(--r-md);padding:8px 16px;font-size:15px;cursor:pointer;margin:10px 0}
  .mainnav .wrap{height:auto;flex-direction:column;align-items:stretch;padding:0}
  .mainnav nav{display:none;flex-direction:column;align-items:stretch;gap:0;padding:6px 0}
  .mainnav.open nav{display:flex}
  .mainnav nav a{padding:12px 6px}
  .mainnav nav a.active::after{display:none}
  .nav-cta{display:none}
  .page-index .carousel{height:260px}
  .news-grid{grid-template-columns:1fr}
  .path{grid-template-columns:repeat(2,1fr)}
  .course-grid{grid-template-columns:1fr}
  .vl-thumb{width:124px}
}

/* course / video：手机 640 以下 */
@media(max-width:640px){
  .page-course .carousel{height:250px}
  .page-course .car-slide{padding:0 26px}
  .page-course .car-slide .deco{display:none}
  .page-course .car-arrow{display:none}
  .page-course .car-slide h2{font-size:21px}
  .course-row{flex-direction:column}
  .cr-thumb{width:100%;height:190px}
  .cr-thumb img{min-height:0;height:190px}
  .cr-foot{flex-direction:column;align-items:flex-start;gap:10px}
  .fp-list{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:26px}
  .footer-brand{grid-column:1/-1;padding-right:0}
  .fb-main{flex-direction:column;gap:16px;margin-left:0}
  /* video：Hero 收紧、网格降 2 列 */
  .page-video .video-hero{padding:28px 24px}
  .page-video .vh-deco{display:none}
  .page-video .video-hero h2{font-size:22px}
  .page-video .vh-tags{gap:10px}
  .video-grid{grid-template-columns:repeat(2,1fr);gap:14px}
}

/* video：手机 420 以下网格降 1 列 */
@media(max-width:420px){
  .video-grid{grid-template-columns:1fr}
}

/* credential：手机 600 以下 */
@media(max-width:600px){
  .query-form{grid-template-columns:1fr;gap:16px}
  .cred-grid{grid-template-columns:1fr}
  .cred-top{flex-direction:column;gap:10px}
  .cred-actions{flex-direction:column}
  .btn{justify-content:center}
  .query-card{padding:22px 18px}
  .cred-card{padding:24px 20px}
  .page-credential .page-hero{padding:28px 24px 24px}
  .page-credential .page-hero h2{font-size:23px}
  .slide-verify{max-width:none}
  .footer-grid{grid-template-columns:1fr 1fr;gap:26px}
  .footer-brand{grid-column:1/-1;padding-right:0}
  .fb-main{flex-direction:column;gap:16px;margin-left:0}
}

/* ============================================================
   page-article 中心动态（文章列表）专属模块
   ============================================================ */
.page-article .article-head{padding:22px 0 4px}
.page-article .article-head h2{margin:0;font-size:25px;color:var(--brown-deep);font-weight:800;display:flex;align-items:center;gap:10px}
.page-article .article-head h2::before{content:"";width:5px;height:24px;border-radius:3px;background:linear-gradient(var(--gold-light),var(--brown))}
.page-article .article-head p{margin:8px 0 0 4px;color:var(--text-sub);font-size:14px}
.article-layout{display:grid;grid-template-columns:1fr 300px;gap:22px;align-items:start;padding-top:18px}
/* 分类 tabs */
.cat-tabs{display:flex;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;box-shadow:var(--shadow-sm);margin-bottom:20px}
.cat-tabs a{padding:8px 18px;border-radius:999px;font-size:14px;color:var(--text-sub);background:var(--paper);border:1px solid transparent;transition:.18s;white-space:nowrap}
.cat-tabs a:hover{color:var(--brown);background:var(--gold-bg)}
.cat-tabs a.active{background:linear-gradient(135deg,var(--brown-soft),var(--brown));color:#fff;font-weight:600;box-shadow:0 4px 12px rgba(139,90,43,.25)}
/* 关键词搜索结果横幅 */
.search-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#f3ead6;border:1px solid #e2d3b0;border-radius:12px;padding:11px 16px;margin:-6px 0 18px;font-size:14px;color:#5a3d1e}
.search-banner strong{color:#8b5a2b}
.search-banner a{color:#8b5a2b;text-decoration:underline;white-space:nowrap}
/* 文章列表 */
.post-list{display:flex;flex-direction:column;gap:14px}
.post-item{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 22px;box-shadow:var(--shadow-sm);transition:.2s}
.post-item:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--gold-light)}
.post-date{flex-shrink:0;width:64px;text-align:center;border-radius:12px;overflow:hidden;align-self:flex-start;
  background:linear-gradient(160deg,#f9f1dd 0%,#f0e1bb 100%);border:1px solid #e7d6a9}
.post-date .d{display:block;color:var(--brown-deep);font-size:26px;font-weight:800;line-height:1;padding:12px 0 4px}
.post-date .ym{display:block;color:var(--gold-deep);font-size:11px;padding:5px 0 7px;font-weight:700;letter-spacing:.5px;
  border-top:1px solid rgba(168,122,46,.2)}
.post-body{min-width:0;flex:1}
.post-title{margin:0 0 8px;font-size:17px;font-weight:700;line-height:1.5}
.post-title a{color:var(--text)}
.post-title a:hover{color:var(--brown)}
.post-desc{margin:0 0 10px;color:var(--text-sub);font-size:14px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#a89878}
.post-cat{color:var(--brown);background:var(--gold-bg);border-radius:6px;padding:2px 9px;font-weight:600}
/* 右侧栏 */
.recom-side{position:sticky;top:84px;display:flex;flex-direction:column;gap:18px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-sm)}
.side-card>h4{margin:0 0 12px;font-size:16px;font-weight:800;color:var(--brown-deep);display:flex;align-items:center;gap:8px}
.side-card>h4::before{content:"";width:4px;height:16px;border-radius:2px;background:linear-gradient(var(--gold-light),var(--brown))}
.quick-links a{display:flex;align-items:center;gap:9px;padding:10px 2px;font-size:14px;color:var(--text-sub);border-bottom:1px dashed var(--line)}
.quick-links a:last-child{border-bottom:none}
.quick-links a:hover{color:var(--brown)}
.quick-links .ico{width:16px;height:16px;color:var(--gold-deep)}
.quick-links a::after{content:"›";margin-left:auto;color:#cbbfa3;font-size:18px}
/* article 响应式 */
@media(max-width:960px){
  .article-layout{grid-template-columns:1fr}
  .recom-side{position:static;order:2}
}
@media(max-width:600px){
  .post-item{gap:13px;padding:15px 16px}
  .post-date{width:56px}
  .post-date .d{font-size:21px}
  .post-title{font-size:15.5px}
}

/* ============================================================
   page-detail 文章详情（阅读页）专属模块
   ============================================================ */
.detail-crumb{padding:18px 0 0;font-size:13px;color:#a89878}
.detail-crumb a{color:var(--text-sub)}
.detail-crumb a:hover{color:var(--brown)}
.detail-crumb .sep{margin:0 8px;color:#cdc1a5}
.detail-crumb .cur{color:var(--brown)}
.detail-wrap{margin:14px 0 0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:40px 54px 44px;box-shadow:var(--shadow-sm)}
.detail-head{text-align:center;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:28px}
.detail-head h1{margin:0 0 18px;font-size:27px;line-height:1.5;font-weight:800;color:var(--brown-deep)}
.detail-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 22px;font-size:13px;color:var(--text-sub)}
.detail-meta span{display:inline-flex;align-items:center;gap:6px}
.detail-meta .ico{width:15px;height:15px;color:var(--gold-deep)}
/* 正文排版 */
.detail-prose{font-size:16px;line-height:1.95;color:#33271f}
.detail-prose p{margin:0 0 18px}
.detail-prose h2{font-size:19px;margin:32px 0 14px;color:var(--brown-deep);font-weight:800;
  padding-left:12px;border-left:4px solid var(--gold-light)}
.detail-prose h3{font-size:16.5px;margin:24px 0 10px;color:var(--brown-deep);font-weight:700}
.detail-prose ul,.detail-prose ol{margin:0 0 18px;padding-left:24px}
.detail-prose li{margin-bottom:8px}
.detail-prose strong{color:var(--brown-deep)}
.detail-prose img{max-width:100%;border-radius:10px;margin:10px 0}
.detail-prose blockquote{margin:18px 0;padding:14px 18px;background:var(--gold-bg);border-left:4px solid var(--gold-light);
  border-radius:0 10px 10px 0;color:var(--brown-deep);font-size:15px}
.detail-prose a{color:var(--brown);text-decoration:underline}
/* 附件下载 */
.attach-box{margin-top:30px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.attach-box .attach-title{margin:0;padding:13px 18px;background:var(--gold-bg);color:var(--brown-deep);
  font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}
.attach-box .attach-title .ico{width:17px;height:17px}
.attach-list{list-style:none;margin:0;padding:6px 0}
.attach-list li{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px dashed var(--line)}
.attach-list li:last-child{border-bottom:none}
.attach-list .file-ico{width:34px;height:34px;border-radius:8px;background:var(--paper);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;flex-shrink:0}
.attach-list .file-ico .ico{width:18px;height:18px}
.attach-list .file-name{flex:1;min-width:0;font-size:14.5px;color:var(--text)}
.attach-list .file-size{font-size:12.5px;color:#a89878}
.attach-list .dl-btn{flex-shrink:0;font-size:13.5px;color:var(--brown);background:#fff;border:1px solid var(--gold-light);
  border-radius:8px;padding:6px 16px;transition:.18s}
.attach-list .dl-btn:hover{background:var(--brown);color:#fff;border-color:var(--brown)}
@media(max-width:600px){
  .detail-wrap{padding:28px 20px 30px}
  .detail-head h1{font-size:22px}
  .detail-prose{font-size:15.5px}
}

/* ============================================================
   page-base  全省培训中心（左侧地市筛选 + 中心卡片）
   ============================================================ */
.page-base .page-hero{border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);height:220px;display:flex;flex-direction:column;justify-content:center;
  padding:0 42px;margin:22px auto 0;overflow:hidden;
  position:relative;color:#fff;
  background:
    radial-gradient(380px 230px at 90% 12%,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 62%),
    linear-gradient(120deg,#cd903e 0%,#bb7c2e 48%,#9a6120 100%)}
.page-base .page-hero h2{margin:0 0 10px;font-size:27px;font-weight:800;color:#fff;letter-spacing:1px;position:relative}
.page-base .page-hero p{margin:0 0 20px;font-size:14.5px;color:rgba(255,255,255,.9);line-height:1.7;
  max-width:640px;position:relative}
.page-base .ph-feats{display:flex;flex-wrap:wrap;gap:12px;position:relative}
.page-base .ph-feats .pf{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:#fff;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);border-radius:999px;
  padding:7px 16px;font-weight:600}
.page-base .ph-feats .pf .ico{width:15px;height:15px;color:var(--gold-bright);flex-shrink:0}

/* 横幅圆圈点缀（同页脚装饰圆风格，页面底色不变） */
.page-base .page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle 150px at 90% 30%,rgba(255,255,255,.3) 0%,rgba(255,255,255,.14) 58%,rgba(255,255,255,.04) 74%,transparent 88%),
    radial-gradient(circle 120px at 2% 130%,rgba(223,180,110,.30) 0%,rgba(223,180,110,.15) 58%,rgba(223,180,110,.05) 76%,transparent 90%),
    radial-gradient(circle 56px at 73% 142%,rgba(255,255,255,.22) 0%,rgba(255,255,255,.08) 60%,transparent 84%)}

/* 左侧：地市列表 */
.page-base .filter-side{gap:14px}
.bl-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.bl-list a{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text);
  padding:8px 10px;border-radius:8px;transition:.18s;white-space:nowrap;
  box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;min-width:0}
.bl-list a.span2{grid-column:1 / -1}
.bl-list a:hover{background:var(--gold-bg);color:var(--brown)}
.bl-list a.active{background:linear-gradient(135deg,var(--brown-soft),var(--brown));color:#fff;font-weight:600;
  box-shadow:0 3px 9px rgba(139,90,43,.25)}

/* 右侧结果条 */
.base-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.base-bar .bb-title{font-size:16px;font-weight:700;color:var(--brown-deep)}
.base-bar .bb-spacer{flex:1}
.base-bar .bb-sort{font-size:13px;color:var(--text-sub);border:1px solid var(--line);
  background:#fff;border-radius:8px;padding:6px 12px;cursor:pointer;transition:.18s}
.base-bar .bb-sort:hover{border-color:var(--gold-light);color:var(--brown)}

/* 中心卡片 */
.base-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.base-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:19px 20px 16px;box-shadow:var(--shadow-sm);
  transition:.22s;position:relative;overflow:hidden}
.base-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(var(--gold-bright),var(--gold));opacity:0;transition:.22s}
.base-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--gold-light)}
.base-card:hover::before{opacity:1}
.bc-top{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px}
.bc-top .ico{flex-shrink:0;width:19px;height:19px;margin-top:2px;color:var(--gold-deep)}
.bc-top h4{margin:0;font-size:15.5px;font-weight:700;color:var(--brown-deep);line-height:1.45}
.bc-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.bc-tag{font-size:11.5px;line-height:1;padding:4px 9px;border-radius:6px;font-weight:600}
.tag-prov{background:var(--gold-bg);color:var(--gold-deep);border:1px solid var(--gold-light)}
.tag-city{background:var(--paper);color:var(--brown-deep);border:1px solid var(--line)}
.tag-county{background:var(--moss-bg);color:var(--moss);border:1px solid var(--moss-line)}
.bc-org{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text);margin-bottom:7px}
.bc-org .ico{width:14px;height:14px;color:var(--gold-deep);flex-shrink:0}
.bc-desc{margin:0;font-size:13px;line-height:1.65;color:var(--text-sub);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bc-foot{margin-top:12px;padding-top:11px;border-top:1px dashed var(--line);
  display:flex;align-items:center;justify-content:space-between}
.bc-foot .bf-meta{font-size:12.5px;color:var(--gray)}
.bc-foot .bf-go{font-size:13px;font-weight:600;color:var(--brown);display:flex;align-items:center;gap:4px}
.bc-foot .bf-go .ico{width:14px;height:14px;transition:.2s}
.base-card:hover .bf-go .ico{transform:translateX(3px)}
.base-empty{display:none;text-align:center;padding:60px 0;color:var(--text-sub);font-size:14px}
@keyframes baseCardIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.base-card{animation:none !important}}

/* ===== page-bdetail：中心详情页 ===== */
.page-bdetail main{display:block}
.page-bdetail .detail-crumb{margin:16px 0 14px;font-size:13px;color:var(--text-sub)}
.page-bdetail .detail-crumb a{color:var(--text-sub)}
.page-bdetail .detail-crumb a:hover{color:var(--brown)}
.page-bdetail .detail-crumb .sep{margin:0 8px;color:var(--gray)}
.page-bdetail .detail-crumb .current{color:var(--text)}

.bd-head{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:22px 26px;box-shadow:var(--shadow-sm);
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.bdh-left{display:flex;align-items:center;gap:16px;min-width:0}
.bdh-icon{flex-shrink:0;width:56px;height:56px;border-radius:14px;
  background:linear-gradient(135deg,var(--gold-bg),#fff3df);
  border:1px solid var(--gold-light);
  display:flex;align-items:center;justify-content:center;color:var(--gold-deep)}
.bdh-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.bdh-title-wrap{min-width:0}
.bdh-level{margin-bottom:7px}
.bd-tag{font-size:11.5px;line-height:1;padding:5px 10px;border-radius:6px;font-weight:600}
.bdh-title{margin:0;font-size:21px;font-weight:700;color:var(--brown-deep);line-height:1.4}
.bdh-depart{margin:6px 0 0;font-size:13.5px;color:var(--text-sub)}
.bdh-right{flex-shrink:0}
.bdh-loc{display:inline-flex;align-items:center;gap:6px;font-size:13px;
  color:var(--text-sub);background:var(--paper);border:1px solid var(--line);
  border-radius:8px;padding:7px 13px}
.bdh-loc .ico{width:15px;height:15px;color:var(--gold-deep);flex-shrink:0}

.bd-section{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);margin-top:18px;overflow:hidden}
.bds-head{display:flex;align-items:center;gap:9px;padding:16px 24px;
  border-bottom:1px solid var(--line);background:linear-gradient(#fdfaf3,#fdfaf3)}
.bds-head .ico{width:19px;height:19px;color:var(--gold-deep);
  fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bds-head h2{margin:0;font-size:16px;font-weight:700;color:var(--brown-deep)}
.bds-body{padding:20px 24px}
.bds-prose{font-size:14px;line-height:1.9;color:var(--text)}
.bds-prose p{margin:0 0 12px}
.bds-prose p:last-child{margin-bottom:0}
.bds-prose ul{margin:6px 0 0;padding-left:20px}
.bds-prose li{margin-bottom:6px}

.bd-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.bd-course{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  overflow:hidden;transition:.22s}
.bd-course:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--gold-light)}
.bc-cover{position:relative;aspect-ratio:16/10;background:var(--paper);overflow:hidden}
.bc-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:.3s}
.bd-course:hover .bc-cover img{transform:scale(1.05)}
.bc-badge{position:absolute;top:9px;left:9px;font-size:11.5px;font-weight:600;
  color:#fff;background:rgba(143,91,43,.92);border-radius:5px;padding:3px 9px}
.bc-info{padding:13px 14px 14px}
.bc-info h3{margin:0 0 9px;font-size:14.5px;font-weight:700;color:var(--brown-deep);
  line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;min-height:43px}

@media(max-width:960px){
  .bd-course-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .bd-head{padding:18px}
  .bdh-title{font-size:18px}
  .bds-head{padding:14px 16px}
  .bds-body{padding:16px}
  .bd-course-grid{grid-template-columns:1fr}
}

/* ============================================================
   page-cdetail 线下课程详情页
   ============================================================ */
.page-cdetail main{display:block}
.detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:16px 0 14px}
.page-cdetail .detail-crumb{font-size:13px;color:var(--text-sub)}
.page-cdetail .detail-crumb a{color:var(--text-sub)}
.page-cdetail .detail-crumb a:hover{color:var(--brown)}
.page-cdetail .detail-crumb .sep{margin:0 8px;color:var(--gray)}
.page-cdetail .detail-crumb .current{color:var(--text)}
.cd-share{display:inline-flex;align-items:center;gap:6px;font-size:13px;
  color:var(--text-sub);background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:6px 14px;cursor:pointer;transition:.2s;flex-shrink:0}
.cd-share .ico{width:15px;height:15px}
.cd-share:hover{color:var(--brown);border-color:var(--gold-light)}

.cd-hero{display:grid;grid-template-columns:1.18fr 1fr;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);overflow:hidden}
.cd-cover{position:relative;min-width:0}
.cd-cover img{width:100%;height:100%;object-fit:cover;display:block}
.cd-panel{padding:20px 24px;display:flex;flex-direction:column;min-width:0}
.cdp-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cdp-type{display:inline-block;font-size:12.5px;font-weight:600;color:#fff;
  background:linear-gradient(135deg,var(--brown-soft),var(--brown));
  border-radius:6px;padding:3px 12px}
.cdp-title{margin:14px 0 16px;font-size:21px;line-height:1.45;font-weight:700;
  color:var(--brown-deep)}
.cd-meta{margin:0 0 18px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.cdm-row{display:flex;gap:12px;padding:10px 15px;font-size:13.5px;border-bottom:1px solid var(--line)}
.cdm-row:last-child{border-bottom:none}
.cdm-row dt{flex-shrink:0;width:68px;color:var(--text-sub)}
.cdm-row dd{margin:0;color:var(--text)}
.cd-sign{align-self:flex-start;margin-top:auto;padding:11px 36px;font-size:15px;
  box-shadow:0 8px 22px rgba(196,145,63,.42)}
.btn-lg{padding:11px 30px;font-size:15px}
.cd-teacher{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);margin-top:22px;padding:18px 20px;overflow:hidden}
.teacher-box{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.teacher-head{width:100%;display:flex;align-items:center;justify-content:space-between;
  padding:11px 15px;background:var(--paper);border:none;cursor:pointer;
  font-size:14.5px;font-weight:700;color:var(--brown-deep)}
.teacher-head .arrow{width:17px;height:17px;color:var(--brown);transition:.25s}
.teacher-head[aria-expanded="true"] .arrow{transform:rotate(180deg)}
.teacher-body{display:none}
.teacher-body.open{display:block}
.teacher-scroll{overflow-x:auto;padding:0}
.teacher-table{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed;font-size:13.5px}
.teacher-table th,.teacher-table td{padding:10px 12px;border-bottom:1px solid var(--line);
  text-align:left;line-height:1.6;word-break:break-all}
.teacher-table thead th{background:var(--gold-bg);color:var(--brown-deep);font-weight:700;white-space:nowrap}
.teacher-table tbody tr:last-child td{border-bottom:none}
.teacher-table tbody tr:nth-child(even){background:#fdfaf2}

.btn-lg{padding:11px 30px;font-size:15px}

.cd-section{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);margin-top:22px;overflow:hidden}
.cds-head{padding:15px 22px;border-bottom:1px solid var(--line);background:var(--paper)}
.cds-head h2{margin:0;font-size:17px;font-weight:700;color:var(--brown-deep)}
.cds-body{padding:22px}
.cds-prose{font-size:14.5px;line-height:1.9;color:var(--text)}
.cds-prose p{margin:0 0 14px}
.cds-prose p:last-child{margin-bottom:0}
.cds-prose ul{margin:14px 0 0;padding-left:20px}
.cds-prose li{margin-bottom:8px}
/* 富文本公文排版（内容介绍，2026-10-08） */
.cds-prose p{text-indent:2em}
.cds-prose h2,.cds-prose h3,.cds-prose h4,.cds-prose h5{text-indent:0;font-weight:700;color:var(--brown-deep);line-height:1.5}
.cds-prose h4{font-size:16px;margin:20px 0 12px}
.cds-prose h4:first-child{margin-top:0}
.cds-prose h3{font-size:17px;margin:22px 0 12px}
.cds-prose h2{font-size:18px;margin:24px 0 12px}
.cds-prose .pp-h1{font-size:16px;font-weight:700;text-indent:2em;margin:18px 0 10px;color:var(--brown-deep)}
.cds-prose .pp-sub{text-indent:2em;margin:0 0 12px;font-weight:700}
.cds-prose p[style*="center"],.cds-prose p[style*="居中"]{text-indent:0}
.cds-prose img{display:block;margin:14px auto;max-width:100%;height:auto;border-radius:8px}
.cds-prose p img{margin:0 auto}
.cds-prose ul,.cds-prose ol{margin:12px 0 14px;padding-left:2em}
.cds-prose li{text-indent:0}
.cds-prose strong{color:var(--brown-deep)}
.cds-prose blockquote{margin:14px 0;padding:8px 16px;border-left:3px solid var(--gold-light);background:var(--paper);color:var(--text-sub)}
.cds-prose table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}
.cds-prose th,.cds-prose td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.cds-prose a{color:var(--gold);text-decoration:underline}
@media (max-width:640px){
  .cds-prose{font-size:14px;line-height:1.85}
  .cds-prose h4{font-size:15.5px}
}

.cd-relate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cd-relate{display:block;border:1px solid var(--line);border-radius:var(--r-md);
  overflow:hidden;background:#fff;transition:.25s}
.cd-relate:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--gold-light)}
.cr-cover{position:relative;aspect-ratio:16/10;background:var(--paper);overflow:hidden}
.cr-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:.3s}
.cd-relate:hover .cr-cover img{transform:scale(1.05)}
.cr-info{padding:12px 13px 14px}
.cr-info h3{margin:0 0 9px;font-size:14px;font-weight:700;color:var(--brown-deep);
  line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;min-height:42px}

/* 分享弹窗 */
.share-modal{display:none;position:fixed;inset:0;z-index:1000}
.share-modal.show{display:block}
.sm-mask{position:absolute;inset:0;background:rgba(50,32,16,.5)}
.sm-box{position:relative;width:min(440px,92%);margin:9vh auto 0;background:#fff;
  border-radius:var(--r-lg);overflow:hidden;box-shadow:0 24px 60px rgba(40,25,10,.3)}
.sm-head{display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border-bottom:1px solid var(--line)}
.sm-head h3{margin:0;font-size:16.5px;color:var(--brown-deep)}
.sm-close{border:none;background:none;font-size:24px;line-height:1;color:var(--gray);
  cursor:pointer;padding:0}
.sm-close:hover{color:var(--brown)}
.sm-body{padding:22px 20px;text-align:center}
.sm-qr{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:14px}
.sm-qr img,.sm-qr canvas{width:150px;height:150px;border:1px solid var(--line);border-radius:var(--r-md);padding:6px;background:#fff}
.sm-qr p{margin:9px 0 16px;font-size:13px;color:var(--text-sub)}
.sm-info{text-align:left;background:var(--paper);border-radius:var(--r-md);
  padding:12px 14px;margin-bottom:16px}
.sm-info .sm-title{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--brown-deep)}
.sm-info .sm-url{margin:0;font-size:12.5px;color:var(--text-sub);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-body .btn{justify-content:center;width:100%}

@media(max-width:1024px){
  .cd-relate-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .detail-topbar{align-items:flex-start;flex-direction:column;gap:8px}
  .cd-hero{grid-template-columns:1fr}
  .cd-cover img{aspect-ratio:16/10;height:auto}
  .cd-panel{padding:16px 16px 18px}
  .cdp-title{margin:12px 0 14px;font-size:18px}
  .cd-sign{margin-top:4px;padding:10px 26px;font-size:14.5px}
  .cd-teacher{padding:14px 14px}
  .cdm-row{border-bottom:1px solid var(--line)}
  .cdm-row:last-child{border-bottom:none !important}
  .cds-body{padding:16px}
  .cd-relate-grid{grid-template-columns:1fr}
  .sm-box{margin:6vh auto 0}
}

@media(max-width:1150px){
  .base-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:960px){
  .page-base .layout{grid-template-columns:1fr}
  .page-base .filter-side{position:static;flex-direction:column;width:100%;max-width:100%}
  .page-base .filter-side .filter-box{flex:none;width:100%;max-width:100%;box-sizing:border-box}
  .base-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .page-base .page-hero{padding:20px 18px 18px}
  .page-base .page-hero h2{font-size:20px}
  .page-base .ph-feats{gap:8px}
  .page-base .ph-feats .pf{font-size:12.5px;padding:5px 11px}
  .page-base .bl-list a{padding:8px 9px}
  .base-grid{grid-template-columns:1fr}
  html,body{overflow-x:hidden;max-width:100%}
  .page-base .wrap{width:auto;max-width:none;min-width:0;margin:0 14px}
}

/* ============================================================
   page-register 个人注册页
   ============================================================ */
.page-register{background:var(--paper)}
.page-register .page-hero{border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);padding:38px 42px 32px;margin:22px auto 0;overflow:hidden;
  position:relative;color:var(--brown-deep);
  background:
    radial-gradient(380px 230px at 90% 12%,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 62%),
    linear-gradient(120deg,#cd903e 0%,#bb7c2e 48%,#9a6120 100%)}
.page-register .req{color:#c0392b;font-style:normal}
.page-register .page-hero .req{color:#fbe0a0}
.page-register .ph-feats{display:flex;flex-wrap:wrap;gap:12px;position:relative}
.page-register .ph-feats .pf{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:#fff;
  background:rgba(255,255,255,.1);border:1px solid rgba(240,207,142,.45);border-radius:999px;
  padding:7px 16px;font-weight:600}
.page-register .ph-feats .pf .ico{width:15px;height:15px;color:var(--gold-bright);flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.page-register .page-hero h1{margin:0 0 10px;font-size:27px;font-weight:800;color:#fff;letter-spacing:1px;position:relative}
.page-register .page-hero p{margin:0 0 20px;font-size:14.5px;color:rgba(255,255,255,.9);line-height:1.7;position:relative}
@media(max-width:600px){
  .page-register .ph-feats{gap:8px}
  .page-register .ph-feats .pf{font-size:12.5px;padding:5px 11px}
}

.reg-form{width:100%;max-width:none;margin:22px auto 44px;display:flex;flex-direction:column;gap:20px}
.reg-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);overflow:hidden}
.rc-head{display:flex;align-items:center;gap:12px;padding:16px 24px;
  background:linear-gradient(180deg,#fdf7ea,#f8eeda);border-bottom:1px solid var(--line)}
.rc-no{width:28px;height:28px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,var(--brown-soft),var(--brown-deep));
  color:#fff;font-size:14.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.rc-head h3{font-size:17px;color:var(--brown-deep);font-weight:700}
.rc-body{padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}

.reg-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.reg-field.rf-wide{grid-column:1 / -1}
/* 单列单值字段（姓名、单位）收窄，不撑满整卡 */
.reg-field.rf-narrow{grid-column:1 / -1;max-width:460px}
.reg-field > label{font-size:14px;font-weight:600;color:var(--text)}
.rf-control{display:flex;flex-direction:column;gap:6px;min-width:0}

.reg-field input[type=text],.reg-field input[type=tel],.reg-field input[type=password],
.reg-field select{width:100%;box-sizing:border-box;height:44px;padding:0 14px;
  border:1.5px solid var(--line);border-radius:var(--r-md);background:#fff;
  font-size:14.5px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s}
.reg-field input:focus,.reg-field select:focus{border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(196,145,63,.14)}
.reg-field input::placeholder{color:#b4a58c}
.reg-field input.invalid,.reg-field select.invalid{border-color:#d96656;
  box-shadow:0 0 0 3px rgba(217,102,86,.12)}
.rf-tip{font-size:12.5px;color:var(--text-sub);line-height:1.5}
.rf-tip.err{color:#c0392b}

/* 性别分段选择 */
.seg{display:inline-flex;border:1.5px solid var(--line);border-radius:var(--r-md);overflow:hidden;width:max-content}
.seg input{position:absolute;opacity:0;width:0;height:0}
.seg label{padding:10px 30px;font-size:14px;color:var(--text-sub);cursor:pointer;transition:.15s;background:#fff}
.seg label + label{border-left:1px solid var(--line)}
.seg input:checked + label{background:linear-gradient(135deg,var(--brown-soft),var(--brown));color:#fff;font-weight:600}
.seg input:focus-visible + label{outline:2px solid var(--gold);outline-offset:-2px}

/* 并排下拉 */
.reg-selects{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:12px}
.reg-selects select{min-width:0}

/* 工作单位自定义下拉 */
.depart-select{position:relative}
.depart-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:10px;
  height:44px;padding:0 14px;border:1.5px solid var(--line);border-radius:var(--r-md);
  background:#fff;font-size:14.5px;color:var(--text);cursor:pointer;text-align:left;transition:border-color .2s}
.depart-trigger .ico{width:17px;height:17px;color:var(--text-sub);flex-shrink:0;transition:transform .2s}
.depart-trigger[aria-expanded=true]{border-color:var(--gold);box-shadow:0 0 0 3px rgba(196,145,63,.14)}
.depart-trigger[aria-expanded=true] .ico{transform:rotate(180deg)}
.depart-panel{display:none;position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:var(--shadow);padding:10px}
.depart-panel.open{display:block}
.depart-search{width:100%;box-sizing:border-box;height:38px;padding:0 12px;margin-bottom:8px;
  border:1px solid var(--line);border-radius:8px;font-size:13.5px;outline:none}
.depart-search:focus{border-color:var(--gold)}
.depart-panel ul{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto}
.depart-panel li{padding:9px 12px;border-radius:8px;font-size:13.5px;color:var(--text);cursor:pointer}
.depart-panel li:hover{background:var(--gold-bg);color:var(--brown-deep)}
.depart-none{padding:12px;font-size:13px;color:var(--text-sub);text-align:center}

/* 验证码行 */
.code-row{display:flex;gap:10px;align-items:center}
.code-row input{flex:1;min-width:0;height:44px;padding:0 14px;box-sizing:border-box;
  border:1.5px solid var(--line);border-radius:var(--r-md);font-size:14.5px;outline:none}
.code-row input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(196,145,63,.14)}
.code-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;line-height:1;height:44px;padding:0 18px;border:none;border-radius:var(--r-md);
  background:linear-gradient(135deg,var(--brown-soft),var(--brown));color:#fff;
  font-size:14px;font-weight:600;cursor:pointer;transition:.2s;white-space:nowrap}
.code-btn:hover:not(:disabled){filter:brightness(1.08)}
.code-btn:disabled{background:#c9bda8;color:#f3eee4;cursor:not-allowed}

/* 协议与提交 */
.reg-submit-card{background:transparent;border:none;box-shadow:none;padding:4px 2px}
.agree-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;font-size:14px;color:var(--text)}
.agree-row input{width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:var(--brown);cursor:pointer}
.agree-row label{cursor:pointer;line-height:1.5}
.agree-row a{color:var(--brown);text-decoration:underline}
.reg-submit{width:100%;height:52px;border:none;border-radius:var(--r-lg);
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-deep) 100%);
  color:#fff;font-size:16.5px;font-weight:700;letter-spacing:3px;cursor:pointer;
  box-shadow:0 8px 22px rgba(168,122,46,.32);transition:.2s}
.reg-submit:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(168,122,46,.42)}
.reg-submit:active{transform:translateY(0)}

/* Toast */
.toast{position:fixed;left:50%;bottom:42px;transform:translateX(-50%) translateY(20px);
  background:rgba(61,44,34,.94);color:#fff;font-size:14px;padding:11px 22px;border-radius:999px;
  opacity:0;pointer-events:none;transition:.25s;z-index:99;max-width:86%;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media(max-width:760px){
  .rc-body{grid-template-columns:1fr;gap:20px;padding:20px}
  .rc-head{padding:14px 20px}
}
@media(max-width:600px){
  .reg-form{margin:18px 0 32px;gap:16px}
  .seg label{padding:10px 24px}
  .code-row{flex-wrap:nowrap}
  .code-btn{padding:0 14px;font-size:13px}
  .mini-top .wrap{gap:10px;min-width:0}
  .mini-top .hello{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mt-links{gap:10px;flex-shrink:0}
  .reg-selects{grid-template-columns:1fr}
}

/* ============================================================
   page-mcourse 我的培训（学习记录）
   ============================================================ */
.page-mcourse{background:var(--paper)}
.page-mcourse .req{color:#fbe0a0}
.page-mcourse .page-hero{border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);padding:38px 42px 32px;margin:22px auto 0;overflow:hidden;
  position:relative;color:var(--brown-deep);
  background:
    radial-gradient(440px 270px at 90% 16%,rgba(255,255,255,.4) 0%,rgba(255,255,255,0) 60%),
    linear-gradient(120deg,#f0d396 0%,#e3b25c 46%,#cf9238 100%)}
.page-mcourse .page-hero h1{margin:0 0 10px;font-size:27px;font-weight:800;color:#fff;letter-spacing:1px;position:relative}
.page-mcourse .page-hero p{margin:0 0 20px;font-size:14.5px;color:rgba(255,255,255,.86);line-height:1.7;
  max-width:680px;position:relative}
.page-mcourse .ph-feats{display:flex;flex-wrap:wrap;gap:12px;position:relative}
.page-mcourse .ph-feats .pf{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:#fff;
  background:rgba(255,255,255,.1);border:1px solid rgba(240,207,142,.45);border-radius:999px;
  padding:7px 16px;font-weight:600}
.page-mcourse .ph-feats .pf .ico{width:15px;height:15px;color:var(--gold-bright);flex-shrink:0;
  fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.mc-main{display:block;margin-top:22px;margin-bottom:44px}

/* 温馨提示（复用 uc-card 结构） */
.mc-notice{margin-bottom:22px}

/* 分段 Tab */
.mc-tabs{display:flex;gap:10px;margin-bottom:18px}
.mc-tab{height:42px;padding:0 28px;border:1.5px solid var(--line);border-radius:999px;
  background:#fff;color:var(--text-sub);font-size:14.5px;font-weight:600;cursor:pointer;transition:.2s}
.mc-tab:hover{border-color:var(--gold-light);color:var(--brown)}
.mc-tab.on{background:linear-gradient(135deg,var(--brown-soft),var(--brown));border-color:transparent;
  color:#fff;box-shadow:0 6px 16px rgba(110,68,32,.25)}
.mc-pane{display:none}
.mc-pane.on{display:block}
.mc-list{display:flex;flex-direction:column;gap:16px}

/* 课程记录卡 */
.mc-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .2s,transform .2s}
.mc-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.mcc-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:11px 20px;background:linear-gradient(180deg,#f4e6c8,#efddb5);border-bottom:1px solid #e3d2ab}
.mcc-date{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-sub)}
.mcc-date .ico{width:15px;height:15px;color:var(--gold-deep);fill:none;stroke:currentColor;stroke-width:2}
.mcc-ops{display:inline-flex;align-items:center;gap:10px}
.mcc-status{display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;
  padding:3px 12px;border-radius:999px}
.mcc-status.moss{background:#e8f0e2;color:var(--moss)}
.mcc-status.gold{background:var(--gold-bg);color:var(--gold-deep)}
.mcc-status.red{background:#fbe7e4;color:#c0473a}
.mcc-status.gray{background:#efece6;color:var(--gray)}

/* 同步按钮 */
.mcc-sync{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 14px;
  border:1px solid var(--brown-soft);border-radius:999px;background:#fff;
  color:var(--brown);font-size:12.5px;font-weight:600;cursor:pointer;transition:.2s}
.mcc-sync .ico{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}
.mcc-sync:hover{background:var(--brown);color:#fff}
.mcc-sync.is-busy{opacity:.65;pointer-events:none}

/* 卡片主体 */
.mcc-body{display:flex;gap:20px;padding:18px 20px;text-decoration:none}
.mcc-thumb{position:relative;width:200px;flex-shrink:0;border-radius:var(--r-md);overflow:hidden}
.mcc-thumb img{width:100%;height:124px;object-fit:cover;display:block}
.mcc-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(61,44,34,.55);backdrop-filter:blur(2px)}
.mcc-play svg{width:18px;height:18px;fill:#fff}
.mcc-loc{position:absolute;left:9px;bottom:9px;display:inline-flex;align-items:center;gap:4px;
  padding:3px 9px;border-radius:6px;background:rgba(61,44,34,.62);
  color:#fff;font-size:11.5px}
.mcc-loc svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}
.mcc-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:10px}
.mcc-title{font-size:16.5px;font-weight:700;color:var(--text);line-height:1.4;margin:0}
.mcc-sub{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-sub)}
.mcc-min{display:inline-flex;align-items:center}
.mcc-kind{padding:2px 10px;border-radius:6px;background:var(--gold-bg);color:var(--gold-deep);
  font-size:12px;font-weight:600}
.mcc-tags{display:flex;flex-wrap:wrap;gap:8px}

/* 进度条 */
.mcc-prog{display:flex;align-items:center;gap:12px}
.mcc-prog-track{flex:1;height:8px;border-radius:999px;background:#eee4d0;overflow:hidden}
.mcc-prog-track i{display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,var(--gold-light),var(--gold-deep))}
.mcc-prog-track.full i{background:linear-gradient(90deg,#8aa874,var(--moss))}
.mcc-prog-pct{font-size:13px;font-weight:700;color:var(--brown);min-width:42px;text-align:right}

/* 电子证书 */
.mcc-cert{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 14px;
  border-radius:999px;background:linear-gradient(135deg,var(--moss),#4a5c38);
  color:#fff;font-size:12.5px;font-weight:600;text-decoration:none}
.mcc-cert .ico{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.mcc-cert:hover{filter:brightness(1.1)}
.mcc-cert-none{font-size:12.5px;color:var(--gray)}

/* ============================================================
   个人中心框架（欢迎条 + 左菜单 + 右内容）
   ============================================================ */
/* 欢迎条 */
.uc-welcome{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);
  box-shadow:var(--shadow-sm);padding:15px 22px;margin-top:18px}
.ucw-head{display:flex;align-items:center;gap:8px}
.ucw-head .ico{width:19px;height:19px;color:var(--gold-deep);fill:none;stroke:currentColor;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ucw-head h2{font-size:16px;color:var(--brown-deep);font-weight:700;margin:0}
.ucw-head sup{font-size:12px;color:var(--text-sub);font-weight:400}
.ucw-body{margin-top:8px}
.ucw-body p{font-size:13px;color:var(--text-sub);line-height:1.85;margin:0}

/* 主体布局 */
.uc-layout{display:grid;grid-template-columns:248px 1fr;gap:20px;
  align-items:start;margin-top:18px;margin-bottom:44px}

/* 左侧用户卡 */
.uc-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:16px}
.uc-user{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);padding:22px 18px;display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:8px}
.ucu-avatar{width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,var(--brown-soft),var(--brown-deep));
  display:inline-flex;align-items:center;justify-content:center;margin-bottom:2px}
.ucu-avatar svg{width:34px;height:34px;fill:none;stroke:#f0cf8e;stroke-width:1.8;stroke-linecap:round}
.ucu-name{font-size:16.5px;font-weight:700;color:var(--text)}
.ucu-depart{font-size:12.5px;color:var(--text-sub);line-height:1.5}
.ucu-badge{display:inline-flex;align-items:center;gap:4px;margin-top:4px;
  font-size:12px;font-weight:600;color:var(--moss);background:#e8f0e2;
  padding:3px 12px;border-radius:999px}
.ucu-badge .ico{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.4}

/* 左侧菜单 */
.uc-menu{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);padding:8px;display:flex;flex-direction:column;gap:4px}
.ucm-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;
  border:none;border-radius:var(--r-md);background:transparent;color:var(--text-sub);
  font-size:14px;font-weight:600;cursor:pointer;text-align:left;transition:.18s}
.ucm-item .ico{width:17px;height:17px;flex-shrink:0;fill:none;stroke:currentColor;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ucm-item:hover{background:var(--gold-bg);color:var(--brown)}
.ucm-item.on{background:linear-gradient(135deg,var(--brown-soft),var(--brown));color:#fff;
  box-shadow:0 6px 14px rgba(110,68,32,.22)}

/* 右侧面板 */
.uc-content{min-width:0}
.uc-panel{display:none}
.uc-panel.on{display:block;animation:ucfade .25s ease}
@keyframes ucfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* 资料/密码表单 */
.uc-form{display:flex;flex-direction:column;gap:16px}
.uc-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);overflow:hidden}
.uc-card-head{padding:13px 22px;font-size:15px;font-weight:700;color:#5a3618;
  position:relative;background:linear-gradient(180deg,#f3e0b8,#ecd9ae);
  border-bottom:1px solid #ddc494;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.uc-card-body{padding:20px 22px}
.uc-p{font-size:13.5px;color:var(--text-sub);line-height:1.9;margin:0 0 6px}
.uc-p:last-child{margin-bottom:0}
.uc-ok{display:inline-flex;align-items:center;gap:4px;color:var(--moss);font-weight:700}
.uc-ok .ico{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4}

/* 表单行 */
.uc-row{display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:start;
  padding:9px 0}
.uc-row>label{font-size:13.5px;font-weight:600;color:var(--text);padding-top:10px;
  text-align:right;line-height:1.4}
.uc-ctrl{min-width:0;display:flex;flex-direction:column;gap:5px}
.uc-form input,.uc-form select{width:100%;height:42px;padding:0 14px;font-size:14px;
  color:var(--text);background:#fff;border:1px solid var(--line);border-radius:9px;
  transition:border-color .18s,box-shadow .18s}
.uc-form input:focus,.uc-form select:focus{outline:none;border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(196,145,63,.14)}
.uc-form input[readonly]{background:#faf6ee;color:var(--text-sub);cursor:not-allowed}
.uc-hint{font-size:12px;color:var(--text-sub);line-height:1.5}
input.invalid{border-color:#d9534f;box-shadow:0 0 0 3px rgba(217,83,79,.12)}

/* 多下拉横排 */
.uc-selects{display:flex;gap:10px}
.uc-selects select{flex:1;min-width:0;padding-right:28px;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2387704f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center}

/* 成对字段（执业类型/职称 等） */
.uc-row-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:9px 0}
.ucr-pair{display:flex;flex-direction:column;gap:7px}
.ucr-pair label{font-size:13.5px;font-weight:600;color:var(--text)}

/* 提交区 */
.uc-actions{display:flex;justify-content:flex-end;padding:2px 0}
.uc-submit{min-width:180px;height:46px;padding:0 34px;border:none;border-radius:999px;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#fff;
  font-size:15px;font-weight:700;letter-spacing:1px;cursor:pointer;
  box-shadow:0 8px 20px rgba(168,122,46,.3);transition:.2s}
.uc-submit:hover{filter:brightness(1.06);transform:translateY(-1px)}
.uc-submit:active{transform:translateY(0)}

@media(max-width:900px){
  .uc-layout{grid-template-columns:1fr}
  .uc-side{position:static;flex-direction:column}
  .uc-user{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;text-align:left;
    padding:16px 18px;gap:10px}
  .ucu-avatar{margin-bottom:0;width:52px;height:52px}
  .ucu-avatar svg{width:28px;height:28px}
  .ucu-badge{margin-top:0}
  .uc-menu{flex-direction:row;flex-wrap:wrap}
  .ucm-item{flex:1 1 auto;justify-content:center;min-width:110px}
}
@media(max-width:600px){
  .ucw-head{flex-wrap:wrap}
  .uc-row{grid-template-columns:1fr;gap:7px;padding:11px 0}
  .uc-row>label{text-align:left;padding-top:0}
  .uc-card-body{padding:16px}
  .uc-card-head{padding:12px 16px}
  .uc-selects{flex-direction:column}
  .uc-row-pair{grid-template-columns:1fr;gap:14px}
  .uc-actions{justify-content:stretch}
  .uc-submit{width:100%}
  .ucm-item{min-width:0;font-size:13px;padding:10px}
}

@media(max-width:760px){
  .mcc-body{flex-direction:column;gap:14px}
  .mcc-thumb{width:100%}
  .mcc-thumb img{height:170px}
}
@media(max-width:600px){
  .mc-tabs{gap:8px}
  .mc-tab{flex:1;padding:0;height:40px}
  .mcc-top{padding:10px 16px}
  .mcc-body{padding:14px 16px}
  .mcc-thumb img{height:150px}
  .mcc-title{font-size:15.5px}
}

/* 全局：600 以下统一封横向溢出、主体满宽（各页共用） */
@media(max-width:600px){
  html,body{overflow-x:hidden;max-width:100%}
  .wrap{width:100%;box-sizing:border-box;padding:0 14px}
  .layout{width:100%;box-sizing:border-box;margin-left:0;margin-right:0}
}

/* ============================================================
   打印（三页合并）
   ============================================================ */
@media print{
  /* 各页公共隐藏项 */
  .mini-top,.light-nav{display:none !important}
  .site-footer{background:#fff;color:#000}
  body{background:#fff;color:#000}
  a{color:#000}
  /* credential */
  .page-credential .page-hero,.query-card,.cred-actions,.no-result,.cr-notice-box{display:none !important}
  .page-credential .layout{display:block;margin:0}
  .cred-card{box-shadow:none;border:1px solid #999;break-inside:avoid;padding:18px 20px}
  .cred-card::before{display:none}
  /* course */
  .carousel-box,.filter-side,.tech-strip-box,.result-bar,.pager,.cr-go{display:none !important}
  .layout{display:block}
  .course-row{box-shadow:none;border:1px solid #999;break-inside:avoid}
  /* index */
  .topbar,.mainnav,.car-arrow,.car-dots,.car-pause,.nav-toggle,.vc-play,.vm-badge,.more-link,.pilltabs{display:none !important}
  .section,.hero{padding:8px 0}
  .panel,.welcome,.course-card,.video-main,.vl-item{box-shadow:none;border:1px solid #ccc;break-inside:avoid}
  .page-index .carousel{height:auto}
  .page-index .car-slide{position:static;opacity:1}
  .page-index .car-slide:not(:first-child){display:none}
  /* bdetail */
  .bd-head,.bd-section{box-shadow:none;border:1px solid #999;break-inside:avoid}
  .bd-course{box-shadow:none;border:1px solid #999;break-inside:avoid}
  .bd-course:hover{transform:none}
  /* cdetail */
  .cd-share,.cd-sign,.share-modal{display:none !important}
  .cd-hero,.cd-teacher,.cd-section{box-shadow:none;border:1px solid #999;break-inside:avoid}
  .teacher-body{display:block !important}
  .teacher-scroll{overflow:visible}
  .cd-relate{box-shadow:none;border:1px solid #999;break-inside:avoid}
  .cd-relate:hover{transform:none}
  /* register */
  .page-register .depart-panel,.toast,.footer-qr,.qr-group{display:none !important}
  .reg-form{margin:14px 0;gap:12px}
  .reg-card{box-shadow:none;border:1px solid #999;break-inside:avoid}
  .reg-submit-card{display:none !important}
  /* mcourse / 个人中心 */
  .page-mcourse .mc-tabs,.mcc-sync,.mcc-play,.mcc-loc,.toast,.footer-qr,.qr-group,
    .uc-actions,.ucw-head .ico{display:none !important}
  .page-mcourse .mc-pane,.page-mcourse .uc-panel{display:block}
  .mc-card,.uc-card{box-shadow:none;border:1px solid #999;break-inside:avoid}
  .mc-card:hover{transform:none}
  .uc-layout{display:block}
  .uc-side{display:none}
}

/* ============================================================
   尊重“减少动态效果”偏好
   ============================================================ */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* ============================================================
   线下培训 / 视频课程 列表页（自 dashboard 内联样式迁入）
   ============================================================ */
/* 分页 current 棕金映射 */
.pager .current{background:linear-gradient(135deg,var(--brown-soft),var(--brown));color:#fff;border-color:transparent;font-weight:700}
/* 技术标签：间距增大 */
.tech-strip-box{margin-bottom:24px}
.tech-strip{gap:14px}
.tech-strip a{padding:7px 17px}
/* 空态（线下/视频通用） */
.empty-state{background:#fff;border:1px dashed var(--line);border-radius:var(--r-lg);
  padding:56px 20px;text-align:center;color:var(--text-sub);font-size:15px}
.empty-state .ico{width:42px;height:42px;color:var(--gold-light);display:block;margin:0 auto 14px}

/* —— 线下培训 course_index —— */
.cr-thumb .course-ph{min-height:168px}
.course-row .cr-labs{flex-wrap:nowrap;overflow:hidden}
.course-row .cr-labs span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0}
.course-row .cr-labs .tag-free{flex-shrink:0}
a.course-row{text-decoration:none;color:inherit}
.course-row .cr-foot{margin-top:auto}

/* —— 视频课程 course_video —— */
.video-grid>*{min-width:0}
/* 标签三件套压成一行截断，超长省略；学习人数保持完整 */
.video-card .vc-labs{flex-wrap:nowrap;overflow:hidden}
.video-card .vc-labs span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0}
.video-card .vc-labs .tag-free{flex-shrink:0;background:#eef3e4;color:#5a703d}

/* ===== merged from lock_common.css (20260924) ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Microsoft YaHei", "SimSun", sans-serif;
}

:root {
    --main-color: #8B5A2B; /* 中医药主棕色 - 与logo一致 */
    --dark-color: #5A2D18; /* 深棕色 */
    --light-color: #A06B3D; /* 浅棕色 */
    --gold-color: #C4A35A; /* 中医药金色 */
    --gold-light: #E8D5A3; /* 浅金色 */
    --bg-color: #FAF7F2; /* 米白色背景 - 温暖舒适 */
    --text-dark: #3D2914; /* 深棕色文字 */
    --border-color: #E8D5C4; /* 浅棕边框 */
    --white: #ffffff;

    /* 中医药风格配色体系 - 温暖活泼 */
    --fresh-primary: #8B5A2B; /* 主按钮 - 中医药棕色 */
    --fresh-secondary: #A06B3D; /* 次按钮 - 浅棕色 */
    --fresh-light: #F5EEE6; /* 浅棕背景 */
    --fresh-active: #5A2D18; /* 激活深色 */
    --fresh-tab: #C4A35A; /* Tab主色 - 金色 */
    --fresh-tab-light: #FFF8E8; /* Tab浅背景 - 米金色 */
}

body {
    background-color: var(--bg-color);
    color: var(--text-dark);
    line-height: 1.6;
}

/* 顶部导航 - 左对齐调整 */
.header {
    background: var(--white);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    position: sticky;
    top: 0;
    z-index: 100;
}

.header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 0; /* 移除左右内边距，实现LOGO左对齐 */
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.logo {
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--white);
    padding: 4px;
    object-fit: cover;
}

.logo-text h2 {
    font-size: 19px;
    color: #2A3B47;
    font-weight: bold;
    line-height: 1.3;
    text-align: justify;
    text-align-last: justify;
}

/* 导航菜单 */
.nav-main {
    display: flex;
    list-style: none;
    gap: 8px;
}

.nav-main li a {
    display: inline-block;
    text-decoration: none;
    color: #4A5568;
    font-size: 15px;
    padding: 10px 18px;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.nav-main li a:hover {
    background-color: var(--fresh-light);
    color: var(--fresh-active);
}

.nav-main li a.active {
    background-color: var(--fresh-primary);
    color: #fff;
}

.user-btns {
    display: flex;
    gap: 15px;
    align-items: center;
    padding-right: 15px; /* 右侧保留内边距 */
}

.user-btn {
    padding: 7px 16px;
    border: 1px solid var(--fresh-primary);
    border-radius: 20px;
    background: transparent;
    color: var(--fresh-primary);
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s ease;
}

.user-btn:hover {
    background: var(--fresh-primary);
    color: #fff;
}

.mobile-btn {
    background-color: var(--fresh-secondary);
    color: #fff;
    font-weight: bold;
    border-color: var(--fresh-secondary);
}

/* ========== 轮播区域：左对齐 + 1200px宽度 ========== */
.banner-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 25px 0; /* 移除左右内边距，实现轮播图左对齐 */
    background-color: var(--bg-color);
}

.banner {
    display: flex;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
    background-color: #fff;
    width: 100%; /* 适配左侧内边距 */
}

.banner-img {
    flex: 7;
    height: 400px;
    background: #fff center/cover no-repeat;
}

.banner-side {
    flex: 3;
    background-color: var(--white);
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.banner-side h3 {
    color: #2A3B47;
    font-size: 24px;
    margin-bottom: 25px;
    line-height: 1.4;
    font-weight: 600;
}

.banner-side p {
    color: #555;
    font-size: 16px;
    margin-bottom: 40px;
    line-height: 1.8;
}

/* 登录按钮 - 清新活泼配色 */
.login-btns {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.login-btn {
    padding: 14px 0;
    border: none;
    border-radius: 8px;
    color: white;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.admin-login {
    background: linear-gradient(135deg, #4CB8C4, #36CFC9);
}

.admin-login:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(76, 184, 196, 0.3);
}

.user-login {
    background: linear-gradient(135deg, #51CF95, #40E0B0);
}

.user-login:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(81, 207, 149, 0.3);
}

/*登录后用户信息*/
.forum_user {
    text-align: center;
}

.forum_user .headImg {
    width: 80px;
    height: 80px;
    background-color: #8B5A2B;
    color: #FFF;
    border-radius: 50px;
    border: 2px #fff solid;
    margin: 0 auto;
    font-weight: bold;
    font-size: 48px;
    padding-top: -2px;
    cursor: pointer;
}

.forum_user div {
    margin: 15px auto;
}

/* 资讯区域：左对齐 + 加宽县级推荐课程列 */
.info-section {
    display: flex;
    background-color: var(--white);
    gap: 25px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 15px;
    /* 关键：禁止子项自动收缩 */
    align-items: flex-start;
}


/* 县级推荐课程列 */
.county-course-col {
    flex: 0 0 380px; /* 固定宽度，不再弹性变化 */
}


.county-course-list {
    list-style: none;
}

.county-course-item {
    display: flex;
    gap: 15px;
    padding: 5px 0;
    border-bottom: 1px dashed #f0f0f0;
    align-items: center;
    cursor: pointer;
}

.county-course-item:last-child {
    border-bottom: none;
}

.course-thumbnail {
    width: 80px;
    height: 60px;
    border-radius: 4px;
    object-fit: cover;
    background: url('https://picsum.photos/id/237/200/150') center/cover no-repeat;
}

.course-text h4 {
    font-size: 14px;
    color: var(--text-dark);
    margin-bottom: 5px;
    transition: 0.2s;
}

.course-text h4:hover {
    color: var(--fresh-primary);
}

.course-text p {
    font-size: 12px;
    color: #999;
}

/* 资讯两列 */
.info-col {
    flex: 1; /* 两列平分剩余空间 */
    min-width: 300px; /* 给一个最小宽度，防止挤太窄 */
}

/* 资讯Tab - 清新风格 */
.tab-header {
    display: flex;
    border-bottom: 2px solid var(--fresh-tab);
    margin-bottom: 18px;
}

.tab-item {
    padding: 9px 22px;
    background-color: var(--fresh-tab-light);
    border: 1px solid #E0F7F5;
    border-bottom: none;
    cursor: pointer;
    font-size: 16px;
    color: #555;
    margin-right: 6px;
    border-radius: 6px 6px 0 0;
    transition: all 0.3s ease;
}

.tab-item:hover {
    background: #D1F5F2;
    color: #2D9A9A;
}

.tab-item.active {
    background-color: var(--fresh-tab);
    color: #fff;
    border-color: var(--fresh-tab);
}

.tab-content {
    padding: 15px 0;
}

.info-list {
    list-style: none;
}

.info-item {
    display: flex;
    align-items: center;
    padding: 5px 0;
    border-bottom: 1px dashed #f0f0f0;
    flex-wrap: nowrap;
    gap: 10px;
}

/* 标题容器：占满剩余空间，但文字强制左对齐 */
.info-item a {
    flex: 1; /* 让标题区域占满除日期外的所有宽度 */
    text-align: left !important; /* 文字强制靠左，不管区域多宽 */
    text-decoration: none;
    color: var(--text-dark);
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0; /* 解决 flex 下省略号失效问题 */
    transition: 0.2s;
}

/* 日期：宽度固定，不压缩、不换行 */
.info-date {
    flex: 0 0 110px; /* 固定宽度，足够放下日期 */
    text-align: right; /* 日期文字靠右 */
    color: #999;
    font-size: 12px;
    white-space: nowrap;
}

.info-item:last-child {
    border-bottom: none;
}

.info-item a:hover {
    color: var(--fresh-primary);
    padding-left: 4px;
}


.more-link a {
    color: var(--fresh-primary);
    text-decoration: none;
    font-size: 14px;
}

/* 课程区域 */
.course-section {
    padding: 25px 15px; /* 增加上下内边距 */
    background-color: #FAFDFC;
    max-width: 1200px;
    margin: 30px auto;
    border-radius: 12px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.04);
}

/* 视频课程区域 - 不同背景色 */
.video-section {
    background: rgba(236, 253, 245, 0.5);
    border: 1px solid rgba(76, 184, 196, 0.15);
}


/* 区域头部 */
.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    flex-wrap: wrap;
    gap: 15px;
}

.section-title {
    font-size: 22px;
    color: #2A3B47;
    font-weight: 600;
    margin: 0;
    position: relative;
    padding-left: 15px;
}

.section-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 22px;
    background: linear-gradient(135deg, #4CB8C4, #36CFC9);
    border-radius: 2px;
}

/* 课程Tab - 清新胶囊风格 */
.course-tab-header {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.course-tab, .course-tab-video {
    padding: 9px 22px;
    background-color: #fff;
    border: 1px solid #E0F7F5;
    border-radius: 25px;
    cursor: pointer;
    font-size: 14px;
    color: #555;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.course-tab:hover {
    border-color: var(--fresh-tab);
    background: var(--fresh-tab-light);
    color: var(--fresh-active);
}

.course-tab.active {
    background: linear-gradient(135deg, var(--fresh-primary), var(--fresh-secondary));
    color: #fff;
    border-color: var(--fresh-primary);
    box-shadow: 0 2px 6px rgba(76, 184, 196, 0.3);
}

.course-tab-video.active-video {
    background: linear-gradient(135deg, #4CB8C4, #36CFC9);
    color: #fff;
    border-color: var(--fresh-tab);
    box-shadow: 0 2px 6px rgba(54, 207, 201, 0.2);
}

.course-content {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 22px;
}

.course-card {
    background-color: var(--white);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
    transition: 0.3s;
    border: 1px solid #f8f8f8;
    cursor: pointer;
}

.course-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 20px rgba(76, 184, 196, 0.12);
    border-color: var(--fresh-tab);
}

.course-img {
    height: 165px;
    background: center/cover no-repeat;
    position: relative;
}

/* 视频课程播放按钮 */
.video-section .course-img::before {
    position: absolute;
    width: 30px;
    height: 30px;
    background-image: url('../images/play.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    left: 15px;
    bottom: 15px;
    content: '';
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
    transition: transform 0.3s ease;
}

.video-section .course-card:hover .course-img::before {
    transform: scale(1.1);
}

.course-info {
    padding: 18px;
}

.course-info h4 {
    color: #2A3B47;
    margin-bottom: 12px;
    font-size: 17px;
}

/* 课程标签区域 */
.course-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.course-tags .tag-hits {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    background: linear-gradient(135deg, #F0FDF4, #DCFCE7);
    color: #16A34A;
    font-size: 12px;
    font-weight: 500;
    border-radius: 10px;
    border: 1px solid rgba(22, 163, 74, 0.3);
}

/* 城市标签 - 橙黄色系 */
.course-tags .tag-city {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    background: linear-gradient(135deg, #FEF3E2, #FDE9D0);
    color: #D97706;
    font-size: 12px;
    font-weight: 500;
    border-radius: 10px;
    border: 1px solid rgba(217, 119, 6, 0.3);
}

.course-tags .tag-label {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    background: linear-gradient(135deg, #E6F7F5, #D1F5F2);
    color: #2D9A9A;
    font-size: 12px;
    font-weight: 500;
    border-radius: 10px;
    border: 1px solid rgba(76, 184, 196, 0.3);
    max-width: 120px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 底部 */
.footer {
    background-color: #2A3B47;
    color: var(--white);
    padding: 45px 15px 25px;
    margin-top: 30px;
}

.footer-top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 35px;
    padding-bottom: 25px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.footer-col {
    flex: 1;
    min-width: 200px;
}

.footer-col h4 {
    font-size: 18px;
    margin-bottom: 18px;
    position: relative;
    padding-bottom: 10px;
    color: var(--fresh-tab);
}

.footer-col h4::after {
    content: "";
    width: 45px;
    height: 2px;
    background-color: var(--fresh-tab);
    position: absolute;
    bottom: 0;
    left: 0;
}

.footer-col ul {
    list-style: none;
}

.footer-col ul li {
    margin-bottom: 12px;
}

.footer-col ul li a {
    color: #B0C4C9;
    text-decoration: none;
    font-size: 14px;
    transition: 0.2s;
}

.footer-col ul li a:hover {
    color: var(--fresh-tab);
    padding-left: 4px;
}

.contact-info li {
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-bottom {
    text-align: center;
    padding-top: 25px;
    font-size: 13px;
    color: #A0B4B9;
    line-height: 1.8;
}

.copyright-text {
    text-align: left;
    line-height: 1.8;
}

.copyright-text p {
    margin: 5px 0;
}

.copyright-text a {
    color: #B0C4C9;
    text-decoration: none;
}

.footer-bottom a {
}

/* 响应式 */
@media (max-width: 1024px) {
    .info-section {
        gap: 20px;
    }

    .county-course-col {
        flex: 1.2;
    }

    /* 平板端适当收窄 */
    .course-thumbnail {
        width: 70px;
        height: 50px;
    }
}

@media (max-width: 768px) {
    .header-top {
        flex-direction: column;
        gap: 15px;
        padding: 15px;
    }

    .nav-main {
        flex-wrap: wrap;
        justify-content: center;
    }

    .banner {
        flex-direction: column;
        width: 100%;
    }

    .banner-img {
        height: 220px;
    }

    .info-section {
        flex-direction: column;
        gap: 30px;
    }

    .county-course-col {
        flex: 1;
    }

    /* 移动端恢复1:1 */
    .course-content {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .logo-text h2 {
        font-size: 16px;
    }

    .footer-col {
        min-width: 100%;
    }
}


/*一级框架*/
.mainBox {
    margin: 15px 10%;
}

.contentTitle {
    font-weight: bold;
    font-size: 18px;
    text-align: center;
}

.x-red {
    color: #ff5722;
}

/*个人中心框架*/
.myBox {
    margin: 15px 10%;
    background: rgba(255, 255, 255, 1);
}

.myBox > ul > li:first-child {
    float: left;
    margin-top: 10px;
    width: 18%;
    margin-right: 0.5%;
    height: 500px;
    background: rgba(255, 255, 255, 1);
}

.myBox > ul > li:nth-child(2) {
    float: left;
    width: 79%;
    padding: 1%;
    border-left: 1px #efefef solid;
    background-color: rgba(220, 220, 220, 0.1);
}

.clearfix:after, .clearfix:before {
    display: table;
    content: "";
}

.clearfix:after {
    clear: both;
}

/*操作菜单*/
.sub_menu {
    width: 100%;
}

.sub_menu li {
    white-space: nowrap;
    color: #000;
    padding: 10px 0px 10px 20px;
    transition: background-color ease .3s;
}

.sub_menu li:hover {
    cursor: pointer;
    color: #FFF;
    background: #C4A35A;
}

.sub_menu_act {
    color: #fff !important;
    background: #A06B3D;
    border-right: 8px #5A2D18 solid;
}

/*培训*/
.banner_wrap {
    position: relative;
}

.banner_box ul li {
    width: 100%;
    height: 400px;
}

.banner_box ul li a {
    display: block;
    height: 400px;
    background-position: center top;
    background-repeat: no-repeat;
}

.banner_wrap .container {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    top: 0px;
    z-index: 100;
}

/* 证书查询区域 */
.cert-section {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 15px;
}

.cert-title {
    text-align: center;
    margin-bottom: 35px;
}

.cert-title h2 {
    font-size: 26px;
    color: #2A3B47;
    position: relative;
    display: inline-block;
    padding-bottom: 12px;
}

.cert-title h2::after {
    content: "";
    width: 60px;
    height: 3px;
    background: var(--fresh-primary);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.cert-title p {
    color: #666;
    margin-top: 10px;
    font-size: 15px;
}

/* 查询卡片 */
.cert-card {
    max-width: 780px;
    margin: 0 auto;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
    padding: 45px 40px;
    border: 1px solid #f0f8f7;
}

.form-item {
    margin-bottom: 25px;
}

.form-item label {
    display: block;
    margin-bottom: 10px;
    font-size: 15px;
    color: #333;
    font-weight: 500;
}

.form-item input {
    width: 100%;
    height: 48px;
    border: 1px solid #dcdfe6;
    border-radius: 6px;
    padding: 0 15px;
    font-size: 15px;
    outline: none;
    transition: all 0.3s;
}

.form-item input:focus {
    border-color: var(--fresh-primary);
    box-shadow: 0 0 0 2px rgba(76, 184, 196, 0.15);
}

.form-item input::placeholder {
    color: #aaa;
}

/* 查询结果区域 */
.result-box {
    margin-top: 30px;
    padding: 25px;
    background: #FAFDFC;
    border-radius: 10px;
    border: 1px solid #E0F7F5;
}

.result-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px dashed #D1F5F2;
}

.result-header h3 {
    font-size: 18px;
    color: #2A3B47;
    margin: 0;
}

.result-count {
    font-size: 14px;
    color: #666;
}

.result-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.result-item {
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    border: 1px solid #f0f8f7;
    transition: all 0.3s ease;
}

.result-item:hover {
    box-shadow: 0 4px 12px rgba(76, 184, 196, 0.1);
    border-color: var(--fresh-tab);
}

.result-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    flex-wrap: wrap;
    gap: 10px;
}

.result-item-header h4 {
    font-size: 16px;
    color: #2A3B47;
    margin: 0;
    font-weight: 600;
}

.cert-badge {
    font-size: 13px;
    color: var(--fresh-primary);
    background: var(--fresh-tab-light);
    padding: 4px 12px;
    border-radius: 15px;
}

.result-item-body {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
    margin-bottom: 15px;
}

.info-row {
    display: flex;
    gap: 8px;
    font-size: 14px;
}

.info-label {
    color: #888;
    font-weight: 500;
}

.info-value {
    color: #333;
}

.result-item-footer {
    display: flex;
    justify-content: flex-end;
    padding-top: 15px;
    border-top: 1px dashed #f0f0f0;
}

.view-cert-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px;
    background: linear-gradient(135deg, #4CB8C4, #36CFC9);
    color: #fff;
    text-decoration: none;
    border-radius: 20px;
    font-size: 14px;
    transition: all 0.3s ease;
}

.view-cert-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 3px 10px rgba(76, 184, 196, 0.3);
}

/* 无结果提示 */
.no-result {
    margin-top: 30px;
    padding: 40px;
    background: #fff;
    border-radius: 10px;
    text-align: center;
    border: 1px dashed #eee;
}

.no-result-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 15px;
    background: #f5f5f5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.no-result-icon i {
    font-size: 36px;
    color: #ccc;
}

.no-result p {
    margin: 0 0 8px;
    color: #666;
    font-size: 15px;
}

.no-result-tip {
    font-size: 13px !important;
    color: #999 !important;
}

/* 查询按钮 */
.query-btn-box {
    margin-top: 15px;
    text-align: center;
}

.query-btn {
    width: 100%;
    height: 52px;
    border: none;
    border-radius: 6px;
    background: linear-gradient(135deg, #4CB8C4, #36CFC9);
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 3px 10px rgba(76, 184, 196, 0.2);
}

.query-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(76, 184, 196, 0.25);
}

/* ================= 培训基地页面主体 ================= */
.container {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 15px;
    width: 100%;
}

.page-title {
    font-size: 26px;
    color: #2A3B47;
    text-align: center;
    margin-bottom: 12px;
    font-weight: 600;
}

.page-desc {
    text-align: center;
    color: #666;
    margin-bottom: 40px;
    font-size: 15px;
}

/* 16地市 胶囊TAB（和主页课程TAB风格一致） */
.city-tab {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 30px;
    justify-content: center;
}

.city-item {
    padding: 4px 12px;
    background: #fff;
    border: 1px solid #E0F7F5;
    border-radius: 12px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 500;
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.city-item:hover {
    border-color: var(--fresh-tab);
    background: var(--fresh-tab-light);
    color: var(--fresh-active);
}

.city-item.active {
    background: rgba(139, 90, 43, 0.1);
    color: var(--fresh-primary);
    border-color: var(--fresh-primary);
}

/* 县级培训中心 卡片列表 */
.county-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 24px;
}

.county-card {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
    padding: 26px;
    transition: all 0.35s ease;
    border: 1px solid #f0f4f5;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.county-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, rgba(139, 90, 43, 0.3), rgba(160, 107, 61, 0.2));
}

.county-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 30px rgba(139, 90, 43, 0.15);
    border-color: rgba(139, 90, 43, 0.3);
}

.county-title {
    font-size: 18px;
    color: #2A3B47;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-weight: 600;
    padding-bottom: 15px;
    border-bottom: 2px solid #f5f8f9;
    position: relative;
}

.county-title::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 45px;
    height: 2px;
    background: linear-gradient(90deg, rgba(139, 90, 43, 0.4), rgba(160, 107, 61, 0.3));
    border-radius: 1px;
}

.county-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.county-title i {
    color: var(--fresh-primary);
    font-size: 20px;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 90, 43, 0.08);
    border: 1px solid rgba(139, 90, 43, 0.15);
    border-radius: 10px;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.county-card:hover .county-title i {
    background: rgba(139, 90, 43, 0.15);
    border-color: rgba(139, 90, 43, 0.25);
}

.county-title .title-text {
    flex: 1;
    min-width: 0;
}

/* 等级标签 */
.county-title .level-tag {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    flex-shrink: 0;
    background: rgba(139, 90, 43, 0.06);
    border: 1px solid rgba(139, 90, 43, 0.12);
    color: var(--fresh-primary);
}

.level-tag.level-province {
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.2);
    color: #DC2626;
}

.level-tag.level-city {
    background: rgba(245, 158, 11, 0.08);
    border-color: rgba(245, 158, 11, 0.2);
    color: #D97706;
}

.level-tag.level-county {
    background: rgba(34, 197, 94, 0.08);
    border-color: rgba(34, 197, 94, 0.2);
    color: #22C55E;
}

/* 培训内容 + 师资 */
.info-box {
    margin-bottom: 18px;
    padding: 18px;
    background: rgba(139, 90, 43, 0.03);
    border-radius: 12px;
    border: 1px solid rgba(139, 90, 43, 0.06);
    transition: all 0.3s ease;
}

.county-card:hover .info-box {
    background: rgba(139, 90, 43, 0.06);
    border-color: rgba(139, 90, 43, 0.15);
}

.info-box:last-child {
    margin-bottom: 0;
}

.info-box .info-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.info-box h5 {
    font-size: 14px;
    color: var(--fresh-primary);
    font-weight: 600;
    margin: 0;
}

.info-box .info-icon {
    font-size: 16px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(139, 90, 43, 0.15), rgba(160, 107, 61, 0.15));
    color: var(--fresh-primary);
    border-radius: 8px;
    flex-shrink: 0;
}

.info-box p {
    font-size: 14px;
    color: #5A6678;
    line-height: 1.75;
    margin: 12px 0 0 0;
    padding: 0;
    text-indent: 28px;
}

.county-card:hover .info-box p {
    color: var(--dark-color);
}

/* ========== 文章列表页面样式 ========== */

/* 页面头部 */
.page-header {
    max-width: 1200px;
    margin: 30px auto;
    padding: 0 15px;
}

/* 面包屑导航 */
.breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.breadcrumb a {
    color: #666;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s ease;
}

.breadcrumb a:hover {
    color: var(--main-color);
}

.breadcrumb i {
    color: #ccc;
    font-size: 14px;
}

.breadcrumb .current {
    color: var(--main-color);
    font-weight: 600;
    font-size: 14px;
}

/* 页面标题包装 */
.page-title-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 30px 35px;
    background: linear-gradient(135deg, #fff 0%, #fafdfc 100%);
    border-radius: 16px;
    border: 1px solid #e8f4f3;
    box-shadow: 0 4px 15px rgba(76, 184, 196, 0.08);
}

/* 标题图标 */
.title-icon {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--fresh-primary), var(--fresh-secondary));
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(76, 184, 196, 0.3);
    flex-shrink: 0;
}

.title-icon i {
    color: #fff;
    font-size: 28px;
}

/* 标题内容 */
.title-content {
    flex: 1;
}

.title-content h1 {
    font-size: 28px;
    color: #2A3B47;
    font-weight: 700;
    margin: 0 0 8px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.title-content h1::after {
    content: '';
    width: 45px;
    height: 4px;
    background: linear-gradient(90deg, var(--fresh-primary), var(--fresh-secondary));
    border-radius: 2px;
}

.title-content .title-desc {
    font-size: 14px;
    color: #666;
    margin: 0;
    padding-left: 4px;
}

/* 新闻分类美化 */
.news-cats {
    background: #fff;
    border-radius: 12px;
    padding: 20px 25px;
    margin-bottom: 20px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.cat-item {
    padding: 8px 20px;
    border-radius: 25px;
    background: #f5f8f9;
    color: #555;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.cat-item:hover,
.cat-item.active {
    background: linear-gradient(135deg, var(--fresh-primary), var(--fresh-secondary));
    color: #fff;
    box-shadow: 0 4px 15px rgba(76, 184, 196, 0.3);
}

.news-item {
    padding: 22px 0;
    border-bottom: 1px dashed #e8f4f3;
    transition: all 0.3s ease;
}

.news-item:last-child {
    border-bottom: none;
}

.news-item:hover {
    padding-left: 10px;
    background: #fafdfc;
    margin: 0 -32px;
    padding-right: 32px;
    padding-left: 42px;
    border-radius: 8px;
    cursor: pointer;
}

.news-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    flex-wrap: wrap;
    gap: 10px;
}

.news-title {
    font-size: 16px;
    color: #2A3B47;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
    flex: 1;
    min-width: 0;
}

.news-title:hover {
    color: var(--fresh-primary);
}

.news-date {
    color: #999;
    font-size: 14px;
    white-space: nowrap;
    padding: 4px 12px;
    background: #f5f8f9;
    border-radius: 15px;
}

.news-desc {
    font-size: 14px;
    color: #666;
    line-height: 1.8;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding-left: 4px;
}

/* 右侧边栏美化 */
.right-sidebar {
    width: 320px;
    flex-shrink: 0;
}

.side-box {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05);
    margin-bottom: 20px;
}

/* 侧边栏头部 */
.side-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 20px 22px;
    background: linear-gradient(135deg, var(--fresh-primary), var(--fresh-secondary));
}

.side-header i {
    color: #fff;
    font-size: 20px;
}

.side-title {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    margin: 0;
}

.recom-courses {
    padding: 16px;
}

/* 推荐课程卡片 */
.recom-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    margin-bottom: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 1px solid #f0f4f5;
}

.recom-card:last-child {
    margin-bottom: 0;
}

.recom-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(76, 184, 196, 0.12);
    border-color: rgba(76, 184, 196, 0.3);
}

/* 课程图片 */
.recom-img {
    height: 140px;
    background: #f5f8f9 center/cover no-repeat;
    position: relative;
}

/* 播放图标 */
.recom-img .play-icon {
    position: absolute;
    left: 10px;
    bottom: 10px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    transition: all 0.3s ease;
}

.recom-img .play-icon i {
    color: #fff;
    font-size: 14px;
    margin-left: 2px;
}

.recom-card:hover .play-icon {
    background: var(--fresh-primary);
    transform: scale(1.1);
}

/* 课程信息 */
.recom-info {
    padding: 14px 16px;
}

.recom-title {
    font-size: 15px;
    color: #2A3B47;
    font-weight: 600;
    margin: 0 0 10px 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 课程标签 */
.recom-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.recom-tag {
    padding: 3px 10px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 500;
}

.recom-tag.tag-type {
    background: linear-gradient(135deg, #FEF3E2, #FDE9D0);
    color: #D97706;
    border: 1px solid rgba(217, 119, 6, 0.3);
}

.recom-tag.tag-tech {
    background: linear-gradient(135deg, #E6F7F5, #D1F5F2);
    color: #2D9A9A;
    border: 1px solid rgba(76, 184, 196, 0.3);
}

.teacher-list {
    list-style: none;
    padding-left: 4px;
}

/* ========== 文章详情页面样式 ========== */

/* 文章详情容器 */
.article-detail {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

/* 文章头部 */
.article-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, #fafdfc 0%, #f0fffc 100%);
    border-bottom: 1px solid #e8f4f3;
}

.article-title {
    font-size: 28px;
    color: #2A3B47;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 25px 0;
    padding-left: 15px;
    border-left: 5px solid var(--fresh-primary);
}

/* 文章元信息 */
.article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    align-items: center;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #666;
    font-size: 14px;
}

.meta-item i {
    color: var(--fresh-primary);
    font-size: 15px;
}

/* 文章正文区域 */
.article-content {
    width: 1200px;
    padding: 40px 50px;
}

/* 正文内容 */
.article-content .mainText {
    font-family: "Microsoft YaHei", "SimSun", sans-serif;
    font-size: 16px;
    color: #333;
    line-height: 2;
}

.article-content .mainText p {
    margin-bottom: 20px;
    text-indent: 2em;
}

.article-content .mainText img {
    display: block;
    margin: 15px auto;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.article-content .mainText h2 {
    font-size: 20px;
    color: #2A3B47;
    font-weight: 600;
    margin: 30px 0 15px 0;
    padding-left: 12px;
    border-left: 4px solid var(--fresh-primary);
}

.article-content .mainText h3 {
    font-size: 18px;
    color: #3D4852;
    font-weight: 600;
    margin: 25px 0 12px 0;
}

.article-content .mainText ul,
.article-content .mainText ol {
    margin: 15px 0;
    padding-left: 30px;
}

.article-content .mainText li {
    margin-bottom: 10px;
    line-height: 1.9;
}

/* 附件下载区域 */
.attachments {
    margin-top: 40px;
    padding: 25px;
    background: #fafdfc;
    border-radius: 12px;
    border: 1px dashed #d1f5f2;
}

.attach-title {
    font-size: 16px;
    color: var(--fresh-active);
    font-weight: 600;
    margin: 0 0 18px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.attach-title i {
    font-size: 18px;
}

.attach-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.attach-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 15px;
    background: #fff;
    border-radius: 8px;
    margin-bottom: 10px;
    transition: all 0.3s ease;
    border: 1px solid #e8f4f3;
}

.attach-item:last-child {
    margin-bottom: 0;
}

.attach-item:hover {
    background: #f0fffc;
    border-color: rgba(76, 184, 196, 0.3);
    transform: translateX(5px);
}

.attach-item i {
    color: var(--fresh-primary);
    font-size: 18px;
}

.attach-name {
    flex: 1;
    font-size: 14px;
    color: #333;
}

.download-btn {
    padding: 6px 18px;
    background: linear-gradient(135deg, var(--fresh-primary), var(--fresh-secondary));
    color: #fff;
    text-decoration: none;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.download-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(76, 184, 196, 0.3);
}

/* ========== 培训中心详情页面样式 ========== */

/* 中心详情容器 */
.base-detail {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

/* 中心头部 */
.base-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 40px 45px;
    background: linear-gradient(135deg, rgba(139, 90, 43, 0.12) 0%, rgba(160, 107, 61, 0.08) 50%, rgba(90, 45, 24, 0.06) 100%);
    border-bottom: 1px solid rgba(139, 90, 43, 0.1);
    flex-wrap: wrap;
    gap: 25px;
    position: relative;
    overflow: hidden;
}

.base-header::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 200px;
    height: 200px;
    background: rgba(139, 90, 43, 0.05);
    border-radius: 50%;
}

.base-header::after {
    content: '';
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 150px;
    height: 150px;
    background: rgba(160, 107, 61, 0.04);
    border-radius: 50%;
}

.header-left {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    position: relative;
    z-index: 1;
}

.base-icon {
    width: 72px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(139, 90, 43, 0.15), rgba(160, 107, 61, 0.12));
    border-radius: 20px;
    box-shadow: 0 4px 15px rgba(139, 90, 43, 0.1);
    flex-shrink: 0;
    border: 1px solid rgba(139, 90, 43, 0.15);
    transition: all 0.3s ease;
}

.base-icon:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 22px rgba(139, 90, 43, 0.15);
}

.base-icon i {
    color: var(--fresh-primary);
    font-size: 34px;
}

.base-title-wrap {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.base-level {
    display: flex;
    gap: 8px;
}

.base-level .level-tag {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 16px;
    border-radius: 25px;
    font-size: 12px;
    font-weight: 500;
    background: rgba(139, 90, 43, 0.08);
    border: 1px solid rgba(139, 90, 43, 0.15);
    color: var(--fresh-primary);
    transition: all 0.3s ease;
}

.base-level .level-tag:hover {
    background: rgba(139, 90, 43, 0.12);
    transform: translateY(-2px);
}

.base-level .level-tag i {
    font-size: 13px;
}

.base-level .level-province {
    background: rgba(255, 107, 107, 0.1);
    border-color: rgba(255, 107, 107, 0.3);
    color: #E53E3E;
}

.base-level .level-city {
    background: rgba(255, 179, 71, 0.1);
    border-color: rgba(255, 179, 71, 0.3);
    color: #D97706;
}

.base-level .level-county {
    background: rgba(119, 221, 119, 0.1);
    border-color: rgba(119, 221, 119, 0.3);
    color: #22C55E;
}

.base-title {
    font-size: 28px;
    color: #2A3B47;
    font-weight: 700;
    margin: 0;
    line-height: 1.3;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
}

.base-title .name {
    color: var(--fresh-primary);
    font-weight: 700;
}

.base-title .depart {
    font-size: 20px;
    color: #6B7280;
    font-weight: 500;
}

.header-right {
    text-align: right;
    position: relative;
    z-index: 1;
}

.location-info {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: rgba(139, 90, 43, 0.06);
    border-radius: 10px;
    color: var(--fresh-primary);
    font-size: 14px;
    border: 1px solid rgba(139, 90, 43, 0.12);
    transition: all 0.3s ease;
}

.location-info:hover {
    background: rgba(139, 90, 43, 0.1);
    transform: translateY(-2px);
}

.location-info i {
    font-size: 15px;
}

/* 中心详情内容 */
.base-content {
    width: 1200px;
    padding: 35px 45px;
    background: linear-gradient(180deg, rgba(139, 90, 43, 0.03) 0%, rgba(160, 107, 61, 0.02) 100%);
}

/* 信息区块 - 左右布局 */
.info-section {
    margin-bottom: 30px;
    padding: 22px;
    background: rgba(139, 90, 43, 0.04);
    border: 1px solid rgba(139, 90, 43, 0.08);
    border-radius: 12px;
    transition: all 0.35s ease;
    display: flex;
    align-items: flex-start;
    gap: 22px;
}

.info-section:hover {
    background: rgba(139, 90, 43, 0.08);
    border-color: rgba(139, 90, 43, 0.18);
    box-shadow: 0 4px 15px rgba(139, 90, 43, 0.08);
}

.info-section:last-child {
    margin-bottom: 0;
}

/* 中心详情页面 - 左侧标题区域 */
.base-content .info-section .section-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100px;
    flex-shrink: 0;
    text-align: center;
    transition: all 0.35s ease;
}

.base-content .info-section .section-header i {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(139, 90, 43, 0.12), rgba(160, 107, 61, 0.08));
    color: var(--fresh-primary);
    border-radius: 12px;
    font-size: 21px;
    border: 1px solid rgba(139, 90, 43, 0.12);
    transition: all 0.35s ease;
}

.base-content .info-section:hover .section-header i {
    background: linear-gradient(135deg, var(--fresh-primary), var(--fresh-secondary));
    color: #fff;
    border-color: var(--fresh-primary);
    transform: scale(1.08);
    box-shadow: 0 4px 15px rgba(139, 90, 43, 0.3);
}

.base-content .info-section .section-header h3 {
    font-size: 15px;
    color: var(--fresh-primary);
    font-weight: 600;
    margin: 0;
    white-space: nowrap;
    transition: all 0.35s ease;
}

.base-content .info-section:hover .section-header h3 {
    color: var(--dark-color);
    font-weight: 700;
}

/* 右侧内容区域 */
.section-content {
    flex: 1;
    min-width: 0;
}

.section-content p {
    font-size: 15px;
    color: #4A5568;
    line-height: 1.8;
    margin: 0;
    padding: 8px 0;
}

/* 地理位置网格 */
.location-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 15px;
}

.location-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 15px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e8f4f3;
}

.location-label {
    font-size: 12px;
    color: #999;
    font-weight: 500;
}

.location-value {
    font-size: 15px;
    color: #2A3B47;
    font-weight: 600;
}

.teacher-list li {
    font-size: 14px;
    color: #555;
    line-height: 1.8;
    display: flex;
    align-items: center;
    gap: 6px;
}

.teacher-list li::before {
    content: '';
    width: 4px;
    height: 4px;
    background: var(--fresh-primary);
    border-radius: 50%;
}

/* ========== 培训课程卡片样式 ========== */

/* 培训区域容器 */
.training-section {
    background: rgba(160, 107, 61, 0.08);
    border: 1px solid #e8f4f3;
    border-radius: 12px;
    padding: 25px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.training-section:hover {
    background: rgba(160, 107, 61, 0.12);
    border-color: rgba(139, 90, 43, 0.25);
}

/* 培训课程列表 */
.training-courses {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 15px;
}

/* 培训卡片 */
.training-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.06);
    cursor: pointer;
    transition: all 0.35s ease;
    border: 1px solid #f0f4f5;
}

.training-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 25px rgba(139, 90, 43, 0.15);
    border-color: rgba(139, 90, 43, 0.3);
}

/* 卡片图片区域 */
.training-img {
    height: 180px;
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}

.training-img::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent);
}

/* 课程标签 */
.training-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 5px 14px;
    background: linear-gradient(135deg, var(--fresh-primary), var(--fresh-secondary));
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    border-radius: 20px;
    z-index: 1;
    box-shadow: 0 2px 8px rgba(139, 90, 43, 0.3);
}

.video-badge {
    background: linear-gradient(135deg, #4CB8C4, #36CFC9);
    box-shadow: 0 2px 8px rgba(76, 184, 196, 0.3);
}

/* 视频播放覆盖层 */
.play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.play-overlay i {
    color: var(--fresh-primary);
    font-size: 20px;
    margin-left: 3px;
}

.training-card:hover .play-overlay {
    transform: translate(-50%, -50%) scale(1.1);
    background: #fff;
}

/* 卡片信息区域 */
.training-info {
    padding: 18px;
}

.training-title {
    font-size: 16px;
    color: #2A3B47;
    font-weight: 600;
    margin: 0 0 12px 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.training-card:hover .training-title {
    color: var(--fresh-primary);
}

/* 元信息 */
.training-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}

.meta-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: #666;
}

.meta-item i {
    color: var(--fresh-primary);
    font-size: 14px;
}

/* 标签区域 */
.training-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.training-tags .tag {
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

.training-tags .tag-hits {
    background: linear-gradient(135deg, #F0FDF4, #DCFCE7);
    color: #16A34A;
    border: 1px solid rgba(22, 163, 74, 0.3);
}

.training-tags .tag-city {
    background: linear-gradient(135deg, #FEF3E2, #FDE9D0);
    color: #D97706;
    border: 1px solid rgba(217, 119, 6, 0.3);
}

.training-tags .tag-label {
    background: linear-gradient(135deg, #E6F7F5, #D1F5F2);
    color: #2D9A9A;
    border: 1px solid rgba(76, 184, 196, 0.3);
}

/* 空状态 */
.empty-state {
    grid-column: 1 / -1;
    text-align: center;
    padding: 45px 20px;
    background: #fff;
    border-radius: 12px;
    border: 1px dashed #e8f4f3;
}

.empty-state i {
    font-size: 48px;
    color: #ccc;
    margin-bottom: 15px;
    display: block;
}

.empty-state p {
    font-size: 15px;
    color: #999;
    margin: 0;
}

/* 视频培训特殊样式 - 移除特殊背景，保持与其他区块一致 */
.video-training {
    /* 使用统一的培训区块样式 */
}

/* 隐藏样式 */
.city-content {
    display: none;
}

.city-content.show {
    display: block;
}

/* 页面标题 */
.page-title {
    max-width: 1200px;
    margin: 30px auto;
    padding: 0 15px;
    text-align: left;
}

.page-title h1 {
    font-size: 24px;
    color: #2A3B47;
    position: relative;
    padding-left: 15px;
}

.page-title h1::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 5px;
    height: 22px;
    background: var(--fresh-primary);
    border-radius: 3px;
}

/* === 主内容双栏布局：左侧新闻 + 右侧推荐课程 === */
.main-container {
    max-width: 1200px;
    margin: 0 auto 50px;
    padding: 0 15px;
    display: flex;
    gap: 25px;
}

/* 左侧内容 */
.left-content {
    flex: 1;
}

/* 右侧边栏 */
.right-sidebar {
    width: 300px;
    flex-shrink: 0;
}

/* === 新闻分类标签 === */
.news-cats {
    background: #fff;
    border-radius: 10px;
    padding: 18px 25px;
    margin-bottom: 20px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
}

.news-cats strong {
    color: #2A3B47;
    font-size: 15px;
}

.cat-item {
    padding: 6px 16px;
    border-radius: 20px;
    background: #f5f5f5;
    color: #555;
    font-size: 14px;
    cursor: pointer;
    transition: 0.2s;
}

.cat-item:hover,
.cat-item.active {
    background: var(--fresh-primary);
    color: #fff;
}

.news-item {
    padding: 18px 0;
    border-bottom: 1px dashed #eee;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.news-item:last-child {
    border-bottom: none;
}

.news-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.news-title {
    font-size: 16px;
    color: #333;
    text-decoration: none;
    transition: 0.2s;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-title:hover {
    color: var(--fresh-primary);
    padding-left: 4px;
}

.news-date {
    color: #999;
    font-size: 14px;
    white-space: nowrap;
    padding-left: 15px;
}

.news-desc {
    font-size: 14px;
    color: #666;
    line-height: 1.7;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 分页 */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 30px;
}

.page-item {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #666;
    text-decoration: none;
    transition: 0.2s;
}

.page-item:hover, .page-item.active {
    background: var(--fresh-primary);
    color: #fff;
    border-color: var(--fresh-primary);
}

/* === 右侧：推荐培训课程 === */
.side-box {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
    margin-bottom: 20px;
}

.side-title {
    padding: 5px;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
}

.recom-courses {
    padding: 15px;
}

.recom-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px dashed #eee;
    cursor: pointer;
}

.recom-item:last-child {
    border-bottom: none;
}

.recom-pic {
    width: 70px;
    height: 55px;
    border-radius: 4px;
    background: #f0f0f0;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
}

.recom-text {
    flex: 1;
}

.recom-text h4 {
    font-size: 14px;
    color: #333;
    margin-bottom: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.recom-text p {
    font-size: 12px;
    color: #999;
}

/* 滑块验证组件层级调整 */
.slider-item {
    position: relative;
    z-index: 1;
}

.slider-bg {
    z-index: 2 !important;
}

.slider-btn {
    z-index: 3 !important;
}

.slider-text {
    z-index: 2 !important;
}

/* ========== 我的课程页面样式 ========== */

/* 卡片样式 - 清新紧凑风格 */
.course-card {
    margin-bottom: 14px;
    border-radius: 10px;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
    border: 1px solid #f0f4f5;
    background: #fff;
}

.course-card:hover {
    box-shadow: 0 4px 16px rgba(76, 184, 196, 0.12);
    transform: translateY(-2px);
    border-color: rgba(76, 184, 196, 0.25);
}

/* 卡片头部 */
.course-card-header {
    padding: 5px;
    border-bottom: 1px solid #f5f8f9;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    background: #fafdfc;
}

/* 卡片内容 */
.course-card-body {
    display: flex;
    align-items: center;
    gap: 14px;
}

/* 课程图片容器 */
.course-image-container {
    flex-shrink: 0;
}

/* 课程图片 */
.course-image {
    width: 100px;
    height: 72px;
    border-radius: 6px;
    object-fit: cover;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

/* 课程信息 */
.course-info {
    flex: 1;
    min-width: 0;
}

/* 课程标题 */
.course-title {
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 10px;
    color: #2A3B47;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.course-title:hover {
    color: var(--fresh-primary);
}

/* 课程时长 */
.course-duration {
    font-size: 12px;
    color: #E57373;
    margin-left: 8px;
    padding: 2px 8px;
    background: #FFEBEE;
    border-radius: 12px;
}

/* 进度条容器 */
.progress-container {
    margin-top: 10px;
}

/* 状态按钮组 */
.status-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

/* 状态按钮 */
.status-buttons span {
    font-size: 12px;
    padding: 4px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.25s ease;
    font-weight: 500;
}

/* 审核状态 */
.status-buttons span:first-child {
    background: #f0f8f7;
    color: var(--fresh-active);
    border: 1px solid rgba(76, 184, 196, 0.3);
}

/* 同步按钮 */
.status-buttons span:last-child {
    background: linear-gradient(135deg, var(--fresh-primary), var(--fresh-secondary));
    color: #fff;
    box-shadow: 0 1px 4px rgba(76, 184, 196, 0.25);
}

.status-buttons span:last-child:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(76, 184, 196, 0.35);
}

/* 链接样式 */
.course-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* 课程状态信息 */
.course-status {
    margin: 8px 0;
    font-size: 13px;
    color: #5A6678;
}

/* 课程签到信息 */
.course-check {
    font-size: 13px;
    color: #666;
}

/* 时间信息 */
.sign-time {
    font-size: 12px;
    color: #888;
    font-weight: 500;
    margin-left: 10px;
}

/* 学习数据标签 */
.course-info label {
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 10px;
    margin-right: 8px;
    font-weight: 500;
}

.course-info label:first-of-type {
    background: linear-gradient(135deg, #FFF3E0, #FFE0B2);
    color: #E65100;
    border: 1px solid rgba(230, 81, 0, 0.3);
}

.course-info label:last-of-type {
    background: linear-gradient(135deg, #E8F5E9, #C8E6C9);
    color: #2E7D32;
    border: 1px solid rgba(46, 125, 50, 0.3);
}

/* 结业审核状态 */
.status-buttons span:nth-child(2) {
    background: linear-gradient(135deg, #E3F2FD, #BBDEFB);
    color: #1565C0;
    border: 1px solid rgba(21, 101, 192, 0.3);
}

/* 查看证书链接 */
.course-info a {
    display: inline-block;
    margin-top: 8px;
    padding: 4px 12px;
    background: linear-gradient(135deg, #4CB8C4, #36CFC9);
    color: #fff;
    text-decoration: none;
    border-radius: 16px;
    font-size: 12px;
    font-weight: 500;
    transition: all 0.25s ease;
    box-shadow: 0 1px 4px rgba(76, 184, 196, 0.25);
}

.course-info a:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(76, 184, 196, 0.35);
}

/* ========== 线下培训卡片样式 ========== */

/* 课程标题链接 */
.course-title-link {
    text-decoration: none;
    color: inherit;
}

.course-title-link:hover .course-title {
    color: var(--fresh-primary);
}

/* 课程元信息 */
.course-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 8px;
}

.meta-item {
    font-size: 12px;
    color: #6A7C8E;
    display: flex;
    align-items: center;
    gap: 4px;
}

.meta-item::before {
    content: '';
    width: 3px;
    height: 3px;
    background: var(--fresh-primary);
    border-radius: 50%;
}

/* 证书区域 */
.cert-section {
    margin-top: 10px;
}

/* 证书按钮 */
.cert-btn {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 6px;
    height: 20px;
    background: linear-gradient(135deg, #4CB8C4, #36CFC9);
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 500;
    transition: all 0.25s ease;
    box-shadow: 0 1px 3px rgba(76, 184, 196, 0.3);
}

.cert-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(76, 184, 196, 0.35);
    background: linear-gradient(135deg, #3BA8B4, #26BFC0);
    color: #fff;
}

.cert-btn i {
    font-size: 10px;
}

/* 课程标题行 - 标题和证书按钮水平排列 */
.course-title-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 8px;
}

.course-title-row .course-title-link {
    flex: 1;
    min-width: 0;
}

.course-title-row .course-title {
    margin-bottom: 0;
    font-size: 15px;
    font-weight: 600;
    color: #2A3B47;
    line-height: 1.5;
}

.course-title-row .cert-btn {
    flex-shrink: 0;
    padding: 3px 10px;
    font-size: 10px;
}

/* 课程统计信息 */
.course-stats {
    display: flex;
    gap: 10px;
    margin-top: 8px;
    margin-right: 10px;
}

.course-stats .stat-item {
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 10px;
    font-weight: 500;
}

.course-stats .stat-item.time {
    background: linear-gradient(135deg, #FFF3E0, #FFE0B2);
    color: #E65100;
}

.course-stats .stat-item.progress {
    background: linear-gradient(135deg, #E8F5E9, #C8E6C9);
    color: #2E7D32;
}

/* Tab切换样式优化 - 两Tab各占50% */
.layui-tab {
    width: 100%;
}

.layui-tab-title {
    display: flex;
    width: 100%;
    margin-bottom: 0;
    border-bottom: 2px solid #e8f4f3;
}

.layui-tab-title li {
    flex: 1;
    width: 50%;
    height: 38px;
    line-height: 38px;
    text-align: center;
    background-color: #fafdfc;
    font-size: 14px;
    padding: 0;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    color: #555;
}

.layui-tab-title li:hover {
    background: #f0fffc;
}

.layui-tab-title li.layui-this {
    color: #000;
    font-weight: bold;
    position: relative;
}

.layui-tab-title li.layui-this::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 30%;
    right: 30%;
    height: 3px;
    background: #fff;
    border-radius: 2px;
}

/* 温馨提示卡片 */
.contentTitle {
    font-weight: 600;
    font-size: 18px;
    color: #2A3B47;
    text-align: center;
    padding: 15px 0;
    border-radius: 8px 8px 0 0;
    margin: 0;
}

.layui-card-body {
    padding: 20px;
}

.layui-card-body p {
    font-size: 14px;
    color: #5A6678;
    line-height: 2;
    margin: 10px 0;
    padding-left: 20px;
    position: relative;
}

.layui-card-body p::before {
    content: '\2022';
    position: absolute;
    left: 8px;
    color: var(--fresh-primary);
    font-weight: bold;
}

/* ============================================================
   v3.0 页面专属模块（自各 dashboard/view 页面内联 <style> 收拢合并）
   合并日期：2026-10-04
   说明：设计令牌 / 基础重置 / .uc-menu / .rf-control / .cds-prose /
         .sm-qr 基础样式已在本文件前部定义，此处仅放各页独有规则。
   特殊页保留内联，不在此列：bokecc_player、credential_cert、credential_cert_pdf
   ============================================================ */

/* ===== 课程详情 page-cdetail：附件下载区 ===== */
.page-cdetail .up-list{display:flex;flex-direction:column;gap:10px}
.page-cdetail .up-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-md,10px);background:#fff;transition:border-color .2s,box-shadow .2s;color:var(--ink,#3d2c22)}
.page-cdetail .up-item:hover{border-color:var(--gold,#c4913f);box-shadow:0 4px 14px rgba(139,90,43,.08)}
.page-cdetail .up-item .up-ico{flex:0 0 auto;width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5a2b,#6e4420);color:#f0cf8e}
.page-cdetail .up-item .up-ico .ico{width:18px;height:18px}
.page-cdetail .up-item .up-name{flex:1 1 auto;min-width:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.page-cdetail .up-item .up-time{flex:0 0 auto;font-size:12px;color:var(--muted,#87704f)}
.page-cdetail .up-empty{color:var(--muted,#87704f);font-size:14px;padding:6px 0}
/* 富文本图片自适应（补充到已有 .cds-prose） */
.page-cdetail .cds-prose img{max-width:100%;height:auto}
/* 报名资料缺失弹窗 */
.page-cdetail .enroll-pop{padding:24px 26px 22px;text-align:center}
.page-cdetail .enroll-pop .ep-ico{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f3e2c2,#e3c693);color:#8b5a2b}
.page-cdetail .enroll-pop .ep-ico svg{width:26px;height:26px}
.page-cdetail .enroll-pop .ep-title{font-size:17px;font-weight:700;color:#3d2c22;margin:0 0 8px}
.page-cdetail .enroll-pop .ep-msg{font-size:14px;color:#87704f;line-height:1.6;margin:0 0 20px}
.page-cdetail .enroll-pop .ep-actions{display:flex;gap:12px;justify-content:center}
.page-cdetail .enroll-pop .ep-btn{padding:9px 24px;border-radius:8px;font-size:14px;cursor:pointer;border:1px solid #d8c4a3;background:#fff;color:#6e4420}
.page-cdetail .enroll-pop .ep-btn-primary{background:linear-gradient(135deg,#c4913f,#a6712e);color:#fff;border-color:transparent}
.page-cdetail a.btn.btn-disabled{background:#e6ddcd;color:#9a8a70;cursor:default;border-color:#e0d5c0;box-shadow:none}
/* 资料不完整弹窗：水墨山水背景 */
.layui-layer.ep-layer{border-radius:16px;overflow:hidden;background:#f3ead6;box-shadow:0 18px 50px rgba(70,50,20,.3)}
.layui-layer.ep-layer .layui-layer-content{overflow:hidden !important}
.ep-layer .enroll-pop{padding:0;border-radius:16px;overflow:hidden;background:#f5efdd}
.ep-layer .ep-scene{position:relative;height:150px;display:flex;align-items:center;justify-content:center}
.ep-layer .ep-scene svg.ep-bg{position:absolute;inset:0;width:100%;height:100%}
.ep-layer .ep-scene .ep-ico{position:relative;z-index:2;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,251,240,.82);border:1px solid rgba(160,120,60,.35);color:#9a6a2c;box-shadow:0 4px 16px rgba(120,85,40,.18)}
.ep-layer .ep-scene .ep-ico svg{width:27px;height:27px}
.ep-layer .ep-body{position:relative;padding:18px 26px 22px;text-align:center;background:linear-gradient(180deg,rgba(245,239,221,.55),rgba(255,252,244,.96) 34%)}
.ep-layer .ep-body .ep-title{font-size:17px;font-weight:700;color:#3d2c22;margin:0 0 8px}
.ep-layer .ep-body .ep-msg{font-size:14px;color:#87704f;line-height:1.6;margin:0 0 18px}
.ep-layer .ep-body .ep-actions{display:flex;gap:12px;justify-content:center}
.ep-layer .ep-body .ep-btn{padding:9px 24px;border-radius:8px;font-size:14px;cursor:pointer;border:1px solid #d8c4a3;background:#fff;color:#6e4420}
.ep-layer .ep-body .ep-btn-primary{background:linear-gradient(135deg,#c4913f,#a6712e);color:#fff;border-color:transparent}

/* ===== 课程列表 page-course / page-video：两级技术筛选 ===== */
.page-course .ts-rows,.page-video .ts-rows{display:flex;flex-direction:column;gap:12px}
.page-course .ts-line,.page-video .ts-line{display:flex;align-items:flex-start;gap:10px}
.page-course .ts-lab,.page-video .ts-lab{flex:0 0 64px;font-size:13px;color:var(--text-sub);line-height:31px}
.page-course .tech-strip.is-open,.page-video .tech-strip.is-open{flex-wrap:wrap !important;overflow:visible;max-height:none;mask-image:none;-webkit-mask-image:none}
.page-course #subRow,.page-video #subRow{display:none}
.page-course #subRow.show,.page-video #subRow.show{display:flex}
.page-course #subRow .tech-strip a.is-hidden,.page-video #subRow .tech-strip a.is-hidden{display:none}

/* ===== 个人中心通用：侧栏菜单链接化（page-mcourse / page-mteacher） ===== */
.uc-menu a.ucm-item{text-decoration:none;color:var(--text-sub);box-sizing:border-box}
.uc-menu a.ucm-item:hover{color:var(--brown)}
.uc-menu a.ucm-item.on{color:#fff}

/* ===== 我的课程 page-mcourse：加载更多 / 空态 ===== */
.mc-more-wrap{display:flex;justify-content:center;margin-top:18px}
.mc-more-btn{height:40px;padding:0 30px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--brown);font-size:14px;font-weight:600;cursor:pointer;transition:.2s}
.mc-more-btn:hover{border-color:var(--gold);color:var(--gold-deep)}
.mc-more-btn.is-busy{opacity:.6;pointer-events:none}
.mc-empty{text-align:center;color:var(--gray);font-size:14px;padding:44px 0}

/* ===== 个人资料 page-mcourse（my_edit）：顶部身份概览 ===== */
.me-hero{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:linear-gradient(135deg,#fbf3df 0%,#f6e8c8 100%);border:1px solid var(--gold-light);border-radius:18px;padding:18px 22px;margin-bottom:18px}
.me-avatar{width:68px;height:68px;flex:none;border-radius:50%;overflow:hidden;border:2px solid #fff;box-shadow:0 4px 14px rgba(150,110,50,.22);background:#e9dbb7;display:flex;align-items:center;justify-content:center}
.me-avatar img{width:100%;height:100%;object-fit:cover}
.me-avatar svg{width:34px;height:34px;fill:none;stroke:var(--gold-deep);stroke-width:1.6}
.me-meta{flex:1;min-width:200px}
.me-name{font-size:19px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.me-sub{font-size:13px;color:var(--text-sub);margin-top:6px;line-height:1.6}
.me-badges{display:flex;gap:8px;flex-wrap:wrap}
.me-badge{display:inline-flex;align-items:center;height:26px;padding:0 13px;border-radius:999px;font-size:12px;font-weight:600}
.me-badge.verify{background:#e7efdd;color:var(--moss)}
.me-badge.unverify{background:#fff;color:var(--gold-deep);border:1px solid var(--gold)}
.uc-card-head .ch-ico{width:16px;height:16px;vertical-align:-3px;margin-right:7px;fill:none;stroke:#9a6a2c;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.uc-form textarea{width:100%;padding:11px 14px;font-size:14px;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:10px;line-height:1.7;resize:vertical;transition:border-color .18s,box-shadow .18s;font-family:inherit}
.uc-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(196,145,63,.14)}
.me-count{font-size:12px;color:var(--text-sub);text-align:right;margin-top:4px}
/* 工作照上传 */
.up-work{display:flex;align-items:center;gap:16px}
.uw-preview{width:84px;height:84px;flex-shrink:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:center}
.uw-preview img{width:100%;height:100%;object-fit:cover}
.uw-empty{display:flex;align-items:center;justify-content:center;color:#c2b08a}
.uw-empty svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.uw-side{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.uw-btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 18px;font-size:13.5px;font-weight:600;color:var(--brown-deep);cursor:pointer;background:#fff;border:1px solid var(--gold);border-radius:999px;transition:.18s}
.uw-btn:hover{background:var(--gold-bg);box-shadow:0 4px 12px rgba(168,122,46,.18)}
.uw-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.uw-clear{font-size:12.5px;color:var(--text-sub);background:none;border:none;padding:0 2px;cursor:pointer}
.uw-clear:hover{color:#c0532f}
@media(max-width:600px){.up-work{flex-wrap:wrap}}

/* ===== 意见反馈 page-mcourse（my_feedback）=====
   注意：.fb-head 基础样式（前部 52px 图片版）属其他模块，
   此处反馈页头部规则统一限定在 .page-mcourse 作用域 */
.page-mcourse .fb-head{display:flex;align-items:center;gap:9px;margin-bottom:0}
.page-mcourse .fb-head .fh-ico{width:26px;height:26px;border-radius:8px;flex-shrink:0;background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(255,255,255,.45));display:inline-flex;align-items:center;justify-content:center;color:var(--brown-deep);box-shadow:inset 0 0 0 1px rgba(110,68,32,.12)}
.page-mcourse .fb-head .fh-ico svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fb-tips{display:flex;flex-direction:column;gap:11px}
.fb-tip{display:flex;gap:11px;align-items:flex-start;background:linear-gradient(180deg,#fbf5e8,#f7efdc);border:1px solid #eeddbd;border-radius:11px;padding:12px 15px}
.fb-tip .ft-badge{width:22px;height:22px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 3px 7px rgba(168,122,46,.3)}
.fb-tip p{margin:0;font-size:13.5px;line-height:1.75;color:#6b5641}
.fb-tip b.req{color:var(--brown)}
.fb-userchip{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 16px 0 7px;background:linear-gradient(135deg,#f6ecd7,#efe0c0);border:1px solid #e2cf9f;border-radius:999px;width:fit-content;max-width:100%}
.fb-userchip .fu-ava{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--brown-soft),var(--brown));display:inline-flex;align-items:center;justify-content:center}
.fb-userchip .fu-ava svg{width:16px;height:16px;fill:none;stroke:var(--gold-bright);stroke-width:1.9;stroke-linecap:round}
.fb-userchip .fu-name{font-size:14px;font-weight:700;color:var(--brown-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fb-textwrap{position:relative}
.fb-textwrap textarea{width:100%;padding:13px 15px;font-size:14px;line-height:1.8;color:var(--text);background:#fffefb;border:1px solid var(--line);border-radius:11px;resize:vertical;transition:border-color .18s,box-shadow .18s}
.fb-textwrap textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(196,145,63,.14);background:#fff}
.fb-textwrap textarea::placeholder{color:#b6a58a}
.fb-count{position:absolute;right:12px;bottom:10px;font-size:12px;color:#a08e73;background:rgba(255,255,255,.85);padding:1px 8px;border-radius:999px;pointer-events:none}
.fb-count b{color:var(--brown);font-weight:700}
.fb-count.is-warn b{color:#c97a2e}
.fb-count.is-max b{color:#d9534f}
.uc-submit .us-ico{width:16px;height:16px;vertical-align:-3px;margin-right:7px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.uc-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}
.uc-submit.is-loading .us-ico{animation:fbspin .8s linear infinite}
@keyframes fbspin{to{transform:rotate(360deg)}}
.fb-toast{position:fixed;left:50%;top:38%;transform:translateX(-50%) translateY(8px);display:flex;align-items:center;gap:9px;background:rgba(61,44,34,.94);color:#f8eede;padding:13px 22px;border-radius:12px;font-size:14px;z-index:9999;box-shadow:0 14px 34px rgba(0,0,0,.28);opacity:0;transition:opacity .22s,transform .22s;max-width:82vw}
.fb-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.fb-toast svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:var(--gold-bright);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.fb-toast.is-error svg{stroke:#f0a08a}

/* ===== 师资工作台 page-mteacher（my_teacher）===== */
.tt-tag{display:inline-flex;align-items:center;height:24px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:600;margin:0 4px}
.tt-tag.teacher{background:var(--brown);color:#fff}
.tt-tag.normal{background:#EFE7D3;color:var(--text-sub)}
.tt-status{display:inline-flex;align-items:center;height:24px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:600;margin-left:4px}
.tt-status.s1{background:#E7EFDD;color:var(--moss)}
.tt-status.s0{background:var(--gold-bg);color:var(--gold-deep)}
.tt-status.s-1{background:#fbe7e4;color:#c0473a}
.tt-line{display:inline}
.mcc-enter{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 14px;border:1px solid var(--brown-soft);border-radius:999px;background:#fff;color:var(--brown);font-size:12.5px;font-weight:600;text-decoration:none;transition:.2s}
.mcc-enter .ico{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mcc-enter:hover{background:var(--brown);color:#fff}
.mcc-thumb .mcc-base-ico{display:flex;align-items:center;justify-content:center;width:100%;height:124px;background:linear-gradient(135deg,#f4e6c8,#e8d4a6)}
.mcc-base-ico svg{width:46px;height:46px;fill:none;stroke:var(--gold-deep);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
@media(max-width:900px){.mcc-thumb .mcc-base-ico{height:170px}}

/* ===== 师资工作台 page-mteacher：空状态美化（my_teacher）===== */
.mte-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 20px 48px}
.mte-empty-ico{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,#fbf3df,#f0dfb8);border:1px solid var(--gold-light);box-shadow:0 8px 22px rgba(150,110,50,.14);margin-bottom:18px}
.mte-empty-ico svg{width:40px;height:40px;fill:none;stroke:var(--gold-deep);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.82}
.mte-empty-title{margin:0;font-size:16px;font-weight:700;color:var(--text)}
.mte-empty-sub{margin:8px 0 0;font-size:13px;line-height:1.7;color:var(--text-sub);max-width:320px}
.mte-empty.is-fail .mte-empty-ico{background:linear-gradient(135deg,#fdeee9,#f8d9cf);border-color:#f0c4b4;box-shadow:0 8px 22px rgba(180,80,60,.12)}
.mte-empty.is-fail .mte-empty-ico svg{stroke:#c05a45;opacity:.85}
@media(max-width:900px){.mte-empty{padding:40px 16px 36px}.mte-empty-ico{width:72px;height:72px}.mte-empty-ico svg{width:34px;height:34px}}

/* ===== 师资绑定 page-register（teacher_bind）===== */
.page-register .rf-control input[readonly]{background:#faf5e9;color:var(--text-sub);cursor:default;letter-spacing:.3px}
.page-register .rf-control input[readonly]:focus{border-color:var(--line);box-shadow:none}
.page-register .rf-control textarea{width:100%;box-sizing:border-box;min-height:104px;padding:11px 14px;border:1.5px solid var(--line);border-radius:var(--r-md);font-size:14.5px;line-height:1.7;color:var(--text);background:#fff;resize:vertical;font-family:inherit;transition:border-color .18s,box-shadow .18s}
.page-register .rf-control textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(196,145,63,.14)}
.page-register .rf-control textarea::placeholder{color:#b6a58a}

/* ===== 注册 / 绑定共用 page-register ===== */
.submit-row{grid-column:1/-1}
.submit-row .reg-submit{width:100%}
.bind-tip{grid-column:1/-1;margin:2px 0 0;color:var(--text-sub);font-size:13.5px;line-height:1.7;text-align:center}
.bind-tip svg{width:15px;height:15px;vertical-align:-2px;margin-right:3px;color:var(--gold)}
.cancel-line{grid-column:1/-1;text-align:center;color:var(--text-sub);font-size:14px;margin:0}
.cancel-line a{color:var(--gold-deep)}
.login-line{grid-column:1/-1;text-align:center;color:var(--text-sub);font-size:14px;margin:0}
.login-line a{color:var(--gold-deep)}
.agree-row a{color:var(--gold-deep)}

/* ===== 师资注册 page-register（teacher_register）===== */
.reg-field .layui-form-select .layui-input{height:44px;border:1.5px solid var(--line);border-radius:var(--r-md);background:#fff;color:var(--text);font-size:14px;padding:0 34px 0 14px}
.reg-field .layui-form-select .layui-input:focus,.reg-field .layui-form-select.layui-form-selected .layui-input{border-color:var(--gold)}
.reg-field .layui-edge{margin-top:-3px;border-top-color:var(--text-sub)}
.reg-field dl.layui-anim{border-radius:10px;box-shadow:0 12px 30px rgba(90,54,24,.14);border:1px solid var(--line)}
.rf-textarea{width:100%;box-sizing:border-box;min-height:120px;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r-md);font-size:14.5px;line-height:1.7;color:var(--text);outline:none;resize:vertical;font-family:inherit}
.rf-textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(196,145,63,.14)}
.rf-textarea::placeholder{color:#b4a58c}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:42px}
.pw-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--text-sub);font-size:18px;line-height:1}
.pw-eye:hover{color:var(--gold-deep)}

/* ===== 会员注册 page-register（user_register）===== */
.page-register .reg-card{overflow:visible}
.reg-field .layui-form-select{margin:0}
#departs{min-height:44px}
#departs .xm-select-title{min-height:44px;border:1px solid var(--line)!important;border-radius:10px!important;background:#fff!important;padding:4px 32px 4px 10px!important;box-sizing:border-box}
#departs .xm-select-tips{color:#b6a485;height:auto;line-height:34px}
#departs .xm-select-label{height:34px;line-height:34px}
#departs .xm-select-single .xm-select-icon i{background:none}
#departs .xm-select-option:hover,#departs .xm-select-option:not(.xm-select-disabled):hover{background:var(--gold-bg)}
#departs .xm-select-option.xm-select-this{color:var(--gold-deep)}
#departs .xm-select-success{color:var(--gold-deep)}
.rg-invite{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:12px 18px;border-radius:14px;background:linear-gradient(135deg,#fbf3df,#f5e6c4);border:1px solid #e8d3a4;color:#7a5420;font-size:14px;line-height:1.6}
.rg-invite svg{flex:0 0 auto;width:20px;height:20px;color:#b0833a}
.rg-invite b{color:#8b5a2b}
.rg-content textarea{width:100%;padding:11px 14px;border:1px solid #e6dcc3;border-radius:10px;font-size:14px;line-height:1.7;color:#3d2c22;background:#fffdf8;resize:vertical;font-family:inherit;transition:border-color .2s,box-shadow .2s}
.rg-content textarea:focus{outline:none;border-color:#c4913f;box-shadow:0 0 0 3px rgba(196,145,63,.15)}
.rg-count{margin-top:6px;text-align:right;font-size:12px;color:#a08c6b}

/* ===== 视频学习页 bokecc_member（独立 H5，作用域隔离）===== */
body.bokecc-member{font-family:"PingFang SC","微软雅黑","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text);min-height:100vh}
body.bokecc-member .player-section{width:100%;background:#000;position:relative}
body.bokecc-member .player-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:linear-gradient(135deg,var(--brown-deep),var(--brown))}
body.bokecc-member .player-back{display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-size:14px}
body.bokecc-member .player-back .layui-icon{color:var(--gold-bright);font-size:18px}
body.bokecc-member .player-title{font-size:16px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}
body.bokecc-member #videoBox{width:100%;height:220px;background:#000}
body.bokecc-member .info-section{display:block;padding:15px;background:#fff;margin-top:10px}
body.bokecc-member .info-card{background:var(--gold-bg);border-radius:var(--r-md);padding:15px;border:1px solid var(--line);margin-bottom:15px}
body.bokecc-member .section-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:var(--brown-deep);margin:0 0 14px;padding:0}
body.bokecc-member .section-title::before{content:none}
body.bokecc-member .info-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line);gap:8px}
body.bokecc-member .info-row:last-child{border-bottom:none}
body.bokecc-member .info-label{font-size:14px;color:var(--text-sub);font-weight:500}
body.bokecc-member .info-value{font-size:14px;color:var(--text);font-weight:500;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.bokecc-member .info-value.tag{padding:4px 12px;background:linear-gradient(135deg,var(--gold-bright),var(--gold));color:#5a3618;border-radius:8px;font-size:12px;font-weight:600}
body.bokecc-member .course-desc{font-size:14px;color:#5a4636;line-height:1.8;text-indent:2em}
body.bokecc-member .course-desc img{max-width:100%;height:auto;border-radius:8px;margin:10px 0}
body.bokecc-member .progress-bar{width:100%;height:8px;background:#e4d8bf;border-radius:4px;overflow:hidden;margin-bottom:8px}
body.bokecc-member .progress-fill{height:100%;background:linear-gradient(90deg,var(--gold-bright),var(--gold));border-radius:4px;transition:width .3s ease}
body.bokecc-member .progress-text{font-size:13px;color:var(--text-sub);text-align:right}
body.bokecc-member .rotate-tip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:none;flex-direction:column;align-items:center;gap:10px;color:rgba(255,255,255,.8);z-index:10}
body.bokecc-member .rotate-tip i{font-size:48px;animation:bmrotate 3s linear infinite}
body.bokecc-member .rotate-tip span{font-size:14px}
@keyframes bmrotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(orientation:landscape) and (max-width:1023px){
  body.bokecc-member #videoBox{height:calc(100vh - 50px)}
  body.bokecc-member .info-section{display:none}
}
@media(min-width:768px){
  body.bokecc-member #videoBox{height:400px}
  body.bokecc-member .player-header{max-width:960px;margin:0 auto}
  body.bokecc-member .player-section{max-width:960px;margin:20px auto 0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
  body.bokecc-member .info-section{max-width:960px;margin:16px auto 40px;border-radius:var(--r-lg);box-shadow:var(--shadow)}
  body.bokecc-member .player-title{max-width:60%}
}
