/* ==========================================================================
   news.css —— 资讯列表首页私有样式
   首屏图压字 + 导语引文 + 分类四卡 + 主列表/侧栏双栏 + 竹青深底 CTA
   ========================================================================== */

/* ---------- 首屏：banner 压暗叠字 ---------- */
.news-hero {
  position: relative;
  min-height: 460px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.news-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-hero-mask {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(35, 36, 31, .72) 0%, rgba(35, 36, 31, .45) 55%, rgba(35, 36, 31, .25) 100%);
}
.news-hero-inner {
  position: relative;
  padding: 90px 24px;
  color: var(--rice);
}
.news-hero-inner .eyebrow { color: var(--bamboo-light); }
.news-hero-inner h1 {
  color: #fff;
  max-width: 640px;
  margin-bottom: 16px;
}
.news-hero-sub {
  color: rgba(246, 242, 233, .88);
  max-width: 560px;
  font-size: 1.02rem;
}
.news-hero-tags { margin-top: 22px; display: flex; gap: 10px; flex-wrap: wrap; }
.news-hero-tags .tag { background: rgba(246, 242, 233, .14); border-color: rgba(246, 242, 233, .3); color: var(--rice); backdrop-filter: blur(4px); }
.news-hero-tags .tag-warm { background: rgba(86, 123, 78, .35); color: #fff; }

/* ---------- 导语区 ---------- */
.news-note { background: var(--rice-deep); }

/* ---------- 分类四卡 ---------- */
.news-cat-grid { margin-top: 8px; }
.news-cat { display: block; color: inherit; }
.news-cat h3 { color: var(--ink); transition: color .25s var(--ease); }
.news-cat:hover h3 { color: var(--bamboo); }

/* ---------- 主列表 + 侧栏 ---------- */
.news-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 44px;
  align-items: start;
}
.post-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px;
}
.post-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.post-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.post-card a { display: block; }
.post-card a img {
  width: 100%;
  aspect-ratio: 5 / 3;
  object-fit: cover;
}
.post-card h3 {
  font-size: 1.08rem;
  padding: 16px 18px 0;
  line-height: 1.5;
}
.post-card h3 a { color: var(--ink); }
.post-card h3 a:hover { color: var(--bamboo); }
.post-card p {
  font-size: .88rem;
  padding: 8px 18px 0;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.post-card time {
  display: block;
  padding: 12px 18px 18px;
  font-size: .78rem;
  color: var(--bamboo);
  letter-spacing: .04em;
}

/* ---------- 侧栏 ---------- */
.news-side { position: sticky; top: 96px; display: grid; gap: 24px; }
.news-side-card h3 { margin-bottom: 8px; }
.side-contact { margin: 16px 0 20px; display: grid; gap: 12px; }
.side-contact li { display: flex; align-items: center; gap: 10px; font-size: .92rem; color: var(--ink-soft); }
.side-contact svg { width: 18px; height: 18px; stroke: var(--bamboo); flex-shrink: 0; }
.news-side-card .btn { width: 100%; }

.news-side-title {
  font-size: 1.15rem;
  padding-left: 12px;
  border-left: 4px solid var(--bamboo);
  margin-bottom: 18px;
}
.hot-item {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 14px;
  padding: 12px;
  border-radius: var(--radius);
  transition: background .25s var(--ease);
}
.hot-item:hover { background: var(--bamboo-mist); }
.hot-item img {
  width: 92px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
}
.hot-item h4 {
  font-family: var(--font-body);
  font-size: .88rem;
  line-height: 1.5;
  color: var(--ink);
  margin-bottom: 4px;
}
.hot-item time { font-size: .75rem; color: var(--ink-soft); }

/* ---------- CTA：竹青深底 + 宣纸纹理 ---------- */
.news-cta {
  background:
    linear-gradient(rgba(63, 95, 58, .92), rgba(63, 95, 58, .92)),
    url(../images/cta-bg.jpg) center/cover no-repeat;
  padding: 72px 0;
}
.news-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}
.news-cta-text .eyebrow { color: var(--bamboo-light); }
.news-cta-text h2 { color: #fff; margin-bottom: 10px; }
.news-cta-text p { color: rgba(246, 242, 233, .85); margin: 0; }
.news-cta-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.news-cta-outline { border-color: rgba(246, 242, 233, .6); color: var(--rice); }
.news-cta-outline:hover { background: var(--rice); color: var(--bamboo-deep); }

/* ---------- 响应式 ---------- */
@media (max-width: 992px) {
  .news-layout { grid-template-columns: 1fr; }
  .news-side { position: static; }
}
@media (max-width: 640px) {
  .post-grid { grid-template-columns: 1fr; }
  .news-hero-inner { padding: 64px 24px; }
}
