/* ---- Pages légales — styles spécifiques (base dans shared.css) ------------ */

/* Corps du contenu légal */
.legal-body h2{font-size:15px; font-weight:650; margin-top:30px; margin-bottom:10px; letter-spacing:-.01em}
.legal-body p{color:#c9c9cf; font-size:14px; line-height:1.7; margin-bottom:12px}
.legal-body ul{list-style:none; margin-bottom:14px}
.legal-body li{color:#c9c9cf; font-size:14px; line-height:1.7; padding:4px 0 4px 20px; position:relative}
.legal-body li::before{content:"—"; position:absolute; left:0; color:var(--muted)}
.legal-body a{color:var(--text); text-decoration:underline; text-underline-offset:3px}
.legal-body strong{color:var(--text)}
table{width:100%; border-collapse:collapse; font-size:13px; margin:14px 0}
th{text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); padding:10px 12px; border-bottom:1px solid var(--border); font-weight:600}
td{padding:12px; border-bottom:1px solid var(--border-soft); vertical-align:top; color:#c9c9cf; line-height:1.5}

.legal-updated{color:var(--muted); font-size:12.5px; font-family:var(--mono); margin-top:8px; margin-bottom:30px}

/* ═══════════════ ANIMATIONS LÉGALES ═══════════════ */

/* Section entrance */
.main-inner > * { opacity: 0; animation: legalSlideUp .4s cubic-bezier(.22,1,.36,1) forwards }
.main-inner > *:nth-child(1) { animation-delay: .05s }
.main-inner > *:nth-child(2) { animation-delay: .12s }
.main-inner > *:nth-child(3) { animation-delay: .18s }
.main-inner > *:nth-child(4) { animation-delay: .24s }
.main-inner > *:nth-child(5) { animation-delay: .24s }
.main-inner > *:nth-child(n+6) { animation-delay: .3s }
@keyframes legalSlideUp {
  from { opacity: 0; transform: translateY(14px) }
  to { opacity: 1; transform: none }
}

/* Links : glow on hover */
.legal-body a, .legal-back .btn {
  transition:color .15s, text-decoration-color .15s;
}
.legal-body a:hover { color:var(--ok) }

/* Table rows : hover highlight */
tbody tr { transition:background .15s }
tbody tr:hover { background:#161618 }

/* h1 : entrance scale */
.main h1 { animation:heroScale .5s cubic-bezier(.22,1,.36,1) .05s forwards; opacity:0 }
@keyframes heroScale {
  from { opacity:0; transform:translateY(10px) scale(.98) }
  to { opacity:1; transform:none }
}

/* Updated date : fade */
.legal-updated { opacity:0; animation:legalSlideUp .4s ease .12s forwards }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important }
}

/* ================= Polish V4 : footer bas de page + fond premium ================= */
body{
  background-image:
    radial-gradient(1100px 520px at 75% -10%, rgba(255,255,255,.05), transparent 60%),
    radial-gradient(900px 500px at -10% 110%, rgba(92,255,157,.035), transparent 60%);
  background-attachment: fixed;
}
.main{display:flex;flex-direction:column;flex:1}
.main-inner{display:flex;flex-direction:column;flex:1}
.main h1{
  background:linear-gradient(180deg,#fff 25%,#9d9da6);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.card,.panel{box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 12px 32px rgba(0,0,0,.35)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid rgba(231,231,231,.55);outline-offset:2px;
}