/* ============================================================================
   SL SYSTEM — blog.css (liste d'articles, article seul, archives, recherche)
   ========================================================================== */
main h1{font-size:48px;line-height:1.06}

/* ---- En-tête de section blog ---- */
.bloghero{position:relative;padding:64px 0 52px;border-bottom:1px solid var(--line);overflow:hidden}
.bloghero::before{content:"";position:absolute;inset:0;z-index:0;background-image:radial-gradient(rgba(63,43,150,.10) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(110% 90% at 15% 0%,#000 26%,transparent 70%);mask-image:radial-gradient(110% 90% at 15% 0%,#000 26%,transparent 70%);opacity:.8}
.bloghero__in{position:relative;z-index:1;max-width:760px}
.bloghero .lead{margin:16px 0 0;max-width:620px}

/* ---- Grille d'articles ---- */
.postgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}
.pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-card);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.pcard:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.pcard__thumb{display:block;aspect-ratio:16/10;background:var(--v50);overflow:hidden}
.pcard__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease)}
.pcard:hover .pcard__thumb img{transform:scale(1.04)}
.pcard__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 120% at 20% 10%,var(--v100),var(--v50));color:var(--v300);font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.pcard__body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:11px;flex:1}
.pcard__cat{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--v600)}
.pcard__title{font-family:var(--font);font-size:20px;font-weight:800;line-height:1.25;letter-spacing:-.01em;margin:0;color:var(--ink900)}
.pcard__title a{transition:color .15s}
.pcard__title a:hover{color:var(--v600)}
.pcard__ex{font-size:15px;color:var(--ink600);line-height:1.6;margin:0;flex:1}
.pcard__meta{display:flex;gap:12px;align-items:center;font-family:var(--mono);font-size:12px;color:var(--ink500);letter-spacing:.02em;margin-top:2px}
.pcard__meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink300)}
.pcard__more{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--v600)}

/* Article en vedette (premier, pleine largeur) */
.pfeatured{display:grid;grid-template-columns:1.1fr .9fr;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-card);margin-bottom:36px;transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.pfeatured:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.pfeatured .pcard__thumb{aspect-ratio:auto;min-height:280px}
.pfeatured__body{padding:38px 40px;display:flex;flex-direction:column;gap:14px;justify-content:center}
.pfeatured__body .pcard__title{font-size:28px;line-height:1.18}

/* ---- Pagination ---- */
.sls-pagination{margin-top:52px}
.sls-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center}
.sls-pagination a,.sls-pagination span{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--ink700);background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 15px;transition:.15s}
.sls-pagination a:hover{border-color:var(--v300);color:var(--v600);background:var(--v50)}
.sls-pagination .current{background:var(--v600);border-color:var(--v600);color:#fff}

/* ---- Article seul ---- */
.article{max-width:760px;margin:0 auto}
.article__hero{position:relative;padding:64px 0 8px;overflow:hidden}
.article__hero::before{content:"";position:absolute;inset:0;z-index:0;background-image:radial-gradient(rgba(63,43,150,.10) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(110% 90% at 15% 0%,#000 24%,transparent 68%);mask-image:radial-gradient(110% 90% at 15% 0%,#000 24%,transparent 68%);opacity:.8}
.article__hin{position:relative;z-index:1;max-width:760px;margin:0 auto}
.crumbs{font-family:var(--mono);font-size:12px;color:var(--ink500);margin-bottom:16px;letter-spacing:.03em}
.crumbs a{color:var(--v600)}.crumbs .sep{color:var(--ink300);margin:0 6px}
.article h1{font-size:40px;line-height:1.1;margin:10px 0 0}
.article__meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-family:var(--mono);font-size:12.5px;color:var(--ink500);letter-spacing:.02em;margin-top:18px}
.article__meta .cat{color:var(--v600);font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.article__meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink300)}
.article__cover{margin:34px auto 0;max-width:960px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh-card)}
.article__cover img{width:100%;height:auto;display:block}

/* Corps de l'article */
.prose{max-width:720px;margin:0 auto}
.prose > *{margin:0 0 20px}
.prose p{font-size:18px;line-height:1.75;color:var(--ink800)}
.prose h2{font-family:var(--font);font-size:28px;font-weight:800;letter-spacing:-.015em;color:var(--ink900);margin:40px 0 12px}
.prose h3{font-family:var(--font);font-size:21px;font-weight:700;color:var(--ink900);margin:32px 0 10px}
.prose a{color:var(--v600);text-decoration:underline;text-underline-offset:2px}
.prose a:hover{color:var(--v700)}
.prose ul,.prose ol{padding-left:24px;color:var(--ink800);line-height:1.75;font-size:18px}
.prose li{margin:0 0 8px}
.prose img{max-width:100%;height:auto;border-radius:var(--r-md)}
.prose blockquote{border-left:3px solid var(--v600);padding:6px 0 6px 22px;margin:28px 0;color:var(--ink700);font-size:19px;font-style:italic}
.prose code{font-family:var(--mono);font-size:14px;background:var(--v50);color:var(--v800);padding:2px 6px;border-radius:6px}
.prose pre{background:var(--ink900);color:#EDEBF6;border-radius:var(--r-md);padding:20px;overflow:auto;font-family:var(--mono);font-size:14px;line-height:1.6}
.prose pre code{background:none;color:inherit;padding:0}
.prose hr{border:0;border-top:1px solid var(--line);margin:36px 0}

/* Pied d'article */
.article__foot{max-width:720px;margin:44px auto 0;padding-top:28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.article__back{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--v600)}
.postnav{display:flex;justify-content:space-between;gap:16px;max-width:720px;margin:24px auto 0;font-size:14px}
.postnav a{color:var(--ink700)}.postnav a:hover{color:var(--v600)}

/* État vide */
.blogempty{max-width:620px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}

@media(max-width:960px){
  main h1{font-size:38px}
  .postgrid{grid-template-columns:1fr 1fr}
  .pfeatured{grid-template-columns:1fr}.pfeatured .pcard__thumb{min-height:220px}
  .article h1{font-size:32px}
}
@media(max-width:600px){
  .postgrid{grid-template-columns:1fr}
  .bloghero,.article__hero{padding:48px 0 8px}
  .prose p,.prose ul,.prose ol{font-size:17px}
}
