/* post-card */
.blog-featured { background:var(--background); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; transition:border-color .3s; cursor:pointer; display:block; }
.blog-featured:hover { border-color:rgba(255,107,0,.5); }
.blog-featured-image { aspect-ratio:16/9; overflow:hidden; }
.blog-featured-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.blog-featured:hover .blog-featured-image img { transform:scale(1.05); }
.blog-featured-content { padding:1.5rem; }
.blog-meta { display:flex; align-items:center; gap:1rem; margin-bottom:1rem; }
.blog-tag { padding:.25rem .75rem; background:rgba(255,107,0,.1); color:var(--primary); font-size:.75rem; font-weight:600; border-radius:1rem; }
.blog-date { display:flex; align-items:center; gap:.25rem; font-size:.75rem; color:var(--muted-foreground); }
.blog-title { font-weight:600; font-size:1.25rem; color:var(--foreground); margin-bottom:.75rem; transition:color .3s; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.blog-featured:hover .blog-title { color:var(--primary); }
.blog-excerpt { font-size:.875rem; color:var(--muted-foreground); margin-bottom:1rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.blog-link { display:inline-flex; align-items:center; gap:.5rem; font-size:.875rem; font-weight:500; color:var(--primary); }
.blog-small { display:flex; gap:1rem; background:var(--background); border:1px solid var(--border); border-radius:var(--radius); padding:1rem; transition:border-color .3s; cursor:pointer; text-decoration:none; }
.blog-small:hover { border-color:rgba(255,107,0,.5); }
.blog-small-image { width:8rem; height:6rem; flex-shrink:0; border-radius:.5rem; overflow:hidden; }
.blog-small-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.blog-small:hover .blog-small-image img { transform:scale(1.05); }
.blog-small-content { flex:1; min-width:0; }
.blog-small-meta { display:flex; align-items:center; gap:.75rem; margin-bottom:.5rem; }
.blog-small-tag { padding:.125rem .5rem; background:rgba(255,107,0,.1); color:var(--primary); font-size:.75rem; font-weight:600; border-radius:.25rem; }
.blog-small-date { font-size:.75rem; color:var(--muted-foreground); }
.blog-small-title { font-weight:600; color:var(--foreground); transition:color .3s; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.blog-small:hover .blog-small-title { color:var(--primary); }
.blog-all-link { display:flex; align-items:center; justify-content:center; gap:.5rem; padding:1rem; border:1px dashed var(--border); border-radius:var(--radius); color:var(--muted-foreground); transition:all .3s; text-decoration:none; }
.blog-all-link:hover { color:var(--primary); border-color:rgba(255,107,0,.5); }
