/* LFBoost visual enhancements (fx.css) — pairs with fx.js.
   Scroll reveals, stat counters, order-page sticky bar, trust badges. */

/* ---- scroll reveal ---- */
.lfb-reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .7s cubic-bezier(.16, 1, .3, 1), transform .7s cubic-bezier(.16, 1, .3, 1);
  transition-delay: var(--lfb-delay, 0ms);
  will-change: opacity, transform;
}
.lfb-reveal.lfb-in { opacity: 1; transform: none; }

/* ---- animated total pulse ---- */
.lfb-price-pop { display: inline-block; animation: lfb-pop .35s ease; }
@keyframes lfb-pop {
  50% { transform: scale(1.07); text-shadow: 0 0 18px rgba(0, 229, 255, .45); }
}

/* ---- sticky mobile order bar ---- */
#lfb-sticky {
  /* above the floating language pill; right padding clears the chat bubble */
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 999999;
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 10px 88px calc(10px + env(safe-area-inset-bottom)) 16px;
  background: rgba(9, 11, 20, .92);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border-top: 1px solid rgba(255, 255, 255, .08);
  transform: translateY(110%);
  transition: transform .35s cubic-bezier(.16, 1, .3, 1);
}
#lfb-sticky.lfb-show { transform: none; }
@media (min-width: 1024px) { #lfb-sticky { display: none; } }
#lfb-sticky .lfb-sticky-label {
  font-size: 11px; letter-spacing: .06em; text-transform: uppercase;
  color: hsl(var(--muted-foreground));
}
#lfb-sticky .lfb-sticky-total {
  font-size: 20px; font-weight: 700; line-height: 1.15;
  font-variant-numeric: tabular-nums; color: hsl(var(--foreground));
}
#lfb-sticky .lfb-sticky-btn {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px;
  padding: 12px 22px; border-radius: 10px; border: 0; cursor: pointer;
  font-size: 14px; font-weight: 600;
  background: hsl(var(--primary)); color: hsl(var(--primary-foreground));
  box-shadow: 0 4px 18px rgba(0, 128, 255, .35);
}
#lfb-sticky .lfb-sticky-btn:active { transform: translateY(1px); }

/* ---- trust badges in order summary ---- */
.lfb-trust {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px;
  margin-top: 16px; padding-top: 14px;
  border-top: 1px solid hsl(var(--border) / .6);
}
.lfb-trust div {
  display: flex; align-items: center; gap: 7px;
  font-size: 11.5px; color: hsl(var(--muted-foreground));
}
.lfb-trust svg { flex: 0 0 auto; width: 13px; height: 13px; color: #22c55e; }

/* ---- reduced motion: everything visible, nothing moves ---- */
@media (prefers-reduced-motion: reduce) {
  .lfb-reveal { opacity: 1; transform: none; transition: none; }
  .lfb-price-pop { animation: none; }
  #lfb-sticky { transition: none; }
}
