/* Default blog theme (engine/app/theme-default.php) — a plain starting point until a site has its own design. */
.blog { max-width:1160px; margin:0 auto; padding:48px 20px 80px; font:17px/1.7 system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color:#1b2330; }
.blog-single { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:48px; }
.blog-crumbs { font-size:14px; color:#667; } .blog-crumbs a { color:inherit; }
.blog-title { font-size:clamp(30px,4vw,44px); line-height:1.15; margin:12px 0; }
.blog-meta { color:#667; font-size:15px; }
.blog-hero-img { width:100%; height:auto; border-radius:12px; margin:20px 0; }
.blog-content img { max-width:100%; height:auto; }
.blog-post-nav { display:flex; justify-content:space-between; gap:20px; margin-top:40px; padding-top:20px; border-top:1px solid #e3e6eb; }
.blog-status { background:#fff4d6; padding:10px 14px; border-radius:8px; }
.blog-sidebar h2 { font-size:17px; margin:28px 0 8px; } .blog-sidebar ul { list-style:none; padding:0; margin:0; } .blog-sidebar li { margin:6px 0; }
.blog-search { display:flex; gap:8px; } .blog-search input { flex:1; min-width:0; padding:10px 12px; border:1px solid #cfd5de; border-radius:8px; }
.blog-search button { padding:10px 16px; border:0; border-radius:8px; background:#1b2330; color:#fff; cursor:pointer; }
.blog-archive-head { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; margin-bottom:28px; }
.blog-archive-head h1 { margin:0; font-size:clamp(28px,3.4vw,40px); }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.blog-card { display:block; border:1px solid #e3e6eb; border-radius:12px; overflow:hidden; color:inherit; text-decoration:none; background:#fff; }
.blog-card img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.blog-card-body { padding:18px; } .blog-card h2 { font-size:19px; line-height:1.3; margin:0 0 6px; }
.blog-card time { font-size:13px; color:#667; } .blog-card p { font-size:15px; margin:10px 0 0; color:#445; }
.blog-pager { display:flex; justify-content:space-between; margin-top:36px; }
@media (max-width: 900px) { .blog-single { grid-template-columns:1fr; } .blog-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 600px) { .blog-grid { grid-template-columns:1fr; } }
.html-sitemap section { margin: 32px 0; } .html-sitemap h2 { font-size: 22px; }
.html-sitemap .sm-cols { columns: 3 240px; list-style: none; padding: 0; } .html-sitemap li { margin: 4px 0; break-inside: avoid; }
.html-sitemap details { border-top: 1px solid #e3e6eb; padding: 10px 0; }
