/* Container */
.container { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-padding); }
.container-sm { max-width: 800px; margin: 0 auto; padding: 0 var(--container-padding); }
.container-lg { max-width: 1400px; margin: 0 auto; padding: 0 var(--container-padding); }

/* Page wrapper */
.page-wrapper { min-height: 100vh; display: flex; flex-direction: column; }
.page-main { flex: 1; padding-top: var(--header-height); }

/* Section spacing */
.section { padding: var(--space-16) 0; }
.section-sm { padding: var(--space-10) 0; }
.section-lg { padding: var(--space-24) 0; }
.section-bg-light { background: var(--color-bg-light); }
.section-bg-warm { background: var(--color-bg-warm); }

/* Grid system */
.grid { display: grid; gap: var(--space-6); }
.grid-1 { grid-template-columns: 1fr; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.grid-5 { grid-template-columns: repeat(5, 1fr); }
.grid-auto { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.grid-auto-sm { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }

/* Sidebar layout */
.layout-sidebar { display: grid; grid-template-columns: 240px 1fr; gap: var(--space-8); align-items: start; }
.layout-sidebar-right { display: grid; grid-template-columns: 1fr 320px; gap: var(--space-8); align-items: start; }

/* Two-column content */
.layout-2col { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-12); align-items: center; }

/* Sticky sidebar */
.sticky-top { position: sticky; top: calc(var(--header-height) + var(--space-6)); }

/* Page header */
.page-header { background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); color: white; padding: var(--space-12) 0; }
.page-header h1 { color: white; font-size: var(--font-size-3xl); margin-bottom: var(--space-2); }
.page-header p { color: rgba(255,255,255,0.85); font-size: var(--font-size-lg); margin: 0; }
