/* ==========================================================================
   Page-level styles - post content, news, pagination, archives
   ========================================================================== */

/* --- Long-form post content ------------------------------------------- */
.post-content { font-size: var(--fs-500); line-height: var(--lh-normal); }
.post-content h2 { font-family: var(--font-display); font-weight: var(--weight-heading); letter-spacing: var(--tracking-display); font-size: var(--fs-700); margin-top: var(--sp-7); }
.post-content h3 { font-family: var(--font-sans); font-weight: 700; font-size: var(--fs-600); margin-top: var(--sp-6); }
.post-content a { color: var(--c-green-text); text-decoration: underline; text-underline-offset: 3px; }
.post-content img { border-radius: var(--radius); margin-block: var(--sp-5); }
.post-content blockquote {
  border-left: 4px solid var(--c-green);
  padding-left: var(--sp-5); margin-block: var(--sp-6);
  font-family: var(--font-sans); font-weight: 600; font-size: var(--fs-600);
}
.single-post__media { margin-top: calc(var(--diagonal-h) * -1 - 2rem); position: relative; z-index: 2; }
.single-post__media .frame { box-shadow: var(--shadow-lg); }

/* --- News cards ------------------------------------------------------- */
.news-card { height: 100%; }
.news-card__link { display: grid; gap: var(--sp-4); height: 100%; }
.news-card__media { margin-bottom: var(--sp-2); }
.news-card .card__title { transition: color var(--dur-fast) var(--ease); }
.news-card__link:hover .card__title { color: var(--c-green-text); }

/* --- Pagination ------------------------------------------------------- */
.pagination { margin-top: var(--sp-8); }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--sp-2); justify-content: center; }
.pagination a, .pagination .current {
  display: inline-grid; place-items: center;
  min-width: 46px; height: 46px; padding: 0 var(--sp-3);
  border-radius: var(--radius-pill); font-weight: 700;
  border: 1px solid var(--c-border);
}
.pagination .current { background: var(--c-green); border-color: var(--c-green); color: var(--c-ink); }
.pagination a:hover { border-color: var(--c-green); color: var(--c-green-text); }

/* --- Generic section head spacing ------------------------------------- */
.btn-row { display: flex; flex-wrap: wrap; gap: var(--sp-4); align-items: center; }
