/* ============================================================================ */ /* Layout – 3-column grid (Table of Contents / Article / Aside) */ /* ============================================================================ */ .content-grid { max-width: 1280px; margin: 0 auto; padding: 0 var(--content-padding-x); margin-top: 40px; display: grid; grid-template-columns: 220px minmax(0, 680px) 260px; gap: 32px; align-items: start; } .content-grid > main { max-width: 100%; margin: 0; padding: 0; } @media (max-width: var(--bp-content-collapse)) { .content-grid { overflow: hidden; } } /* Responsive – collapse to single column */ @media (max-width: var(--bp-content-collapse)) { .content-grid { grid-template-columns: 1fr; } main > nav:first-of-type { display: block; } } /* ============================================================================ */ /* Width helpers – slightly wider than main column, and full-width to viewport */ /* ---------------------------------------------------------------------------- */ .wide, .full-width { box-sizing: border-box; position: relative; z-index: var(--z-elevated); } .wide { /* Target up to ~1100px while staying within viewport minus page gutters */ width: min(1100px, 100vw - 32px); margin-left: calc(50% + var(--content-padding-x) * 2); transform: translateX(-50%); } .full-width { /* Span the full viewport width and center relative to viewport */ width: 100vw; margin-left: calc(50% - 50vw + var(--content-padding-x) * 2); margin-right: calc(50% - 50vw); } @media (max-width: var(--bp-content-collapse)) { .wide, .full-width { width: 100%; margin-left: 0; margin-right: 0; transform: none; } }