thibaud frere
big refactor
a4b9560
raw
history blame
1.77 kB
/* ============================================================================ */
/* 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;
}
}