/* ==========================================================================
   RD2N — Styles spécifiques au Blog (complète style.css)
   ========================================================================== */

/* ---- Barre d'outils : recherche + catégories ---- */
.blog-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:40px;}
.blog-search{position:relative;flex:1;min-width:240px;max-width:360px;}
.blog-search input{width:100%;padding:12px 16px 12px 42px;border-radius:999px;border:1.5px solid var(--paper-200);background:var(--white);font-family:var(--font-body);font-size:14.5px;color:var(--ink);}
.blog-search input:focus{border-color:var(--green-500);outline:none;}
.blog-search svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--stone-500);}
.blog-cats{display:flex;flex-wrap:wrap;gap:8px;}
.blog-cats a{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;padding:9px 16px;border-radius:999px;border:1.5px solid var(--paper-200);color:var(--stone-600);font-weight:500;transition:all .16s ease;white-space:nowrap;}
.blog-cats a:hover{border-color:var(--green-500);color:var(--forest-700);}
.blog-cats a.active{background:var(--navy-950);border-color:var(--navy-950);color:var(--paper-50);}

/* ---- Grille d'articles ---- */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
@media (max-width:960px){.article-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.article-grid{grid-template-columns:1fr;}}

.article-card{background:var(--white);border:1px solid var(--paper-200);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease, box-shadow .2s ease;}
.article-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.article-card .ac-image{aspect-ratio:16/10;overflow:hidden;background:var(--paper-200);}
.article-card .ac-image img{width:100%;height:100%;object-fit:cover;}
.article-card .ac-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;}
.article-card .ac-cat{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--forest-700);background:rgba(79,154,69,.1);padding:4px 10px;border-radius:999px;align-self:flex-start;margin-bottom:12px;}
.article-card h3{font-size:17.5px;line-height:1.3;margin-bottom:10px;}
.article-card h3 a{color:var(--navy-950);}
.article-card h3 a:hover{color:var(--forest-700);}
.article-card p{color:var(--stone-600);font-size:14px;line-height:1.55;flex:1;}
.article-card .ac-meta{display:flex;align-items:center;gap:10px;margin-top:16px;font-family:var(--font-mono);font-size:11.5px;color:var(--stone-500);}
.article-card .ac-meta span::after{content:"·";margin-left:10px;color:var(--stone-300);}
.article-card .ac-meta span:last-child::after{content:"";}

.empty-state{text-align:center;padding:70px 20px;color:var(--stone-500);}
.empty-state svg{width:40px;height:40px;color:var(--stone-300);margin:0 auto 16px;}

/* ---- Pagination ---- */
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:56px;flex-wrap:wrap;}
.pagination a, .pagination span{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-family:var(--font-mono);font-size:13.5px;color:var(--navy-800);border:1.5px solid transparent;padding:0 6px;}
.pagination a:hover{border-color:var(--paper-200);}
.pagination .current{background:var(--navy-950);color:var(--paper-50);font-weight:600;}
.pagination .disabled{color:var(--stone-300);}

/* ---- Article : en-tête (utilise .page-hero du thème principal) ---- */
.article-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;font-family:var(--font-mono);font-size:12.5px;color:var(--stone-500);}
.article-meta-row .ac-cat{background:rgba(27,94,59,.1);color:var(--forest-700);font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;}
.article-meta-row span::after{content:"·";margin-left:10px;color:var(--stone-500);}
.article-meta-row span:last-child::after{content:"";}

.article-cover{margin-top:36px;border-radius:var(--radius-lg);overflow:hidden;max-height:460px;}
.article-cover img{width:100%;height:100%;object-fit:cover;display:block;max-height:460px;}

/* ---- Corps de l'article (prose) ---- */
.prose-wrap{max-width:760px;margin:0 auto;}
.prose{font-size:17px;line-height:1.75;color:var(--navy-800);}
.prose h2{font-size:26px;margin-top:44px;margin-bottom:16px;font-weight:700;}
.prose h3{font-size:21px;margin-top:34px;margin-bottom:12px;font-weight:700;}
.prose p{margin-bottom:20px;color:var(--navy-800);}
.prose ul, .prose ol{margin:0 0 20px 22px;color:var(--navy-800);}
.prose li{margin-bottom:8px;}
.prose a{color:var(--forest-700);text-decoration:underline;text-underline-offset:2px;}
.prose strong{font-weight:700;color:var(--navy-950);}
.prose blockquote{border-left:3px solid var(--green-500);padding:4px 0 4px 22px;margin:28px 0;font-style:italic;color:var(--stone-600);font-size:18px;}
.prose img{width:100%;border-radius:var(--radius-md);margin:28px 0;}
.prose hr{border:none;border-top:1px solid var(--paper-200);margin:36px 0;}
.prose code{background:var(--paper-100);padding:2px 7px;border-radius:5px;font-family:var(--font-mono);font-size:14.5px;}
.prose pre{background:var(--navy-950);color:var(--paper-50);padding:18px 20px;border-radius:var(--radius-sm);overflow-x:auto;margin:24px 0;}
.prose pre code{background:none;padding:0;color:inherit;}

.article-share{display:flex;align-items:center;gap:14px;margin-top:48px;padding-top:28px;border-top:1px solid var(--paper-200);}
.article-share span{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--stone-500);}
.article-share a{width:36px;height:36px;border-radius:50%;background:var(--paper-100);display:flex;align-items:center;justify-content:center;color:var(--navy-800);transition:background .16s ease,color .16s ease;}
.article-share a:hover{background:var(--navy-950);color:var(--paper-50);}
.article-share svg{width:16px;height:16px;}

.author-box{display:flex;gap:16px;align-items:center;margin-top:40px;padding:24px;background:var(--paper-100);border-radius:var(--radius-md);}
.author-box .aname{font-weight:700;color:var(--navy-950);font-size:15px;}
.author-box .arole{font-size:13px;color:var(--stone-500);}

.related-heading{margin-top:80px;margin-bottom:28px;font-size:22px;}
