/* Frontend loaders: three dots, while native requests and loading states remain intact. */
body .loading-spin,
body .processing:before,
body .blockUI.blockOverlay:before,
body .button.loading:after,
body .wc-block-components-spinner:after,
body svg.components-spinner{
 --htw-loading-ink:#222;
 width:30px!important;height:8px!important;min-width:0!important;min-height:0!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 background:radial-gradient(circle,var(--htw-loading-ink) 65%,transparent 70%) 0 50%/6px 6px no-repeat,radial-gradient(circle,var(--htw-loading-ink) 65%,transparent 70%) 50% 50%/6px 6px no-repeat,radial-gradient(circle,var(--htw-loading-ink) 65%,transparent 70%) 100% 50%/6px 6px no-repeat!important;
 animation:htw-loading-dots-pulse 1s ease-in-out infinite!important;
}
body .processing:before,body .blockUI.blockOverlay:before,body .button.loading:after,body .wc-block-components-spinner:after{content:'';left:50%;top:50%;margin:-4px 0 0 -15px!important;transform:none!important;pointer-events:none}
body .loading-spin.centered{margin:-4px 0 0 -15px!important}
body .box-image.processing:before,body .dark .loading-spin,body .dark .processing:before,body .dark.loading-spin,body .dark.processing:before,body.woocommerce :is(.cart_totals,.woocommerce-cart-form,.woocommerce-checkout-review-order,.woocommerce-mini-cart-item) .blockUI.blockOverlay:before{border:0!important}
body .dark .loading-spin,body .dark .processing:before,body .dark.processing:before,body .button.loading:after{--htw-loading-ink:#fff}
body .box-image.processing:before,body .wgm-native-card .wgm-native-card__mobile-purchase a.loading:after,body .wgm-native-card .wgm-native-card__purchase a.loading:after,body .is-outline .button.loading:after,body .button.is-outline.loading:after{--htw-loading-ink:#222}
body .sf-pdp__summary .ux-buy-now-button.loading:after{--htw-loading-ink:var(--sf-pdp-buy-now-text,#171717)}
body .sf-pdp__summary .single_add_to_cart_button.loading:after{--htw-loading-ink:var(--sf-pdp-action-text,#fff)}
body.woocommerce-cart .coupon .button.loading:after{--htw-loading-ink:#222}
/* A light backing keeps the dots visible over dark or multicolored photos. */
body .wgm-native-card .wgm-native-card__media.processing:before{width:48px!important;height:24px!important;margin:-12px 0 0 -24px!important;border-radius:999px!important;background:radial-gradient(circle,#222 65%,transparent 70%) 10px 50%/6px 6px no-repeat,radial-gradient(circle,#222 65%,transparent 70%) 50% 50%/6px 6px no-repeat,radial-gradient(circle,#222 65%,transparent 70%) calc(100% - 10px) 50%/6px 6px no-repeat,linear-gradient(#fff,#fff) center/100% 100% no-repeat!important;box-shadow:0 2px 10px #0003!important}
body .wc-block-components-spinner:after{--htw-loading-ink:currentColor}
body svg.components-spinner{--htw-loading-ink:currentColor;overflow:visible}
body svg.components-spinner>*{display:none!important}
@keyframes htw-loading-dots-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){body .loading-spin,body .processing:before,body .blockUI.blockOverlay:before,body .button.loading:after,body .wc-block-components-spinner:after,body svg.components-spinner{animation:none!important;opacity:1!important}}
