/* La Verte Coopérative — animations.css */

/* Curseur feuille */
body { cursor: none; }
.leaf-cursor { width:28px;height:28px;position:fixed;top:0;left:0;pointer-events:none;z-index:99999;transform:translate(-50%,-50%) rotate(-45deg);transition:transform .15s,width .2s,height .2s }
.leaf-cursor svg { width:100%;height:100% }
.leaf-cursor-ring { width:44px;height:44px;border:1.5px solid rgba(107,143,113,.5);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);transition:transform .18s ease-out,width .25s,height .25s }
body.cursor-hover .leaf-cursor { width:38px;height:38px;transform:translate(-50%,-50%) rotate(-20deg) scale(1.2) }
body.cursor-hover .leaf-cursor-ring { width:60px;height:60px }
@media (hover:none),(max-width:768px) { body{cursor:auto} .leaf-cursor,.leaf-cursor-ring{display:none} }

/* Particules */
.particle { position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(168,197,160,.9),transparent 70%);animation:particleRise linear infinite;pointer-events:none }
@keyframes particleRise { 0%{transform:translateY(0) translateX(0) scale(1);opacity:0} 10%{opacity:1} 90%{opacity:.5} 100%{transform:translateY(-110vh) translateX(var(--drift)) scale(.4);opacity:0} }

/* Révélation hero */
.hero-badge,.hero-title,.hero-subtitle,.hero-actions,.hero-stats { opacity:0;transform:translateY(30px);animation:heroReveal .9s cubic-bezier(.22,1,.36,1) forwards }
.hero-badge{animation-delay:.1s}.hero-title{animation-delay:.3s}.hero-subtitle{animation-delay:.55s}.hero-actions{animation-delay:.75s}.hero-stats{animation-delay:.95s}
@keyframes heroReveal { to{opacity:1;transform:translateY(0)} }

/* Footer vague */
#colophon { position:relative }
#colophon::before { content:'';position:absolute;top:-40px;left:0;right:0;height:40px;background:var(--green-deep);clip-path:ellipse(55% 100% at 50% 100%) }

/* Trust bar hover */
.trust-item { transition:transform .3s }
.trust-item:hover { transform:translateY(-6px) }
.trust-icon { display:inline-block;transition:transform .4s cubic-bezier(.34,1.56,.64,1) }
.trust-item:hover .trust-icon { transform:scale(1.28) rotate(-8deg) }

/* Nav logo */
.logo-badge { transition:transform .5s cubic-bezier(.34,1.56,.64,1) }
.site-branding:hover .logo-badge { transform:rotate(20deg) scale(1.1) }

/* Produits hover */
ul.products li.product::before { content:'';position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-radius:50% 50% 0 0;background:rgba(45,90,61,.05);transition:width .4s,height .4s,bottom .4s;z-index:0;pointer-events:none }
ul.products li.product:hover::before { width:120%;height:120%;bottom:-30px }

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important;transition-duration:.01ms!important }
}
