.sku-loader-animation{overflow:visible}
.sku-button-loader{margin-inline-end:.5rem}
.store-loader-overlay[data-loader-type] .store-loader-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.store-loader-overlay[data-loader-type] .store-loader-line:before,
.store-loader-overlay[data-loader-type] .store-loader-line:after{animation-duration:var(--loader-speed,1s)!important}
/* Native HTML buttons retain their existing handlers and disabled states. */
html[data-button-loading-style] button:not([data-button-loader]) .animate-spin{animation-duration:var(--loader-speed,1s)!important}
html[data-button-loading-style="dots"] button:not([data-button-loader]):has(.animate-spin) .animate-spin,
html[data-button-loading-style="pulse"] button:not([data-button-loader]):has(.animate-spin) .animate-spin{display:none!important}
html[data-button-loading-style="dots"] button:not([data-button-loader]):has(.animate-spin):before,
html[data-button-loading-style="pulse"] button:not([data-button-loader]):has(.animate-spin):before{content:"";display:inline-block;flex-shrink:0;margin-inline-end:.5rem;animation:sku-loading-pulse var(--loader-speed,1s) ease-in-out infinite}
html[data-button-loading-style="pulse"] button:not([data-button-loader]):has(.animate-spin):before{width:1em;height:1em;border-radius:50%;background:currentColor}
html[data-button-loading-style="dots"] button:not([data-button-loader]):has(.animate-spin):before{width:1.8em;height:.6em;background:radial-gradient(circle closest-side,currentColor 90%,transparent) 0 50%/.6em .6em repeat-x}
@keyframes sku-loading-pulse{0%,100%{opacity:.35;transform:scale(.75)}50%{opacity:1;transform:scale(1)}}
/* The existing admin save feedback also uses the chosen button animation. */
html[data-button-loading-style] button[data-sku-save-state="loading"]:before{animation-duration:var(--loader-speed,1s)!important}
html[data-button-loading-style="pulse"] button[data-sku-save-state="loading"]:before{border:0;background:currentColor;animation-name:sku-loading-pulse;animation-timing-function:ease-in-out}
html[data-button-loading-style="dots"] button[data-sku-save-state="loading"]:before{border:0;border-radius:0;width:1.8em;height:.6em;flex-basis:1.8em;background:radial-gradient(circle closest-side,currentColor 90%,transparent) 0 50%/.6em .6em repeat-x;animation-name:sku-loading-pulse;animation-timing-function:ease-in-out}
html[data-button-loading-style] button[data-sku-save-state="loading"][data-button-loader]:before{display:none!important}
@media(prefers-reduced-motion:reduce){.sku-loader-animation{opacity:.75}html[data-button-loading-style] button:before{animation:none!important}}
