/* Page « Mes cours » et cours « Second cerveau » : s'appuie sur les variables et classes de /agents/style.css. */

/* Page liste */
.catalogue main > section { margin-top: 4.5rem; }
.catalogue-tete { max-width: 46rem; }
.catalogue-tete h1 { font-size: clamp(2.2rem, 5.5vw, 3.6rem); line-height: 1.05; margin: 0 0 1rem; text-wrap: balance; }
.catalogue-intro, .catalogue-texte { font-size: 1.125rem; line-height: 1.55; color: var(--doux); max-width: var(--mesure); text-wrap: pretty; }
.catalogue-note { font-size: 1rem; }

.catalogue-cartes { list-style: none; margin: 3rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr)); gap: 1.25rem; }
.catalogue-carte { display: flex; flex-direction: column; gap: 0.25rem; background: var(--carte); border: 1px solid var(--trait); border-radius: var(--rayon); padding: 1.5rem 1.5rem 1.75rem; }
.catalogue-carte h2 { font-size: clamp(1.5rem, 3vw, 1.9rem); margin: 0; }
.catalogue-carte h2 a { color: inherit; text-decoration: none; }
.catalogue-carte h2 a:hover { text-decoration: underline; }
.catalogue-carte h3 { font-size: 1rem; margin: 1.25rem 0 0.25rem; }
.catalogue-carte > .bouton { margin-top: auto; align-self: flex-start; }
.catalogue-promesse { color: var(--doux); font-size: 1.05rem; line-height: 1.5; margin: 0.5rem 0 0; }
.catalogue-faits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem 1rem; margin: 1.25rem 0 0; padding: 1rem 0; border-block: 1px solid var(--trait); }
.catalogue-faits dt { font-size: 0.8125rem; color: var(--structure); font-weight: 600; }
.catalogue-faits dd { margin: 0.1rem 0 0; font-size: 0.95rem; }
.catalogue-acquis { margin: 0 0 1.5rem; padding-left: 1.2rem; }
.catalogue-acquis li { margin-bottom: 0.35rem; }
.catalogue-acquis li::marker { content: "✓  "; color: var(--vert); }

.catalogue-choix { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; margin: 0; }
.catalogue-choix > div { border-left: 3px solid var(--bleu-vif); padding: 0.25rem 0 0.25rem 1rem; }
.catalogue-choix dt { font-weight: 700; margin-bottom: 0.3rem; }
.catalogue-choix dd { margin: 0; color: var(--doux); line-height: 1.5; }

.catalogue-tableau { overflow-x: auto; max-width: 52rem; }
.catalogue-tableau th[scope="row"] { font-weight: 500; }
.catalogue-tableau td:last-child { color: var(--vert); white-space: nowrap; }

.catalogue-faq { max-width: var(--mesure); border-bottom: 1px solid var(--trait); padding: 0.85rem 0; }
.catalogue-faq summary { cursor: pointer; font-weight: 600; }
.catalogue-faq p { color: var(--doux); line-height: 1.55; margin: 0.6rem 0 0.2rem; }

.catalogue-appel { background: var(--carte); border: 1px solid var(--trait); border-radius: var(--rayon); padding: 1.5rem; max-width: 46rem; }
.catalogue-appel h2 { margin-top: 0; }
.catalogue-appel p { color: var(--doux); }

/* Cours « Second cerveau » */
.sc-kit { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; margin: 0 0 2rem; }
.sc-kit span { color: var(--doux); font-size: 0.95rem; }
.sc-plan { padding-left: 1.5rem; }
.sc-plan a[data-lecon-sc].fait::after { content: "✓"; color: var(--vert); font-weight: 700; margin-left: 0.35rem; }
.sc-taches { list-style: none; padding: 0; margin: 0 0 1rem; }
.sc-taches label { display: flex; gap: 0.6rem; align-items: baseline; padding: 0.3rem 0; cursor: pointer; }
.sc-taches input { accent-color: var(--vert); width: 1.05rem; height: 1.05rem; flex: none; }
.sc-taches input:checked + span { color: var(--doux); text-decoration: line-through; }
.corps-lecon pre { white-space: pre-wrap; }
