/* EzyDog loaders, shared with the Retail Hub (loaders.css v1.0.0, 2026-10-23).
.ld-tile full-screen waits, .ld-lean in-page and button waits, .ld-recoil long jobs. */
.ld-tile{--s:72px;position:relative;width:var(--s);height:var(--s);border-radius:calc(var(--s)*.112);background:#ED1C24;overflow:hidden;animation:ldPress 1.6s cubic-bezier(.4,0,.2,1) infinite;box-shadow:0 10px 30px rgba(214,0,28,.22)}
.ld-tile img{position:absolute;left:9.9%;top:40.6%;width:81.6%;height:auto;display:block}
.ld-tile:after{content:'';position:absolute;top:-20%;bottom:-20%;left:-60%;width:38%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0));transform:skewX(-22deg);animation:ldSheen 1.6s cubic-bezier(.4,0,.2,1) infinite}
@keyframes ldSheen{0%{left:-60%}55%,100%{left:130%}}
@keyframes ldPress{0%,100%{transform:scale(1)}62%{transform:scale(.94)}78%{transform:scale(1.015)}}
.ld-lean{--h:22px;--c:#D6001C;display:inline-flex;gap:calc(var(--h)*.18);height:var(--h);align-items:stretch;padding:0 calc(var(--h)*.2)}
.ld-lean i{display:block;width:calc(var(--h)*.3);border-radius:calc(var(--h)*.06);background:var(--c);transform:skewX(-20deg) scaleY(.35);transform-origin:50% 100%;opacity:.25;animation:ldLean 1s cubic-bezier(.4,0,.2,1) infinite}
.ld-lean i:nth-child(2){animation-delay:.12s}.ld-lean i:nth-child(3){animation-delay:.24s}
@keyframes ldLean{0%,100%{transform:skewX(-20deg) scaleY(.35);opacity:.25}35%{transform:skewX(-20deg) scaleY(1);opacity:1}70%{transform:skewX(-20deg) scaleY(.35);opacity:.25}}
.ld-lean.sm{--h:14px;--c:currentColor;vertical-align:-2px}
.ld-recoil{position:relative;width:220px;height:6px;border-radius:3px;background:#E9E8E4;overflow:hidden}
.ld-recoil i{position:absolute;top:0;bottom:0;left:0;width:22%;border-radius:3px;background:#D6001C;transform:skewX(-20deg);animation:ldRecoil 1.7s cubic-bezier(.65,0,.35,1) infinite}
@keyframes ldRecoil{0%{left:-24%;width:22%}45%{left:40%;width:46%}62%{left:58%;width:18%}74%{left:62%;width:26%}100%{left:104%;width:22%}}
.ld-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:60px 20px;color:#67686B;font:500 14px/1.4 'Barlow',sans-serif;text-align:center}
.ld-full{min-height:100vh;background:#fff}
@media (prefers-reduced-motion:reduce){.ld-tile,.ld-tile:after,.ld-lean i,.ld-recoil i{animation-duration:3s}.ld-tile{animation:none}}
