/* ===== blog (s'ajoute à ludique.css) ===== */
.bl-head{padding-block:clamp(32px,5vw,64px) clamp(24px,4vw,40px)}
.bl-head .wrap{max-width:860px}
.bl-head h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:18px}
.bl-head .lead{max-width:60ch}

.bl-list{padding-block:0 clamp(56px,8vw,96px)}
.bl-empty{color:var(--muted)}

.bl-card{text-decoration:none}
.bl-card .kicker{font-family:var(--display);font-weight:600;font-size:.9375rem;color:var(--blue)}
.bl-card h3{margin-top:2px}
.bl-card p{color:var(--muted);font-size:.9688rem}
.bl-card .go{margin-top:auto;font-family:var(--display);font-weight:600;display:inline-flex;gap:8px;align-items:center}
.bl-card:hover .go{gap:12px}
.bl-card .cover{aspect-ratio:16/9;border-radius:calc(var(--radius) - 8px);border:var(--bw) solid var(--ink);object-fit:cover;margin-bottom:2px}

.bl-post-head{padding-block:clamp(32px,5vw,64px) clamp(16px,3vw,28px)}
.bl-post-head .wrap{max-width:780px}
.bl-post-head .back{display:inline-flex;gap:8px;align-items:center;font-family:var(--display);font-weight:600;text-decoration:none;color:var(--muted);margin-bottom:18px}
.bl-post-head .back:hover{color:var(--ink)}
.bl-post-head h1{font-size:clamp(2.1rem,4.6vw,3.2rem);margin-bottom:14px}
.bl-meta{color:var(--muted);font-size:.9375rem;font-weight:500}

.bl-cover{padding-block:0 clamp(24px,4vw,40px)}
.bl-cover .wrap{max-width:940px}
.bl-cover img{width:100%;border-radius:var(--radius);border:var(--bw) solid var(--ink);box-shadow:var(--sh-lg)}

.bl-body{padding-block:0 clamp(48px,7vw,88px)}
.bl-body .wrap{max-width:780px}

.bl-prose h2{font-family:var(--display);font-weight:600;font-size:clamp(1.4rem,2.6vw,1.85rem);line-height:1.2;margin:clamp(32px,4vw,44px) 0 14px}
.bl-prose h3{font-size:clamp(1.15rem,2vw,1.4rem);margin:clamp(24px,3vw,32px) 0 10px}
.bl-prose h2:first-child,.bl-prose h3:first-child{margin-top:0}
.bl-prose p{margin-top:14px;max-width:70ch}
.bl-prose p:first-child{margin-top:0}
.bl-prose ul,.bl-prose ol{padding-left:1.25em;display:grid;gap:8px;margin-top:14px}
.bl-prose li::marker{color:var(--blue)}
.bl-prose a{color:var(--blue-dark);font-weight:500;text-underline-offset:3px}
.bl-prose a:hover{color:var(--blue)}
.bl-prose strong{font-weight:600}
.bl-prose img{border-radius:16px;border:var(--bw) solid var(--ink);margin-block:20px}
.bl-prose figure{margin-block:20px}
.bl-prose figcaption{color:var(--muted);font-size:.875rem;margin-top:8px;text-align:center}
.bl-prose blockquote{border-left:4px solid var(--blue);padding-left:18px;margin:20px 0;color:var(--muted);font-style:italic}
.bl-prose hr{border:0;border-top:2px dashed var(--ink);opacity:.25;margin:clamp(28px,4vw,40px) 0}
.bl-prose code{background:var(--cream);border:1.5px solid var(--ink);border-radius:6px;padding:.1em .4em;font-size:.9em}
.bl-prose pre{background:var(--ink);color:#fff;border-radius:14px;padding:18px 20px;overflow-x:auto;margin-block:20px}
.bl-prose pre code{background:none;border:0;padding:0}
.bl-prose .kg-callout-card{display:flex;gap:12px;background:var(--cream);border:var(--bw) solid var(--ink);border-radius:16px;padding:16px 18px;margin-block:20px}
.bl-prose .kg-bookmark-card a{text-decoration:none}
