/* Espace client — mobile d'abord ; couleurs et boutons de la réservation (assets/booking.css). */
.ymc-space { padding-bottom: 24px; } /* largeur commune : booking.css (.ymc-book) */
.ymc-space .ymc-title { margin-bottom: 14px; }
.ymc-space a { color: var(--ymc-accent); }
.ymc-space .ymc-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.ymc-space .ymc-btn-primary, .ymc-space .ymc-btn-primary:hover { color: #fff; }
.ymc-space .ymc-btn-ghost { color: var(--ymc-ink); }
.ymc-book .ymc-sp-btn { min-height: 44px; padding: 10px 18px; font-size: .95em; }
/* « Réserver une séance » : discret, même style partout (accueil, Mes séances). */
.ymc-space .ymc-sp-btn-small { min-height: 38px; padding: 7px 16px; font-size: .88em; font-weight: 600; }
.ymc-sp-book { margin: 12px 0 0; }
/* « Bonjour … » : un peu d'air avant les cartes. */
.ymc-space .ymc-title.ymc-sp-hello { margin-bottom: 26px; }

/* Navigation */
.ymc-sp-nav { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 22px; flex-wrap: wrap; }
.ymc-sp-nav ul { display: flex; gap: 4px; list-style: none; margin: 0; padding: 4px; background: var(--ymc-bg); border-radius: 14px; flex: 1 1 auto; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.ymc-sp-nav li { margin: 0; flex: 1; }
.ymc-sp-nav a { display: block; text-align: center; padding: 10px 8px; border-radius: 10px; font-weight: 600; font-size: .9em; color: var(--ymc-muted); text-decoration: none; white-space: nowrap; }
.ymc-sp-nav a.is-active { background: #fff; color: var(--ymc-accent); box-shadow: 0 1px 3px rgba(16, 42, 72, .12); }
.ymc-sp-nav li.ymc-sp-logout-item { flex: 0 0 auto; }
.ymc-space .ymc-sp-nav a.ymc-sp-logout { font-size: .8em; font-weight: 600; color: var(--ymc-muted); padding: 10px 12px; }
.ymc-space .ymc-sp-nav a.ymc-sp-logout:hover { color: var(--ymc-accent); }

.ymc-sp-short { display: none; }

.ymc-space .ymc-sp-info-title { margin: 0; font-size: 1.05em; font-weight: 600; line-height: 1.3; color: var(--ymc-ink); }
.ymc-sp-info-summary { margin: 0; color: var(--ymc-muted); font-size: .92em; }
.ymc-sp-info-link { margin: 12px 0 0; }

/* Connexion */
.ymc-sp-magic { margin: 16px 0 0; text-align: left; background: var(--ymc-bg); border-radius: var(--ymc-radius); padding: 12px 16px; }
.ymc-sp-magic summary { cursor: pointer; font-weight: 700; font-size: .92em; }
.ymc-sp-magic .ymc-sp-login-form { margin-top: 12px; box-shadow: none; }
.ymc-space input[type=text], .ymc-space input[type=password] { width: 100%; font-size: 16px; border: 1.5px solid var(--ymc-line); border-radius: 12px; padding: 11px 14px; min-height: 48px; }
.ymc-sp-login { max-width: 440px; margin: 0 auto; text-align: center; }
.ymc-sp-lead { color: var(--ymc-muted); margin: 0 0 18px; }
.ymc-sp-login-form { display: flex; flex-direction: column; gap: 12px; text-align: left; background: #fff; border: 1px solid var(--ymc-line); border-radius: var(--ymc-radius); padding: 20px; box-shadow: var(--ymc-shadow); }
.ymc-sp-login-form .ymc-btn { width: 100%; }
.ymc-space input[type=email] { width: 100%; font-size: 16px; border: 1.5px solid var(--ymc-line); border-radius: 12px; padding: 11px 14px; min-height: 48px; }
.ymc-sp-help { margin: 0; font-size: .85em; color: var(--ymc-muted); }
.ymc-sp-alt { margin: 14px 0 0; font-size: .9em; }
.ymc-sp-ok { background: color-mix(in srgb, var(--ymc-success) 14%, #fff); border-radius: 12px; padding: 12px 16px; margin: 0 0 16px; text-align: left; }

/* Cartes et listes */
.ymc-sp-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }
.ymc-sp-card { background: #fff; border: 1px solid var(--ymc-line); border-radius: var(--ymc-radius); padding: 16px 18px; box-shadow: var(--ymc-shadow); }
.ymc-space .ymc-sp-h3 { font-size: 1.05em; font-weight: 600; color: var(--ymc-ink); margin: 0 0 12px; }
.ymc-sp-section { margin: 0 0 22px; }
/* Mes séances : plus d'espace entre « À venir » et l'historique. */
.ymc-sp-section + .ymc-sp-section { margin-top: 40px; }
.ymc-sp-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ymc-sp-list li { margin: 0; }
.ymc-sp-session { display: flex; flex-direction: column; gap: 2px; }
.ymc-sp-date { font-weight: 600; }
.ymc-sp-service { font-weight: 600; }
.ymc-sp-past { box-shadow: none; background: var(--ymc-bg); }
.ymc-sp-actions { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; margin-top: 10px; }
.ymc-sp-link { font-weight: 600; font-size: .9em; }
.ymc-sp-note { font-size: .9em; color: var(--ymc-muted); margin: 10px 0 0; }
.ymc-sp-more { margin: 10px 0 0; font-size: .9em; font-weight: 600; }
.ymc-sp-resume { display: flex; flex-direction: column; gap: 6px; padding: 10px 0; border-top: 1px solid var(--ymc-line); }
.ymc-sp-resume:first-of-type { border-top: 0; padding-top: 0; }
.ymc-sp-resume .ymc-btn { align-self: flex-start; }

/* Progression */
.ymc-sp-progress { height: 7px; background: var(--ymc-line); border-radius: 99px; overflow: hidden; margin: 6px 0 4px; }
.ymc-sp-progress span { display: block; height: 100%; background: var(--ymc-accent); border-radius: 99px; transition: width .3s; }
.ymc-sp-progress-label { margin: 0 0 8px; font-size: .82em; color: var(--ymc-muted); }

/* Parcours */
.ymc-sp-courses { display: grid; grid-template-columns: 1fr; gap: 14px; }
.ymc-sp-course { background: #fff; border: 1px solid var(--ymc-line); border-radius: var(--ymc-radius); overflow: hidden; box-shadow: var(--ymc-shadow); display: flex; flex-direction: column; }
/* Même cadre pour toutes les images (celles de Tutor ont des tailles variées) ; sélecteur plus fort que « .elementor img { height: auto } » d'Elementor. */
.ymc-space .ymc-sp-course .ymc-sp-course-img { display: block; width: 100%; max-width: none; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }
.ymc-sp-course-body { padding: 14px 16px 16px; display: flex; flex-direction: column; flex: 1; }
.ymc-space .ymc-sp-course-title { margin: 2px 0 6px; font-size: 1.08em; font-weight: 600; line-height: 1.3; color: var(--ymc-ink); }
.ymc-sp-course-body .ymc-btn { margin-top: auto; align-self: flex-start; }
.ymc-sp-kind { font-size: .85em; font-weight: 700; color: var(--ymc-accent); }
.ymc-sp-finished { margin: 0 0 8px; color: var(--ymc-success); font-weight: 700; font-size: .9em; }
.ymc-sp-back { margin: 0 0 12px; font-size: .9em; font-weight: 600; }
.ymc-sp-back a { text-decoration: none; }
.ymc-sp-hero { width: 100%; max-height: 220px; object-fit: cover; border-radius: var(--ymc-radius); margin: 0 0 14px; display: block; }
.ymc-sp-course-h { margin-top: 2px; }
.ymc-sp-about { margin: 16px 0; background: var(--ymc-bg); border-radius: 12px; padding: 12px 16px; }
.ymc-sp-about summary, .ymc-sp-notes summary, .ymc-sp-toc summary { cursor: pointer; font-weight: 700; }

/* Programme */
.ymc-sp-outline { display: flex; flex-direction: column; gap: 14px; }
.ymc-space .ymc-sp-chapter h4 { margin: 0 0 6px; font-size: .95em; font-weight: 600; color: var(--ymc-ink); }
.ymc-sp-chapter ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ymc-sp-chapter li { display: flex; gap: 12px; align-items: flex-start; margin: 0; padding: 10px 12px; background: #fff; border: 1px solid var(--ymc-line); border-radius: 12px; }
.ymc-sp-chapter li > div { display: flex; flex-direction: column; min-width: 0; }
.ymc-sp-chapter li a { font-weight: 600; text-decoration: none; color: var(--ymc-ink); }
.ymc-sp-chapter li.is-current { border-color: var(--ymc-brand); box-shadow: 0 0 0 1px var(--ymc-brand); }
.ymc-sp-chapter li.is-locked { background: var(--ymc-bg); color: var(--ymc-muted); }
.ymc-sp-ico { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: .8em; font-weight: 800; background: var(--ymc-accent-soft); color: var(--ymc-accent); }
.ymc-sp-ico.is-done { background: var(--ymc-success); color: #fff; }
.ymc-sp-ico.is-locked { background: transparent; }
.ymc-sp-meta { font-size: .8em; color: var(--ymc-muted); }
.ymc-sp-lock { font-size: .8em; font-weight: 700; color: #a2670a; }

/* Leçon */
.ymc-sp-lesson-top { display: flex; justify-content: space-between; gap: 10px; font-size: .82em; color: var(--ymc-muted); margin: 0 0 4px; }
.ymc-sp-lesson-h { margin-bottom: 16px; }
.ymc-sp-media { background: #fff; border: 1px solid var(--ymc-line); border-radius: var(--ymc-radius); padding: 12px; box-shadow: var(--ymc-shadow); margin: 0 0 18px; }
.ymc-sp-media-head { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; }
.ymc-sp-artwork { width: 48px; height: 48px; border-radius: 12px; object-fit: cover; flex: none; }
.ymc-sp-artwork.is-empty { display: grid; place-items: center; background: var(--ymc-accent-soft); color: var(--ymc-accent); font-size: 22px; }
.ymc-sp-player { width: 100%; display: block; border-radius: 10px; }
.ymc-sp-media.is-video .ymc-sp-player { background: #000; aspect-ratio: 16 / 9; }
.ymc-sp-content { font-size: 1.02em; line-height: 1.65; overflow-wrap: anywhere; }
.ymc-sp-content img { max-width: 100%; height: auto; border-radius: 10px; }
.ymc-sp-content > :first-child { margin-top: 0; }
.ymc-sp-content > :last-child { margin-bottom: 0; }
/* Mise en forme du texte écrit dans l'administration (accueil, leçons, fiches) : rendue même si le thème la neutralise. */
.ymc-space .ymc-sp-content p { margin: 0 0 .9em; }
.ymc-space .ymc-sp-content h2, .ymc-space .ymc-sp-content h3, .ymc-space .ymc-sp-content h4 { font-family: var(--ymc-title-font); font-weight: 600; color: var(--ymc-ink); line-height: 1.3; margin: 1.2em 0 .5em; }
.ymc-space .ymc-sp-content h2 { font-size: 1.35em; }
.ymc-space .ymc-sp-content h3 { font-size: 1.18em; }
.ymc-space .ymc-sp-content h4 { font-size: 1.05em; }
.ymc-space .ymc-sp-content strong, .ymc-space .ymc-sp-content b { font-weight: 700; }
.ymc-space .ymc-sp-content em, .ymc-space .ymc-sp-content i { font-style: italic; }
.ymc-space .ymc-sp-content ul, .ymc-space .ymc-sp-content ol { margin: 0 0 .9em; padding-left: 1.4em; }
.ymc-space .ymc-sp-content ul { list-style: disc; }
.ymc-space .ymc-sp-content ol { list-style: decimal; }
.ymc-space .ymc-sp-content li { margin: 0 0 .3em; }
.ymc-space .ymc-sp-content a { color: var(--ymc-accent); text-decoration: underline; }
.ymc-space .ymc-sp-content blockquote { margin: 0 0 .9em; padding: .4em 0 .4em 1em; border-left: 3px solid var(--ymc-accent-mid); color: var(--ymc-muted); }
.ymc-space .ymc-sp-content .aligncenter, .ymc-space .ymc-sp-content [style*="text-align: center"] { text-align: center; }
.ymc-sp-home { margin-top: 4px; }
/* Espacements des leçons Tutor (blocs « Espacement » de 42 à 100 px) : réduits, l'écran de téléphone est petit. */
.ymc-sp-content .wp-block-spacer { max-height: 12px; }
.ymc-sp-content > .wp-block-spacer:first-child, .ymc-sp-content > .wp-block-spacer:last-child { display: none; }
.ymc-sp-end { height: 1px; }

.ymc-sp-done { display: flex; flex-direction: column; gap: 4px; margin: 22px 0 14px; padding: 14px 16px; border: 1.5px dashed var(--ymc-accent-mid); border-radius: var(--ymc-radius); background: #fff; transition: background .2s, border-color .2s; }
.ymc-sp-done.is-done { border-style: solid; border-color: var(--ymc-success); background: color-mix(in srgb, var(--ymc-success) 8%, #fff); }
.ymc-sp-check { display: flex; align-items: center; gap: 12px; font-weight: 800; cursor: pointer; }
.ymc-sp-check input { width: 24px; height: 24px; accent-color: var(--ymc-success); margin: 0; flex: none; }
.ymc-sp-done-hint { font-size: .85em; color: var(--ymc-muted); margin-left: 36px; }

.ymc-sp-notes, .ymc-sp-toc { margin: 14px 0; background: var(--ymc-bg); border-radius: 12px; padding: 12px 16px; }
.ymc-sp-badge { display: inline-block; min-width: 22px; text-align: center; background: #fff; border-radius: 99px; padding: 0 6px; font-size: .8em; color: var(--ymc-accent); margin-left: 4px; }
.ymc-sp-note-list { list-style: none; margin: 10px 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.ymc-sp-note-list li { position: relative; background: #fff; border-radius: 10px; padding: 10px 36px 10px 12px; margin: 0; }
.ymc-sp-note-list p { margin: 0 0 4px; white-space: pre-line; }
.ymc-sp-note-list .ymc-muted { font-size: .78em; }
.ymc-book .ymc-sp-note-del { position: absolute; top: 6px; right: 6px; width: 28px; height: 28px; border: 0; background: none; color: var(--ymc-muted); font-size: 18px; cursor: pointer; border-radius: 50%; }
.ymc-book .ymc-sp-note-del:hover, .ymc-book .ymc-sp-note-del:focus { color: #c23a3a; background: var(--ymc-bg); }
.ymc-sp-note-form { display: flex; flex-direction: column; gap: 8px; }
.ymc-space .ymc-sp-note-form textarea { width: 100%; font-size: 16px; border: 1.5px solid var(--ymc-line); border-radius: 12px; padding: 10px 12px; min-height: 80px; }
.ymc-sp-note-form .ymc-btn { align-self: flex-start; }

/* Précédente / suivante : barre fixée en bas sur smartphone */
.ymc-sp-pager { display: flex; justify-content: space-between; gap: 10px; margin: 18px 0 0; }
.ymc-sp-pager .ymc-btn { min-height: 46px; padding: 10px 16px; }
.ymc-sp-pager .is-ready { box-shadow: 0 0 0 4px var(--ymc-accent-mid); animation: ymc-sp-pulse 1.6s ease-in-out 2; }
@keyframes ymc-sp-pulse { 50% { transform: scale(1.04); } }
@media (prefers-reduced-motion: reduce) { .ymc-sp-pager .is-ready { animation: none; } }
.ymc-sp-locked p { margin: 0 0 10px; }

/* Comptes rendus audio (historique des séances) */
.ymc-sp-report { margin: 12px 0 0; background: var(--ymc-accent-soft); border-radius: 12px; padding: 10px 14px; }
.ymc-sp-report summary { cursor: pointer; font-weight: 800; color: var(--ymc-accent); list-style: none; }
.ymc-sp-report summary::-webkit-details-marker { display: none; }
.ymc-sp-report[open] summary { margin-bottom: 10px; }
.ymc-sp-report-dl { margin: 8px 0 0; font-size: .9em; font-weight: 700; }
.ymc-sp-noreport { margin: 10px 0 0; font-size: .85em; color: var(--ymc-muted); }
.ymc-sp-past .ymc-sp-report { background: #fff; }
.ymc-sp-new-report { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 12px 16px; border-radius: var(--ymc-radius); background: var(--ymc-accent); color: #fff; text-decoration: none; box-shadow: var(--ymc-shadow); }
.ymc-space a.ymc-sp-new-report { color: #fff; }
.ymc-sp-new-report > span:first-child { font-size: 24px; }
.ymc-sp-new-report > span:last-child { display: flex; flex-direction: column; font-size: .9em; }

/* Contact */
.ymc-sp-contact { margin: 24px 0 0; padding: 14px 16px; border-radius: var(--ymc-radius); background: var(--ymc-bg); font-size: .92em; text-align: center; }
.ymc-sp-contact p { margin: 0 0 8px; }
.ymc-sp-contact-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; justify-content: center; }
.ymc-sp-contact-links a { background: #fff; border: 1px solid var(--ymc-line); border-radius: 99px; padding: 6px 12px; font-weight: 700; text-decoration: none; color: var(--ymc-ink); }

@media (max-width: 640px) {
    .ymc-sp-pager { position: sticky; bottom: 0; z-index: 5; background: rgba(255, 255, 255, .96); padding: 10px 0 calc(10px + env(safe-area-inset-bottom)); margin: 18px 0 0; border-top: 1px solid var(--ymc-line); }
    .ymc-sp-pager .ymc-btn { flex: 1; }
    .ymc-sp-nav a { font-size: .84em; padding: 9px 4px; }
    .ymc-space .ymc-sp-nav a.ymc-sp-logout { padding: 9px 6px; }
    .ymc-sp-long { display: none; }
    .ymc-sp-short { display: inline; }
}
@media (min-width: 641px) {
    .ymc-sp-grid { grid-template-columns: 1fr 1fr; }
    .ymc-sp-courses { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
}
@media (min-width: 1024px) {
    /* Ordinateur : plus de place, séances sur deux colonnes, cartes plus aérées. */
    .ymc-sp-grid { gap: 20px; }
    .ymc-sp-section .ymc-sp-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .ymc-sp-card { padding: 20px 24px; }
}

/* Page d'un parcours : « Commencer le cours », onglets Présentation / Programme */
.ymc-sp-start { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 14px 0 22px; }
.ymc-sp-tabs { display: flex; gap: 4px; padding: 4px; margin: 0 0 16px; background: var(--ymc-bg); border-radius: 14px; }
.ymc-book .ymc-sp-tab, .ymc-book .ymc-sp-tab:focus { flex: 1; border: 0; background: transparent; color: var(--ymc-muted); border-radius: 10px; padding: 10px 12px; font-weight: 700; font-size: .95em; cursor: pointer; }
.ymc-book .ymc-sp-tab:hover { background: transparent; color: var(--ymc-accent); }
.ymc-book .ymc-sp-tab.is-active, .ymc-book .ymc-sp-tab.is-active:hover, .ymc-book .ymc-sp-tab.is-active:focus { background: #fff; color: var(--ymc-accent); box-shadow: 0 1px 3px rgba(16, 42, 72, .12); }
.ymc-sp-panel[hidden] { display: none; }
.ymc-sp-panel > .ymc-sp-content { background: #fff; border: 1px solid var(--ymc-line); border-radius: var(--ymc-radius); padding: 18px 20px; }
/* Séances : un bouton par personne (Moi, puis les personnes pour qui le client réserve). */
.ymc-space .ymc-sp-people { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.ymc-space .ymc-sp-person { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1.5px solid var(--ymc-line); border-radius: 999px; color: var(--ymc-ink); text-decoration: none; background: #fff; }
.ymc-space .ymc-sp-person:hover { border-color: var(--ymc-accent); color: var(--ymc-accent); }
.ymc-space .ymc-sp-person.is-on { border-color: var(--ymc-accent); background: var(--ymc-accent); color: #fff; font-weight: 600; }

/* Informations & outils (0.17.3) : sommaire à gauche, lecture à droite ; téléphone : sommaire puis fiche. */
.ymc-sp-docs { display: grid; grid-template-columns: 1fr; gap: 18px; }
.ymc-sp-docs-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ymc-space .ymc-sp-docs-nav a { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid var(--ymc-line); border-radius: 12px; background: #fff; color: var(--ymc-ink); text-decoration: none; }
.ymc-space .ymc-sp-docs-nav a:hover { border-color: var(--ymc-accent); }
.ymc-space .ymc-sp-docs-nav a.is-active { border-color: var(--ymc-accent); box-shadow: inset 3px 0 0 var(--ymc-accent); }
.ymc-sp-docs-nav strong { font-weight: 600; line-height: 1.3; }
.ymc-sp-docs-nav span { color: var(--ymc-muted); font-size: .88em; line-height: 1.35; }
.ymc-space .ymc-sp-docs-nav .ymc-sp-docs-tag { color: var(--ymc-accent); font-weight: 600; }
.ymc-sp-docs-read { background: #fff; border: 1px solid var(--ymc-line); border-radius: var(--ymc-radius); padding: 20px 22px; box-shadow: var(--ymc-shadow); min-width: 0; scroll-margin-top: 90px; }
.ymc-sp-doc { display: flex; flex-direction: column; gap: 10px; }
/* Fiche à télécharger : carte (le titre de la fiche est dans la carte). */
.ymc-sp-doc:has(.ymc-sp-dl) > .ymc-sp-info-title { display: none; }
.ymc-sp-dl { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 18px; padding: 18px; border: 1px solid var(--ymc-line); border-radius: var(--ymc-radius); background: var(--ymc-accent-soft); }
.ymc-sp-dl-ico { flex: none; width: 56px; height: 56px; border-radius: 14px; display: grid; place-items: center; background: #fff; color: var(--ymc-accent); }
.ymc-sp-dl-text { flex: 1 1 220px; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ymc-sp-dl-text strong { font-size: 1.08em; font-weight: 600; line-height: 1.3; color: var(--ymc-ink); }
.ymc-sp-dl-sum { color: var(--ymc-ink); line-height: 1.45; }
.ymc-sp-dl-meta { color: var(--ymc-muted); font-size: .86em; }
.ymc-space .ymc-sp-dl-btn { flex: none; display: inline-flex; align-items: center; gap: 8px; }
@media (max-width: 520px) { .ymc-space .ymc-sp-dl-btn { flex: 1 1 100%; justify-content: center; } }
.ymc-space .ymc-sp-docs-back { display: none; margin: 0 0 12px; color: var(--ymc-accent); text-decoration: none; font-weight: 600; }
@media (max-width: 759px) {
    .ymc-sp-docs:not(.has-pick) .ymc-sp-docs-read { display: none; }
    .ymc-sp-docs.has-pick .ymc-sp-docs-nav { display: none; }
    .ymc-space .ymc-sp-docs.has-pick .ymc-sp-docs-back { display: inline-block; }
}
@media (min-width: 760px) {
    .ymc-sp-docs { grid-template-columns: minmax(220px, 300px) 1fr; align-items: start; }
    .ymc-sp-docs-nav { position: sticky; top: 90px; max-height: calc(100vh - 110px); overflow-y: auto; }
    /* Titre et résumé déjà dans le sommaire (choix de Yann) ; gardés sur téléphone, où le sommaire est masqué. */
    .ymc-sp-doc > .ymc-sp-info-title, .ymc-sp-doc > .ymc-sp-info-summary { display: none; }
}
