/* ============================================================
   legal.css - pages legales (cgv, mentions-legales, politique-
   confidentialite). Treatment sober et minimal : on n'anime
   PAS comme les pages marketing, juste un fade-in discret pour
   donner du rythme sans distraire de la lecture juridique.

   Scope partage : .page-legal applique aux 3 pages.
   ============================================================ */

.page-legal { --lg-ease-out: cubic-bezier(.23, 1, .32, 1); }

/* Hero - reveal simple, pas d'effet flashy */
.page-legal .idx3-page-hero__title {
  opacity: 0;
  transform: translateY(8px);
  animation: lgTitleIn .8s var(--lg-ease-out) 200ms forwards;
}
@keyframes lgTitleIn { to { opacity: 1; transform: translateY(0); } }

.page-legal .idx3-page-hero__lead {
  opacity: 0;
  animation: lgFadeIn .9s var(--lg-ease-out) 600ms forwards;
}
@keyframes lgFadeIn { to { opacity: 1; } }

.page-legal .idx3-page-hero__meta > div {
  opacity: 0;
  animation: lgFadeIn .5s var(--lg-ease-out) forwards;
}
.page-legal .idx3-page-hero__meta > div:nth-child(1) { animation-delay: 900ms; }
.page-legal .idx3-page-hero__meta > div:nth-child(2) { animation-delay: 1000ms; }
.page-legal .idx3-page-hero__meta > div:nth-child(3) { animation-delay: 1100ms; }
.page-legal .idx3-page-hero__meta > div:nth-child(4) { animation-delay: 1200ms; }
.page-legal .idx3-page-hero__meta > div:nth-child(5) { animation-delay: 1300ms; }

/* Toc - fade-in items en stagger leger */
.page-legal .idx3-toc.reveal li {
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity .4s var(--lg-ease-out), transform .4s var(--lg-ease-out);
}
.page-legal .idx3-toc.reveal.in li { opacity: 1; transform: translateX(0); }
.page-legal .idx3-toc.reveal.in li:nth-child(1) { transition-delay: 80ms; }
.page-legal .idx3-toc.reveal.in li:nth-child(2) { transition-delay: 130ms; }
.page-legal .idx3-toc.reveal.in li:nth-child(3) { transition-delay: 180ms; }
.page-legal .idx3-toc.reveal.in li:nth-child(4) { transition-delay: 230ms; }
.page-legal .idx3-toc.reveal.in li:nth-child(5) { transition-delay: 280ms; }
.page-legal .idx3-toc.reveal.in li:nth-child(n+6) { transition-delay: 330ms; }

/* Legal sections (blocs juridiques) - fade simple */
.page-legal .idx3-legal.reveal {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .7s var(--lg-ease-out), transform .7s var(--lg-ease-out);
}
.page-legal .idx3-legal.reveal.in { opacity: 1; transform: translateY(0); }

/* Prose - fade simple sans stagger excessif (juridique = lecture
   fluide, pas de show-off) */
.page-legal .idx3-page-section.reveal .idx3-prose > p,
.page-legal .idx3-page-section.reveal .idx3-prose > h2,
.page-legal .idx3-page-section.reveal .idx3-prose > h3,
.page-legal .idx3-page-section.reveal .idx3-prose > ul > li {
  opacity: 0;
  transition: opacity .55s var(--lg-ease-out);
}
.page-legal .idx3-page-section.reveal.in .idx3-prose > p,
.page-legal .idx3-page-section.reveal.in .idx3-prose > h2,
.page-legal .idx3-page-section.reveal.in .idx3-prose > h3,
.page-legal .idx3-page-section.reveal.in .idx3-prose > ul > li {
  opacity: 1;
}
.page-legal .idx3-page-section.reveal.in .idx3-prose > *:nth-child(1) { transition-delay: 100ms; }
.page-legal .idx3-page-section.reveal.in .idx3-prose > *:nth-child(2) { transition-delay: 160ms; }
.page-legal .idx3-page-section.reveal.in .idx3-prose > *:nth-child(3) { transition-delay: 220ms; }
.page-legal .idx3-page-section.reveal.in .idx3-prose > *:nth-child(n+4) { transition-delay: 280ms; }

/* Section title + num */
.page-legal .idx3-page-section.reveal .idx3-page-section__num,
.page-legal .idx3-page-section.reveal .idx3-page-section__title,
.page-legal .idx3-page-section.reveal .idx3-page-section__lead {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .55s var(--lg-ease-out), transform .55s var(--lg-ease-out);
}
.page-legal .idx3-page-section.reveal.in .idx3-page-section__num { opacity: 1; transform: translateY(0); transition-delay: 60ms; }
.page-legal .idx3-page-section.reveal.in .idx3-page-section__title { opacity: 1; transform: translateY(0); transition-delay: 140ms; }
.page-legal .idx3-page-section.reveal.in .idx3-page-section__lead { opacity: 1; transform: translateY(0); transition-delay: 240ms; }

@media (prefers-reduced-motion: reduce) {
  .page-legal *, .page-legal *::before, .page-legal *::after {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
