/* ──────────────────────────────────────────────────────────────────────────
   Blog styles — loaded only on the posts page, single posts, archives and
   search. The .pg-blog-* rules are lifted verbatim from blog.html's page-scoped
   <style>; everything below .pg-blog-pagination is new, for the parts the
   static build never had (pagination, article body, archive headers, 404).
   ────────────────────────────────────────────────────────────────────────── */

.pg-blog-list{display:flex;flex-direction:column;gap:var(--space-4)}
.pg-blog-post{display:block;padding:var(--card-pad);background:var(--surface);border:1px solid var(--line);
  border-left:3px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);
  transition:transform .2s ease,box-shadow .2s ease,border-left-color .2s ease}
.pg-blog-post:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-left-color:var(--sun)}
.pg-blog-meta{font-size:12.5px;font-weight:700;color:var(--summit);letter-spacing:.03em;margin-bottom:10px}
.pg-blog-post h2{font-size:clamp(20px,2.2vw,26px);font-weight:800;line-height:1.25;color:var(--ink);margin-bottom:10px;max-width:44ch}
.pg-blog-post p{font-size:15.5px;line-height:1.6;color:var(--muted);max-width:70ch}
.pg-blog-link{display:inline-block;margin-top:14px;font-size:13.5px;font-weight:800;color:var(--sky-ink)}
.pg-blog-post:hover .pg-blog-link{text-decoration:underline;text-underline-offset:3px}
.pg-blog-note{margin-top:var(--space-6);font-size:12.5px;color:var(--summit);text-align:center}
@media(prefers-reduced-motion:reduce){.pg-blog-post{transition:none}.pg-blog-post:hover{transform:none}}

/* ── pagination ─────────────────────────────────────────────────────────── */
.pg-blog-pagination{margin-top:var(--space-6)}
.pg-blog-pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.pg-blog-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line);
  background:var(--surface);font-size:14px;font-weight:750;color:var(--ink);
  transition:border-color .2s ease,background .2s ease}
.pg-blog-pagination .page-numbers:hover{border-color:var(--sun);background:var(--mist)}
.pg-blog-pagination .page-numbers.current{background:var(--navy-950);border-color:var(--navy-950);color:#fff}
.pg-blog-pagination .page-numbers.dots{border-color:transparent;background:none}
@media(prefers-reduced-motion:reduce){.pg-blog-pagination .page-numbers{transition:none}}

/* ── single post ────────────────────────────────────────────────────────── */
/* .post-body rides on .legal-body (the privacy/terms prose style) and only adds
   what editor content brings that legal copy never did. */
.post-body figure,.post-body img{max-width:100%;height:auto;border-radius:var(--r-md)}
.post-body figcaption{font-size:13px;color:var(--summit);margin-top:8px}
.post-body blockquote{margin:0;padding:18px 22px;background:var(--mist);border-left:3px solid var(--sun);
  border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:17.5px;line-height:1.6;color:var(--ink);font-weight:650}
.post-body blockquote p{font-size:inherit;color:inherit}
.post-body pre{overflow-x:auto;padding:18px;background:var(--navy-950);color:#e8eef6;
  border-radius:var(--r-sm);font-size:14px;line-height:1.6}
.post-body code{font-size:.94em}
.post-body :not(pre) > code{padding:2px 6px;background:var(--mist);border-radius:4px}
.post-body ol{display:flex;flex-direction:column;gap:9px;padding-left:22px}
.post-body ol li{padding-left:4px;list-style:decimal}
.post-body ol li::before{content:none}
.post-body table{width:100%;border-collapse:collapse;font-size:15px}
.post-body th,.post-body td{padding:10px 12px;border:1px solid var(--line);text-align:left}
.post-body th{background:var(--mist);font-weight:750}
.post-hero-media{margin-top:var(--space-5);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-md)}
.post-hero-media img{display:block;width:100%;height:auto}
.post-foot{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;
  margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--line-soft)}
.post-tags{display:flex;flex-wrap:wrap;gap:8px}
.post-tags a{display:inline-block;padding:5px 11px;border-radius:999px;background:var(--mist);
  font-size:12.5px;font-weight:750;color:var(--summit)}
.post-tags a:hover{background:var(--sun);color:var(--navy-950)}
.post-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-6)}
.post-nav a{display:block;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.post-nav a:hover{border-color:var(--sun)}
.post-nav small{display:block;font-size:12px;font-weight:750;color:var(--summit);margin-bottom:6px}
.post-nav span{font-size:15.5px;font-weight:750;color:var(--ink);line-height:1.35}
.post-nav .is-next{text-align:right}
@media(max-width:640px){.post-nav{grid-template-columns:minmax(0,1fr)}.post-nav .is-next{text-align:left}}

/* ── archive / search / 404 ─────────────────────────────────────────────── */
.pg-archive-empty{max-width:60ch}
.pg-archive-empty p{font-size:16.5px;line-height:1.7;color:var(--granite);margin-bottom:var(--space-4)}
.pg-search-form{display:flex;gap:10px;flex-wrap:wrap;max-width:520px}
.pg-search-form input[type=search]{flex:1 1 240px;min-width:0;padding:12px 14px;font:inherit;font-size:15px;
  border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink)}
.pg-search-form input[type=search]:focus-visible{outline:2px solid var(--sky);outline-offset:2px}
