/* Sommaire latéral — styles neutres, hérités du thème (couleur du texte, police). */
:root{--sml-width:240px;--sml-top:6rem;--sml-accent:currentColor}

.sml{font-size:.875rem;line-height:1.35;margin:0 0 2rem;max-width:100%}
.sml__box{border:1px solid rgba(128,128,128,.35);border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:6px;padding:.65rem .9rem;background:rgba(128,128,128,.07);background:color-mix(in srgb,currentColor 4%,transparent)}
.sml__title{cursor:pointer;font-weight:700;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;list-style:none;display:flex;align-items:center;gap:.5rem;margin:0}
.sml__title::-webkit-details-marker{display:none}
.sml__title::after{content:"";width:.5em;height:.5em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);margin-left:auto;opacity:.6;transition:transform .2s}
.sml__box[open]>.sml__title::after{transform:rotate(-135deg) translate(-2px,-2px)}
.sml__count{opacity:.55;font-weight:500;letter-spacing:0}
.sml ol{list-style:none;margin:.6rem 0 0;padding:0}
.sml ol ol{margin:.1rem 0 .35rem .85rem}
.sml li{margin:0;padding:0}
.sml a{display:block;padding:.3rem .5rem .3rem .65rem;text-decoration:none;color:inherit;opacity:.78;border-left:2px solid transparent;border-radius:0 3px 3px 0;transition:opacity .15s,background .15s}
.sml a:hover,.sml a:focus-visible{opacity:1;background:rgba(128,128,128,.12);background:color-mix(in srgb,currentColor 7%,transparent);outline:none}
.sml a:focus-visible{box-shadow:0 0 0 2px var(--sml-accent)}
.sml a.is-current{opacity:1;color:var(--sml-accent);border-left-color:var(--sml-accent);font-weight:600}
.sml__item--h3 a{font-size:.92em;padding-top:.22rem;padding-bottom:.22rem}
.sml__tab{display:none}

/* Panneau flottant dans la marge (quand elle est assez large) */
.sml--floating{position:fixed;top:var(--sml-top);width:var(--sml-width);margin:0;z-index:20;max-height:calc(100vh - var(--sml-top) - 2rem);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
body.admin-bar .sml--floating{top:calc(var(--sml-top) + 32px);max-height:calc(100vh - var(--sml-top) - 2rem - 32px)}
.sml--floating .sml__box{background:transparent;border:0;border-radius:0;padding:0 0 0 .9rem;border-left:1px solid rgba(128,128,128,.35);border-left:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.sml--floating a{border-left-width:2px}

/* Collé dans un conteneur du thème (barre latérale) */
.sml--docked{position:sticky;top:var(--sml-top);margin:0 0 2rem;max-height:calc(100vh - var(--sml-top) - 2rem);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;z-index:2}
body.admin-bar .sml--docked{top:calc(var(--sml-top) + 32px);max-height:calc(100vh - var(--sml-top) - 2rem - 32px)}
.sml--docked .sml__box{background:transparent;border:0;border-radius:0;padding:0 0 0 .9rem;border-left:1px solid rgba(128,128,128,.35);border-left:1px solid color-mix(in srgb,currentColor 18%,transparent)}

/* Tiroir : languette sur le bord de l'écran, panneau qui glisse par-dessus le texte (marge trop étroite) */
.sml--rail{position:fixed;top:var(--sml-top);width:var(--sml-width);margin:0;z-index:30;background:var(--sml-bg,#fff);border:1px solid rgba(128,128,128,.35);border:1px solid color-mix(in srgb,currentColor 18%,transparent);transition:transform .25s ease,box-shadow .25s ease}
body.admin-bar .sml--rail{top:calc(var(--sml-top) + 32px)}
.sml--rail.sml--left{left:0;border-left:0;border-radius:0 6px 6px 0;transform:translateX(-100%)}
.sml--rail.sml--right{right:0;border-right:0;border-radius:6px 0 0 6px;transform:translateX(100%)}
.sml--rail.is-open{transform:none;box-shadow:0 12px 32px rgba(0,0,0,.18)}
.sml--rail .sml__box{border:0;border-radius:0;background:transparent;padding:.8rem 1rem .9rem;max-height:calc(100vh - var(--sml-top) - 2rem);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
body.admin-bar .sml--rail .sml__box{max-height:calc(100vh - var(--sml-top) - 2rem - 32px)}
.sml--rail .sml__title{pointer-events:none}
.sml--rail .sml__title::after{display:none}
.sml--rail .sml__tab{display:block;position:absolute;top:0;margin:0;border:0;cursor:pointer;background:var(--sml-accent);color:var(--sml-bg,#fff);font:inherit;font-weight:700;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;line-height:1;writing-mode:vertical-rl;padding:.9rem .5rem;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.sml--rail .sml__tab[hidden]{display:none}
.sml--rail.sml--left .sml__tab{left:100%;border-radius:0 6px 6px 0}
.sml--rail.sml--right .sml__tab{right:100%;border-radius:6px 0 0 6px}
.sml--rail .sml__tab:hover{filter:brightness(1.08)}
.sml--rail .sml__tab:focus-visible{outline:2px solid var(--sml-bg,#fff);outline-offset:-4px}

/* Ancres : le titre ne se cache pas sous un en-tête collant */
.sml-h{scroll-margin-top:calc(var(--sml-top) - 2rem)}

@media (prefers-reduced-motion:reduce){.sml *{transition:none!important}}
@media print{.sml{display:none}}
