/* Mentions légales */

.legal-hero { padding-block: clamp(32px, 4vw, 56px); background: var(--ivoire); border-bottom: 1px solid var(--ligne); }
.legal-hero .breadcrumb { margin-bottom: 40px; }
.legal-hero__meta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 28px; font-size: 14px; color: var(--texte-2); }

.legal { padding-top: clamp(48px, 4.5vw, 64px); }
.legal__grid { display: grid; grid-template-columns: 280px minmax(0, 720px); gap: clamp(40px, 6.5vw, 96px); }
.legal__toc { position: sticky; top: calc(var(--header-h) + 32px); align-self: start; display: grid; gap: 10px; }
.legal__toc ol { display: grid; gap: 2px; }
.legal__toc a { position: relative; display: flex; gap: 14px; padding: 10px 12px; font-size: 15px; color: var(--texte-2); border-left: 2px solid transparent; transition: background var(--t) var(--ease), color var(--t) var(--ease), border-color var(--t) var(--ease); }
.legal__toc a span { font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em; color: var(--laiton-encre); padding-top: 2px; }
.legal__toc a:hover { color: var(--nuit); }
.legal__toc a.is-active { background: var(--blanc); color: var(--nuit); font-weight: 600; border-color: var(--laiton); }

.legal__content { display: grid; gap: 56px; }
.legal__section { display: grid; gap: 14px; scroll-margin-top: calc(var(--header-h) + 32px); }
.legal__section h2 { margin-bottom: 6px; }
.legal__section p { font-size: 16px; line-height: 1.75; color: var(--texte-2); }
.legal__section a { color: var(--nuit); text-decoration: underline; text-decoration-color: var(--laiton); text-underline-offset: 3px; transition: text-decoration-color var(--t) var(--ease); }
.legal__section a:hover { text-decoration-color: var(--nuit); }

.sitemap { display: grid; gap: 10px; font-size: 16px; }
.sitemap ul { display: grid; gap: 8px; margin-top: 10px; padding-left: 20px; border-left: 1px solid var(--ligne); }

@media (max-width: 899px) {
  .legal__grid { grid-template-columns: 1fr; }
  .legal__toc { position: static; padding-bottom: 24px; border-bottom: 1px solid var(--ligne); }
}
