/* ===== 法律协议页面（会员协议 / 隐私政策 / 用户协议 / 注销协议 / 退款说明） ===== */

/* 彻底禁用滚动吸附与平滑滚动，避免小屏跳转 */
@media(min-width:1024px){
  html.legal-root{scroll-snap-type:none;scroll-behavior:auto}
}

/* 粘性页脚：内容不满一屏时，页脚始终贴住视口底部 */
.legal-page{min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(circle at 50% -8%,rgba(255,107,61,.08),transparent 38%),#f5f5f7}
.legal-page main{flex:1 0 auto}

/* ---- 版式：顶部留白与购买页一致 ---- */
.legal-wrap{width:min(100%,880px);margin:0 auto;padding:0 20px}
.legal-article{padding-top:max(40px,env(safe-area-inset-top))}
@media(min-width:760px){.legal-article{padding-top:64px}}
@media(min-width:1024px) and (max-width:1179px){.legal-article{padding-top:72px}}
@media(min-width:1180px){.legal-article{padding-top:80px}}

/* ---- 文章头部 ---- */
.legal-head{padding:0 0 clamp(28px,5vw,48px);text-align:center}
.legal-head .eyebrow{margin-bottom:12px}
.legal-head h1{margin:0;font-size:clamp(30px,5.2vw,44px);font-weight:800;line-height:1.2;letter-spacing:.02em;text-wrap:balance}

/* ---- 元信息：正文首段（版本号 / 日期 / 运营者 / 客服等） ---- */
.legal-meta{margin:0 0 26px;padding:0 0 20px;border-bottom:1px solid rgba(29,29,31,.08);color:#6e6e73;font-size:14px;line-height:2;text-align:left;letter-spacing:.01em}

/* ---- 正文卡片 ---- */
.legal-body{position:relative;margin-bottom:clamp(56px,9vw,110px);padding:clamp(26px,5vw,52px);border:1px solid rgba(29,29,31,.06);border-radius:26px;background:#fff;box-shadow:0 20px 50px rgba(30,35,48,.06)}

/* ---- 章节标题 ---- */
.legal-h2{display:flex;align-items:center;gap:12px;margin:44px 0 16px;padding:0 0 14px;border-bottom:1px solid rgba(29,29,31,.08);font-size:clamp(18px,2.6vw,22px);font-weight:800;line-height:1.4;letter-spacing:.02em;color:#1d1d1f}
.legal-h2:first-child{margin-top:0}
.legal-h2::before{content:"";flex:0 0 auto;width:5px;height:22px;border-radius:999px;background:linear-gradient(180deg,var(--orange),#ffab7d)}

/* ---- 小节标题 ---- */
.legal-h3{margin:28px 0 12px;font-size:17px;font-weight:750;line-height:1.5;color:#1d1d1f}
.legal-h4{margin:22px 0 10px;font-size:15px;font-weight:720;line-height:1.5;color:#1d1d1f}

/* ---- 段落 ---- */
.legal-p{margin:0 0 14px;color:#505056;font-size:14.5px;line-height:1.95;letter-spacing:.012em}
.legal-p strong,.legal-p b{color:#1d1d1f;font-weight:700}
.legal-p .legal-link{color:var(--orange);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,107,61,.4);overflow-wrap:anywhere;word-break:break-all}
.legal-p .legal-link:hover{color:#e8551f}
.legal-p{overflow-wrap:break-word}

/* ---- 列表 ---- */
.legal-ol,.legal-ul{margin:0 0 18px;padding:0;display:grid;gap:10px;color:#505056;font-size:14.5px;line-height:1.85;letter-spacing:.01em}
.legal-ol{list-style:none;counter-reset:legal}
.legal-ol>li{position:relative;counter-increment:legal;padding-left:34px}
.legal-ol>li::before{position:absolute;left:0;top:.14em;display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:linear-gradient(135deg,#fff1e8,#ffe4d4);color:#e8551f;font-size:12px;font-weight:800;content:counter(legal)}
.legal-ul{list-style:none}
.legal-ul>li{position:relative;padding-left:20px}
.legal-ul>li::before{position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--orange);content:""}
.legal-ol>li strong,.legal-ul>li strong,.legal-ol>li b,.legal-ul>li b{color:#1d1d1f;font-weight:700}

/* 嵌套列表 */
.legal-ol>li>ol,.legal-ol>li>ul,.legal-ul>li>ol,.legal-ul>li>ul{margin:10px 0 2px;counter-reset:legal}
.legal-ol>li>ul>li,.legal-ul>li>ul>li,.legal-ol>li>ol>li,.legal-ul>li>ol>li{padding-left:20px;font-size:13.5px}
.legal-ol>li>ul>li::before,.legal-ul>li>ul>li::before{left:0;width:5px;height:5px}
.legal-ol>li>ul>li::before{content:"";border-radius:50%;background:var(--orange)}
.legal-ol>li>ol>li::before,.legal-ul>li>ol>li::before{content:counter(legal);width:20px;height:20px;font-size:11px}

/* ---- 表格 ---- */
.legal-table-wrap{margin:0 0 18px;overflow-x:auto;border:1px solid rgba(29,29,31,.09);border-radius:14px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.legal-table{width:100%;min-width:560px;border-collapse:collapse;font-size:13px;line-height:1.7}
.legal-table th{padding:12px 15px;background:#f6f7f9;color:#1d1d1f;font-weight:700;text-align:left;white-space:nowrap}
.legal-table td{padding:11px 15px;border-top:1px solid rgba(29,29,31,.06);color:#505056;vertical-align:top}
.legal-table tbody tr:nth-child(even) td{background:#fafafb}
.legal-table td b,.legal-table td strong{color:#1d1d1f;font-weight:700}

/* ---- 特别提示卡 ---- */
.legal-tip{margin:0 0 22px;padding:20px 22px;border:1px solid rgba(255,107,61,.22);border-left:4px solid var(--orange);border-radius:16px;background:linear-gradient(135deg,#fff8f2,#fffdf9)}
.legal-tip-title{display:block;margin-bottom:10px;color:#e8551f;font-size:14px;font-weight:800;letter-spacing:.1em}
.legal-tip .legal-tip-p{margin-bottom:8px;color:#5a534d}
.legal-tip .legal-tip-p:last-child{margin-bottom:0}

/* ---- 文末注释 ---- */
.legal-note{margin:18px 0 0;color:#9a9aa0;font-size:12px;text-align:center}

/* ---- 移动端（H5） ---- */
@media(max-width:899px){
  .legal-article{padding-top:44px}
  .legal-body{padding:26px 18px;border-radius:20px}
  .legal-table{min-width:480px}
  .legal-h2{margin-top:36px}
  .legal-meta{font-size:13px;line-height:1.95}
}
@media(max-width:480px){
  .legal-article{padding-top:36px}
  .legal-ol>li{padding-left:30px}
  .legal-ol>li::before{width:20px;height:20px;font-size:11px}
}
