/* ============================================================
   FocusLab — legal.css (additif, scopé body.legal-page)
   Mentions légales + Politique de confidentialité.
   Même grammaire que le reste du site : label Syne, titre
   Bricolage 500, filets --line, colonne de lecture. Hydratation
   (#mentions-content, .back, .sub, .notice, .divider, .update)
   intacte, focuslab.css inchangé.
   ============================================================ */

/* ── Échelle commune ── */
body.legal-page .nav-r a.l{font-size:.7rem;white-space:nowrap}
body.legal-page .theme-btn{font-size:.62rem;white-space:nowrap}
body.legal-page .nav-cta{font-size:.64rem;white-space:nowrap;padding:10px 16px}
body.legal-page #construction-bar .cb-close{white-space:nowrap;font-size:.56rem}
body.legal-page .vf{display:none!important}
body.legal-page .foot{padding:clamp(56px,7vw,88px) 0 44px}
body.legal-page .foot-tag{font-size:1.35rem;color:var(--title)}
body.legal-page .foot-leg{font-size:.62rem;white-space:nowrap;flex-shrink:0}

/* ── Page : même marge haute que Contact / Services ── */
body.legal-page .pmain{padding:clamp(180px,22vh,230px) 0 clamp(88px,11vw,150px)}
body.legal-page.has-banner .pmain{padding-top:clamp(218px,26vh,268px)}
body.legal-page.has-disclaimer .pmain{padding-top:clamp(213px,25vh,263px)}
body.legal-page.has-banner.has-disclaimer .pmain{padding-top:clamp(250px,29vh,300px)}

/* ── En-tête : retour en label, titre grand 500, sous-titre en filet ── */
body.legal-page .legal{max-width:none;font-size:1.02rem;line-height:1.8}
body.legal-page .legal .back{font-size:.7rem;letter-spacing:.26em;color:var(--o-text);margin-bottom:22px}
body.legal-page .legal .back:hover{color:var(--title)}
body.legal-page .legal h1{font-weight:500;letter-spacing:-.035em;line-height:.96;font-size:clamp(2.8rem,5.6vw,5rem);margin:0 0 22px;max-width:14ch}
body.legal-page .legal h1 em{font-style:normal;color:var(--o-text)}
body.legal-page .legal .sub{font-size:.7rem;letter-spacing:.2em;color:var(--muted);margin:0;padding:0 0 26px;border-bottom:1px solid var(--line)}

/* Avertissement : plus de boîte à bord orange, un paragraphe en filet avec un trait orange court */
body.legal-page .legal .notice{background:none;border:0;padding:26px 0 0;margin:0;font-size:.98rem;color:var(--title);line-height:1.7;max-width:64ch;position:relative}
body.legal-page .legal .notice::before{content:"";display:block;width:44px;height:2px;background:var(--o);margin-bottom:16px}

/* ── Corps : grille numéro / texte, un article par filet ── */
body.legal-page .legal h2{font-family:var(--display);font-weight:500;font-size:clamp(1.3rem,2vw,1.6rem);letter-spacing:-.025em;line-height:1.15;color:var(--title);margin:0;padding:clamp(28px,4vw,40px) 0 12px;border-top:1px solid var(--line);max-width:none}
body.legal-page .legal .notice + h2,body.legal-page .legal .sub + h2{border-top:0;padding-top:clamp(28px,4vw,40px)}
body.legal-page .legal .notice + h2{margin-top:clamp(28px,4vw,40px);border-top:1px solid var(--line)}
body.legal-page .legal h3{font-size:.68rem;letter-spacing:.2em;color:var(--o-text);margin:22px 0 8px}
body.legal-page .legal p:not(.sub),body.legal-page .legal ul{max-width:68ch;color:var(--text)}
body.legal-page .legal p{margin:0 0 14px}
body.legal-page .legal p:last-child{margin-bottom:0}
body.legal-page .legal strong{color:var(--title);font-weight:500}
body.legal-page .legal a{color:var(--title);border-bottom:1px solid color-mix(in srgb,var(--title) 35%,transparent);transition:color .2s var(--e-out),border-color .2s var(--e-out)}
body.legal-page .legal a:hover{color:var(--o-text);border-color:var(--o);text-decoration:none}
body.legal-page .legal .back{border-bottom:0}
body.legal-page .legal ul{margin:0 0 14px;padding:0;list-style:none}
body.legal-page .legal li{position:relative;padding-left:22px;margin-bottom:8px}
body.legal-page .legal li::before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:var(--o)}
body.legal-page .legal .divider{margin:clamp(36px,5vw,56px) 0 18px}
body.legal-page .legal .update{font-size:.68rem;letter-spacing:.2em;color:var(--muted)}

/* Large écran : colonne de lecture décalée à droite, en-tête pleine largeur */
@media(min-width:1100px){
  body.legal-page .legal{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:clamp(40px,6vw,96px)}
  body.legal-page .legal > *{grid-column:2}
  body.legal-page .legal .back,body.legal-page .legal h1,body.legal-page .legal .sub{grid-column:1/-1}
  body.legal-page .legal .sub{margin-bottom:0}
}

/* ── Mobile ── */
@media(max-width:760px){
  body.legal-page .pmain{padding-top:120px}
  body.legal-page.has-banner .pmain{padding-top:clamp(170px,24vh,210px)}
  body.legal-page.has-disclaimer .pmain{padding-top:clamp(165px,23vh,205px)}
  body.legal-page.has-banner.has-disclaimer .pmain{padding-top:clamp(200px,27vh,240px)}
  body.legal-page .legal h1{font-size:clamp(2.4rem,11vw,3.4rem)}
  body.legal-page .legal{font-size:.98rem;line-height:1.75}
  body.legal-page .foot-leg{white-space:normal}
}
/* Smartphone étroit (≈395 px) : échelle resserrée, alignée sur Contact mobile */
@media(max-width:480px){
  body.legal-page .wrap{padding:0 20px}
  body.legal-page .nav{padding:12px 20px}
  body.legal-page .nav-r{gap:8px}
  body.legal-page .theme-btn{font-size:.56rem;padding:8px 10px}
  body.legal-page .nav-cta{font-size:.56rem;letter-spacing:.12em;padding:9px 12px}
  body.legal-page .pmain{padding-top:104px;padding-bottom:56px}
  body.legal-page .legal{font-size:.92rem;line-height:1.65}
  body.legal-page .legal .back{font-size:.58rem;letter-spacing:.16em;margin-bottom:18px;white-space:normal}
  body.legal-page .legal h1{font-size:2rem;line-height:1;letter-spacing:-.03em;margin-bottom:14px;max-width:none;overflow-wrap:anywhere}
  body.legal-page .legal .sub{font-size:.58rem;letter-spacing:.1em;line-height:1.7;padding-bottom:18px;white-space:normal;overflow-wrap:anywhere}
  body.legal-page .legal .notice{font-size:.9rem;line-height:1.6;padding-top:18px}
  body.legal-page .legal .notice::before{width:32px;margin-bottom:12px}
  body.legal-page .legal .notice + h2{margin-top:24px}
  body.legal-page .legal h2{font-size:1.15rem;padding:22px 0 8px;overflow-wrap:anywhere}
  body.legal-page .legal h3{font-size:.6rem;letter-spacing:.14em;margin:16px 0 6px;white-space:normal}
  body.legal-page .legal p{margin-bottom:10px}
  body.legal-page .legal li{margin-bottom:6px;padding-left:18px}
  body.legal-page .legal p,body.legal-page .legal li,body.legal-page .legal a{overflow-wrap:anywhere;word-break:break-word}
  body.legal-page .legal .divider{margin:28px 0 14px}
  body.legal-page .legal .update{font-size:.58rem;letter-spacing:.12em;line-height:1.7;white-space:normal}
  body.legal-page .foot{padding:44px 0 32px}
  body.legal-page .foot-tag{font-size:1.1rem}
}
@media(prefers-reduced-motion:reduce){body.legal-page *{transition:none!important}}
