.legal-header {
    padding-bottom: 8px;
}

.legal-hero {
    max-width: 860px;
    padding: 42px 0 12px;
}

.legal-hero h1 {
    margin: 16px 0 14px;
    font-size: clamp(2.6rem, 7vw, 4.8rem);
    line-height: 0.96;
    letter-spacing: -0.05em;
}

.legal-hero p,
.legal-toc a,
.legal-meta p,
.legal-section p,
.legal-update {
    color: var(--muted);
}

.legal-hero p {
    margin: 0;
    max-width: 760px;
    font-size: 1.03rem;
}

.legal-main {
    padding: 26px 0 84px;
}

.legal-container {
    max-width: 1280px;
}

.legal-toc {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    padding-bottom: 24px;
    margin-bottom: 22px;
    border-bottom: 1px solid var(--line);
}

.legal-toc a {
    font-size: 0.95rem;
    transition: color var(--transition);
}

.legal-toc a:hover,
.legal-toc a:focus-visible {
    color: var(--gold-soft);
}

.legal-meta {
    display: grid;
    gap: 8px;
    padding-bottom: 28px;
    margin-bottom: 30px;
    border-bottom: 1px solid var(--line);
}

.legal-meta p,
.legal-section p {
    margin: 0;
}

.legal-meta strong,
.legal-section strong,
.legal-update strong {
    color: var(--text);
}

.legal-document {
    display: grid;
    gap: 34px;
}

.legal-section {
    display: grid;
    gap: 14px;
}

.legal-section h2 {
    margin: 0;
    font-size: clamp(1.3rem, 2vw, 1.75rem);
    line-height: 1.2;
}

.legal-update {
    padding-top: 24px;
    border-top: 1px solid var(--line);
    font-size: 0.95rem;
}

@media (max-width: 699px) {
    .legal-main {
        padding-top: 14px;
    }

    .legal-toc {
        display: grid;
        gap: 8px;
    }

    .legal-document {
        gap: 28px;
    }
}


/* Correction ciblée page mentions légales :
   quand le menu mobile est ouvert, le contenu juridique et le footer
   sont masqués pour reproduire le comportement propre des autres pages. */
body.page-legal.is-nav-open .legal-main,
body.page-legal.is-nav-open .site-footer {
    visibility: hidden;
}

body.page-legal.is-nav-open .legal-header,
body.page-legal.is-nav-open .site-nav,
body.page-legal.is-nav-open .site-nav__drawer,
body.page-legal.is-nav-open .site-nav__dialog {
    visibility: visible;
}

@media (max-width: 1079px) {
    body.page-legal.is-nav-open {
        overflow: hidden;
    }

    body.page-legal .legal-main {
        transition: visibility 0s linear 0s;
    }

    body.page-legal .site-nav__dialog,
    body.page-legal .site-nav__dialog-body {
        background: linear-gradient(180deg, rgba(13, 13, 13, 1), rgba(6, 6, 6, 1));
    }
}


