/* Styles partagés du blog (reprend le thème de la page d'accueil) */
:root[data-theme="dark"]{--bg-color:#08080a;--gradient-1:#4f46e5;--gradient-2:#7c3aed;--gradient-3:#2563eb;--card-bg:rgba(18,18,22,.65);--card-border:rgba(255,255,255,.12);--text-main:#fff;--text-muted:#a1a1aa;--btn-primary-bg:#fff;--btn-primary-text:#000}
:root[data-theme="light"]{--bg-color:#f8fafc;--gradient-1:#38bdf8;--gradient-2:#818cf8;--gradient-3:#c084fc;--card-bg:rgba(255,255,255,.75);--card-border:rgba(0,0,0,.1);--text-main:#0f172a;--text-muted:#475569;--btn-primary-bg:#000;--btn-primary-text:#fff}
*{margin:0;padding:0;box-sizing:border-box;transition:background-color .4s,color .4s,border-color .4s}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--bg-color);color:var(--text-main);min-height:100vh;position:relative;overflow-x:hidden;padding:20px}
.gradient-bg{position:fixed;inset:0;z-index:0;overflow:hidden;filter:blur(100px);opacity:.6;pointer-events:none}
.blob{position:absolute;border-radius:50%;animation:float 18s ease-in-out infinite alternate}
.blob-1{top:-10%;left:-10%;width:50vw;height:50vw;background:var(--gradient-1)}
.blob-2{bottom:-20%;right:-10%;width:60vw;height:60vw;background:var(--gradient-2);animation-delay:-6s}
.blob-3{top:40%;left:30%;width:40vw;height:40vw;background:var(--gradient-3);animation-delay:-12s}
@keyframes float{0%{transform:translate(0,0) scale(1)}50%{transform:translate(80px,40px) scale(1.1)}100%{transform:translate(-40px,80px) scale(.9)}}
.theme-toggle{position:fixed;top:30px;right:30px;z-index:10;background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-main);width:48px;height:48px;cursor:pointer;font-size:1.2rem;backdrop-filter:blur(12px)}
.theme-toggle:hover{border-color:var(--text-main)}
.container{position:relative;z-index:1;width:100%;max-width:800px;margin:40px auto}
.card{background:var(--card-bg);backdrop-filter:blur(20px);border:1px solid var(--card-border);padding:50px;box-shadow:0 30px 60px rgba(0,0,0,.12)}
.badge-header{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;margin-bottom:20px;color:var(--text-muted);border-left:2px solid var(--text-main);padding-left:10px}
h1{font-family:'Syne',sans-serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:800;line-height:1.1;letter-spacing:-1px;margin-bottom:25px;text-transform:uppercase}
.back{display:inline-block;margin-bottom:25px;color:var(--text-muted);text-decoration:none;font-size:.8rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}
.back:hover{color:var(--text-main)}
.meta{color:var(--text-muted);font-size:.85rem;margin-bottom:25px}
.cover{display:block;width:100%;max-height:420px;object-fit:cover;margin-bottom:30px;border:1px solid var(--card-border)}
.texte p{font-size:1.1rem;line-height:1.8;color:var(--text-muted);margin-bottom:22px}
.posts{display:grid;gap:24px}
.post{display:block;text-decoration:none;color:inherit;border:1px solid var(--card-border);background:var(--card-bg);transition:transform .2s,border-color .2s}
.post:hover{transform:translateY(-3px);border-color:var(--text-main)}
.post img{display:block;width:100%;height:220px;object-fit:cover}
.post-body{padding:22px 26px}
.post h2{font-family:'Syne',sans-serif;font-size:1.5rem;text-transform:uppercase;margin-bottom:8px}
.post p{color:var(--text-muted);line-height:1.6}
.empty{color:var(--text-muted)}
@media(max-width:640px){.card{padding:30px 22px}.theme-toggle{top:15px;right:15px}}
.texte h2,.texte h3{font-family:'Syne',sans-serif;text-transform:uppercase;margin:34px 0 14px;line-height:1.2}
.texte h2{font-size:1.6rem}.texte h3{font-size:1.2rem}
.texte strong{color:var(--text-main)}
.texte a{color:var(--text-main);text-decoration:underline}
.texte ul{margin:0 0 22px 1.3em;color:var(--text-muted);font-size:1.1rem;line-height:1.8}
.texte blockquote{border-left:2px solid var(--text-main);padding:4px 0 4px 18px;margin:0 0 22px;color:var(--text-muted);font-size:1.1rem;line-height:1.8;font-style:italic}
.texte code{background:var(--card-border);padding:2px 6px;font-size:.95em}
.texte img{display:block;max-width:100%;margin:0 0 22px;border:1px solid var(--card-border)}
