/* 强奸罪辩护专题研究 v4 —— 中国新闻网门户式：白底 · 红头 · 浅灰导航 · 三栏网格 */
* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --red:#052d5f; --red2:#052367; --red3:#145ca7;
  --ink:#1a1a1a; --text:#333; --gray:#666; --muted:#999; --muted2:#bbb;
  --line:#dedede; --line2:#ececec; --soft:#f6f6f6; --nav:#f5f5f7;
}
body { font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB",sans-serif; font-size:14px; color:var(--text); background:#fff; line-height:1.75; }
a { color:var(--text); text-decoration:none; }
a:hover { color:var(--red); text-decoration:underline; }
img { display:block; max-width:100%; }
.wrap { width:1200px; max-width:95%; margin:0 auto; }
.serif { font-family:"SimSun","Songti SC",serif; }
.clearfix::after { content:""; display:block; clear:both; }

/* ================= 头部 ================= */
.topbar { background:var(--soft); border-bottom:1px solid var(--line2); color:var(--muted); font-size:12px; }
.topbar .wrap { display:flex; justify-content:space-between; align-items:center; height:34px; }
.topbar a { color:var(--muted); margin-left:16px; }
.topbar a:hover { color:var(--red); text-decoration:none; }
.topbar .hotline { color:var(--red); font-weight:bold; }

.masthead { background:#fff; }
.masthead .wrap { display:flex; align-items:center; justify-content:space-between; padding:20px 0 14px; gap:20px; }
.logo { display:flex; align-items:flex-end; gap:12px; }
.logo .mark { width:54px; height:54px; background:var(--red); color:#fff; font-size:30px; font-family:"SimSun","Songti SC",serif; display:flex; align-items:center; justify-content:center; }
.logo h1 { font-size:33px; letter-spacing:3px; color:var(--red); font-weight:bold; line-height:1.1; }
.logo .sub { font-size:12px; color:var(--muted); letter-spacing:1px; margin-top:5px; }
.mast-right { display:flex; flex-direction:column; align-items:flex-end; }
.searchbox { display:flex; align-items:center; border:1px solid #cfcfcf; height:36px; }
.searchbox input { width:290px; height:34px; border:none; background:#fff; padding:0 10px; font-size:13px; outline:none; color:var(--ink); }
.searchbox button { height:34px; padding:0 20px; margin-right:-1px; background:var(--red); color:#fff; border:none; font-size:13px; letter-spacing:2px; cursor:pointer; }
.searchbox button:hover { background:var(--red2); }
.hotwords { font-size:12px; color:var(--muted2); margin-top:7px; }
.hotwords a { color:var(--gray); margin-left:10px; }
.hotwords a:hover { color:var(--red); text-decoration:none; }

/* 浅灰导航条（中新网标志性） */
.mainnav { background:var(--nav); border-top:1px solid var(--line); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:60; }
.mainnav ul { list-style:none; display:flex; }
.mainnav li a { display:block; padding:0 30px; height:44px; line-height:44px; color:#414141; font-size:16px; border-bottom:2px solid transparent; }
.mainnav li a:hover { color:var(--red); text-decoration:none; border-bottom-color:var(--red); background:#fff; }
.mainnav li a.on { color:var(--red); font-weight:bold; border-bottom-color:var(--red); background:transparent; }

/* ================= 栏目区块通用 ================= */
.sec { margin-top:34px; }
.sec-hd { display:flex; justify-content:space-between; align-items:flex-end; border-bottom:2px solid var(--red); margin-bottom:14px; }
.sec-hd h2 { font-size:20px; color:var(--ink); font-weight:bold; padding:0 0 7px 12px; position:relative; letter-spacing:1px; }
.sec-hd h2::before { content:""; position:absolute; left:0; top:5px; bottom:9px; width:5px; background:var(--red); }
.sec-hd h2 small { font-size:12px; color:var(--muted); font-weight:normal; margin-left:10px; letter-spacing:0; font-family:"Microsoft YaHei",sans-serif; }
.sec-hd .more { font-size:12px; color:var(--gray); padding-bottom:8px; }
.sec-hd .more:hover { color:var(--red); }

/* 栏目标题（内嵌白块用） */
.blk { margin-bottom:18px; }
.blk-hd { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); margin-bottom:6px; padding-bottom:5px; }
.blk-hd h3 { font-size:16px; color:var(--ink); font-weight:bold; padding-left:10px; position:relative; }
.blk-hd h3::before { content:""; position:absolute; left:0; top:4px; bottom:4px; width:4px; background:var(--red); }
.blk-hd a { font-size:12px; color:var(--muted); }
.blk-hd a:hover { color:var(--red); }

/* ================= 首页三栏门户 ================= */
.portal { display:grid; grid-template-columns:300px 1fr 300px; gap:24px; padding-top:18px; }
.pcol { min-width:0; }

/* 左栏：焦点图 */
.focus { border:1px solid var(--line2); margin-bottom:16px; }
.focus .pic { display:block; }
.focus img { width:100%; height:196px; object-fit:cover; }
.focus .cap { padding:8px 10px; border-top:1px solid var(--line2); }
.focus .cap a { font-size:14.5px; font-weight:bold; color:var(--ink); line-height:1.5; display:block; }
.focus .cap a:hover { color:var(--red); }
.fl-tag { display:inline-block; background:var(--red); color:#fff; font-size:11.5px; padding:0 7px; line-height:19px; margin-right:6px; font-weight:normal; vertical-align:1px; }

/* 左/右栏列表 */
.hotlist { list-style:none; }
.hotlist li { padding:7px 0 7px 12px; border-bottom:1px dotted var(--line); position:relative; font-size:13.5px; display:flex; justify-content:space-between; gap:10px; }
.hotlist li::before { content:""; position:absolute; left:2px; top:15px; width:4px; height:4px; background:var(--red); }
.hotlist li:last-child { border-bottom:none; }
.hotlist li a { color:var(--ink); flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hotlist li a:hover { color:var(--red); }
.hotlist li .no { color:var(--muted2); font-size:12px; flex-shrink:0; }

/* 中栏头条 */
.lead { border-bottom:1px solid var(--line); padding-bottom:14px; margin-bottom:12px; }
.lead h2 { font-size:30px; line-height:1.45; font-weight:bold; font-family:"SimSun","Songti SC",serif; }
.lead h2 a { color:#111; }
.lead h2 a:hover { color:var(--red); text-decoration:none; }
.lead p { font-size:14px; color:var(--gray); line-height:1.85; margin-top:10px; }
.lead .meta { font-size:12px; color:var(--muted); margin-top:10px; }
.lead-list { list-style:none; margin-bottom:16px; }
.lead-list li { font-size:15px; padding:6px 0 6px 16px; position:relative; border-bottom:1px dotted var(--line); font-weight:bold; }
.lead-list li::before { content:""; position:absolute; left:0; top:14px; width:5px; height:5px; background:var(--red); }
.lead-list li a { color:#1f1f1f; }
.lead-list li a:hover { color:var(--red); }

/* 中栏图文三小卡 */
.mgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.mcard img { width:100%; height:112px; object-fit:cover; }
.mcard h4 { font-size:13.5px; line-height:1.55; margin-top:7px; height:42px; overflow:hidden; font-weight:normal; }
.mcard h4 a { color:var(--ink); }
.mcard .m { font-size:11.5px; color:var(--muted2); margin-top:4px; }

/* 右栏热榜 */
.rank { list-style:none; counter-reset:r; }
.rank li { display:flex; gap:8px; align-items:baseline; padding:7px 0; border-bottom:1px dotted var(--line); font-size:13.5px; }
.rank li:last-child { border-bottom:none; }
.rank .n { width:17px; height:17px; line-height:17px; text-align:center; font-size:11.5px; background:#c2c3c4; color:#fff; flex-shrink:0; font-family:Arial,sans-serif; }
.rank li:nth-child(1) .n, .rank li:nth-child(2) .n, .rank li:nth-child(3) .n { background:var(--red); }
.rank li a { color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rank li a:hover { color:var(--red); }

/* 右栏联系卡 */
.side-svc { border:1px solid var(--line2); background:var(--soft); padding:12px 14px; font-size:13px; color:#555; line-height:2; }
.side-svc h4 { font-size:15px; color:var(--ink); margin-bottom:6px; padding-left:10px; position:relative; }
.side-svc h4::before { content:""; position:absolute; left:0; top:4px; bottom:4px; width:4px; background:var(--red); }
.side-svc b { color:var(--red); font-weight:bold; }

/* ================= 图文卡片 ================= */
.card-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.card { border:1px solid var(--line2); background:#fff; }
.card img { width:100%; height:138px; object-fit:cover; }
.card .bd { padding:10px 12px 12px; }
.card .bd h4 { font-size:14px; line-height:1.55; height:44px; overflow:hidden; font-weight:bold; }
.card .bd h4 a { color:var(--ink); }
.card .bd p { font-size:12.5px; color:var(--gray); margin-top:6px; height:36px; overflow:hidden; }
.card .bd .meta { font-size:11.5px; color:var(--muted); margin-top:6px; }

/* 法规分类卡 */
.catcard { border:1px solid var(--line2); border-top:3px solid var(--red); background:var(--soft); padding:16px 18px; }
.catcard .cnum { font-family:Arial,sans-serif; font-size:30px; line-height:1; color:var(--red); font-weight:bold; }
.catcard .cnum small { font-size:12px; color:var(--gray); font-weight:normal; margin-left:3px; }
.catcard h4 { font-size:14.5px; margin-top:9px; line-height:1.5; }
.catcard h4 a { color:var(--ink); }
.catcard .m { font-size:12px; color:var(--gray); margin-top:4px; }

/* ================= 列表 ================= */
.list2col { }
.list2col .newslist { column-count:2; column-gap:34px; }
.list2col .newslist li { break-inside:avoid; }
.newslist { list-style:none; }
.newslist li { border-bottom:1px dotted var(--line); padding:9px 0 9px 14px; position:relative; display:flex; justify-content:space-between; gap:12px; }
.newslist li::before { content:""; position:absolute; left:2px; top:17px; width:4px; height:4px; background:var(--red); }
.newslist li a { flex:1; font-size:14px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.newslist li a:hover { color:var(--red); }
.newslist li .no { font-size:12px; color:var(--muted); white-space:nowrap; }
.newslist li .tag { display:inline-block; font-size:11.5px; color:var(--red); border:1px solid #76b1ed; background:#cfe1f4; padding:0 5px; margin-right:7px; }

/* ================= 服务信息带 ================= */
.svc { display:grid; grid-template-columns:repeat(4,1fr); background:var(--soft); border-top:2px solid var(--red); margin-top:40px; }
.svc .it { padding:20px 24px; border-right:1px solid var(--line2); }
.svc .it:last-child { border-right:none; }
.svc .it .k { font-size:11.5px; color:var(--red); letter-spacing:2px; font-weight:bold; }
.svc .it .v { font-size:15px; font-weight:bold; margin-top:7px; line-height:1.6; color:var(--ink); }
.svc .it .v small { display:block; font-size:12px; font-weight:normal; color:var(--gray); }

/* ================= 页脚 ================= */
.footer { background:#fff; border-top:1px solid var(--line); color:var(--gray); margin-top:0; padding:30px 0 0; font-size:13px; }
.footer .cols { display:flex; gap:60px; padding-bottom:22px; }
.footer h5 { color:var(--ink); font-size:14.5px; margin-bottom:10px; padding-left:10px; position:relative; }
.footer h5::before { content:""; position:absolute; left:0; top:3px; bottom:3px; width:4px; background:var(--red); }
.footer a { color:var(--gray); }
.footer a:hover { color:var(--red); }
.footer .links a { margin-right:16px; }
.footer .bt { border-top:1px solid var(--line2); text-align:center; padding:14px 0; font-size:12px; color:var(--muted); }

/* ================= 内页骨架 ================= */
.crumb { font-size:12px; color:var(--muted); padding:12px 0; border-bottom:1px solid var(--line2); }
.crumb a { color:var(--gray); }
.page { display:flex; gap:28px; margin:18px 0 36px; }
.page-main { flex:1; min-width:0; border-right:1px solid var(--line2); padding-right:26px; }
.page-side { width:300px; flex-shrink:0; }

/* ================= 文章内页 ================= */
.art-sheet { background:#fff; }
.art-head { text-align:center; padding-bottom:14px; border-bottom:1px solid var(--line2); }
.art-head .cat { color:var(--red); font-size:12px; letter-spacing:3px; }
.art-head h1 { font-size:28px; color:#111; line-height:1.55; font-family:"SimSun","Songti SC",serif; font-weight:bold; margin-top:8px; }
.art-head .meta { font-size:12px; color:var(--muted); margin-top:10px; }
.art-cover { margin:18px auto 0; }
.art-cover img { width:100%; max-height:400px; object-fit:cover; }
.art-cover .cap { font-size:12px; color:var(--muted); margin-top:6px; text-align:center; }
.art-body { font-family:"SimSun","Songti SC",serif; font-size:17px; line-height:2.1; color:#222; padding:18px 0 4px; }
.art-body p { text-indent:2em; margin-bottom:14px; text-align:justify; }
.art-body h3 { font-family:"SimSun","Songti SC",serif; font-size:19px; color:#111; text-indent:0; margin:24px 0 10px; padding-left:10px; border-left:4px solid var(--red); }
/* 法条引用：高亮显示 */
.art-body .law-ref { color:#8c1017; border-bottom:1px dotted #d99; }
.art-body .law-ref .law-name { font-weight:bold; }
.art-foot { display:flex; justify-content:space-between; border-top:1px solid var(--line2); margin-top:16px; padding:14px 0 0; font-size:13px; }
.art-foot a { color:var(--gray); }
.disclaimer { background:var(--soft); border-left:3px solid var(--red); font-size:12.5px; color:var(--gray); padding:10px 14px; margin-top:18px; }

/* ================= 侧栏 ================= */
.side-box { border:1px solid var(--line2); margin-bottom:20px; background:#fff; }
.side-box .hd { font-size:15px; color:var(--ink); font-weight:bold; padding:9px 12px; border-bottom:2px solid var(--red); padding-left:12px; position:relative; }
.side-box .hd::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--red); }
.side-box .bd { padding:6px 12px 10px; }
.side-box .bd ul { list-style:none; }
.side-box .bd li { border-bottom:1px dotted var(--line); padding:7px 0; font-size:13px; }
.side-box .bd li:last-child { border-bottom:none; }
.side-box .bd li a { color:var(--ink); }
.side-box.contact .bd { font-size:13px; color:#555; line-height:2.05; }
.side-box.contact .bd b { color:var(--red); }

/* ================= 问答 ================= */
.qa-item { border:1px solid var(--line2); margin-bottom:8px; background:#fff; }
.qa-item .q { padding:11px 16px; font-size:14.5px; font-weight:bold; cursor:pointer; display:flex; gap:10px; align-items:baseline; color:#1f1f1f; }
.qa-item .q:hover { color:var(--red); }
.qa-item .q .no { color:var(--red); font-family:Arial,sans-serif; font-size:13px; flex-shrink:0; }
.qa-item .q .arrow { margin-left:auto; color:var(--muted2); font-size:10px; }
.qa-item .a { display:none; padding:2px 18px 14px; border-top:1px dashed var(--line); }
.qa-item.open .a { display:block; }
.qa-item .a .lab { display:inline-block; background:var(--red); color:#fff; font-size:11.5px; letter-spacing:1px; padding:0 8px; line-height:20px; margin:9px 0 3px; }
.qa-item .a .lab.r { background:#4c4c4c; }
.qa-item .a p { font-size:13.5px; line-height:1.9; color:#333; }
.qa-item .a .who { font-size:12px; color:var(--muted); margin-top:5px; }

/* ================= 案例详情 ================= */
.case-info { width:100%; border-collapse:collapse; font-size:13px; margin:16px 0 4px; }
.case-info th { background:var(--soft); border:1px solid var(--line); padding:8px 11px; width:106px; text-align:right; color:var(--gray); font-weight:normal; }
.case-info td { border:1px solid var(--line); padding:8px 11px; color:#222; }
.sec-block { margin:20px 0; }
.sec-block h3 { font-size:18px; color:#111; border-left:4px solid var(--red); padding-left:10px; margin-bottom:9px; font-family:"SimSun","Songti SC",serif; letter-spacing:1px; }
.sec-block p { text-indent:2em; text-align:justify; font-size:15.5px; line-height:2; color:#333; margin-bottom:9px; font-family:"SimSun","Songti SC",serif; }
/* 法条引用：高亮显示，便于快速定位裁判依据 */
.sec-block .law-ref { color:#8c1017; border-bottom:1px dotted #d99; }
.sec-block .law-ref .law-name { font-weight:bold; }

/* ================= 工具条 ================= */
.list-tools { display:flex; gap:10px; margin:14px 0; }
.list-tools input { flex:1; height:36px; border:1px solid #cfcfcf; background:#fff; padding:0 12px; font-size:13px; outline:none; color:var(--ink); }
.list-tools input:focus { border-color:var(--red); }
.list-tools button { height:36px; padding:0 22px; background:var(--red); color:#fff; border:none; cursor:pointer; font-size:13px; letter-spacing:2px; }
.list-tools button:hover { background:var(--red2); }
.pager { text-align:center; margin:22px 0 6px; display:none; }
.pager button { margin:0 3px; padding:6px 13px; border:1px solid var(--line); background:#fff; cursor:pointer; font-size:12.5px; color:var(--gray); }
.pager button:hover { border-color:var(--red); color:var(--red); }
.pager button.on { background:var(--red); color:#fff; border-color:var(--red); }

/* ================= 法规库 ================= */
.law-cat { border:1px solid var(--line2); margin-bottom:20px; background:#fff; }
.law-cat .hd { display:flex; align-items:baseline; gap:12px; background:var(--soft); border-bottom:1px solid var(--line); padding:10px 16px; border-left:5px solid var(--red); }
.law-cat .hd h3 { font-size:16px; color:var(--ink); font-weight:bold; }
.law-cat .hd span { font-size:12px; color:var(--muted); }
.law-cat ul { list-style:none; }
.law-cat li { display:flex; align-items:baseline; gap:14px; padding:11px 16px; border-bottom:1px dotted var(--line); }
.law-cat li:last-child { border-bottom:none; }
.law-cat li .t { font-size:14.5px; font-weight:bold; flex-shrink:0; }
.law-cat li .t a { color:#1f1f1f; }
.law-cat li .d { font-size:12.5px; color:var(--gray); flex:1; }
.law-cat li .go { font-size:12px; color:var(--red); white-space:nowrap; }

/* ================= 搜索结果 ================= */
.hit { border:1px solid var(--line2); padding:14px 18px; margin-bottom:10px; background:#fff; }
.hit h4 { font-size:16px; }
.hit h4 a { color:#1f4fa8; }
.hit .meta { font-size:12px; color:var(--red); margin:3px 0; }
.hit p { font-size:13px; color:var(--gray); }
.hit em { color:var(--red); font-style:normal; font-weight:bold; }

.pending { border:1px dashed #ccc; background:#fafafa; text-align:center; padding:36px 18px; color:var(--muted); font-size:13.5px; }

/* ================= 响应式 ================= */
@media (max-width:1080px){
  .portal { grid-template-columns:1fr; }
  .pcol-r .blk { margin-top:0; }
  .card-grid { grid-template-columns:repeat(2,1fr); }
  .list2col .newslist { column-count:1; }
  .svc { grid-template-columns:repeat(2,1fr); }
  .page { flex-direction:column; }
  .page-side { width:100%; }
  .page-main { border-right:none; padding-right:0; }
}
@media (max-width:720px){
  .lead h2 { font-size:23px; }
  .mgrid { grid-template-columns:1fr; }
  .masthead .wrap { flex-direction:column; align-items:flex-start; }
  .mast-right { align-items:flex-start; width:100%; }
  .searchbox { width:100%; }
  .searchbox input { flex:1; width:auto; }
  .mainnav ul { flex-wrap:wrap; }
  .mainnav li a { padding:0 16px; font-size:14px; height:40px; line-height:40px; }
  .card-grid, .svc { grid-template-columns:1fr; }
  .footer .cols { flex-direction:column; gap:20px; }
}
