/* 执左堂官网 v1.0 子页面样式。只新增类，不覆盖 design.css 既有规则；
   色彩、字体、间距全部引用 design.css 的 token 与组件类（墨境 v2 冻结基准）。 */

/* 咨询弹窗：企业微信「一姐小助理」二维码（真实素材） */
.dialog-qrcode{display:block;margin:0 auto 20px;width:min(240px,100%);height:auto;border:1px solid var(--line);background:var(--paper)}
.consult-dialog .dialog-note{font-size:14px;color:var(--sub);margin-top:12px}
.consult-dialog .dialog-legal{font-size:12px;line-height:1.9;color:var(--sub);margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.consult-dialog .dialog-legal a{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}

/* 法律页简短声明条（学习中心页/播放页底部） */
.legal-note{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:baseline;margin-top:48px;padding:18px 22px;background:var(--soft);border:1px solid var(--line);font-size:13px;line-height:1.9;color:var(--sub)}
.legal-note a{color:var(--ink);text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
@media(max-width:767px){.legal-note{padding:16px 18px;margin-top:36px}}

/* 法律文档页排版（逐字呈现定稿正文） */
.legal-doc{max-width:680px;margin-top:34px}
.legal-doc p,.legal-doc li{font-size:16px;line-height:2.1;overflow-wrap:anywhere}
.legal-doc>p:first-child{font-size:17px;color:var(--ink)}
.legal-doc h2{font-size:24px;line-height:1.75;letter-spacing:1px;margin:44px 0 16px;padding-left:18px;border-left:3px solid var(--green)}
.legal-doc ul,.legal-doc ol{margin:8px 0 0;padding:0;list-style:none}
.legal-doc ul li,.legal-doc ol li{position:relative;padding:7px 0 7px 26px}
.legal-doc ul li::before{content:"";position:absolute;left:6px;top:19px;width:7px;height:7px;background:var(--green);border-radius:50%}
.legal-doc ol{counter-reset:legal-ol}
.legal-doc ol li{counter-increment:legal-ol}
.legal-doc ol li::before{content:counter(legal-ol) ".";position:absolute;left:0;top:7px;font:400 15px/2.1 Spectral,var(--serif);color:var(--green)}
.legal-doc strong{font-weight:600}
.legal-sign{margin-top:52px;padding:26px 28px;background:var(--soft);border:1px solid var(--line)}
.legal-sign dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.legal-sign dt{font-size:12px;letter-spacing:2px;color:var(--sub);margin-bottom:6px}
.legal-sign dd{margin:0;font:500 17px/1.6 var(--serif)}
.legal-revisions{width:100%;border-collapse:collapse;margin-top:24px;font-size:13px}
.legal-revisions th,.legal-revisions td{border:1px solid var(--line);padding:9px 12px;text-align:left;line-height:1.8}
.legal-revisions th{background:#EDEAE2;font-weight:500;color:var(--sub)}
@media(max-width:767px){.legal-doc h2{font-size:20px;margin:36px 0 12px}.legal-doc p,.legal-doc li{font-size:15px}.legal-sign{padding:22px 20px}.legal-sign dl{grid-template-columns:1fr 1fr}.legal-revisions{font-size:12px}.legal-revisions th,.legal-revisions td{padding:7px 9px}}

/* ---------- 子页面公共 ---------- */
/* 页头已改为 sticky 常驻占位（不再叠加在 hero 上），内边距扣除页头高度（桌面约 88px / 移动约 64px） */
.page-hero{position:relative;overflow:hidden;background:var(--forest);color:var(--paper);padding:108px 0 64px}
.page-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 62% 90% at 78% 30%,#C5AD850F,transparent 70%)}
.page-hero .content-wrap{position:relative;z-index:1}
.page-hero .overline{color:var(--gold)}
.page-hero h1{font-size:64px;line-height:1.5;letter-spacing:2px;font-weight:500}
.page-hero .page-lead{margin-top:18px;font-size:16px;line-height:2;color:#CFD0C9;max-width:620px}
.page-hero .hero-rule{display:block;width:64px;height:1px;background:#C5AD8570;margin-top:30px}
@media(max-width:767px){.page-hero{padding:72px 0 44px}.page-hero h1{font-size:40px}.page-hero .page-lead{font-size:15px}}

.crumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:22px 0 0;font-size:13px;color:var(--sub)}
.crumb a:hover{text-decoration:underline;text-underline-offset:4px}
.crumb i{font-style:normal;color:#B9B4A8}
.crumb [aria-current]{color:var(--ink)}

.page-section{padding:56px 0 96px}
.page-heading{display:flex;align-items:baseline;gap:28px;flex-wrap:wrap;margin-bottom:8px}
.page-heading h2,.page-heading h1{font-size:38px;letter-spacing:1px}
.page-heading .page-heading-line{height:1px;background:var(--line);flex:1;min-width:60px}
@media(max-width:767px){.page-section{padding:36px 0 64px}.page-heading h2,.page-heading h1{font-size:29px}}

/* ---------- 课程列表页 ---------- */
.learn-intro{max-width:720px;font-size:16px;line-height:2.1;color:var(--ink);margin:26px 0 44px}
.course-surface a.button{margin-top:0}

/* ---------- 课程详情页 ---------- */
.course-head{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:start;margin:34px 0 56px}
.course-head-cover{position:relative;padding:44px 44px 36px;background:#E1E4D8;color:var(--forest);border:1px solid #C5C7BA;overflow:hidden}
.course-head-cover::before{content:"";position:absolute;top:0;bottom:0;left:16px;width:1px;background:#5C6B5725}
.course-head-cover::after{content:"";position:absolute;top:0;bottom:0;left:22px;width:1px;background:#F7F4EE70}
.course-head-cover .overline{font-size:14px;letter-spacing:4px;color:var(--green);margin-bottom:25px}
.course-head-cover h2{font-size:33px;line-height:1.85;letter-spacing:1px}
.course-head-cover h2 span{font-size:24px}
.course-head-info p{font-size:16px;line-height:2.1;color:var(--sub)}
.course-head-info .pdf-link{margin-top:28px}
@media(max-width:1000px){.course-head{grid-template-columns:1fr;gap:32px}}
@media(max-width:767px){.course-head-cover,.course-head-cover{padding:30px 26px}.course-head-cover h2{font-size:27px}.course-head-cover h2 span{font-size:21px}}

.chapter{margin-top:44px}
.chapter-head{display:flex;align-items:baseline;gap:22px;padding-bottom:14px;border-bottom:1px solid var(--ink)}
.chapter-head .chapter-no{font:400 15px/1 Spectral,var(--serif);color:var(--green);letter-spacing:2px}
.chapter-head h3{font-size:24px;letter-spacing:1px}
.lesson-list{display:block}
.lesson-row{position:relative;display:flex;align-items:center;gap:26px;padding:24px 44px 24px 4px;border-bottom:1px solid var(--line);transition:background .35s}
.lesson-row:hover{background:#EFEBE1}
.lesson-no{flex:none;font:400 26px/1 Spectral,var(--serif);color:var(--green);width:64px}
.lesson-main{flex:1;min-width:0}
.lesson-main h4{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.8;margin:0}
.lesson-main p{font-size:13px;color:var(--sub);margin-top:5px}
.lesson-meta{flex:none;display:flex;align-items:center;gap:22px}
.lesson-time{font:400 14px/1 Spectral,var(--serif);color:var(--sub);letter-spacing:1px}
.lesson-arrow{display:grid;place-items:center;width:43px;height:43px;border:1px solid #2B292633;border-radius:50%;font:20px/1 var(--sans);color:var(--green);transition:transform .45s var(--ease),background .35s,color .35s;flex:none}
.lesson-row:hover .lesson-arrow{transform:rotate(45deg);background:var(--ink);color:var(--paper)}
@media(max-width:767px){.lesson-row{flex-wrap:wrap;gap:14px;padding:20px 20px 20px 2px}.lesson-no{width:auto;font-size:22px}.lesson-main{flex:1 1 calc(100% - 80px)}.lesson-main h4{font-size:17px}.lesson-meta{margin-left:0;width:100%;justify-content:space-between}.lesson-arrow{width:38px;height:38px}}

.materials{margin-top:64px;padding:34px 36px;background:var(--soft);border:1px solid var(--line)}
.materials h3{font-size:22px;margin-bottom:6px}
.materials>p{font-size:14px;color:var(--sub);margin-bottom:4px}
.materials .pdf-link{font-size:15px;padding-top:18px;margin-top:14px;border-top:1px solid #CDC6B7}
@media(max-width:767px){.materials{padding:26px 22px}}

.materials .pdf-link{flex-wrap:wrap;row-gap:4px}
.materials .pdf-link>span:first-child{flex:1 1 auto;min-width:0}

/* ---------- 播放页 ---------- */
.lesson-hero{padding:108px 0 56px}
.lesson-hero .lesson-chapter{font-size:13px;letter-spacing:3px;color:var(--gold)}
.lesson-hero h1{font-size:42px;line-height:1.6;letter-spacing:1px;margin-top:14px}
.lesson-hero .lesson-sub{display:flex;flex-wrap:wrap;gap:26px;align-items:center;margin-top:18px;font-size:13px;color:#CFD0C9}
@media(max-width:767px){.lesson-hero{padding:72px 0 40px}.lesson-hero h1{font-size:27px}}

.player-section{padding:48px 0 88px}
.player-grid{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:52px;align-items:start}
.video-shell{position:relative;background:#15221A;border:1px solid #2B292633;box-shadow:0 18px 50px #2B29260A}
.video-shell video{display:block;width:100%;aspect-ratio:9/16;background:#0E1611}
.player-side .overline{margin-bottom:18px}
.player-side h2{font-size:26px;line-height:1.75}
.points{margin:26px 0 0;padding:0;list-style:none}
.points li{position:relative;padding:13px 0 13px 26px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.95}
.points li::before{content:"";position:absolute;left:2px;top:24px;width:9px;height:9px;background:var(--green);border:2px solid var(--paper);outline:1px solid var(--green);border-radius:50%}
.lesson-nav{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap}
.lesson-nav a{flex:1;min-width:180px}
.lesson-nav .button{width:100%}
.lesson-nav .button span{font-size:20px}
@media(max-width:900px){.player-grid{grid-template-columns:1fr;gap:36px}.video-shell{max-width:440px;margin:0 auto}}
@media(max-width:767px){.player-section{padding:32px 0 64px}.player-side h2{font-size:22px}}

/* ---------- 院长页 ---------- */
.director-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:start;margin:40px 0 20px}
.director-grid h2{font-size:52px;line-height:1.6;letter-spacing:2px}
.director-role{display:block;font:400 15px/1.8 var(--sans);color:var(--sub);letter-spacing:3px;margin-top:14px}
.director-photo{position:relative;min-height:420px}
@media(max-width:1000px){.director-grid{grid-template-columns:1fr;gap:36px}.director-photo{min-height:280px}}
@media(max-width:767px){.director-grid h2{font-size:36px}.director-photo{min-height:200px}}
.cred-list{margin:34px 0 0;padding:0;list-style:none}
.cred-list li{display:flex;gap:18px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.9}
.cred-list li i{font-style:normal;flex:none;width:10px;height:10px;background:var(--green);border-radius:50%;position:relative;top:-2px}
.director-word{margin:56px 0 0;padding:32px 36px;background:#F7F4EE09;border:1px solid #F7F4EE1A;display:grid;grid-template-columns:92px 1fr;gap:32px}
.director-word h3{font:400 14px/1.9 var(--sans);color:var(--gold);letter-spacing:2px}
.director-word p{font-size:16px;line-height:2.2;color:#D3D7CD}
@media(max-width:767px){.director-word{display:block;padding:26px 22px}.director-word h3{margin-bottom:12px}.director-word p{font-size:15px}}
.dark-section .cred-list li{border-bottom-color:#F7F4EE22}
.dark-section .cred-list li i{background:var(--gold)}

/* ---------- 结构占位页（隐私/免责，仅预览） ---------- */
.struct-note{display:flex;gap:14px;align-items:flex-start;padding:18px 22px;border:1px dashed #BEB9AD;background:#E7E4DD;font-size:14px;line-height:1.9;color:var(--sub);margin:26px 0 40px}

/* ---------- 404 ---------- */
.err-body{background:var(--forest);color:var(--paper);min-height:100vh;display:flex;flex-direction:column}
.err-main{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 24px 60px}
.err-code{font:400 120px/1 Spectral,var(--serif);letter-spacing:-4px;color:var(--gold)}
.err-main h1{font-size:34px;margin:22px 0 14px;letter-spacing:2px}
.err-main p{font-size:15px;color:#CFD0C9}
.err-actions{margin-top:36px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.err-actions .button{color:var(--paper);border-color:#F7F4EE66}
.err-actions .button::before{background:var(--paper)}
.err-actions .button:hover{color:var(--forest)}
.err-actions .button.light-solid{background:var(--paper);color:var(--forest)}
.err-actions .button.light-solid::before{background:var(--gold)}

/* ---------- 会员账户页（旧版 .acct-* 兼容样式，新样式见 member.css） ---------- */
.button.ghost-sm{min-height:44px;padding:8px 16px;font-size:13px;gap:10px}
.acct-card{max-width:460px;background:#fff;border:1px solid var(--line);padding:34px 34px 28px;margin-top:34px}
.acct-card h2{font-size:24px;margin-bottom:20px}
.acct-card label{display:block;font-size:12px;letter-spacing:2px;color:var(--sub);margin:16px 0 6px}
.acct-card input{width:100%;padding:11px 13px;border:1px solid var(--line);font:inherit;background:var(--paper)}
.acct-card input:focus{outline:2px solid var(--gold);outline-offset:1px}
.acct-code-row{display:flex;gap:12px;align-items:flex-end}
.acct-code-row label{flex:1}
.acct-code-row .ghost-sm{flex:none;margin-bottom:0}
.acct-card .button{margin-top:24px;width:100%;justify-content:center}
.acct-code-row .button{width:auto;margin-top:0;flex:none}
.acct-msg{font-size:13px;line-height:1.9;color:var(--green);margin:14px 0 0;min-height:1.9em}
.acct-msg.err{color:var(--red)}
.acct-fine{font-size:12px;color:var(--sub);line-height:1.9;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.acct-fine a{text-decoration:underline;text-underline-offset:4px}
.acct-view{margin-top:34px}
.acct-head-row{display:flex;justify-content:space-between;align-items:center}
.acct-hello{font:500 22px/1.7 var(--serif)}
.acct-logout{background:none;border:1px solid var(--line);padding:7px 16px;font-size:13px;color:var(--sub);cursor:pointer}
.acct-logout:hover{border-color:var(--ink);color:var(--ink)}
.acct-balances{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:26px 0 10px}
.acct-bal{background:var(--soft);border:1px solid var(--line);border-top:2px solid var(--green);padding:22px 24px}
.acct-bal-name{display:block;font-size:13px;letter-spacing:1px;color:var(--sub)}
.acct-bal-num{display:inline-block;font:400 44px/1.2 Spectral,var(--serif);color:var(--ink);margin-top:8px}
.acct-bal-unit{font-size:14px;color:var(--sub);margin-left:8px}
.acct-h2{font-size:22px;margin:40px 0 16px}
.acct-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line)}
.acct-table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}
.acct-table th,.acct-table td{border-bottom:1px solid var(--line);padding:11px 14px;text-align:left;line-height:1.7}
.acct-table th{background:var(--soft);color:var(--sub);font-weight:500;white-space:nowrap}
.acct-table .neg{color:var(--red)}
.acct-table .pos{color:var(--green)}
.mini{font-size:13px;color:var(--sub)}
@media(max-width:767px){.acct-card{padding:26px 22px}.acct-bal{padding:18px 20px}}

/* 法律页版本元信息、表格、分隔线（终审版 v1.2/v1.1/v1.0） */
.legal-meta{margin:0 0 34px;padding:20px 24px;background:var(--soft);border:1px solid var(--line)}
.legal-meta p{margin:4px 0;font-size:14px;line-height:1.9;color:var(--ink)}
.legal-table-wrap{overflow-x:auto;margin:16px 0 8px;border:1px solid var(--line);background:#fff}
.legal-table-wrap table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px;margin:0}
.legal-table-wrap th,.legal-table-wrap td{border:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top;line-height:1.9}
.legal-table-wrap th{background:var(--soft);color:var(--sub);font-weight:500;white-space:nowrap}
.legal-table-wrap td strong{font-weight:600}
.legal-divider{border:0;border-top:1px dashed #BEB9AD;margin:56px 0}
.acct-notice{max-width:680px;margin-top:30px;padding:20px 24px;background:var(--soft);border:1px solid var(--line);font-size:14px;line-height:2}
.acct-notice strong{font-family:var(--serif);font-size:16px;letter-spacing:1px}
.acct-notice p{margin:10px 0 0;color:var(--ink)}
.acct-notice a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:767px){.acct-notice{padding:16px 18px}.legal-table-wrap th,.legal-table-wrap td{padding:8px 10px;font-size:13px}}

/* 移动端页脚导航换行（新增法律页链接后 375px 会溢出；覆盖 design.css 的不换行） */
@media(max-width:767px){.site-footer nav{flex-wrap:wrap;gap:2px 20px}}
