/* ==========================================================================
   PAGES LÉGALES — lisibilité d'abord : mesure confortable, sommaire collant.
   ========================================================================== */

.legal {
    row-gap: var(--esp-l);
    padding-bottom: var(--esp-2xl);
}

.legal__aside {
    display: grid;
    gap: var(--esp-m);
    align-content: start;
}

.legal__date {
    color: var(--discret);
}

.legal__foi {
    padding: var(--esp-s);
    border: var(--trait) solid var(--c-encre);
    font-size: var(--fs-legende);
}

.legal__foi a {
    display: inline-block;
    margin-top: 0.3rem;
    font-weight: 600;
}

.legal__sommaire-titre {
    margin-bottom: var(--esp-xs);
    color: var(--discret);
}

.legal__sommaire ol,
.legal__autres ul {
    display: grid;
    gap: 0.15rem;
}

.legal__sommaire a,
.legal__autres a {
    display: inline-block;
    padding-block: 0.35rem;
    font-size: var(--fs-legende);
    line-height: 1.3;
}

.legal__sommaire .mono {
    color: var(--c-rouge);
    margin-right: 0.3rem;
}

.legal__texte {
    display: grid;
    gap: var(--esp-l);
    max-width: var(--mesure);
}

.legal__section {
    display: grid;
    gap: var(--esp-s);
    scroll-margin-top: calc(var(--hauteur-entete) + var(--esp-s));
}

.legal__titre {
    display: flex;
    align-items: baseline;
    gap: var(--esp-xs);
    padding-top: var(--esp-s);
    border-top: var(--trait) solid var(--c-encre);
    font-family: var(--f-display);
    font-size: var(--fs-sous-titre);
    font-weight: 800;
    line-height: 1.05;
    text-transform: uppercase;
}

.legal__num {
    color: var(--c-rouge);
}

.legal__liste {
    display: grid;
    gap: 0.35rem;
    padding-left: 1.2rem;
}

.legal__liste li::marker {
    color: var(--c-rouge);
}

/* Valeur d'exemple encore présente : surlignée pour ne pas passer inaperçue. */
.a-completer {
    padding-inline: 0.15em;
    background: rgb(255 214 0 / 0.55);
    color: inherit;
}

.legal__autres {
    padding-top: var(--esp-m);
    border-top: 1px solid var(--filet);
}

@media (min-width: 64em) {
    .legal__aside {
        grid-column: 1 / span 4;
        position: sticky;
        top: calc(var(--hauteur-entete) + var(--esp-m));
        align-self: start;
        max-height: calc(100vh - var(--hauteur-entete) - var(--esp-l));
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    .legal__texte {
        grid-column: 6 / span 7;
    }
}

@media print {
    .entete, .pied, .legal__aside, .menu-mobile { display: none !important; }
    .legal__texte { grid-column: 1 / -1; max-width: none; }
    .a-completer { background: none; }
}
