/* ============================================
   博客栏目布局样式
   ============================================ */
.blog-layout { display: grid; grid-template-columns: 260px 1fr; gap: 32px; }
.blog-sidebar { position: sticky; top: 80px; align-self: flex-start; }
.sidebar-block { background: #fff; border-radius: 12px; padding: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.04); margin-bottom: 20px; }
.sidebar-block h3 { font-size: 16px; margin-bottom: 16px; color: #1f2937; }
.cat-nav { list-style: none; padding: 0; }
.cat-nav li { margin-bottom: 4px; }
.cat-nav a { display: block; padding: 8px 12px; border-radius: 8px; color: #4b5563; text-decoration: none; font-size: 14px; transition: all 0.2s; }
.cat-nav a:hover, .cat-nav a.active { background: #1a73e8; color: #fff; }
.cat-parent > a { font-weight: 700; }
.cat-children { list-style: none; padding: 4px 0 4px 16px; }
.cat-children a { font-size: 13px; padding: 6px 12px; }
.articles-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.article-card { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.04); transition: all 0.3s; }
.article-card:hover { transform: translateY(-4px); box-shadow: 0 10px 30px rgba(0,0,0,0.12); }
.article-cover { aspect-ratio: 16/9; overflow: hidden; }
.article-cover img { width: 100%; height: 100%; object-fit: cover; }
.article-info { padding: 16px; }
.article-meta { display: flex; gap: 12px; font-size: 12px; color: #6b7280; margin-bottom: 8px; }
.article-title { font-size: 16px; margin-bottom: 8px; }
.article-title a { color: #1f2937; text-decoration: none; }
.article-title a:hover { color: #1a73e8; }
.article-summary { font-size: 13px; color: #4b5563; line-height: 1.6; margin-bottom: 12px; }
.article-footer { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: #6b7280; }
.read-more { color: #1a73e8; text-decoration: none; font-weight: 700; font-size: 13px; }
@media (max-width: 900px) { .blog-layout { grid-template-columns: 1fr; } .blog-sidebar { position: static; } .articles-grid { grid-template-columns: 1fr; } }
@media (max-width: 500px) { .articles-grid { grid-template-columns: 1fr; } }
.blog-hero { background: linear-gradient(135deg, #ff6b35 0%, #f59e0b 100%); color: #fff; padding: 60px 0; text-align: center; }
