/* ============================================================
   PAGES LÉGALES — « Le Registre »
   Charte dédiée aux pages Mentions légales / Confidentialité :
   volontairement à l'opposé du reste du site (sombre, peinture,
   organique) — ici : papier clair, dossier officiel, structuré.
   Le nav et le footer restent ceux du site pour ne pas perdre
   le visiteur ; tout le contenu de page est spécifique.
   ============================================================ */

.legal-page{
  background:#F2E9D8;
  color:#2A2015;
}

/* halos très discrets + grain, pour ne pas laisser un aplat mort */
.legal-page::before{
  content:'';
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(circle at 15% 10%, rgba(232,162,61,0.10), transparent 42%),
    radial-gradient(circle at 88% 78%, rgba(62,124,177,0.07), transparent 46%),
    radial-gradient(circle at 50% 100%, rgba(127,162,91,0.06), transparent 50%);
}
.legal-page::after{
  content:'';
  position:fixed; inset:0; z-index:0; pointer-events:none;
  opacity:0.5; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.15  0 0 0 0 0.12  0 0 0 0 0.08  0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ------------------------------------------------------------
   EN-TÊTE DE DOSSIER
   ------------------------------------------------------------ */
.legal-masthead{
  position:relative; z-index:2;
  padding:9rem 6vw 4rem; text-align:center;
  border-bottom:1px solid rgba(42,32,21,0.14);
}
.legal-crumb{
  display:inline-flex; align-items:center; gap:0.45rem;
  font-family:'JetBrains Mono', monospace; font-size:0.7rem;
  letter-spacing:0.1em; text-transform:uppercase; color:#6b5c44;
  text-decoration:none; margin-bottom:2rem;
  border:1px solid rgba(42,32,21,0.18); padding:0.5rem 1rem; border-radius:99px;
  transition:border-color .2s ease, color .2s ease, background .2s ease;
}
.legal-crumb:hover{ border-color:#B9791F; color:#1D1610; background:rgba(232,162,61,0.1); }

.legal-seal{ width:84px; height:84px; margin:0 auto 1.4rem; display:block; }
.legal-seal .ring-out{ fill:none; stroke:#B9791F; stroke-width:1.4; }
.legal-seal .ring-in{ fill:none; stroke:#B9791F; stroke-width:1; stroke-dasharray:2.2 4.4; opacity:0.75; }
.legal-seal .mono{ font-family:'Baloo 2', cursive; font-weight:800; fill:#1D1610; }
.legal-seal .tag{ font-family:'JetBrains Mono', monospace; letter-spacing:2px; fill:#8a6a2f; }

.legal-ref{
  font-family:'JetBrains Mono', monospace; font-size:1.0625rem;
  letter-spacing:0.13em; text-transform:uppercase; color:#8a6a2f; font-weight:500;
}
.legal-masthead h1{
  font-family:'Fraunces', serif; font-weight:700;
  font-size:clamp(2.25rem, 5vw, 3.55rem); line-height:1.08;
  color:#1D1610; margin:0.7rem 0 1.1rem;
}
.legal-masthead .legal-sub{
  color:#5c4f3d; max-width:56ch; margin:0 auto; font-size:1rem; line-height:1.7;
}
.legal-updated{
  margin-top:1.8rem; display:inline-flex; align-items:center; gap:0.5rem;
  font-family:'JetBrains Mono', monospace; font-size:0.66rem;
  letter-spacing:0.1em; text-transform:uppercase; color:#8a7455;
  border-top:1px solid rgba(42,32,21,0.15); padding-top:1rem;
}
.legal-updated b{ color:#B9791F; }

.legal-swap{
  margin-top:1.2rem; font-family:'JetBrains Mono', monospace; font-size:0.7rem;
  letter-spacing:0.06em; color:#6b5c44;
}
.legal-swap a{ color:#B9791F; text-decoration:underline; text-decoration-color:rgba(185,121,31,0.35); }
.legal-swap a:hover{ text-decoration-color:#B9791F; }

/* ------------------------------------------------------------
   CORPS : sommaire fixe + articles numérotés
   ------------------------------------------------------------ */
.legal-body{
  position:relative; z-index:2;
  max-width:1440px; margin:0 auto; padding:4rem 4vw 6rem;
  display:grid; grid-template-columns:260px 1fr; gap:5rem; align-items:start;
}
@media(max-width:900px){
  .legal-body{ grid-template-columns:1fr; gap:2rem; padding-top:3rem; padding-left:6vw; padding-right:6vw; }
}

.legal-toc{
  position:sticky; top:104px;
  display:flex; flex-direction:column; gap:0.15rem;
  border-left:2px solid rgba(42,32,21,0.16);
  padding-left:1.3rem;
}
@media(max-width:900px){
  .legal-toc{ position:static; flex-direction:row; flex-wrap:wrap; border-left:none; padding-left:0; gap:0.6rem; }
}
.legal-toc a{
  font-family:'JetBrains Mono', monospace; font-size:0.92rem; letter-spacing:0.02em;
  color:#6b5c44; text-decoration:none; padding:0.5rem 0;
  transition:color .2s ease, padding-left .2s ease;
}
@media(max-width:900px){
  .legal-toc a{
    font-size:0.85rem;
    border:1px solid rgba(42,32,21,0.16); border-radius:99px; padding:0.5rem 1rem;
  }
}
.legal-toc a:hover{ color:#B9791F; }
.legal-toc a.active{ color:#B9791F; padding-left:0.35rem; }
@media(max-width:900px){ .legal-toc a.active{ padding-left:0.85rem; border-color:#B9791F; } }

.legal-articles{ display:flex; flex-direction:column; }
.legal-article{
  padding:2.3rem 0; border-bottom:1px solid rgba(42,32,21,0.13);
  scroll-margin-top:100px;
}
.legal-article:first-child{ padding-top:0; }
.legal-article:last-child{ border-bottom:none; padding-bottom:0; }
.legal-article-num{
  font-family:'JetBrains Mono', monospace; font-size:0.76rem; font-weight:700;
  color:#B9791F; letter-spacing:0.1em; display:block; margin-bottom:0.6rem;
}
.legal-article h2{
  font-family:'Fraunces', serif; font-weight:600;
  font-size:clamp(1.4rem, 2.2vw, 1.75rem); color:#1D1610; margin-bottom:1rem;
}
.legal-article p{ color:#3d3123; font-size:0.97rem; line-height:1.78; margin-bottom:0.95rem; }
.legal-article p:last-child{ margin-bottom:0; }
.legal-article ul{ padding-left:1.3rem; margin-bottom:0.95rem; display:flex; flex-direction:column; gap:0.4rem; }
.legal-article li{ color:#3d3123; font-size:0.97rem; line-height:1.7; }
.legal-article strong{ color:#1D1610; font-weight:700; }
.legal-article a{ color:#8a5a15; text-decoration:underline; text-decoration-color:rgba(185,121,31,0.4); }
.legal-article a:hover{ color:#B9791F; }

.legal-card{
  background:rgba(255,252,244,0.55); border:1px solid rgba(42,32,21,0.14);
  border-radius:10px; padding:1.5rem 1.7rem; margin-top:0.4rem;
}
.legal-card dl{ display:grid; grid-template-columns:auto 1fr; gap:0.55rem 1.3rem; }
@media(max-width:520px){ .legal-card dl{ grid-template-columns:1fr; gap:0.15rem; } }
.legal-card dt{
  font-family:'JetBrains Mono', monospace; font-size:0.68rem; text-transform:uppercase;
  letter-spacing:0.06em; color:#8a7455; white-space:nowrap;
}
.legal-card dd{ font-size:0.92rem; color:#2A2015; }
.legal-card + .legal-card{ margin-top:1rem; }

@media print{
  nav, .nav-spacer, .legal-toc, .call-fab, .contact-pop, .grain, .cursor-dot, .cursor-ring{ display:none !important; }
  .legal-page::before, .legal-page::after{ display:none !important; }
  .legal-body{ grid-template-columns:1fr; }
}
