/* SpeakPro Academy — documents juridiques. Inspiration : pages légales de
   Stripe (sommaire collant à gauche, texte en colonne de lecture). */
.sp-legal-grid{ display:grid; grid-template-columns:240px minmax(0,1fr); gap:72px; max-width:1120px; align-items:start; padding-top:8px; padding-bottom:96px; }
.sp-legal-aside{ position:sticky; top:104px; padding-top:36px; }
.sp-toc-k{ margin:0 0 10px; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#1E2430; }
.sp-toc ol{ list-style:none; margin:0 0 28px; padding:0; counter-reset:toc; border-left:1px solid #E5DBCF; }
.sp-toc li{ counter-increment:toc; }
.sp-toc a{ display:grid; grid-template-columns:22px 1fr; padding:6px 0 6px 14px; margin-left:-1px; border-left:2px solid transparent; font-size:14px; line-height:1.4; color:#4A505B; text-decoration:none; }
.sp-toc a::before{ content:counter(toc) "."; color:#A9552F; font-weight:600; }
.sp-toc a:hover{ color:#1E2430; border-left-color:#A9552F; }
.sp-toc-other ul{ list-style:none; margin:0; padding:0; }
.sp-toc-other a{ display:block; padding:5px 0; font-size:14px; color:#1E2430; font-weight:600; text-decoration:none; }
.sp-toc-other a:hover{ color:#A9552F; }
.sp-legal-doc{ max-width:700px; }
.sp-legal-doc h2{ scroll-margin-top:110px; font-size:24px !important; }
.sp-legal-doc p, .sp-legal-doc li{ font-size:16px !important; color:#4A505B !important; line-height:1.75 !important; }
@media (max-width:900px){
  .sp-legal-grid{ grid-template-columns:1fr; gap:0; }
  .sp-legal-aside{ position:static; padding-top:28px; }
  .sp-toc-other{ display:none; }
  .sp-toc ol{ margin-bottom:8px; }
}
/* Ajustements : en-tête aligné sur la colonne de texte, sommaire neutre */
.sp-legal-head{ max-width:1120px; }
.sp-legal-head > *{ margin-left:312px !important; max-width:700px !important; }
body.sp-learn .sp-prose.sp-legal{ padding:24px 0 0; }
body.sp-learn .sp-legal-doc > div{ margin-top:0 !important; }
body.sp-learn .sp-legal-doc > div:first-child h2{ margin-top:36px !important; padding-top:0; border-top:0; }
body.sp-learn .sp-legal .sp-toc a, body.sp-learn .sp-legal .sp-toc li{ font-size:14px !important; line-height:1.4 !important; color:#4A505B !important; }
body.sp-learn .sp-legal .sp-toc a:hover{ color:#1E2430 !important; }
body.sp-learn .sp-legal .sp-toc-other a{ font-size:14px !important; color:#1E2430 !important; }
body.sp-learn .sp-legal .sp-toc-k{ font-size:12px !important; color:#1E2430 !important; }
.sp-legal-doc ul{ list-style:disc; padding-left:22px !important; }
.sp-legal-doc ul li::marker{ color:#A9552F; }
@media (max-width:900px){ .sp-legal-head > *{ margin-left:0 !important; } }
