/* Alma Patrimoine : pages juridiques (mentions légales, politique de confidentialité, politique de cookies).
   Même système que le site : titre affirmatif, sous-titre, pastilles, puis les sections en cartes numérotées,
   les unes sous les autres, sur toute la largeur. Dans chaque carte : numéro et titre à gauche, texte à droite. */
.legal{padding:calc(72px + clamp(48px,7vw,96px)) 0 clamp(64px,8vw,112px)}
.legal h1{max-width:none;white-space:nowrap}
.legal .sub{max-width:none;text-wrap:pretty}
.legal-date{margin-top:14px;font:500 12px var(--mono);color:var(--mute);letter-spacing:.02em}
.legal-nav{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px}
.legal-nav a{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);font-size:14px;color:var(--ink-2);transition:color .2s ease,border-color .2s ease}
.legal-nav a:hover{color:var(--ink);border-color:rgb(16 20 19 / .3)}
.legal-nav a[aria-current]{background:var(--accent);border-color:transparent;color:#fff}

/* Cartes pleine largeur, empilées */
.legal-body{margin-top:clamp(40px,5vw,64px);display:grid;gap:16px}
.lsec{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:20px clamp(32px,5vw,64px);align-items:center;padding:clamp(24px,2.8vw,40px);border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}
.lhead .mn{display:inline-flex;width:36px;height:36px;border-radius:50%;align-items:center;justify-content:center;font:500 12px var(--mono);background:var(--tint);color:var(--accent)}
.lhead h2{margin:16px 0 0;font-weight:500;font-size:clamp(22px,2vw,28px);letter-spacing:-.025em;line-height:1.1;color:var(--ink);text-wrap:balance}
.lbody{max-width:760px}
.lbody h3{margin:18px 0 6px;font-weight:500;font-size:17px;letter-spacing:-.01em;color:var(--ink);text-wrap:balance}
.lbody>h3:first-child{margin-top:0}
.lbody p,.lbody li,.lbody dd{color:var(--ink-2);font-size:16px;line-height:1.6;text-wrap:pretty}
.lbody p+p,.lbody ul+p,.lbody p+ul,.lbody dl+p,.lbody p+dl{margin-top:10px}
.lbody ul{padding-left:20px}
.lbody li+li{margin-top:4px}
.lbody b{font-weight:500;color:var(--ink)}
.lbody a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.lbody a:hover{color:var(--ink)}
.lbody dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 20px;padding:14px 0 0;border-top:1px solid var(--line)}
.lbody dt{color:var(--mute);font-size:15px;line-height:1.6}
.lbody dd{margin:0}

@media (max-width:760px){.lsec{grid-template-columns:1fr;gap:12px}.lhead h2{margin-top:14px}.legal h1{white-space:normal}}
@media (max-width:640px){.lbody dl{grid-template-columns:1fr;gap:2px 0}.lbody dd{margin-bottom:8px}.lbody dd:last-child{margin-bottom:0}}

/* Téléphones : titres sur une ligne (taille calée sur « Politique de confidentialité. », la plus longue, pour les trois pages),
   pastilles l'une sous l'autre dans l'ordre du pied de page (mentions, cookies, confidentialité), e-mail du contact à la ligne */
.m-br{display:none}
@media (max-width:560px){
  .legal h1{white-space:nowrap;font-size:min(36px,calc((100vw - 2 * var(--pad)) * .085))}
  .legal-nav{flex-direction:column}
  .legal-nav a{display:flex;width:100%}
  .legal-nav a[href$="politique-de-cookies.html"]{order:1}
  .legal-nav a[href$="politique-de-confidentialite.html"]{order:2}
  .m-br{display:inline}
}

/* iPad (641 à 1080 px) : listes à deux colonnes (ex. « Durées de conservation ») en une seule colonne, libellé au-dessus de sa valeur */
@media (min-width:641px) and (max-width:1080px){.lbody dl{grid-template-columns:1fr;gap:2px 0}.lbody dd{margin-bottom:10px}.lbody dd:last-child{margin-bottom:0}}

/* Impression : texte seul, sans navigation ni pied de page */
@media print{.nav,.legal-nav,footer{display:none}.legal{padding-top:0}.lsec{border:0;padding:0 0 16px;grid-template-columns:1fr}}
