/* ============ PROFIL ET PAGES LÉGALES ============ */
.prof{
  max-width:560px; margin:min(6vh,60px) auto 0; text-align:center;
  background:var(--surface); border:1px solid var(--line-strong); border-radius:var(--r-xl);
  padding:clamp(24px,4.5vw,38px); box-shadow:var(--sh-2);
}
.prof-back{ float:left; margin-bottom:1em; }
.prof-h{ font-size:clamp(1.5rem,4.4vw,2rem); font-weight:900; clear:both; padding-top:.4em; }
.prof-sub{ color:var(--txt-3); font-size:var(--fs-sm); margin:.5em auto 1.6em; max-width:42ch; }
.prof-av{
  width:132px; height:132px; margin:0 auto 1.6em; border-radius:28px; overflow:hidden;
  border:2px solid var(--violet); background:var(--surface-2); box-shadow:var(--sh-glow);
}
.prof-av svg, .prof-av img{ width:100%; height:100%; display:block; object-fit:cover; }
.prof .pseudo-label{ text-align:left; }
.prof .pseudo-input{ width:100%; margin-bottom:1.2em; }
.prof-actions{ display:flex; gap:.6em; justify-content:center; flex-wrap:wrap; margin-bottom:1.4em; }
.prof-upload{ cursor:pointer; }
.prof-faces{ margin-bottom:1.4em; }

/* --- documents légaux --- */
.legal{ max-width:760px; margin:0 auto; }
.legal-tabs{ display:flex; gap:.4em; flex-wrap:wrap; margin:1.2em 0 1.4em; }
.ltab{
  padding:.5em 1.1em; border-radius:var(--r-pill); cursor:pointer;
  background:rgba(255,255,255,.05); border:1px solid var(--line);
  font-family:var(--f-title); font-weight:700; font-size:var(--fs-xs); color:var(--txt-2);
  transition:all .15s var(--ease);
}
.ltab:hover{ color:var(--txt); border-color:var(--line-strong); }
.ltab.is-on{ background:var(--violet-soft); border-color:var(--violet); color:#C6A9FF; }

.legal-doc{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(20px,3.5vw,36px);
}
.legal-doc h2{ font-size:clamp(1.4rem,3.6vw,1.9rem); font-weight:900; }
.legal-date{ color:var(--txt-3); font-size:var(--fs-xs); margin:.4em 0 1.6em; }
.legal-doc h3{
  font-size:var(--fs-lg); font-weight:800; margin:1.8em 0 .6em; color:var(--violet);
}
.legal-doc h3:first-of-type{ margin-top:0; }
.legal-doc p, .legal-doc li{ font-size:var(--fs-sm); color:var(--txt-2); line-height:1.75; }
.legal-doc ul{ padding-left:1.2em; margin:0 0 1em; }
.legal-doc li{ margin-bottom:.45em; }
.legal-doc strong{ color:var(--txt); }
.legal-doc code{
  font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.9em;
  background:rgba(255,255,255,.07); padding:.1em .4em; border-radius:5px; color:#C6A9FF;
}
.legal-scroll{ overflow-x:auto; margin-bottom:1em; }
.legal-table{ width:100%; border-collapse:collapse; min-width:520px; }
.legal-table th, .legal-table td{
  text-align:left; padding:.6em .7em; border-bottom:1px solid var(--line);
  font-size:var(--fs-xs); color:var(--txt-2);
}
.legal-table th{ color:var(--txt-3); font-family:var(--f-title); font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
