/* ============================================================
   NeoStop Laser® — Journal / blog index
   Loaded after styles.css + article.css.
   ============================================================ */

.journal-head{padding:52px 0 8px;text-align:center;}
.journal-head h1{font-size:clamp(34px,7vw,52px);line-height:1.05;font-weight:400;letter-spacing:-.015em;margin-top:18px;}
.journal-head .lede{margin:20px auto 0;max-width:52ch;}

/* shared card chrome */
.post-cat{display:inline-block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;
  font-weight:600;color:var(--accent-deep);margin-bottom:12px;}
.post-meta{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-faint);margin-top:auto;padding-top:16px;}
.post-meta .dot{opacity:.5;}

/* featured */
.post-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:0;margin-top:40px;
  background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);
  overflow:hidden;transition:box-shadow .25s,transform .25s;}
.post-feature:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
.post-feature .ph{min-height:320px;height:100%;}
.post-feature-body{padding:40px;display:flex;flex-direction:column;}
.post-feature-body h2{font-size:clamp(24px,3.4vw,32px);line-height:1.12;letter-spacing:-.01em;}
.post-feature-body p{font-size:15.5px;color:var(--ink-soft);line-height:1.6;margin-top:14px;}

/* grid */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px;}
.post-card{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s;}
.post-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px);}
.post-card .ph{height:188px;}
.post-card .post-cat{margin:24px 26px 0;}
.post-card h3{font-size:20px;line-height:1.2;margin:10px 26px 0;letter-spacing:-.005em;}
.post-card p{font-size:14px;color:var(--ink-soft);line-height:1.55;margin:12px 26px 0;}
.post-card .post-meta{margin:16px 26px 24px 26px;padding-top:16px;border-top:1px solid var(--line-soft);}

@media (max-width:860px){
  .post-feature{grid-template-columns:1fr;}
  .post-feature .ph{min-height:220px;}
  .post-feature-body{padding:28px;}
  .post-grid{grid-template-columns:1fr;gap:16px;}
  .post-card .ph{height:200px;}
}
@media (min-width:861px) and (max-width:1040px){
  .post-grid{grid-template-columns:repeat(2,1fr);}
}

/* ---------- filtres par catégorie ---------- */
.journal-filters{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:34px;}
.journal-filters .jf{font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;
  padding:8px 16px;border-radius:40px;border:1px solid var(--line);background:var(--paper);
  color:var(--ink-soft);transition:.15s;}
.journal-filters .jf:hover{border-color:var(--accent-deep);color:var(--primary);}
.journal-filters .jf.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary);}

/* ---------- état vide ---------- */
.journal-empty{text-align:center;padding:64px 0;color:var(--ink-soft);}
.journal-empty .sub{font-size:14px;color:var(--ink-faint);margin-top:8px;}
