/* EduJoy — efecte & animații (configurabile din Tweaks) */
:root{--fx-speed:1}
@keyframes fxFade{from{opacity:0}to{opacity:1}}
@keyframes fxUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes fxZoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes fxKb{from{transform:scale(1)}to{transform:scale(1.09)}}
@keyframes fxWiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}
@keyframes fxPulse{0%{box-shadow:0 6px 20px rgba(0,0,0,.25),0 0 0 0 rgba(37,211,102,.45)}70%{box-shadow:0 6px 20px rgba(0,0,0,.25),0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 6px 20px rgba(0,0,0,.25),0 0 0 0 rgba(37,211,102,0)}}
/* apariție la scroll */
html:not([data-fx-reveal="off"]) .fx{opacity:0}
html[data-fx-reveal="fade"] .fx.fx-in{animation:fxFade calc(.7s/var(--fx-speed)) ease both}
html[data-fx-reveal="slide"] .fx.fx-in{animation:fxUp calc(.7s/var(--fx-speed)) cubic-bezier(.2,.7,.3,1) both}
html[data-fx-reveal="zoom"] .fx.fx-in{animation:fxZoom calc(.6s/var(--fx-speed)) cubic-bezier(.2,.7,.3,1) both}
/* Ken Burns pe hero */
.kb-layer{will-change:transform}
html[data-fx-kb="on"] .kb-layer{animation:fxKb calc(16s/var(--fx-speed)) ease-in-out infinite alternate}
/* butoane la hover */
html[data-fx-btn="lift"] .btn{transition:transform calc(.18s/var(--fx-speed)) ease,box-shadow calc(.18s/var(--fx-speed)) ease}
html[data-fx-btn="lift"] .btn:hover{transform:translateY(-3px)}
html[data-fx-btn="lift"] .btn-coral:hover{box-shadow:0 7px 0 var(--coral-d)}
html[data-fx-btn="wiggle"] .btn:hover{animation:fxWiggle calc(.4s/var(--fx-speed)) ease}
/* carduri ridicate la hover */
html[data-fx-lift="on"] .card,html[data-fx-lift="on"] .price,html[data-fx-lift="on"] details{transition:transform calc(.25s/var(--fx-speed)) ease,box-shadow calc(.25s/var(--fx-speed)) ease}
html[data-fx-lift="on"] .card:hover,html[data-fx-lift="on"] .price:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(43,48,56,.14)}
html[data-fx-lift="on"] details:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(43,48,56,.08)}
/* puls WhatsApp */
html[data-fx-wa="on"] .wa-fab{animation:fxPulse 2.4s infinite}
@media(prefers-reduced-motion:reduce){.fx{opacity:1 !important;animation:none !important}.kb-layer,.wa-fab,.btn{animation:none !important}}
