.blog-post-header .page-header-inner { padding-block: 40px; }
.blog-post-header .page-image img { width: 100%; max-height: 480px; object-fit: cover; }
.blog-post-layout { display: grid; grid-template-columns: minmax(250px, 270px) minmax(0, 1fr) minmax(230px, 250px); gap: 36px; width: min(1600px, calc(100% - 48px)); margin: 48px auto 80px; align-items: start; }
.blog-post-article { grid-column: 2; min-width: 0; }
.blog-entry-content > :first-child { margin-top: 0; }
.blog-post-sidebar { grid-column: 1; grid-row: 1; position: sticky; top: 24px; min-width: 0; }
.blog-post-toc-sidebar { grid-column: 3; grid-row: 1; position: sticky; top: 24px; min-width: 0; }
.blog-toc, .blog-sidebar-widgets .widget { margin-bottom: 24px; padding: 20px; border: 1px solid #dce5ed; border-radius: 8px; background: #fff; }
.blog-sidebar-title, .blog-sidebar-widgets .widget-title { margin: 0 0 12px; color: #102b46; font-size: 18px; line-height: 1.3; }
.blog-toc-list { margin: 0; padding: 0; list-style: none; }
.blog-sidebar-widgets ul { margin: 0; padding-left: 20px; }
.blog-toc-list li, .blog-sidebar-widgets li { margin: 8px 0; }
.blog-toc-list a, .blog-sidebar-widgets a { color: #086ca8; text-decoration-thickness: 1px; }
.blog-toc-list .blog-toc-subitem { margin-left: 12px; font-size: 14px; }
.blog-sidebar-widgets .widget:last-child { margin-bottom: 0; }
@media (max-width: 1100px) {
  .blog-post-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .blog-post-article { grid-column: 1; grid-row: 1; }
  .blog-post-sidebar { grid-column: 1; grid-row: 2; position: static; }
  .blog-post-toc-sidebar { grid-column: 1; grid-row: 3; position: static; }
}