/* ============================================================================
   Pages légales (CGV / mentions légales / confidentialité) — mise en forme
   long-format. Complément à app.css.
   ========================================================================== */

.wrap--legal{ --maxw:820px; justify-content:flex-start; min-height:0;
  padding-top:clamp(24px,4vw,44px); padding-bottom:clamp(40px,6vw,72px); }

.legal{ position:relative; overflow:hidden;
  padding:clamp(26px,4vw,48px);
  background:linear-gradient(180deg,var(--panel),rgba(14,19,34,.7));
  border:1px solid var(--line-2); border-radius:var(--r-lg); box-shadow:var(--shadow); }
.legal::before{ content:""; position:absolute; inset:0 0 auto; height:150px; pointer-events:none;
  background:radial-gradient(120% 100% at 50% 0,rgba(231,201,140,.09),transparent 70%); }
.legal > *{ position:relative; }

.legal__head{ text-align:center; margin-bottom:clamp(26px,4vw,38px);
  padding-bottom:clamp(20px,3vw,28px); border-bottom:1px solid var(--line); }
.legal__kicker{ display:inline-flex; align-items:center; gap:.55em; margin:0 0 12px;
  font-size:.64rem; font-weight:600; text-transform:uppercase; letter-spacing:.28em; color:var(--gold); }
.legal__kicker svg{ width:13px; height:13px; fill:currentColor; stroke:none; }
.legal__title{ font-size:clamp(1.85rem,1.35rem + 2.2vw,2.8rem); line-height:1.08; }
.legal__updated{ margin:14px 0 0; font-size:.82rem; color:var(--text-mute); }

.legal__body{ font-size:1rem; line-height:1.75; color:var(--text); }
.legal__body h2{ font-family:var(--serif); font-weight:400; letter-spacing:-.012em;
  font-size:clamp(1.2rem,1.05rem + .7vw,1.5rem); color:var(--cream);
  margin:clamp(26px,3.4vw,36px) 0 12px; padding-top:clamp(18px,2.6vw,24px); border-top:1px solid var(--line); }
.legal__body > h2:first-child{ margin-top:0; padding-top:0; border-top:0; }
.legal__body h3{ font-family:var(--serif); font-style:italic; font-weight:400; font-size:1.12rem;
  color:var(--gold-bright); margin:22px 0 8px; }
.legal__body p{ margin:0 0 14px; }
.legal__body p:last-child{ margin-bottom:0; }
.legal__body strong{ color:var(--cream); font-weight:600; }
.legal__body a{ color:var(--gold-bright); text-decoration:underline; text-underline-offset:3px;
  text-decoration-color:var(--line-3); transition:color .25s var(--ease); }
.legal__body a:hover{ color:var(--gold); text-decoration-color:currentColor; }
.legal__body ul{ margin:0 0 16px; padding-left:2px; list-style:none; }
.legal__body li{ position:relative; margin:0 0 9px; padding-left:22px; }
.legal__body li::before{ content:""; position:absolute; left:2px; top:.68em; width:6px; height:6px;
  border-radius:50%; background:var(--gold); }

.legal-callout{ margin:0 0 16px; padding:16px 20px; border:1px solid var(--line-2); border-radius:var(--r);
  background:rgba(205,162,95,.07); }
.legal-callout p{ margin:0; }

.legal__table-wrap{ overflow-x:auto; margin:0 0 16px; border-radius:var(--r-sm);
  border:1px solid var(--line); -webkit-overflow-scrolling:touch; }
.legal__body table{ width:100%; border-collapse:collapse; font-size:.92rem; min-width:440px; }
.legal__body th,.legal__body td{ text-align:left; vertical-align:top; padding:11px 14px; border:1px solid var(--line); }
.legal__body table :is(th,td):first-child{ border-left:0; }
.legal__body table :is(th,td):last-child{ border-right:0; }
.legal__body tr:first-child th{ border-top:0; }
.legal__body th{ background:rgba(205,162,95,.1); color:var(--gold-bright); font-weight:600;
  text-transform:uppercase; letter-spacing:.06em; font-size:.72rem; }
.legal__body td{ background:rgba(8,12,22,.4); color:var(--text); }

.legal__nav{ display:flex; flex-wrap:wrap; gap:10px 8px; justify-content:center;
  margin:clamp(28px,4vw,40px) 0 0; padding-top:clamp(22px,3vw,28px); border-top:1px solid var(--line); }
.legal__nav-link{ padding:9px 16px; border-radius:var(--r-pill); font-size:.82rem; border:1px solid var(--line);
  color:var(--text-dim); transition:color .25s var(--ease),border-color .25s var(--ease),background-color .25s var(--ease); }
.legal__nav-link:hover{ color:var(--gold-bright); border-color:var(--line-3); background:rgba(205,162,95,.06); }
.legal__nav-link.is-current{ color:var(--cream); border-color:var(--line-3); background:rgba(205,162,95,.12); cursor:default; }
