/* Blog IA — styles dédiés (réutilise les tokens de styles.css, compatibles dark mode). */

.blog-grid{
  display:grid; gap:1.5rem;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  margin-top:.5rem;
}
.post-card{
  display:flex; flex-direction:column; overflow:hidden;
  background:var(--paper-2); border:1px solid var(--line);
  border-radius:var(--radius);
  text-decoration:none; color:inherit;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.post-card:hover{
  transform:translateY(-3px);
  border-color:var(--ultra);
  box-shadow:0 18px 40px -22px rgba(19,22,27,.55);
}
.post-card__cover{ aspect-ratio:16/10; background:var(--paper); overflow:hidden; }
.post-card__cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.post-card__body{ padding:1.15rem 1.25rem 1.4rem; display:flex; flex-direction:column; gap:.55rem; flex:1; }
.post-meta{ display:flex; gap:.9rem; font-family:var(--mono); font-size:.72rem; letter-spacing:.02em;
  text-transform:uppercase; color:var(--slate-2); }
.post-meta .cat{ color:var(--ultra); }
.post-card h3{ font-family:var(--display); font-weight:700; font-size:1.2rem; line-height:1.25; margin:0; }
.post-card p{ color:var(--slate); font-size:.95rem; line-height:1.55; margin:0; }
.post-card__more{ margin-top:auto; color:var(--ultra); font-weight:600; font-size:.9rem; }

/* ---- Article ---- */
.post-single{ padding:2.5rem 0 1rem; }
.post-back{ display:inline-block; margin-bottom:1.25rem; color:var(--slate); text-decoration:none; font-weight:600; font-size:.9rem; }
.post-back:hover{ color:var(--ultra); }
.post-single .post-meta{ margin-bottom:1rem; }
.post-single h1{ font-family:var(--display); font-weight:800; font-size:clamp(1.9rem,4.4vw,3rem); line-height:1.08; margin:0 0 .8rem; }
.post-single .lede{ color:var(--slate); font-size:1.15rem; line-height:1.55; margin:0 0 1.8rem; max-width:62ch; }
.post-hero{ border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); margin-bottom:2rem; }
.post-hero img{ width:100%; height:auto; display:block; }
.post-content{ max-width:68ch; }
.post-content p{ font-size:1.08rem; line-height:1.75; color:var(--ink-2); margin:0 0 1.25rem; }
.post-source{ margin-top:2rem; padding-top:1.25rem; border-top:1px solid var(--line);
  font-size:.9rem; color:var(--slate); }
.post-source a{ color:var(--ultra); font-weight:600; text-decoration:none; }
.post-source a:hover{ text-decoration:underline; }

.blog-rss{ display:inline-flex; align-items:center; gap:.4rem; margin-top:1rem;
  color:var(--slate); text-decoration:none; font-size:.85rem; font-weight:600; }
.blog-rss:hover{ color:var(--ultra); }
.blog-rss svg{ width:15px; height:15px; }
