/**
 * Motion Providence — presets brief Phase 2 (opacity + transform).
 * Easing : cubic-bezier(0.22, 1, 0.36, 1)
 */

:root {
  --lp-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Pendant le loader : pas de reveal avant fin (JS attend l’événement). */
html.lp-loader-active .lp-motion-ready:not(.lp-motion-visible) {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  html.lp-motion-reduced .lp-motion-ready[data-lp-preset] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

/* --- Scroll : bloc global --- */
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="block-reveal"]:not(.lp-motion-visible),
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="block-calm"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: translate3d(0, 30px, 0) scale(0.98);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="block-reveal"].lp-motion-visible,
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="block-calm"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  transition:
    opacity 600ms var(--lp-motion-ease),
    transform 600ms var(--lp-motion-ease);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="block-fast"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="block-fast"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 500ms var(--lp-motion-ease),
    transform 500ms var(--lp-motion-ease);
}

/* --- Titre --- */
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="title-reveal"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
  filter: blur(4px);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="title-reveal"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
  transition:
    opacity 600ms var(--lp-motion-ease) 100ms,
    transform 600ms var(--lp-motion-ease) 100ms,
    filter 600ms var(--lp-motion-ease) 100ms;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="emotion-title"]:not(.lp-motion-visible) {
  opacity: 0;
  filter: blur(6px);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="emotion-title"].lp-motion-visible {
  opacity: 1;
  filter: blur(0);
  transition:
    opacity 800ms var(--lp-motion-ease) 100ms,
    filter 800ms var(--lp-motion-ease) 100ms;
}

/* --- Texte / contenu --- */
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="text-reveal"]:not(.lp-motion-visible) {
  opacity: 0;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="text-reveal"].lp-motion-visible {
  opacity: 1;
  transition: opacity 400ms var(--lp-motion-ease) 200ms;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="content-reveal"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="content-reveal"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 500ms var(--lp-motion-ease) 200ms,
    transform 500ms var(--lp-motion-ease) 200ms;
}

/* --- CTA --- */
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="cta-reveal"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: translate3d(0, 10px, 0);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="cta-reveal"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 400ms var(--lp-motion-ease) 350ms,
    transform 400ms var(--lp-motion-ease) 350ms;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="cta-emotion"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: translate3d(0, 10px, 0);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="cta-emotion"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 500ms var(--lp-motion-ease) 550ms,
    transform 500ms var(--lp-motion-ease) 550ms;
}

/* --- Preuves rapides --- */
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="proof-fast"]:not(.lp-motion-visible) {
  opacity: 0;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="proof-fast"].lp-motion-visible {
  opacity: 1;
  transition: opacity 250ms var(--lp-motion-ease);
}

/* --- Images --- */
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="image-immersive"]:not(.lp-motion-visible),
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="image-story"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: scale(1.05);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="image-immersive"].lp-motion-visible {
  opacity: 1;
  transform: scale(1);
  transition:
    opacity 700ms var(--lp-motion-ease) 300ms,
    transform 700ms var(--lp-motion-ease) 300ms;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="image-story"].lp-motion-visible {
  opacity: 1;
  transform: scale(1);
  transition:
    opacity 700ms var(--lp-motion-ease),
    transform 700ms var(--lp-motion-ease);
}

/* --- Bloc confiance / histoire --- */
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="notre-histoire"]:not(.lp-motion-visible) {
  opacity: 0;
  filter: blur(6px);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="notre-histoire"].lp-motion-visible {
  opacity: 1;
  filter: blur(0);
  transition:
    opacity 700ms var(--lp-motion-ease) 100ms,
    filter 700ms var(--lp-motion-ease) 100ms;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="texte-principal"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="texte-principal"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 500ms var(--lp-motion-ease) 200ms,
    transform 500ms var(--lp-motion-ease) 200ms;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="overlay-text"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: translate3d(0, 10px, 0);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="overlay-text"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 400ms var(--lp-motion-ease) 450ms,
    transform 400ms var(--lp-motion-ease) 450ms;
}

/* --- FAQ / signature --- */
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="faq-block"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="faq-block"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 400ms var(--lp-motion-ease),
    transform 400ms var(--lp-motion-ease);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="signature-subtle"]:not(.lp-motion-visible) {
  opacity: 0;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="signature-subtle"].lp-motion-visible {
  opacity: 1;
  transition: opacity 400ms var(--lp-motion-ease) 300ms;
}

/* --- Cartes stagger (délais brief) --- */
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset^="card-delay-"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="card-delay-0"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 400ms var(--lp-motion-ease),
    transform 400ms var(--lp-motion-ease);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="card-delay-100"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 400ms var(--lp-motion-ease) 100ms,
    transform 400ms var(--lp-motion-ease) 100ms;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="card-delay-180"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 400ms var(--lp-motion-ease) 180ms,
    transform 400ms var(--lp-motion-ease) 180ms;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="card-delay-140"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 400ms var(--lp-motion-ease) 140ms,
    transform 400ms var(--lp-motion-ease) 140ms;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="card-delay-220"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 400ms var(--lp-motion-ease) 220ms,
    transform 400ms var(--lp-motion-ease) 220ms;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="card-delay-300"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 400ms var(--lp-motion-ease) 300ms,
    transform 400ms var(--lp-motion-ease) 300ms;
}

/* --- Page produit / catalogue --- */
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="product-block"]:not(.lp-motion-visible),
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="catalogue-block"]:not(.lp-motion-visible),
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="results-group"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="product-block"].lp-motion-visible,
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="catalogue-block"].lp-motion-visible,
html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="results-group"].lp-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 400ms var(--lp-motion-ease),
    transform 400ms var(--lp-motion-ease);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="product-hero"]:not(.lp-motion-visible) {
  opacity: 0;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="product-hero"].lp-motion-visible {
  opacity: 1;
  transition: opacity 300ms var(--lp-motion-ease);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="catalogue-module"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: scale(0.98);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="catalogue-module"].lp-motion-visible {
  opacity: 1;
  transform: scale(1);
  transition:
    opacity 300ms var(--lp-motion-ease) 100ms,
    transform 300ms var(--lp-motion-ease) 100ms;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="card-highlight"]:not(.lp-motion-visible) {
  opacity: 0;
  transform: scale(1.02);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="card-highlight"].lp-motion-visible {
  opacity: 1;
  transform: scale(1);
  transition:
    opacity 400ms var(--lp-motion-ease),
    transform 400ms var(--lp-motion-ease);
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="micro-label"]:not(.lp-motion-visible) {
  opacity: 0;
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="micro-label"].lp-motion-visible {
  opacity: 1;
  transition: opacity 300ms var(--lp-motion-ease) 300ms;
}

/* --- Hover / clic (pas de scroll) --- */
@media (hover: hover) and (pointer: fine) {
  html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="hover-card"] {
    transition:
      transform 200ms var(--lp-motion-ease),
      box-shadow 200ms var(--lp-motion-ease);
  }

  html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="hover-card"]:hover {
    transform: translate3d(0, -4px, 0);
    box-shadow: 0 14px 32px rgba(6, 10, 64, 0.12);
  }

  html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="hover-card"] img {
    transition: transform 200ms var(--lp-motion-ease);
  }

  html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="hover-card"]:hover img {
    transform: scale(1.03);
  }

  html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="hover-cta"] {
    transition: transform 200ms var(--lp-motion-ease);
  }

  html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="hover-cta"]:hover,
  html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="hover-cta"]:focus-visible {
    transform: scale(1.02);
  }

  html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="hover-field"] {
    transition:
      background-color 200ms ease-out,
      border-color 200ms ease-out;
  }
}

html:not(.lp-motion-reduced) .lp-motion-ready[data-lp-preset="click-confirm"]:active {
  transform: scale(1.02);
  transition: transform 120ms var(--lp-motion-ease);
}
