/* ---------- 页面主体布局 ---------- */
.page-layout{
  display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px;
  padding:24px 0 48px; align-items:start;
}

/* 面包屑 */
.breadcrumb{font-size:13px; color:var(--muted); margin-bottom:16px; display:flex; gap:6px; flex-wrap:wrap; align-items:center;}
.breadcrumb a{color:var(--muted);}
.breadcrumb a:hover{color:var(--brand);}
.breadcrumb i{font-size:10px;}

/* ---------- 左侧主内容 (阅读区) ---------- */
.main-article{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:32px;
}
.article-header{margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid var(--line);}
.article-title{font-size:24px; line-height:1.4; margin-bottom:16px; color:var(--ink);}
.article-meta{
  display:flex; flex-wrap:wrap; gap:16px; font-size:13px; color:var(--muted); align-items:center;
}
.article-meta span{display:flex; align-items:center; gap:6px;}
.tag{padding:2px 8px; border-radius:4px; background:var(--brand-050); color:var(--brand); font-weight:600;}
.tag-type{background:var(--accent-soft); color:#b45309;}

/* 摘要框 */
.abstract-box{
  background:var(--bg-soft); border-left:3px solid var(--brand);
  padding:16px 20px; border-radius:0 var(--radius) var(--radius) 0; margin-bottom:32px;
  font-size:14px; color:var(--ink-2); line-height:1.8;
}
.abstract-box strong{color:var(--ink); display:block; margin-bottom:6px; font-size:15px;}

/* 正文排版 */
.content-section{margin-bottom:32px;}
.content-section h2{
  font-size:18px; margin-bottom:16px; padding-bottom:8px; border-bottom:1px solid var(--line-2);
  color:var(--ink); display:flex; align-items:center; gap:8px;
}
.content-section h2::before{content:''; width:3px; height:16px; background:var(--brand); border-radius:2px;}
.content-section p{margin-bottom:16px; text-align:justify; font-size:15px; color:var(--ink-2); line-height:1.8;}

/* 附图 */
.figure-box{margin:24px 0; text-align:center;}
.figure-box img{border:1px solid var(--line); border-radius:var(--radius-sm); display:inline-block; max-height:400px;}
.figure-caption{font-size:13px; color:var(--muted); margin-top:8px;}

/* 权利要求列表 */
.claim-list{list-style:decimal; padding-left:20px; color:var(--ink-2);}
.claim-list li{margin-bottom:12px; line-height:1.8; text-align:justify;}

/* ---------- 右侧侧边栏 ---------- */
.sidebar{display:flex; flex-direction:column; gap:20px; position:sticky; top:calc(var(--header-h) + 24px);}
.sidebar-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:20px;
}
.sidebar-title{font-size:15px; font-weight:700; margin-bottom:16px; color:var(--ink); display:flex; align-items:center; justify-content:space-between;}
.sidebar-title span{font-size:12px; font-weight:400; color:var(--muted);}

/* 信息列表 */
.info-list{display:flex; flex-direction:column; gap:12px; font-size:13px;}
.info-list li{display:flex; justify-content:space-between; border-bottom:1px dashed var(--line-2); padding-bottom:8px;}
.info-list li:last-child{border-bottom:0; padding-bottom:0;}
.info-list .label{color:var(--muted); flex-shrink:0; width:70px;}
.info-list .value{color:var(--ink); text-align:right; font-weight:500; word-break:break-all;}

/* 操作按钮区 */
.action-box{display:flex; flex-direction:column; gap:10px;}

/* 相关推荐列表 */
.related-list{display:flex; flex-direction:column; gap:12px;}
.related-list li{border-bottom:1px dashed var(--line-2); padding-bottom:12px;}
.related-list li:last-child{border-bottom:0; padding-bottom:0;}
.related-list a{
  font-size:13px; color:var(--ink); font-weight:500; line-height:1.5;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.related-list a:hover{color:var(--brand);}
.related-meta{font-size:12px; color:var(--muted); margin-top:4px; display:flex; justify-content:space-between;}

/* ============================================================
   响应式布局
   ============================================================ */
@media (max-width:860px){
  .page-layout{grid-template-columns:1fr; gap:20px;}
  .sidebar{position:static;}
  .main-article{padding:20px;}
  
  .primary-nav{display:none;}
  .nav-toggle{display:block; margin-left:auto;}
  .header-actions .btn-text{display:none;}
  .header-actions .btn{width:36px; height:36px; padding:0; border-radius:50%;}
  
  .article-title{font-size:20px;}
}

@media (max-width:560px){
  .article-meta{gap:10px;}
  .content-section h2{font-size:16px;}
  .content-section p{font-size:14px;}
  .claim-list li{font-size:14px;}
}