/* Section — Contenu légal (V3) : sommaire 300 + texte 760 (gap 40) desktop ; sélecteur repliable + blocs mobile (gap 28). */
.legal__inner { display: flex; flex-direction: column; gap: var(--space-28); }
.legal__sidebar { display: none; }
.legal__select { padding: 0; gap: 0; }
.legal__summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-12); padding: var(--space-16); cursor: pointer; list-style: none; border-radius: var(--radius-20); }
.legal__summary::-webkit-details-marker { display: none; }
.legal__summary > span { display: flex; flex-direction: column; gap: var(--space-4); }
.legal__summary:focus-visible { box-shadow: var(--focus-ring); }
.legal__select[open] .legal__summary .icon { transform: rotate(180deg); }
.legal__select .legal__links { padding: 0 var(--space-8) var(--space-8); }
.legal__links { display: flex; flex-direction: column; gap: var(--space-4); }
.legal__link { display: flex; align-items: center; min-height: var(--size-target-44); padding: var(--space-12); border-radius: var(--radius-12); transition: background-color var(--transition), color var(--transition); }
.legal__link:hover { background: var(--brandt-white); }
.legal__link:focus-visible { box-shadow: var(--focus-ring); }
.legal__link.is-current { background: var(--brandt-white); color: var(--brandt-red); font-size: var(--text-cta-size); line-height: var(--text-cta-lh); font-weight: var(--text-cta-weight); }
.legal__text { display: flex; flex-direction: column; gap: var(--space-28); }
.legal__block, .legal__text > * { display: flex; flex-direction: column; gap: var(--space-8); }
.legal__text h2 { font-size: var(--text-h2-size); line-height: var(--text-h2-lh); font-weight: var(--text-h2-weight); }
.legal__text ul, .legal__text ol { padding-left: var(--space-20); }
@media (min-width: 1024px) {
  .legal__inner { flex-direction: row; align-items: flex-start; gap: var(--space-40); }
  .legal__nav { flex: 0 0 var(--size-legal-nav); position: sticky; top: calc(var(--header-height) + var(--space-24)); }
  .legal__select { display: none; }
  .legal__sidebar { display: flex; padding: var(--space-20); gap: var(--space-4); }
  .legal__text { flex: 0 1 var(--size-text-max); max-width: var(--size-text-max); gap: var(--space-40); }
  .legal__block, .legal__text > * { gap: var(--space-12); }
}
.page-content { max-width: var(--size-text-max); margin-inline: auto; } /* page générique (page.php, index.php) : texte à 760 de large, centré */
