/* ===== Detail pages (shared) — works with site.css ===== */
.page{ background:var(--bg); min-height:100vh; padding-top:70px; }

/* hero */
.detail-hero{
  position:relative; overflow:hidden;
  min-height:54vh; display:flex; align-items:center; justify-content:center;
  text-align:center; color:#fff;
}
.detail-hero .bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.detail-hero::after{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,rgba(8,30,55,.55),rgba(8,30,55,.80)); }
.detail-hero .wrap{ position:relative; z-index:2; max-width:var(--maxw); margin:0 auto; padding:0 40px; }
.detail-hero h1{ font-size:clamp(34px,5vw,60px); font-weight:800; letter-spacing:1px; }
.detail-hero .sub{ margin-top:16px; font-size:clamp(15px,2vw,20px); opacity:.92; letter-spacing:3px; }

/* breadcrumb */
.crumb{ max-width:var(--maxw); margin:0 auto; padding:22px 40px 0; font-size:14px; }
.crumb a{ color:var(--gray); }
.crumb a:hover{ color:var(--brand); }
.crumb span{ color:var(--gray); margin:0 8px; }

/* detail blocks */
.detail-block{ max-width:var(--maxw); margin:0 auto; padding:64px 40px; }
.detail-block.alt{ background:var(--white); }
.detail-block .row{ display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
.detail-block.flip .row{ direction:rtl; }
.detail-block.flip .row > *{ direction:ltr; }
.detail-block .pic{ border-radius:18px; overflow:hidden; box-shadow:0 24px 50px rgba(20,40,80,.16); position:relative; }
.detail-block .pic img{ width:100%; height:100%; max-height:440px; object-fit:cover; display:block; }
.detail-block .pic .tag{ position:absolute; left:16px; top:16px; background:var(--brand); color:#fff; padding:6px 14px; border-radius:20px; font-size:13px; font-weight:600; }
.detail-block .txt h2{ font-size:clamp(26px,3.4vw,40px); font-weight:800; line-height:1.15; letter-spacing:.5px; margin-top:10px; }
.detail-block .txt .kicker{ color:var(--brand); font-weight:700; font-size:13px; letter-spacing:2px; }
.detail-block .txt p.desc{ margin-top:16px; color:var(--gray); font-size:16px; line-height:1.85; }
.feat{ margin-top:24px; display:grid; gap:14px; }
.feat li{ list-style:none; display:flex; gap:12px; align-items:flex-start; font-size:15px; color:var(--ink); line-height:1.6; }
.feat li svg{ flex:0 0 22px; width:22px; height:22px; margin-top:2px; color:var(--brand); }
.params{ margin-top:26px; display:flex; flex-wrap:wrap; gap:14px; }
.params .p{ background:var(--brand-soft); border-radius:12px; padding:14px 18px; min-width:118px; }
.params .p b{ display:block; font-size:22px; color:var(--brand-dark); font-weight:800; }
.params .p span{ font-size:13px; color:var(--gray); }

/* CTA */
.cta{ background:linear-gradient(135deg,#0C3857,#1C3256); color:#fff; text-align:center; padding:66px 40px; }
.cta h2{ font-size:clamp(24px,3vw,38px); font-weight:800; }
.cta p{ margin-top:12px; opacity:.9; font-size:16px; }
.cta .links{ margin-top:28px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.cta .link{ background:#fff; color:#16243c; border-color:#fff; }
.cta .link:hover{ background:var(--brand); color:#fff; border-color:var(--brand); }

/* make the brand footer compact on detail pages */
.foot{ height:auto!important; min-height:0; padding:64px 0 40px; scroll-snap-align:none; }

@media (max-width:900px){
  .detail-block .row{ grid-template-columns:1fr; gap:28px; }
  .detail-block.flip .row{ direction:ltr; }
  .crumb,.detail-block,.detail-hero .wrap{ padding-left:22px; padding-right:22px; }
}

/* ===== 新闻详情页 上一篇/下一篇 导航 ===== */
.nd-nav{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:44px; }
.nd-nav a{
  display:flex; flex-direction:column; gap:6px; padding:18px 20px;
  background:#fff; border:1px solid #eef1f5; border-radius:12px;
  box-shadow:0 6px 22px rgba(0,0,0,.05);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);
}
.nd-nav a:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(20,50,90,.12); border-color:var(--brand); }
.nd-nav .lbl{ font-size:12px; color:var(--brand); font-weight:700; letter-spacing:1px; }
.nd-nav .ttl{ font-size:15px; font-weight:600; color:#1a1a1a; line-height:1.45;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.nd-nav a:hover .ttl{ color:var(--brand-dark); }
.nd-nav .disabled{ opacity:.45; pointer-events:none; cursor:default; }
