/* PAGES LÉGALES. Un texte de droit se lit mal quand il ressemble à un texte de droit : ici, chaque
   article commence par une phrase en gras qui le résume, le sommaire reste à portée de main, et
   les tableaux disent oui ou non avant de dire pourquoi. Rien ne bouge : on vient ici pour
   vérifier quelque chose, pas pour être séduit. */
.legal{max-width:1180px;margin:0 auto;padding:clamp(28px,5vw,64px) var(--gouttiere) clamp(56px,8vw,110px);display:grid;gap:clamp(28px,5vw,72px)}
@media(min-width:980px){.legal{grid-template-columns:260px minmax(0,1fr);align-items:start}}
.legal .sommaire{font-size:.92rem}
@media(min-width:980px){.legal .sommaire{position:sticky;top:84px;max-height:calc(100vh - 110px);overflow:auto}}
.legal .sommaire p{margin-bottom:12px}
.legal .sommaire ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:s}
.legal .sommaire li{counter-increment:s}
.legal .sommaire a{display:grid;grid-template-columns:26px 1fr;gap:4px;padding:6px 8px;border-radius:8px;text-decoration:none;color:var(--encre-douce);line-height:1.3}
.legal .sommaire a::before{content:counter(s);font-family:var(--mono);font-size:.74rem;color:var(--terre);padding-top:2px}
.legal .sommaire a:hover{background:var(--brume);color:var(--encre)}
@media(max-width:979px){.legal .sommaire{border:1.5px solid color-mix(in srgb,var(--vert) 35%,transparent);border-radius:18px;padding:16px}}

.corps{max-width:70ch;counter-reset:art}
.corps h1{font-size:clamp(2.3rem,1.5rem + 3.6vw,4rem)}
.corps .maj{margin-top:14px;color:var(--terre)}
.corps .ouverture{margin-top:22px;font-size:1.12em;color:var(--encre)}
.bref{margin:30px 0 8px;padding:24px 26px;border-radius:24px;background:var(--nuit);color:var(--papier)}
.bref h2{font-size:1.35rem;color:var(--safran);margin-bottom:12px}
.bref ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.bref li{display:grid;grid-template-columns:20px 1fr;gap:10px;line-height:1.45;font-size:.99rem}
.bref li::before{content:"";width:9px;height:16px;margin-top:4px;border-radius:5px 5px 1px 1px;background:var(--safran)}
.corps .bref li,.corps .bref p{color:var(--papier)}
.bref a{color:var(--papier)}

.corps section{counter-increment:art;padding-top:44px;scroll-margin-top:80px}
.corps section>h2{font-size:clamp(1.5rem,1.2rem + 1.3vw,2.1rem);display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline;margin-bottom:14px}
.corps section>h2::before{content:counter(art,decimal-leading-zero);font-family:var(--mono);font-size:.82rem;color:var(--terre);letter-spacing:.06em}
.corps h3{margin:26px 0 8px;font-size:1.18rem}
.corps p,.corps li{color:var(--encre)}
.corps p+p{margin-top:12px}
.corps .cle{font-weight:650;font-size:1.06em}
.corps ul,.corps ol{margin:12px 0 0;padding-left:1.2em;display:grid;gap:8px}
.corps .note{margin-top:16px;padding:14px 18px;border-left:3px solid var(--laiton);background:var(--brume);border-radius:0 12px 12px 0;font-size:.96rem}
.corps .fiche-id{margin-top:14px;display:grid;gap:0;border-top:1.5px solid color-mix(in srgb,var(--encre) 20%,transparent)}
.corps .fiche-id div{display:grid;gap:2px;padding:11px 0;border-bottom:1.5px solid color-mix(in srgb,var(--encre) 20%,transparent)}
@media(min-width:620px){.corps .fiche-id div{grid-template-columns:210px 1fr;gap:16px}}
.corps .fiche-id dt{font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--encre-douce);padding-top:3px}
.corps .fiche-id dd{margin:0}
.corps address{font-style:normal;margin-top:14px;padding:18px 20px;border-radius:16px;background:var(--brume);line-height:1.6}

/* Tableaux : ils deviennent des fiches empilées sur téléphone, jamais une barre de défilement. */
.tab{width:100%;border-collapse:collapse;margin-top:16px;font-size:.95rem}
.tab th{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--encre-douce);font-weight:400;padding:0 12px 8px 0;vertical-align:bottom}
.tab td{padding:12px 12px 12px 0;border-top:1.5px solid color-mix(in srgb,var(--encre) 20%,transparent);vertical-align:top;line-height:1.45}
.tab td:first-child{font-weight:650}
.oui{color:var(--vert);font-weight:700}.non{color:var(--terre);font-weight:700}
@media(max-width:700px){
  .tab thead{position:absolute;left:-9999px}
  .tab,.tab tbody,.tab tr,.tab td{display:block}
  .tab tr{border-top:1.5px solid color-mix(in srgb,var(--encre) 20%,transparent);padding:12px 0}
  .tab td{border:0;padding:3px 0}
  .tab td[data-t]::before{content:attr(data-t) " : ";font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--encre-douce)}
  .tab td:first-child::before{content:none}
}
.retour{display:inline-block;margin-bottom:22px;font-weight:600;text-decoration:none}
@media print{.tete,.sommaire,.atelier,.pied nav{display:none}.legal{display:block}.bref{background:none;color:#000;border:1px solid #000}.bref h2{color:#000}}
