/*
 * Pages légales (templates/legal/) : en-tête, puis sections « titre à gauche, texte à droite » sur la grille.
 */
.legal {
    padding-top: calc(var(--nav-h) + clamp(60px, 14vh, 160px));
    padding-bottom: clamp(80px, 14vh, 180px);
}

.legal__head {
    row-gap: 18px;
    padding-bottom: clamp(40px, 8vh, 100px);
}

.legal__title {
    grid-column: 2 / span 3;
}

.legal__date {
    grid-column: 2 / span 3;
    color: var(--soft, currentColor);
}

.legal__section {
    row-gap: 14px;
    padding-block: clamp(24px, 4vh, 44px);
    border-top: 1px solid var(--line);
}

.legal__h {
    grid-column: 1;
}

.legal__text {
    grid-column: 2 / span 2;
    max-width: 62ch;
    font-size: 16px;
    line-height: 1.55;
}

.legal__text > * + * {
    margin-top: 1em;
}

.legal__text a {
    text-decoration: underline;
    text-underline-offset: .2em;
}

.legal__lead {
    font-size: var(--t-lead);
    line-height: 1.3;
    letter-spacing: -.015em;
}

.legal__sub {
    margin-top: 1.6em;
    font-size: 16px;
    font-weight: 600;
}

.legal__sub + p {
    margin-top: .4em;
}

.legal__list {
    display: grid;
    grid-template-columns: minmax(9em, auto) 1fr;
    column-gap: 24px;
    margin: 1em 0 0;
}

.legal__list dt,
.legal__list dd {
    margin: 0;
    padding-block: 8px;
    border-top: 1px solid var(--line);
}

.legal__list dt {
    font-weight: 600;
}

.legal__list--wide {
    grid-template-columns: 1fr;
}

.legal__list--wide dd {
    border-top: 0;
    padding-top: 0;
}

.legal__credits {
    padding-left: 1.1em;
    list-style: square;
}

.legal__credits li + li {
    margin-top: .4em;
}

@media (max-width: 899px) {
    .legal__title,
    .legal__date,
    .legal__h,
    .legal__text {
        grid-column: 1 / -1;
    }

    .legal__list {
        grid-template-columns: 1fr;
    }

    .legal__list dd {
        border-top: 0;
        padding-top: 0;
    }
}
