/**
 * blog.css
 * -----------------------------------------------------------------------
 * Styles communs à blog/index.php et blog/article.php, extraits de leurs
 * balises <style> respectives où ils étaient dupliqués à l'identique.
 * Les styles propres à une seule des deux pages restent dans le <style>
 * inline de cette page (ex: #articles-grid pour la liste, .article-content
 * pour l'article).
 * -----------------------------------------------------------------------
 */

body { font-family:'Inter',sans-serif; background:#fff; color:#1e293b; }
h1,h2,h3,h4,h5,h6 { font-family:'Plus Jakarta Sans',sans-serif; }

.gradient-primary { background:linear-gradient(135deg,#0ea5e9,#0369a1); }
.gradient-text {
    background:linear-gradient(135deg,#0ea5e9,#0369a1);
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

.btn-primary { background:linear-gradient(135deg,#0ea5e9,#0369a1); transition:all 0.3s; }
.btn-primary:hover { box-shadow:0 10px 30px rgba(14,165,233,0.4); transform:translateY(-2px); }

.nav-link { position:relative; transition:color 0.3s; }
.nav-link::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:2px; background:#0ea5e9; transition:width 0.3s; }
.nav-link:hover::after { width:100%; }

::-webkit-scrollbar { width:10px; }
::-webkit-scrollbar-track { background:#f8fafc; }
::-webkit-scrollbar-thumb { background:#0ea5e9; border-radius:5px; }

.category-badge {
    display:inline-block; padding:4px 12px; background:#f0f9ff; border:1px solid #bae6fd;
    border-radius:100px; font-size:12px; font-weight:600; color:#0369a1;
    text-transform:uppercase; letter-spacing:0.05em;
}

.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.line-clamp-3 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

@keyframes fadeInUp {
    from { opacity:0; transform:translateY(16px); }
    to { opacity:1; transform:translateY(0); }
}
.fade-in-up { animation: fadeInUp 0.6s ease-out both; }
