/* ==========================================================================
   SpeakPro Academy — tableaux de bord apprenant
   Composition : « Reprendre » en tête (action principale, cf. Coursera
   « Resume » / Polaris « Page » avec action primaire), parcours en colonne
   principale, accompagnement (coach, session de groupe, offres) en colonne
   latérale. Les cartes de module (composant validé) sont conservées.
   ========================================================================== */
body.sp-dash .cx-wrap, body.sp-dash .px-wrap{ max-width:1120px !important; padding-left:24px; padding-right:24px; }
body.sp-dash .px-hero > *{ max-width:1072px !important; text-align:left; }
body.sp-dash .px-hero h1{ margin:0 auto 8px !important; }
body.sp-dash .px-hero{ text-align:left !important; }
.sp-dash-grid{ display:grid; grid-template-columns:minmax(0,1fr) 320px; grid-template-areas:"resume aside" "main aside"; gap:0 40px; align-items:start; }
.sp-dash-grid.no-aside{ grid-template-columns:minmax(0,1fr); grid-template-areas:"resume" "main"; }
.sp-dash-grid.no-aside .sp-dash-aside{ display:none; }
.sp-resume{ grid-area:resume; display:flex; align-items:center; justify-content:space-between; gap:24px; background:#1E2430; color:#fff; border-radius:20px; padding:24px 28px; margin-bottom:24px; }
.sp-resume[hidden]{ display:none; }
.sp-resume-k{ margin:0 0 6px; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#E9A27F; }
.sp-resume-t{ margin:0; font-family:var(--display-serif, Georgia, serif); font-size:clamp(20px,2.2vw,26px); line-height:1.2; color:#fff; }
.sp-resume-btn{ flex-shrink:0; }
.sp-dash-main{ grid-area:main; min-width:0; }
.sp-dash-aside{ grid-area:aside; position:sticky; top:104px; display:flex; flex-direction:column; gap:16px; }
.sp-dash-aside > *{ margin:0 !important; text-align:left !important; }
.sp-dash-aside .cx-section, .sp-dash-aside > div[id$="-banner"]{ background:#fff !important; border:1px solid #E5DBCF !important; border-radius:18px !important; box-shadow:none !important; padding:20px !important; }
.sp-dash-aside .cx-section h2{ font-size:19px !important; }
.sp-dash-aside .btn{ width:100%; justify-content:center; }
.sp-dash-aside > div[id$="-banner"] a{ display:inline-block !important; }
@media (max-width:980px){
  .sp-dash-grid{ grid-template-columns:minmax(0,1fr); grid-template-areas:"resume" "aside" "main"; }
  .sp-dash-aside{ position:static; margin-bottom:24px; }
}
@media (max-width:560px){
  body.sp-dash .cx-wrap, body.sp-dash .px-wrap{ padding-left:16px; padding-right:16px; }
  .sp-resume{ flex-direction:column; align-items:stretch; padding:22px 20px; }
  .sp-resume-btn{ justify-content:center; }
}
