@charset "utf-8";
/* 意大利新闻网 · 电脑版首页样式  xw-pc.css
   自包含。只被 templets/default/index.htm 引用，不影响文章页/列表页。 */

:root{
  --brand:#0d4d8c;
  --brand-2:#1668bd;
  --accent:#c1121f;
  --bg:#f2f4f7;
  --card:#fff;
  --text:#14171c;
  --text-2:#5b6270;
  --text-3:#8b93a1;
  --line:#e4e8ed;
  --radius:12px;
  --shadow:0 1px 2px rgba(16,24,40,.05), 0 2px 10px rgba(16,24,40,.06);
  --maxw:1220px;
}
@media (prefers-color-scheme:dark){
  :root{
    --brand:#12395f; --brand-2:#2c7fd4; --accent:#e2503c;
    --bg:#0d1015; --card:#161a21; --text:#e7e9ee;
    --text-2:#98a1b0; --text-3:#727b8a; --line:#242a33;
    --shadow:0 1px 2px rgba(0,0,0,.4);
  }
}

*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;background:var(--bg);color:var(--text);
  font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;border:0}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p{margin:0}
.xp-wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* ---------- 顶栏 ---------- */
.xp-header{
  position:sticky;top:0;z-index:60;
  background:var(--brand);color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.12);
}
.xp-hbar{
  max-width:var(--maxw);margin:0 auto;padding:0 20px;
  height:66px;display:flex;align-items:center;gap:26px;
}
.xp-logo{flex:none;display:flex;align-items:center}
.xp-logo img{height:38px;width:auto}
.xp-nav{flex:1;min-width:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.xp-nav::-webkit-scrollbar{display:none}
.xp-nav a{
  padding:8px 15px;border-radius:8px;white-space:nowrap;
  font-size:15.5px;color:rgba(255,255,255,.85);transition:background .15s,color .15s;
}
.xp-nav a:hover{background:rgba(255,255,255,.14);color:#fff}
.xp-nav a.on{background:#fff;color:var(--brand);font-weight:600}
.xp-search{flex:none;display:flex;gap:0}
.xp-search input{
  width:190px;height:36px;padding:0 14px;border:0;font-size:14px;
  border-radius:8px 0 0 8px;background:rgba(255,255,255,.94);color:#14171c;
}
.xp-search input:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px}
.xp-search button{
  height:36px;padding:0 16px;border:0;cursor:pointer;font-size:14px;font-weight:600;
  border-radius:0 8px 8px 0;background:var(--accent);color:#fff;
}
.xp-search button:hover{filter:brightness(1.08)}

/* ---------- 区块通用 ---------- */
.xp-sec{margin:22px 0}
.xp-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.xp-head{
  display:flex;align-items:center;gap:10px;
  padding:15px 18px 13px;border-bottom:1px solid var(--line);
}
.xp-head::before{content:"";width:4px;height:17px;border-radius:2px;background:var(--accent);flex:none}
.xp-head h2,.xp-head h3{
  flex:1;min-width:0;font-size:18px;font-weight:700;letter-spacing:.3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.xp-head .more{font-size:13.5px;color:var(--text-3);flex:none}
.xp-head .more:hover{color:var(--brand-2)}
.xp-head .more::after{content:" ›";font-size:15px}

/* ---------- 首屏：轮播 + 头条 ---------- */
/* 两栏等高：左栏内容（轮播+卡片）决定行高，右栏卡片自动撑满。
   轮播本身不会被拉伸 —— 它在 .xp-main 这个 column flex 里，flex-grow 默认 0，
   所以固定保持 16:9，不会再出现卡片内部那块白。 */
.xp-top{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:20px;align-items:stretch}

.xp-slider{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--card)}
.xp-track{display:flex;height:100%;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.xp-slide{flex:0 0 100%;position:relative}
.xp-slide .pic{aspect-ratio:16/9;background:var(--line)}
.xp-slide .pic img{width:100%;height:100%;object-fit:cover}
.xp-slide .cap{
  position:absolute;left:0;right:0;bottom:0;padding:44px 22px 18px;
  background:linear-gradient(to top,rgba(0,0,0,.86),rgba(0,0,0,.45) 55%,transparent);
  color:#fff;font-size:19px;font-weight:600;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.xp-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:40px;height:40px;border:0;border-radius:50%;cursor:pointer;
  background:rgba(0,0,0,.38);color:#fff;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .2s,background .2s;
}
.xp-slider:hover .xp-arrow{opacity:1}
.xp-arrow:hover{background:rgba(0,0,0,.62)}
.xp-arrow.prev{left:12px}
.xp-arrow.next{right:12px}
.xp-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.xp-dots{position:absolute;right:16px;bottom:14px;z-index:3;display:flex;gap:6px}
.xp-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;transition:all .2s}
.xp-dots i.on{background:#fff;width:20px;border-radius:4px}

/* 右栏头条 */
.xp-side{display:flex;flex-direction:column;gap:20px;min-width:0}
.xp-side>.xp-card{flex:1}   /* 撑满左栏高度，底部留白当作卡片内边距 */
.xp-lead{padding:16px 18px;border-bottom:1px solid var(--line)}
.xp-lead h2{
  font-size:20px;font-weight:700;line-height:1.4;margin-bottom:8px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.xp-lead h2 a:hover{color:var(--accent)}
.xp-lead p{
  font-size:13.5px;color:var(--text-2);line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.xp-lead .go{color:var(--brand-2);font-weight:600;white-space:nowrap}

/* 标题列表 */
.xp-list{padding:6px 0}
.xp-list li{border-bottom:1px solid var(--line)}
.xp-list li:last-child{border-bottom:0}
.xp-list a{
  display:flex;gap:10px;padding:9px 18px;font-size:14.5px;line-height:1.55;
  transition:background .12s;
}
.xp-list a:hover{background:rgba(125,135,150,.07);color:var(--brand-2)}
.xp-list .n{
  flex:none;width:18px;text-align:center;font-size:12.5px;font-weight:700;
  font-style:normal;color:var(--text-3);line-height:1.8;
}
.xp-list li:nth-child(-n+3) .n{color:var(--accent)}
.xp-list .t{
  flex:1;min-width:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}


/* 左栏：轮播 + 卡片一列排布 */
.xp-main{display:flex;flex-direction:column;gap:20px;min-width:0}
.xp-main .xp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

/* 编辑推荐：宽卡（图左文右） */
.xp-wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.xp-wcard{
  display:flex;gap:15px;padding:14px;
  background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
}
.xp-wcard .pic{flex:none;width:190px;aspect-ratio:16/10;border-radius:9px;overflow:hidden;background:var(--line)}
.xp-wcard .pic img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.xp-wcard:hover .pic img{transform:scale(1.045)}
.xp-wcard .con{flex:1;min-width:0;display:flex;flex-direction:column}
.xp-wcard h3{
  font-size:16.5px;font-weight:600;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.xp-wcard:hover h3{color:var(--brand-2)}
.xp-wcard p{
  margin-top:7px;font-size:13px;color:var(--text-2);line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.xp-wcard:has(img[src*="defaultpic"]) .pic{display:none}

/* ---------- 图片卡片行 ---------- */
.xp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:18px}
.xp-tile{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:block}
.xp-tile .pic{aspect-ratio:16/10;background:var(--line);overflow:hidden}
.xp-tile .pic img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.xp-tile:hover .pic img{transform:scale(1.045)}
.xp-tile .txt{padding:11px 13px 14px}
.xp-tile h3{
  font-size:15px;font-weight:600;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.xp-tile:hover h3{color:var(--brand-2)}
.xp-tile p{
  margin-top:5px;font-size:12.5px;color:var(--text-2);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* ---------- 频道三列 ---------- */
/* align-items:start：各栏条目数不一样，等高会让短的那张卡底部空出一大块白 */
.xp-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.xp-feat{display:block;padding:14px 18px;border-bottom:1px solid var(--line)}
.xp-feat .pic{aspect-ratio:16/9;border-radius:9px;overflow:hidden;background:var(--line);margin-bottom:10px}
.xp-feat .pic img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.xp-feat:hover .pic img{transform:scale(1.045)}
.xp-feat h4{
  font-size:16px;font-weight:600;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.xp-feat:hover h4{color:var(--brand-2)}
.xp-feat p{
  margin-top:5px;font-size:13px;color:var(--text-2);line-height:1.55;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
/* 没有缩略图的条目收起图位 */
.xp-feat:has(img[src*="defaultpic"]) .pic,
.xp-tile:has(img[src*="defaultpic"]) .pic{display:none}

/* ---------- 两栏 ---------- */
.xp-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}

/* ---------- 广告 ---------- */
.xp-ad{margin:22px 0;text-align:center;min-height:0}
.xp-ad ins{display:block;margin:0 auto}
.xp-ad-label{
  display:block;text-align:center;font-size:11px;color:var(--text-3);
  letter-spacing:2px;margin-bottom:6px;
}

/* ---------- 底部 ---------- */
.xp-footer{background:var(--card);border-top:1px solid var(--line);margin-top:30px}
.xp-fmain{
  max-width:var(--maxw);margin:0 auto;padding:30px 20px 22px;
  display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:34px;
}
.xp-footer h4{
  font-size:15px;font-weight:700;margin-bottom:12px;padding-bottom:9px;
  border-bottom:1px solid var(--line);
}
.xp-flinks{display:flex;flex-wrap:wrap;gap:8px 16px}
.xp-flinks a{font-size:13.5px;color:var(--text-2)}
.xp-flinks a:hover{color:var(--brand-2)}
.xp-fcols{display:flex;flex-direction:column;gap:8px}
.xp-fcols a{font-size:13.5px;color:var(--text-2)}
.xp-fcols a:hover{color:var(--brand-2)}
.xp-fabout p{font-size:13.5px;color:var(--text-2);line-height:1.75}
.xp-tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:7px}
.xp-tags a{
  font-size:12.5px;color:var(--text-2);background:var(--bg);
  border:1px solid var(--line);border-radius:999px;padding:3px 11px;
}
.xp-tags a:hover{color:#fff;background:var(--brand);border-color:var(--brand)}
.xp-copy{
  border-top:1px solid var(--line);text-align:center;
  padding:15px 20px;font-size:12.5px;color:var(--text-3);
}
.xp-copy a{color:var(--text-2)}

/* 回到顶部 */
.xp-top-btn{
  position:fixed;right:26px;bottom:32px;z-index:50;
  width:44px;height:44px;border-radius:10px;border:1px solid var(--line);
  background:var(--card);color:var(--text-2);box-shadow:var(--shadow);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s;
}
.xp-top-btn.show{opacity:1;visibility:visible;transform:none}
.xp-top-btn:hover{color:var(--brand-2);border-color:var(--brand-2)}
.xp-top-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .xp-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xp-fmain{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .xp-top{grid-template-columns:1fr}
  .xp-two,.xp-cols,.xp-wide{grid-template-columns:1fr}
  .xp-main .xp-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .xp-wcard .pic{width:130px}
  .xp-hbar{height:auto;flex-wrap:wrap;padding:12px 20px;gap:12px}
  .xp-search{order:2;width:100%}
  .xp-search input{width:100%}
  .xp-nav{order:3;width:100%}
  .xp-fmain{grid-template-columns:1fr;gap:24px}
  .xp-slide .cap{font-size:16px;padding:36px 16px 14px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
  .xp-track{transition:none!important}
}

/* {dede:flink} 输出的是裸 <li>，兜底 */
.xp-flinks li{list-style:none;display:inline-flex}


/* ==========================================================================
   电脑版内页：列表页 / 文章页
   只被 templets/default/{list_article,article_article}.htm 引用。
   head.htm / footer.htm 未使用本文件，其余 30+ 个老模板不受影响。
   ========================================================================== */

/* 面包屑 */
.xp-crumb{
  padding:14px 0 2px;font-size:13px;color:var(--text-3);
}
.xp-crumb a{color:var(--text-2)}
.xp-crumb a:hover{color:var(--brand-2)}

/* 主体两栏：正文 + 300px 侧栏（宽度对齐 300×250 广告位） */
.xp-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 300px;
  gap:26px;align-items:start;margin:10px 0 26px;
}

/* ---------- 文章页 ---------- */
.xp-post{
  background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:28px 32px 20px;
}
.xp-post h1{
  font-size:27px;font-weight:700;line-height:1.4;letter-spacing:.2px;
  margin-bottom:14px;
}
.xp-postmeta{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;
  padding-bottom:16px;border-bottom:1px solid var(--line);
  font-size:13px;color:var(--text-3);
}
.xp-fontbtn{
  margin-left:auto;display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;
}
.xp-fontbtn button{
  border:0;background:var(--card);color:var(--text-2);cursor:pointer;
  padding:4px 12px;font-size:13px;line-height:1.5;
}
.xp-fontbtn button+button{border-left:1px solid var(--line)}
.xp-fontbtn button[aria-pressed="true"]{background:var(--brand);color:#fff}

/* 正文排版 */
.xp-body{
  font-size:var(--fs,17px);line-height:1.95;color:var(--text);
  padding:20px 0 6px;word-wrap:break-word;overflow-wrap:break-word;
}
.xp-body p{margin:0 0 1.15em}
.xp-body img{max-width:100%;height:auto;border-radius:8px;margin:.7em auto}
.xp-body iframe,.xp-body video,.xp-body embed{
  display:block;max-width:100%;margin:1.1em auto;border:0;border-radius:8px;
}
.xp-body a{color:var(--brand-2);text-decoration:underline;text-underline-offset:2px}
.xp-body h1,.xp-body h2,.xp-body h3{font-size:1.1em;font-weight:700;line-height:1.5;margin:1.5em 0 .5em}
.xp-body blockquote{margin:1em 0;padding:.6em 0 .6em 16px;border-left:3px solid var(--line);color:var(--text-2)}
.xp-body table{max-width:100%;display:block;overflow-x:auto;border-collapse:collapse}
.xp-body td,.xp-body th{border:1px solid var(--line);padding:7px 10px}
.xp-body font[size]{font-size:inherit!important}
/* 正文里的视频 iframe 按 16:9 自适应 */
.xp-embed{position:relative;margin:1.1em 0;padding-top:56.25%;border-radius:8px;overflow:hidden;background:#000}
.xp-embed>iframe{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0}

.xp-editor{
  text-align:right;font-size:12px;color:var(--text-3);
  padding:10px 0 0;border-top:1px solid var(--line);margin-top:18px;
}

/* 上下篇（DedeCMS 输出的是「上一篇：<a>…</a>」纯文本） */
.xp-pn{
  display:grid;gap:10px;margin-top:18px;
  padding-top:18px;border-top:1px solid var(--line);
  font-size:14.5px;line-height:1.6;color:var(--text-3);
}
.xp-pn a{color:var(--text)}
.xp-pn a:hover{color:var(--brand-2)}

/* 评论区：Facebook 常被浏览器插件拦截 / 应用域名未白名单，那样什么都不渲染。
   所以默认不套卡片样式（不占位、不留白框），JS 检测到 FB 真的渲染出内容后
   再加 .ready，才显示成卡片。 */
.xp-comments{margin-top:0;overflow:hidden}
.xp-comments.ready{
  background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:20px 24px;margin-top:20px;
}

/* ---------- 列表页 ---------- */
.xp-rows{
  background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
  overflow:hidden;
}
/* 注意：[field:typelink/] 输出的是完整 <a> 标签，绝不能把它包进另一个 <a> 里 ——
   HTML 不允许 <a> 嵌套，浏览器会强制闭合外层，整行结构就散了。
   所以这里让 li 自己当 flex 容器，日期 / 栏目链接 / 标题链接三者平级。 */
.xp-rows li{
  display:flex;align-items:baseline;gap:12px;padding:12px 20px;
  border-bottom:1px solid var(--line);
  font-size:15.5px;line-height:1.6;transition:background .12s;
}
.xp-rows li:last-child{border-bottom:0}
.xp-rows li:hover{background:rgba(125,135,150,.07)}
.xp-rows li:hover .tt{color:var(--brand-2)}
.xp-rows .d{flex:none;font-size:12.5px;color:var(--text-3);font-variant-numeric:tabular-nums}
.xp-rows .c{
  flex:none;font-size:12px;line-height:1.5;
  background:rgba(22,104,189,.08);border-radius:5px;padding:2px 8px;
  max-width:120px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
}
.xp-rows .c a{color:var(--brand-2)}
.xp-rows .c:empty{display:none}
.xp-rows .tt{
  flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  color:var(--text);
}

/* 分页（DedeCMS {dede:pagelist} 输出 li，带 .thisclass 标当前页） */
.dede_pages{margin:20px 0 0}
.pagelist{
  display:flex;flex-wrap:wrap;justify-content:center;gap:7px;
  list-style:none;margin:0;padding:0;
}
.pagelist li{
  border:0;background:none;
}
.pagelist li,.pagelist li a{
  display:block;min-width:38px;padding:7px 12px;border-radius:8px;
  text-align:center;font-size:14px;
}
.pagelist li{background:var(--card);border:1px solid var(--line);color:var(--text-3)}
.pagelist li a{padding:0;border:0;background:none;color:var(--text-2);min-width:0}
.pagelist li:hover{border-color:var(--brand-2)}
.pagelist li:hover a{color:var(--brand-2)}
.pagelist li.thisclass{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}
.pagelist li.thisclass a{color:#fff}
.pagelist li select{border:0;background:none;font-size:13px;color:var(--text-2)}

/* ---------- 侧栏 ---------- */
.xp-aside{display:flex;flex-direction:column;gap:20px;min-width:0}
.xp-widget{
  background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;
}
.xp-wtitle{
  display:flex;align-items:center;gap:9px;
  padding:13px 16px 11px;border-bottom:1px solid var(--line);
  font-size:16px;font-weight:700;
}
.xp-wtitle::before{content:"";width:4px;height:15px;border-radius:2px;background:var(--accent);flex:none}
.xp-wlist{padding:5px 0}
.xp-wlist li{border-bottom:1px solid var(--line)}
.xp-wlist li:last-child{border-bottom:0}
.xp-wlist a{
  padding:9px 16px;font-size:14px;line-height:1.55;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.xp-wlist a:hover{color:var(--brand-2);background:rgba(125,135,150,.07)}
/* 栏目分类：胶囊 */
.xp-cats{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px}
.xp-cats li{list-style:none}
.xp-cats a{
  display:block;padding:5px 12px;border-radius:999px;font-size:13.5px;
  background:var(--bg);border:1px solid var(--line);color:var(--text-2);
}
.xp-cats a:hover,.xp-cats a.thisclass{background:var(--brand);border-color:var(--brand);color:#fff}

/* 侧栏 / 正文里的广告位：后台维护的 HTML 宽度不可控，兜底防溢出 */
.xp-slot{margin:0;text-align:center;max-width:100%;overflow:hidden}
.xp-slot img{max-width:100%;height:auto;border-radius:8px}
.xp-slot p{margin:0 0 10px}
.xp-slot table{max-width:100%}
.xp-adrow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 4px}
.xp-adrow>div{text-align:center;min-width:0;overflow:hidden}

@media (max-width:1000px){
  .xp-layout{grid-template-columns:1fr}
  .xp-aside{flex-direction:row;flex-wrap:wrap}
  .xp-aside>*{flex:1 1 300px}
  .xp-post{padding:22px 20px 16px}
  .xp-post h1{font-size:23px}
  .xp-adrow{grid-template-columns:1fr}
}

/* 文章页底部：按主题浏览（专题入口） */
.xp-topicbar{margin-top:20px}
.xp-topics{display:flex;flex-wrap:wrap;gap:10px;padding:14px 16px}
.xp-topics a{
  display:block;padding:7px 15px;border-radius:999px;font-size:14px;
  background:var(--bg);border:1px solid var(--line);color:var(--text-2);
  transition:background .15s,color .15s,border-color .15s;
}
.xp-topics a:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.xp-topics a:last-child{background:none;border-color:transparent;color:var(--brand-2);font-weight:600}
.xp-topics a:last-child:hover{background:none;color:var(--accent)}
