/* ============================================================
   BloomBridge Corp. — FIREFLY EMBER cursor  (assets/cursor.css)
   Companion styles for assets/cursor.js. Brand palette only:
   #5C4A3A #3D2F24 #8B7355 #B59A78 #F5F5DC #ECEAD0 + warm golds.
   ============================================================ */

/* full-viewport particle/orb canvas */
.ff-cursor-canvas{
  position:fixed;inset:0;width:100vw;height:100vh;
  pointer-events:none;z-index:4000;
}

/* hide the native cursor ONLY while the firefly cursor is active
   (.ff-on is added on first mousemove, removed when pointer leaves) */
html.ff-on,html.ff-on *{cursor:none !important}

/* hard fallbacks: touch devices, reduced motion, print → native cursor */
@media (hover:none),(pointer:coarse){
  .ff-cursor-canvas{display:none !important}
  html.ff-on,html.ff-on *{cursor:auto !important}
}
@media (prefers-reduced-motion:reduce){
  .ff-cursor-canvas{display:none !important}
  html.ff-on,html.ff-on *{cursor:auto !important}
}
@media print{.ff-cursor-canvas{display:none !important}}

/* ============================================================
   ANIMATION POLISH PASS (scoped additions, no site.css rewrites)
   ============================================================ */
@media (prefers-reduced-motion:no-preference){

  /* -- hover glint sweep on credibility badges (.cred) -- */
  .cred{position:relative;overflow:hidden}
  .cred::after{
    content:"";position:absolute;top:-45%;bottom:-45%;width:34%;left:-55%;
    background:linear-gradient(105deg,
      rgba(214,186,140,0) 0%,
      rgba(236,234,208,.55) 45%,
      rgba(214,186,140,.35) 58%,
      rgba(214,186,140,0) 100%);
    transform:skewX(-18deg);opacity:0;pointer-events:none;
  }
  .cred:hover::after{animation:ffCredGlint .85s ease-out forwards}
  .cred:hover svg{filter:drop-shadow(0 0 6px rgba(214,186,140,.7))}
  .cred svg{transition:filter .35s ease}
  @keyframes ffCredGlint{
    0%{left:-55%;opacity:0}
    18%{opacity:1}
    100%{left:115%;opacity:0}
  }

  /* -- springier card/step tilt return (overshoot ease on release) -- */
  .card:not(.tilting),.step:not(.tilting){
    transition:transform .55s cubic-bezier(.34,1.6,.5,1),
      box-shadow .5s ease,border-color .4s ease;
  }

  /* -- soft warm glow pulse on primary CTA buttons, ~3s cycle -- */
  .btn:not(.btn-ghost):not(.btn-sm){animation:ffCtaGlow 3s ease-in-out infinite}
  .btn:not(.btn-ghost):hover,
  .btn:not(.btn-ghost):focus-visible{animation:none}
  @keyframes ffCtaGlow{
    0%,100%{box-shadow:0 0 0 0 rgba(214,186,140,0)}
    50%{box-shadow:0 0 18px 2px rgba(214,186,140,.5),0 0 42px 6px rgba(181,154,120,.22)}
  }
}
