.upd-wrap { max-width: 960px; margin: 0 auto; padding: 2rem 1rem 4rem; }
.upd-empty { color: var(--text-muted); }

.upd-featured, .upd-card {
  display: block; text-decoration: none; color: inherit;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 12px; overflow: hidden; transition: transform .12s ease, box-shadow .12s ease;
}
.upd-featured:hover, .upd-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }

.upd-featured { margin-bottom: 2rem; }
.upd-featured__cover { width: 100%; height: 260px; background-size: cover; background-position: center; }
.upd-featured__body { padding: 1.25rem 1.5rem 1.5rem; }
.upd-featured__title { font-size: 1.6rem; margin: .35rem 0 .5rem; color: var(--text); }
.upd-featured__summary { color: var(--text-muted); margin: 0 0 .75rem; }
.upd-readmore { color: var(--brand); font-weight: 600; }

.upd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.25rem; }
.upd-card__cover { width: 100%; height: 150px; background-size: cover; background-position: center; }
.upd-card__body { padding: 1rem 1.1rem 1.2rem; }
.upd-card__title { font-size: 1.1rem; margin: .35rem 0 .4rem; color: var(--text); }
.upd-card__summary { color: var(--text-muted); font-size: .92rem; margin: 0; }

.upd-meta { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.upd-date { color: var(--text-muted); font-size: .82rem; }
.upd-tag { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
          padding: .12rem .5rem; border-radius: 999px; color: #fff; }
.upd-tag--new { background: var(--success); }
.upd-tag--improved { background: var(--brand); }
.upd-tag--fixed { background: var(--text-muted); }
.upd-new { font-size: .72rem; font-weight: 700; color: var(--success);
           border: 1px solid currentColor; border-radius: 999px; padding: .06rem .45rem; }

/* ── Earlier-updates table ── */
.upd-older { margin-top: 2.5rem; }
.upd-older__head { font-size: 1.05rem; color: var(--text-muted); font-weight: 600;
                   margin: 0 0 .5rem; padding-bottom: .5rem; border-bottom: 1px solid var(--border); }
.upd-table { width: 100%; border-collapse: collapse; }
.upd-row { border-bottom: 1px solid var(--border); transition: background .12s ease; }
.upd-row:hover { background: var(--surface); }
.upd-row__main { padding: .7rem .5rem .7rem 0; display: flex; align-items: center;
                 gap: .5rem; flex-wrap: wrap; }
.upd-row__title { color: var(--text); text-decoration: none; font-weight: 600; }
.upd-row__title:hover { color: var(--brand); }
.upd-row__date { padding: .7rem 0; text-align: right; white-space: nowrap; vertical-align: middle; }

/* ── Single-post styles ── */
.upd-post { max-width: 760px; margin: 0 auto; padding: 2rem 1rem 4rem; }
.upd-back { display: inline-block; margin-bottom: 1rem; color: var(--text-muted); text-decoration: none; }
.upd-back:hover { color: var(--text); }
.upd-post__title { font-family: var(--font-display); color: var(--text); margin: .4rem 0 1rem; }
.upd-post__cover { width: 100%; border-radius: 12px; margin: 0 0 1.5rem; }
.upd-post__body { color: var(--text); line-height: 1.7; }
.upd-post__body h2 { margin-top: 1.8rem; }
.upd-post__body img { max-width: 100%; border-radius: 8px; }
.upd-post__body a { color: var(--brand); }

/* ── Comment counts + discussion thread ── */
.upd-comments { color: var(--text-muted); font-size: .85em; }
.upd-discussion { max-width: 46rem; margin: 0 auto 3rem; }
