/*! legal.css — pages d'information (mentions légales, confidentialité, conditions générales, accessibilité), après styles.css et content.css. v2 : en-tête allégé, plus d'air entre les parties. */
@layer pages {
.legal-docs ul, .legal-checks, .legal-cards, .legal-facts, .legal-schedule ol, .legal-probe ul { list-style: none; padding: 0; }
.legal-num, .toc__num, .legal-card dt, .legal-table td::before { font-family: var(--font-mono); font-size: var(--text-label); font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; }
.legal-docs ul { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.legal-updated-top { font-size: var(--step--1); color: var(--c-text-3); }
.legal-docs { margin-block-start: var(--space-m); }
.legal-docs .chip[aria-current="page"] { background: var(--c-text); color: var(--c-bg); border-color: var(--c-text); }
.toc__count, .legal-fact .label, .legal-card dt, .legal-probe__head, .legal-schedule .label, .legal-table caption { color: var(--c-text-3); }
.legal { display: grid; gap: var(--space-l); }
.legal__main { display: grid; gap: var(--space-xl); min-inline-size: 0; max-inline-size: 46rem; }
.legal__main > * { min-inline-size: 0; }
@media (min-width: 64em) {
.legal { grid-template-columns: 17rem minmax(0, 1fr); column-gap: var(--space-2xl); align-items: start; }
.legal__aside { position: sticky; inset-block-start: calc(var(--header-h) + var(--space-m)); max-block-size: calc(100vh - var(--header-h) - 2 * var(--space-m)); overflow-y: auto; }
}
.toc { border: 1px solid var(--c-line-strong); border-radius: var(--radius-m); background: var(--c-raised); }
.toc > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-block-size: 3rem; padding: 0.25rem 1rem; cursor: pointer; list-style: none; border-radius: inherit; }
.toc > summary::-webkit-details-marker { display: none; }
.toc__chev { inline-size: 1.1rem; block-size: 1.1rem; transition: rotate var(--dur-2) var(--ease-out); }
.toc[open] .toc__chev { rotate: 180deg; }
@media (max-width: 63.99em) { .js .toc:not([data-ready]) > ol { display: none; } }
.toc ol { display: grid; gap: 1px; list-style: none; margin: 0; padding: 0 0.5rem 0.75rem; }
.toc a { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); align-items: baseline; min-block-size: 2.5rem; padding: 0.5rem; border-radius: var(--radius-s); color: var(--c-text-2); font-size: var(--step--1); line-height: 1.35; text-decoration: none; }
.toc a:hover, .toc a.is-current { background: var(--c-tint); color: var(--c-text); }
.toc a.is-current { box-shadow: inset 2px 0 0 var(--c-accent); }
.toc__num { color: var(--c-text-3); }
.toc a.is-current .toc__num { color: var(--c-accent-text); }
@media (min-width: 64em) {
.toc { border: 0; background: none; }
.toc > summary { min-block-size: 2.5rem; padding-inline: 0.5rem; }
.toc ol { padding: 0.25rem 0 0; border-block-start: 1px solid var(--c-line); }
}
.legal .prose { max-inline-size: none; }
.legal .prose h2 { display: flex; align-items: baseline; gap: 0.85rem; font-size: var(--step-2); margin-block-start: var(--space-xl); padding-block-start: var(--space-l); border-block-start: 1px solid var(--c-line); }
.legal .prose h2 + * { margin-block-start: var(--space-s); }
.legal .prose > p, .legal .prose > ul:not([class]) { color: var(--c-text-2); }
.legal .prose strong { color: var(--c-text); }
.legal .prose > h2:first-child { margin-block-start: 0; padding-block-start: 0; border: 0; }
.legal .prose h3 { font-size: var(--step-1); margin-block-start: var(--space-l); }
.legal-num { flex: none; color: var(--c-accent-text); translate: 0 -0.35em; }
.legal-facts, .legal-cards { display: grid; gap: 1px; background: var(--c-line); border: 1px solid var(--c-line); border-radius: var(--radius-l); overflow: hidden; }
.legal-fact, .legal-card { display: grid; align-content: start; gap: 0.5rem; padding: var(--space-m); background: var(--c-raised); }
.legal-fact__v { font-family: var(--font-mono); font-size: var(--step-2); font-weight: 500; line-height: 1.1; letter-spacing: -0.02em; }
.legal-fact__v--word { font-family: var(--font-sans); font-weight: 650; letter-spacing: -0.03em; }
.legal-fact__t, .legal-card, .legal-contact p, .legal-schedule li, .legal-probe { font-size: var(--step--1); line-height: 1.55; color: var(--c-text-2); }
.legal-facts .legal-fact { padding: var(--space-s); }
@media (min-width: 20em) { .legal-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 40em) { .legal-facts .legal-fact { padding: var(--space-m); } }
@media (min-width: 48em) { .legal-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.legal .prose .legal-card > *, .legal .prose .legal-card dd, .legal .prose li.legal-card { margin: 0; }
.legal .prose .legal-card h3 { color: var(--c-text); line-height: 1.25; }
.legal-card dl { display: grid; gap: 0.6rem; }
.legal .cartouche { --cols: 1; }
.legal .cartouche dd { margin-block-start: 0.1rem; overflow-wrap: anywhere; }
@media (min-width: 40em) { .legal .cartouche { --cols: 2; } }
.legal-checks { display: grid; border-block-start: 1px solid var(--c-line); }
.legal .prose .legal-checks > li { display: grid; grid-template-columns: 1.75rem minmax(0, 1fr); gap: 0.5rem; margin: 0; padding-block: 0.75rem; border-block-end: 1px solid var(--c-line); }
.legal-checks .icon { margin-block-start: 0.25rem; color: var(--c-led-text); }
.legal-checks--no .icon { color: var(--c-text-3); }
.legal-table { overflow-x: auto; border: 1px solid var(--c-line); border-radius: var(--radius-m); background: var(--c-raised); }
.legal-table caption { padding: 0.75rem 0.85rem 0; text-align: start; }
.legal-table tr:last-child > * { border-block-end: 0; }
@media (max-width: 39.99em) {
.legal-table thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
.legal-table tr { display: grid; padding-block: 0.4rem; border-block-end: 1px solid var(--c-line); }
.legal-table th, .legal-table td { display: block; padding-block: 0.3rem; border: 0; }
.legal-table td::before { content: attr(data-label); display: block; color: var(--c-text-3); }
}
.legal-schedule, .legal-contact, .legal-probe { display: grid; gap: var(--space-s); padding: var(--space-m); border: 1px solid var(--c-line); border-radius: var(--radius-m); background: var(--c-raised); }
.legal-schedule ol { display: grid; gap: var(--space-s); }
.legal .prose .legal-schedule li { display: grid; gap: 0.35rem; margin: 0; }
.legal-schedule__bar { inline-size: calc(var(--w, 100) * 1%); margin-inline-start: calc(var(--o, 0) * 1%); block-size: 0.6rem; border-radius: var(--radius-pill); background: var(--c-accent); }
.legal-schedule li:nth-child(2) .legal-schedule__bar { background: color-mix(in oklab, var(--c-accent) 60%, var(--c-raised)); }
.legal-schedule li:nth-child(3) .legal-schedule__bar { background: color-mix(in oklab, var(--c-accent) 30%, var(--c-raised)); box-shadow: inset 0 0 0 1px var(--c-accent); }
.legal-schedule__pct { font-family: var(--font-mono); font-size: var(--step-2); font-weight: 500; line-height: 1; color: var(--c-text); }
@media (min-width: 40em) { .legal-schedule ol { grid-template-columns: 4fr 3fr 3fr; } .legal-schedule__bar { inline-size: auto; margin: 0; } }
.legal-contact { padding-inline: var(--space-l); border-color: var(--c-line-strong); border-inline-start: 3px solid var(--c-accent); }
.legal .prose .legal-contact > *, .legal .prose .legal-probe > *, .legal .prose .legal-probe dd { margin: 0; }
.legal .prose .legal-contact__title { font-size: var(--step-1); line-height: 1.25; }
.legal .prose .legal-contact .btn { text-decoration: none; overflow-wrap: anywhere; }
.legal-probe { border-style: dashed; border-color: var(--c-line-strong); background: var(--c-bg); }
.legal-probe .btn { white-space: normal; text-align: start; }
.legal-probe__head { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; }
.legal-probe dl { display: grid; gap: 0.5rem; margin: 0; }
.legal-probe dl > div { display: grid; gap: 0.15rem; padding-block-end: 0.5rem; border-block-end: 1px solid var(--c-line); }
.legal-probe dd { font-family: var(--font-mono); color: var(--c-text); overflow-wrap: anywhere; }
.legal-probe dd span { font-family: var(--font-sans); color: var(--c-text-2); }
@media (min-width: 48em) { @media (min-width: 64em) { @media print { .legal { display: block; } .legal__aside, .legal-docs, .legal-probe { display: none; } .legal .prose > p, .legal .prose > ul:not([class]) { color: inherit; } }
}
