/* sepra-anim v2 — preview. Motion via transform/translate/scale/opacity; glows are paint-only box-shadow. */
:root{--sa-e:cubic-bezier(.22,1,.36,1);--sa-d:700ms;--sa-f:300ms}
/* scroll reveal (only elements the script found below the fold) */
html.sepra-anim-js .sa-h{opacity:0;transform:translate3d(0,36px,0) scale(.96)}
html.sepra-anim-js .sa-hx{opacity:0;transform:translate3d(40px,0,0)}
html.sepra-anim-js .sa-in{opacity:1!important;transform:none!important;transition:opacity var(--sa-d) var(--sa-e),transform var(--sa-d) var(--sa-e)}
/* above-fold pop-ins: start at .4 opacity so LCP is never hidden */
@keyframes sa-pin{from{opacity:.4;transform:translate3d(0,14px,0) scale(.94)}}
@keyframes sa-fin{from{opacity:.3;transform:translate3d(16px,0,0)}}
.elementor-widget-woocommerce-breadcrumb,.elementor-widget-breadcrumbs{animation:sa-fin 600ms var(--sa-e) both}
.slick-initialized .elementor-7839>.e-con{animation:sa-pin 650ms var(--sa-e) both}
.slick-initialized .slick-slide:nth-child(2) .elementor-7839>.e-con{animation-delay:60ms}.slick-initialized .slick-slide:nth-child(3) .elementor-7839>.e-con{animation-delay:120ms}.slick-initialized .slick-slide:nth-child(4) .elementor-7839>.e-con{animation-delay:180ms}.slick-initialized .slick-slide:nth-child(5) .elementor-7839>.e-con{animation-delay:240ms}.slick-initialized .slick-slide:nth-child(6) .elementor-7839>.e-con{animation-delay:300ms}.slick-initialized .slick-slide:nth-child(n+7) .elementor-7839>.e-con{animation-delay:360ms}
.woocommerce-form-login,.woocommerce-form-register,.woocommerce-MyAccount-content,.woocommerce-MyAccount-navigation{animation:sa-pin 700ms var(--sa-e) both}
/* cards: hover lift 8px, image zoom 1.08 (individual translate/scale props so existing transforms are kept) */
.elementor-7825>.e-con,.elementor-7839>.e-con{transition:translate 380ms var(--sa-e),box-shadow 380ms var(--sa-e),scale 200ms var(--sa-e)}
.elementor-7825 .elementor-widget-image .elementor-widget-container{overflow:hidden}
.elementor-7825 .elementor-widget-image img{transition:scale 650ms var(--sa-e)}
@media (hover:hover){
.elementor-7825>.e-con:hover,.elementor-7839>.e-con:hover{translate:0 -8px;box-shadow:0 22px 44px -14px rgba(19,60,202,.32)}
.elementor-7825>.e-con:hover .elementor-widget-image img{scale:1.08}
.slick-arrow:hover,.elementor-swiper-button:hover{scale:1.15}
.slick-dots li button:hover,.swiper-pagination-bullet:hover{scale:1.35}
.elementor-icon-box-wrapper:hover .elementor-icon{scale:1.12;rotate:-6deg}}
.slick-arrow,.elementor-swiper-button,.slick-dots li button,.swiper-pagination-bullet,.elementor-icon-box-wrapper .elementor-icon{transition:scale 300ms var(--sa-e),rotate 300ms var(--sa-e),opacity 300ms}
.elementor-7825>.e-con:active,.elementor-7839>.e-con:active{scale:.98}
/* colours */
:where(a,button,.elementor-button,.button,.elementor-icon,.e-n-menu-title-container,.jet-filter-label,input,select,textarea){transition:color var(--sa-f) var(--sa-e),background-color var(--sa-f) var(--sa-e),border-color var(--sa-f) var(--sa-e),fill var(--sa-f) var(--sa-e),box-shadow var(--sa-f) var(--sa-e)}
/* buttons: press, ripple ring, loading */
:where(.elementor-button,.button,.add_to_cart_button,.single_add_to_cart_button,#place_order){transition:scale 180ms var(--sa-e),opacity 200ms}
:where(.elementor-button,.button,.add_to_cart_button,.single_add_to_cart_button,#place_order):active{scale:.94}
.sa-rip{animation:sa-rip 650ms var(--sa-e)}
@keyframes sa-rip{from{box-shadow:0 0 0 0 rgba(19,60,202,.45)}to{box-shadow:0 0 0 14px rgba(19,60,202,0)}}
.add_to_cart_button.loading,.single_add_to_cart_button.loading{animation:sa-load 900ms ease-in-out infinite}
@keyframes sa-load{50%{opacity:.6;scale:.97}}
.add_to_cart_button.added{animation:sa-ok 500ms var(--sa-e)}
@keyframes sa-ok{40%{scale:1.1}}
/* sale / discount badge pulse */
.elementor-7825 .elementor-element-6c4e82a>.elementor-widget-container,.onsale{animation:sa-pulse 2.6s ease-in-out infinite}
@keyframes sa-pulse{50%{scale:1.08}}
/* search focus glow + results fade */
.jet-ajax-search__field:focus{box-shadow:0 0 0 4px rgba(19,60,202,.18),0 8px 24px -10px rgba(19,60,202,.45)}
.jet-ajax-search__results-area{animation:sa-drop 320ms var(--sa-e) both}
@keyframes sa-drop{from{opacity:0;transform:translate3d(0,-10px,0)}}
/* menus, popups, mini-cart, filters */
.e-n-menu-content>.e-active{animation:sa-drop 360ms var(--sa-e) both}
.elementor-nav-menu--dropdown .sub-menu,.elementor-nav-menu .sub-menu{animation:sa-drop 300ms var(--sa-e) both}
.elementor-popup-modal{animation:sa-fade 300ms var(--sa-e) both}
.elementor-popup-modal .dialog-widget-content:not(.animated){animation:sa-pop 480ms var(--sa-e) both}
@keyframes sa-pop{from{opacity:0;transform:translate3d(0,28px,0) scale(.95)}}
@keyframes sa-fade{from{opacity:0}}
.elementor-menu-cart--shown .elementor-menu-cart__main{animation:sa-slide 480ms var(--sa-e) both}
@keyframes sa-slide{from{opacity:.3;transform:translate3d(-48px,0,0)}}
.elementor-menu-cart--shown .elementor-menu-cart__product{animation:sa-fin 500ms var(--sa-e) both}
.jet-filter-row{transition:opacity 250ms,translate 250ms var(--sa-e)}
@media (hover:hover){.jet-filter-row:hover{translate:-3px 0}}
.jet-filter-items-moreless~*,.jet-filter-items-scroll-container{transition:opacity var(--sa-f) var(--sa-e)}
/* forms: focus glow */
.woocommerce form .input-text:focus,.woocommerce form select:focus,.woocommerce-checkout input:focus,.woocommerce-checkout textarea:focus,.elementor-field:focus{box-shadow:0 0 0 4px rgba(19,60,202,.16)!important}
/* quantity feedback */
.sa-q{animation:sa-q 360ms var(--sa-e)}
@keyframes sa-q{40%{scale:1.15}}
/* product gallery crossfade */
.woocommerce-product-gallery .flex-active-slide img{animation:sa-xf 520ms var(--sa-e)}
@keyframes sa-xf{from{opacity:.25;scale:1.03}}
.flex-control-thumbs img{transition:opacity 300ms,scale 300ms var(--sa-e)}
.flex-control-thumbs img:hover{scale:1.06}
/* tabs / accordion / details content fade */
.woocommerce-Tabs-panel,.e-n-tab-content>.e-active,.elementor-tab-content,.e-n-accordion-item[open]>.e-con,details[open]>:not(summary){animation:sa-drop 420ms var(--sa-e) both}
/* WooCommerce notices toast */
.woocommerce-message,.woocommerce-error,.woocommerce-info,.woocommerce-notices-wrapper>*{animation:sa-toast 560ms var(--sa-e) both}
@keyframes sa-toast{from{opacity:0;transform:translate3d(0,-18px,0) scale(.97)}}
/* cart bump (stronger) */
.sa-bump{animation:sa-bump 750ms var(--sa-e)}
@keyframes sa-bump{20%{transform:scale(1.5) rotate(-12deg)}45%{transform:scale(.85) rotate(8deg)}70%{transform:scale(1.15) rotate(-3deg)}}
.elementor-button-icon-qty{transition:scale 300ms var(--sa-e)}
/* lazy image shimmer until loaded (background only, no size change) */
img.sa-sk{background:linear-gradient(100deg,rgba(220,230,245,.55) 30%,rgba(255,255,255,.9) 50%,rgba(220,230,245,.55) 70%) 0 0/300% 100%;animation:sa-sh 1.3s linear infinite}
@keyframes sa-sh{to{background-position:-150% 0}}
img.sa-ld{animation:sa-fade 450ms var(--sa-e)}
/* cross-document page transition */
::view-transition-old(root){animation:sa-vo 300ms var(--sa-e) both}
::view-transition-new(root){animation:sa-vn 380ms var(--sa-e) both}
@keyframes sa-vo{to{opacity:0;transform:translate3d(0,-16px,0)}}
@keyframes sa-vn{from{opacity:0;transform:translate3d(0,28px,0)}}
@media (prefers-reduced-motion:reduce){
html.sepra-anim-js .sa-h,html.sepra-anim-js .sa-hx{opacity:1!important;transform:none!important}
*,::before,::after{animation:none!important;transition:none!important}
*:hover{translate:none!important;scale:none!important;rotate:none!important}
::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
