/* One purchase treatment across shelves, mini cards, PDP, quick view and checkout.
   The curved fill follows the reference: 150% wide, 200% high, centered at -25%/-50%. */
:is(.button.primary,.add-button,.mini-add),
#cart-dialog .button.primary,#cart-dialog .cart-summary .cart-checkout{
 isolation:isolate;overflow:hidden;background:#009de1;color:#fff;
 box-shadow:inset 0 0 0 1.5px #009de1;
 transition:color .3s ease,box-shadow .3s ease;
}
:is(.button.primary,.add-button){position:relative}
/* Mini cart buttons keep their existing absolute placement within each card. */
:is(.button.primary,.add-button,.mini-add)::before,
#cart-dialog .button.primary::before,#cart-dialog .cart-summary .cart-checkout::before{
 content:'';display:block;position:absolute;z-index:-1;inset:auto;
 top:-50%;left:-25%;width:150%;height:200%;margin:0;
 background:#fff;border-radius:50%;pointer-events:none;
 transform:translate3d(0,76%,0);
 transition:transform .6s cubic-bezier(.25,.8,.25,1);
}
:is(.button.primary,.add-button,.mini-add):is(:hover,:focus-visible):not(:disabled),
#cart-dialog .button.primary:is(:hover,:focus-visible):not(:disabled),
#cart-dialog .cart-summary .cart-checkout:is(:hover,:focus-visible):not(:disabled){
 background:#009de1;color:#009de1;box-shadow:inset 0 0 0 1.5px #009de1;
}
:is(.button.primary,.add-button,.mini-add):is(:hover,:focus-visible):not(:disabled)::before,
#cart-dialog .button.primary:is(:hover,:focus-visible):not(:disabled)::before,
#cart-dialog .cart-summary .cart-checkout:is(:hover,:focus-visible):not(:disabled)::before{transform:translate3d(0,0,0)}
:is(.button.primary,.add-button,.mini-add):is(:hover,:focus-visible) svg,
.product-card .add-button:hover svg{transform:none}
:is(.button.primary,.add-button,.mini-add):disabled::before{display:none}
:where(button,a,summary,select):focus-visible{outline:2px solid #0077ac;outline-offset:4px}
@media(prefers-reduced-motion:reduce){
 :is(.button.primary,.add-button,.mini-add)::before,
 #cart-dialog .button.primary::before,#cart-dialog .cart-summary .cart-checkout::before{transition:none}
}
