/* ==========================================================================
   Moteur — blog (chargé seulement sur les pages du blog et la section « Derniers articles »).
   Hérite du design du site : couleurs, polices et arrondis du modèle (--ink --muted --line --accent --bg
   --surface --font-display --font-body --radius), avec des valeurs de secours pour les modèles qui n'en définissent pas.
   ========================================================================== */
.bl{--bl-radius:var(--radius,14px);--bl-line:var(--line,rgba(0,0,0,.12));--bl-muted:var(--muted,#5f6368);--bl-surface:var(--surface,transparent);font-family:var(--font-body,inherit)}
.bl-list{padding:clamp(32px,5vw,64px) 0 clamp(64px,8vw,112px)}
.bl-crumbs{padding-top:14px;font-size:.9rem;color:var(--muted,#5f6368)}
.bl-crumbs ol{display:flex;flex-wrap:wrap;gap:.35em .6em;margin:0;padding:0;list-style:none}
.bl-crumbs li+li::before{content:"/";margin-right:.6em;opacity:.5}
.bl-crumbs a{text-decoration:none}.bl-crumbs a:hover{text-decoration:underline}
/* Les fils d'Ariane des modèles reçoivent des niveaux en plus : ils doivent pouvoir passer à la ligne. */
.page-blog nav[aria-label="Fil d'Ariane"]{flex-wrap:wrap;max-width:100%;overflow-wrap:anywhere}
/* Titres d'articles parfois plus longs que ceux des pages du modèle : césure propre plutôt que débordement sur mobile. */
.page-blog h1{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}

/* Catégories */
.bl-cats{margin-bottom:clamp(24px,3vw,36px)}
.bl-cats ul{display:flex;gap:8px;margin:0;padding:0 0 4px;list-style:none;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.bl-cats a{display:inline-flex;align-items:center;min-height:44px;padding:.45em 1.05em;border:1px solid var(--bl-line);border-radius:999px;color:inherit;text-decoration:none;white-space:nowrap;font-size:.95rem;transition:border-color .2s,background-color .2s,color .2s}
.bl-cats a:hover{border-color:currentColor}
.bl-cats a[aria-current]{background:var(--ink,#111);border-color:var(--ink,#111);color:var(--bg,#fff)}

/* Cartes */
.bl-grid{display:grid;grid-template-columns:1fr;gap:clamp(20px,2.5vw,32px);margin:0;padding:0;list-style:none}
@media (min-width:640px){.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.bl-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.bl-card__in{position:relative;display:flex;flex-direction:column;height:100%;border:1px solid var(--bl-line);border-radius:var(--bl-radius);background:var(--bl-surface);overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.bl-card__in:hover{transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(0,0,0,.35)}
.bl-card__in:focus-within{outline:2px solid var(--accent,#2463eb);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.bl-card__in,.bl-card__in:hover{transition:none;transform:none}}
.bl-card__img{aspect-ratio:16/10;overflow:hidden;background:var(--bl-line)}
.bl-card__img img{width:100%;height:100%;object-fit:cover}
.bl-card__body{display:flex;flex:1;flex-direction:column;gap:10px;padding:clamp(18px,2vw,24px)}
.bl-card__meta{display:flex;flex-wrap:wrap;gap:.3em .9em;margin:0;color:var(--bl-muted);font-size:.85rem}
.bl-card__cat{color:var(--accent,inherit);font-weight:600;letter-spacing:.02em}
.bl-card__title{margin:0;font-family:var(--font-display,inherit);font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.25;overflow-wrap:anywhere}
.bl-card__title a{color:inherit;text-decoration:none}
.bl-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.bl-card__title a:focus-visible{outline:none}
.bl-card__excerpt{margin:0;color:var(--bl-muted);font-size:.95rem;line-height:1.55}
.bl-card__more{margin-top:auto;padding-top:6px;font-weight:600;font-size:.92rem}
.bl-arrow{display:inline-block;transition:transform .25s}
.bl-card__in:hover .bl-arrow{transform:translateX(4px)}

/* Pagination */
.bl-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 18px;margin-top:clamp(32px,4vw,56px)}
.bl-pager ol{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.bl-pager a,.bl-pager span[aria-current]{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 .8em;border:1px solid var(--bl-line);border-radius:999px;color:inherit;text-decoration:none}
.bl-pager span[aria-current]{background:var(--ink,#111);border-color:var(--ink,#111);color:var(--bg,#fff);font-weight:600}
.bl-pager a:hover{border-color:currentColor}

/* Article */
.bl-preview{position:relative;z-index:5;padding:12px 0;background:#fff4d6;color:#4a3800;font:500 .92rem/1.4 system-ui,sans-serif;border-bottom:1px solid #f0d58a}
.bl-article{padding:clamp(24px,4vw,48px) 0 clamp(48px,6vw,80px)}
.bl-article__in{max-width:760px}
.bl-meta{display:flex;flex-wrap:wrap;gap:.4em 1.1em;margin:0 0 clamp(24px,3vw,36px);padding-bottom:18px;border-bottom:1px solid var(--bl-line);color:var(--bl-muted);font-size:.92rem}
.bl-meta__cat{color:var(--accent,inherit);font-weight:600;text-decoration:none}
.bl-meta__cat:hover{text-decoration:underline}
.bl-article__img{margin:0 0 clamp(24px,3vw,36px);border-radius:var(--bl-radius);overflow:hidden}
.bl-article__img img{width:100%}
.bl-prose{font-size:clamp(1.02rem,1.2vw,1.1rem);line-height:1.75;overflow-wrap:break-word}
.bl-prose>*+*{margin-top:1.1em}
.bl-prose h2{margin-top:1.9em;font-family:var(--font-display,inherit);font-size:clamp(1.45rem,2.4vw,1.85rem);line-height:1.2}
.bl-prose h3{margin-top:1.6em;font-family:var(--font-display,inherit);font-size:clamp(1.18rem,1.8vw,1.35rem);line-height:1.3}
.bl-prose h2+*,.bl-prose h3+*{margin-top:.6em}
.bl-prose a{color:var(--accent,inherit);text-decoration:underline;text-underline-offset:.18em}
.bl-prose ul,.bl-prose ol{padding-left:1.3em}
.bl-prose li+li{margin-top:.35em}
.bl-prose blockquote{margin-left:0;padding:.3em 0 .3em 1.2em;border-left:3px solid var(--accent,currentColor);font-family:var(--font-display,inherit);font-size:1.12em;font-style:italic}
.bl-prose hr{height:1px;margin:2.2em 0;border:0;background:var(--bl-line)}
.bl-prose img{width:100%;margin:1.6em 0;border-radius:var(--bl-radius)}
.bl-share{margin-top:clamp(36px,4vw,52px);padding-top:22px;border-top:1px solid var(--bl-line)}
.bl-share__label{margin:0 0 12px;font-weight:600}
.bl-share ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.bl-share__btn{display:inline-flex;align-items:center;min-height:44px;padding:.4em 1em;border:1px solid var(--bl-line);border-radius:999px;background:transparent;color:inherit;font-size:.92rem;text-decoration:none;cursor:pointer;transition:border-color .2s}
.bl-share__btn:hover{border-color:currentColor}
.bl-share__done{min-height:1.4em;margin:10px 0 0;color:var(--bl-muted);font-size:.9rem}
.bl-back{margin:28px 0 0}
.bl-back a{font-weight:600;text-decoration:none}.bl-back a:hover{text-decoration:underline}
.bl-related{padding:clamp(48px,6vw,88px) 0;border-top:1px solid var(--bl-line)}
.bl-related__title,.bl-latest__title{margin:0 0 clamp(20px,3vw,32px);font-family:var(--font-display,inherit);font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.15}

/* Section « Derniers articles » (avant le pied de page) */
.bl-latest{padding:clamp(56px,7vw,104px) 0}
.bl-latest__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:clamp(20px,3vw,32px)}
.bl-latest__head .bl-latest__title{margin:0}
.bl-latest__all{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:none}
.bl-latest__all:hover{text-decoration:underline}
