/**
 * Layout — Sprint 5a.
 * Global container width, sidebar gap, boxed layout, blog layout.
 * Spacing values come from CSS custom properties set by
 * `dynamic_css()`: --ls-layout-container, --ls-layout-padding,
 * --ls-layout-gap, --ls-layout-sidebar, --ls-layout-blog-cols.
 */
.container {
	max-width: var(--ls-layout-container, 1200px);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ls-layout-padding, 24px);
	padding-right: var(--ls-layout-padding, 24px);
}

body.ls-layout-boxed .site { max-width: var(--ls-layout-container, 1200px); margin: 0 auto; }

/* Sidebar layouts. */
.has-sidebar .site-main { display: grid; gap: var(--ls-layout-gap, 32px); }
.has-sidebar.ls-sidebar-right .site-main { grid-template-columns: minmax(0, 1fr) var(--ls-layout-sidebar, 280px); }
.has-sidebar.ls-sidebar-left  .site-main { grid-template-columns: var(--ls-layout-sidebar, 280px) minmax(0, 1fr); }
@media (max-width: 900px) {
	.has-sidebar.ls-sidebar-right .site-main,
	.has-sidebar.ls-sidebar-left  .site-main { grid-template-columns: 1fr; }
}

/* Blog layout. */
.blog.ls-blog-grid .site-main .hfeed,
.archive.ls-blog-grid .site-main .hfeed {
	display: grid;
	grid-template-columns: repeat(var(--ls-layout-blog-cols, 3), minmax(0, 1fr));
	gap: 1.5rem;
}
@media (max-width: 900px) { .blog.ls-blog-grid .site-main .hfeed, .archive.ls-blog-grid .site-main .hfeed { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .blog.ls-blog-grid .site-main .hfeed, .archive.ls-blog-grid .site-main .hfeed { grid-template-columns: 1fr; } }

.blog.ls-blog-classic .site-main .hfeed article,
.archive.ls-blog-classic .site-main .hfeed article { margin-bottom: 3rem; }

.blog.ls-blog-list .site-main .hfeed article { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: 1.5rem; margin-bottom: 1.5rem; }
@media (max-width: 700px) { .blog.ls-blog-list .site-main .hfeed article { grid-template-columns: 1fr; } }
