/* ============================================================
   Wolvex — Blog (index + single post)
   ============================================================ */
.blog-page{padding-bottom:56px;}

.blog-head{margin:18px 0 32px;}
.blog-head h1{font-size:1.9em;margin-bottom:6px;}
.blog-lead{color:var(--slate);max-width:60ch;}

.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-bottom:32px;}

.blog-card{
  display:flex;
  flex-direction:column;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-m);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transition:box-shadow .15s ease, transform .15s ease;
}
.blog-card:hover{box-shadow:var(--shadow-md, 0 12px 24px -14px rgba(22,31,51,.4));transform:translateY(-2px);}

.blog-card img,
.blog-card-placeholder{width:100%;height:180px;object-fit:cover;display:block;background:var(--cloud);}

.blog-card-body{padding:18px 20px;}
.blog-card-date{color:var(--slate);font-size:.85em;font-weight:600;}
.blog-card-body h2{font-size:1.15em;margin:6px 0 8px;color:var(--ink-deep);}
.blog-card-body p{color:var(--slate);font-size:.95em;line-height:1.5;}

/* ── Single post ── */
.blog-post-page{padding-bottom:56px;max-width:820px;}

.blog-post h1{font-size:2em;margin:18px 0 6px;}
.blog-post-date{color:var(--slate);font-weight:600;margin-bottom:20px;}

.blog-post-featured{border-radius:var(--radius-m);overflow:hidden;margin-bottom:28px;}
.blog-post-featured img{width:100%;height:auto;display:block;}

.blog-post-body{font-size:1.05em;line-height:1.7;color:var(--ink-deep);}
.blog-post-body h2{font-size:1.4em;color:var(--ink);margin:32px 0 14px;}
.blog-post-body h3{font-size:1.15em;color:var(--ink);margin:24px 0 10px;}
.blog-post-body p{margin-bottom:16px;}
.blog-post-body ul,.blog-post-body ol{margin:0 0 16px;padding-left:1.4em;}
.blog-post-body img{max-width:100%;height:auto;border-radius:var(--radius-m);}
.blog-post-body a{color:var(--red-deep);text-decoration:underline;}

.blog-post-byline{display:flex;align-items:center;gap:10px;margin-bottom:20px;}
.blog-post-byline-avatar{width:36px;height:36px;border-radius:50%;background:var(--red-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9em;flex-shrink:0;}
.blog-post-byline-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.blog-post-byline-name{font-weight:700;color:var(--ink);}
.blog-post-byline-role{color:var(--slate);font-size:.9em;}

.blog-post-author{display:flex;gap:16px;background:var(--cream);border-radius:var(--radius-m);padding:22px;margin:32px 0;}
.blog-post-author-avatar{width:64px;height:64px;border-radius:50%;background:var(--red-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.3em;flex-shrink:0;}
.blog-post-author-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.blog-post-author h3{margin:0 0 2px;font-size:1.05em;}
.blog-post-author-role{color:var(--red-deep);font-weight:600;font-size:.9em;margin-bottom:8px;}
.blog-post-author-bio{color:var(--slate);font-size:.95em;line-height:1.6;margin:0;}

.blog-post-cta{
  margin-top:40px;
  padding:28px;
  background:var(--cloud);
  border-radius:var(--radius-m);
  text-align:center;
}
.blog-post-cta h2{font-size:1.3em;margin-bottom:8px;}
.blog-post-cta p{color:var(--slate);max-width:52ch;margin:0 auto 18px;}
