/* ────────────────────────────────────────────────────────────────────────
 *  NEWS  —  archive at /news/ and firm-authored single items
 *  Prefix: .news-
 *  Loaded only on the news archive and news singles (inc/news-cpt.php).
 * ──────────────────────────────────────────────────────────────────────── */

.news-page .news-hero-sub {
  font-size: 1.06rem;
  color: var(--platinum);
  max-width: 60ch;
  margin-top: var(--sp-2);
}

.news-page .news-body { padding: var(--sp-10) 0 var(--sp-16); }

.news-page .news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-4);
}

.news-page .news-card {
  display: flex;
  flex-direction: column;
  padding: var(--sp-4);
  background: var(--charcoal);
  border: 1px solid var(--border);
  transition: border-color var(--med) var(--ease), transform var(--med) var(--ease);
}
.news-page .news-card:hover { border-color: var(--gold); transform: translateY(-2px); }
.news-page .news-card--nolink:hover { border-color: var(--border); transform: none; }

/* Featured item spans the full row and sets its own rhythm. */
.news-page .news-card--featured {
  grid-column: 1 / -1;
  background: var(--slate);
  border-left: 2px solid var(--gold);
  padding: var(--sp-5);
}

.news-page .news-card-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.news-page .news-outlet {
  font-size: var(--fs-micro);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
}
.news-page .news-type {
  font-size: var(--fs-micro);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--dim);
  padding-left: 12px;
  border-left: 1px solid var(--border);
}

.news-page .news-date {
  display: block;
  font-size: var(--fs-small);
  color: var(--dim);
  margin-bottom: 10px;
}

.news-page .news-title {
  font-family: var(--font-display);
  font-size: 1.32rem;
  line-height: 1.22;
  color: var(--platinum);
  margin-bottom: 12px;
}
.news-page .news-card--featured .news-title { font-size: 1.75rem; max-width: 30ch; }
.news-page .news-title a { color: inherit; text-decoration: none; }
.news-page .news-title a:hover { color: var(--gold); }

.news-page .news-summary {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--platinum);
  max-width: 64ch;
}

.news-page .news-more {
  margin-top: auto;
  padding-top: var(--sp-3);
  font-size: var(--fs-small);
  letter-spacing: .04em;
  color: var(--gold);
}
.news-page .news-card:hover .news-more { color: var(--gold-bright); }

.news-page .news-empty { color: var(--dim); padding: var(--sp-6) 0; }

/* Single item */
.news-page .news-article { max-width: 720px; }
.news-page .news-article p { font-size: 1.06rem; color: var(--platinum); margin-bottom: 1.4em; }
.news-page .news-offsite a,
.news-page .news-back a { color: var(--gold); text-decoration: none; }
.news-page .news-offsite a:hover,
.news-page .news-back a:hover { color: var(--gold-bright); }
.news-page .news-back { margin-top: var(--sp-6); padding-top: var(--sp-3); border-top: 1px solid var(--border-soft); }

/* Pagination inherits theme defaults; just give it room. */
.news-page .pagination,
.news-page .nav-links { margin-top: var(--sp-8); }

@media (max-width: 1000px) {
  .news-page .news-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .news-page .news-grid { grid-template-columns: 1fr; gap: var(--sp-3); }
  .news-page .news-card--featured { padding: var(--sp-4); }
  .news-page .news-card--featured .news-title { font-size: 1.4rem; }
  .news-page .news-body { padding: var(--sp-6) 0 var(--sp-10); }
}

/* ------------------------------------------------------------------------
 *  News category filter (added 2026-08 for the Firm News / Insights /
 *  Awards pills). Rendered by archive-news_item.php via
 *  inc/news-type-filter.php.
 * ------------------------------------------------------------------------ */

.news-page .news-filter {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-bottom: var(--sp-6);
}

.news-page .news-filter-link {
  font-size: var(--fs-small);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--dim);
  text-decoration: none;
  padding: 8px 16px;
  border: 1px solid var(--border);
  transition: color var(--med) var(--ease), border-color var(--med) var(--ease);
}
.news-page .news-filter-link:hover { color: var(--platinum); border-color: var(--gold); }
.news-page .news-filter-link.is-active { color: var(--gold); border-color: var(--gold); }

/* Internal links inside firm-authored article bodies. Remove if main.css
   already styles content anchors the way the client wants. */
.news-page .news-article p a { color: var(--gold); text-decoration: none; }
.news-page .news-article p a:hover { color: var(--gold-bright); }

@media (max-width: 600px) {
  .news-page .news-filter { gap: var(--sp-1); }
  .news-page .news-filter-link { padding: 6px 12px; }
}
