/* doc-project | public/assets/css/page.css | rend pages éditoriales en blocs et stabilise leur appel à l'action latéral responsive */
.editorial-page { padding:clamp(3rem,7vw,6rem) 0; }
.editorial-layout { display:grid;grid-template-columns:minmax(0,760px) minmax(300px,340px);justify-content:space-between;gap:clamp(2rem,5vw,5rem);align-items:start; }
.editorial-content { display:grid;gap:clamp(1rem,2vw,1.7rem);font-size:1.04rem; }
.editorial-aside { position:sticky;top:7rem;align-self:start;min-width:0; }
.editorial-aside>div { display:grid;gap:1rem;padding:clamp(1.25rem,2vw,1.6rem);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius); }
.editorial-aside h2 { margin:0;max-width:100%;font-size:clamp(1.65rem,2.35vw,2.15rem);line-height:1.08;overflow-wrap:normal;word-break:normal;hyphens:none; }
.editorial-aside p { margin:0; }
.editorial-aside .button { justify-self:start;max-width:100%;white-space:normal;text-align:center; }
.content-block { min-width:0; }
.content-block__rich > :first-child,.content-block__quote > :first-child { margin-top:0; }
.content-block__rich > :last-child,.content-block__quote > :last-child { margin-bottom:0; }
.content-block__heading { margin:0;color:var(--ocean-900); }
.content-block__image { display:grid;gap:.65rem;margin:0; }
.content-block__image picture,.content-block__image img { display:block;width:100%;height:auto; }
.content-block__image figcaption { color:var(--ink-soft);font-size:.9rem;text-align:center; }
.content-block__cta { margin:0; }
.content-block__quote { display:grid;gap:.65rem;margin:0;padding:1.35rem 1.5rem;background:var(--surface-soft);border-left:4px solid var(--aqua-500);border-radius:0 var(--radius) var(--radius) 0; }
.content-block__quote cite { color:var(--ink-soft);font-size:.92rem;font-style:normal;font-weight:700; }
.content-block__spacer--small { height:1rem; }
.content-block__spacer--medium { height:2.5rem; }
.content-block__spacer--large { height:5rem; }
@media(max-width:980px){.editorial-layout{grid-template-columns:minmax(0,1fr) minmax(280px,310px);gap:2rem}}
@media(max-width:850px){.editorial-layout{grid-template-columns:1fr}.editorial-aside{position:static}.editorial-aside>div{max-width:none}}