/**
 * LCF Motion Effects — LineageCare Pack PRO
 * Global scroll, mouse, and sticky effect styles
 * Uses transform + opacity only — no layout thrashing
 */

/* ── Scroll Effect Base States ─────────────────────────────── */
[data-lcf-scroll] {
  will-change: transform, opacity;
}
[data-lcf-scroll]:not(.lcf-scroll-visible) {
  transition-property: opacity, transform;
  transition-timing-function: ease;
}

/* fade-in */
[data-lcf-scroll="fade-in"]:not(.lcf-scroll-visible)        { opacity: 0; }
[data-lcf-scroll="fade-in"].lcf-scroll-visible               { opacity: 1; }

/* fade-up */
[data-lcf-scroll="fade-up"]:not(.lcf-scroll-visible)         { opacity: 0; transform: translateY(48px); }
[data-lcf-scroll="fade-up"].lcf-scroll-visible                { opacity: 1; transform: translateY(0); }

/* fade-down */
[data-lcf-scroll="fade-down"]:not(.lcf-scroll-visible)       { opacity: 0; transform: translateY(-48px); }
[data-lcf-scroll="fade-down"].lcf-scroll-visible              { opacity: 1; transform: translateY(0); }

/* fade-left (slide from right) */
[data-lcf-scroll="fade-left"]:not(.lcf-scroll-visible)       { opacity: 0; transform: translateX(60px); }
[data-lcf-scroll="fade-left"].lcf-scroll-visible              { opacity: 1; transform: translateX(0); }

/* fade-right (slide from left) */
[data-lcf-scroll="fade-right"]:not(.lcf-scroll-visible)      { opacity: 0; transform: translateX(-60px); }
[data-lcf-scroll="fade-right"].lcf-scroll-visible             { opacity: 1; transform: translateX(0); }

/* scale-in */
[data-lcf-scroll="scale-in"]:not(.lcf-scroll-visible)        { opacity: 0; transform: scale(0.85); }
[data-lcf-scroll="scale-in"].lcf-scroll-visible               { opacity: 1; transform: scale(1); }

/* scale-out */
[data-lcf-scroll="scale-out"]:not(.lcf-scroll-visible)       { opacity: 0; transform: scale(1.12); }
[data-lcf-scroll="scale-out"].lcf-scroll-visible              { opacity: 1; transform: scale(1); }

/* fade-out (element fades as you scroll past) */
[data-lcf-scroll="fade-out"]                                  { opacity: 1; transition: opacity 0.4s ease; }
[data-lcf-scroll="fade-out"].lcf-scroll-past                  { opacity: 0; }

/* ── Mouse Parallax / Tilt / Track ────────────────────────── */
[data-lcf-mouse] {
  will-change: transform;
  transition: transform 0.08s linear;
}
[data-lcf-mouse="tilt"] {
  transition: transform 0.15s ease-out;
  transform-style: preserve-3d;
}

/* ── Sticky ─────────────────────────────────────────────────── */
[data-lcf-sticky="yes"] {
  /* position is set by JS dynamically */
}
[data-lcf-sticky="yes"].lcf-is-sticky {
  position: fixed !important;
  left: 0;
  right: 0;
  z-index: var(--lcf-sticky-z, 100);
  box-shadow: 0 4px 24px rgba(0,0,0,0.15);
}
[data-lcf-sticky="yes"].lcf-sticky-shrink {
  transition: padding 0.3s ease, transform 0.3s ease;
}
[data-lcf-sticky="yes"].lcf-is-sticky.lcf-sticky-shrink {
  transform: scale(0.96);
  transform-origin: top center;
}
[data-lcf-sticky="yes"].lcf-is-sticky.lcf-sticky-hidden {
  transform: translateY(-110%) !important;
  transition: transform 0.35s cubic-bezier(0.4,0,0.2,1);
}
[data-lcf-sticky="yes"].lcf-is-sticky.lcf-sticky-fade {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* ── Editor: disable motion effects in Elementor preview ───── */
.elementor-editor-active [data-lcf-scroll] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
.elementor-editor-active [data-lcf-mouse] {
  transform: none !important;
  transition: none !important;
}
