/* Shared purple button treatment, scaled to each control's purpose. */
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) :is(.cr-primary,.cr-secondary,.px-call,.cr-menu,button.cr-link,.dp-pause,button[data-close-dialog],button[role="tab"],button[data-quick],button[data-custom-count],button[data-step]){
  box-sizing:border-box;max-width:100%;border:1px solid #bb83ef!important;border-radius:10px;
  background:linear-gradient(115deg,#43225f 0%,#613387 55%,#39234f 100%)!important;
  box-shadow:0 0 0 1px #d7a5ff12,inset 0 1px 0 #ffffff20,0 7px 22px #772db52e,0 0 18px #c371f91c!important;
  color:#fff!important;text-decoration:none;font-family:CRBarlow,Impact,sans-serif;font-weight:800;
  letter-spacing:.65px;text-transform:uppercase;line-height:1.15;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
/* Override the earlier hero-specific accent palette while retaining its layout. */
#curbside-site.fx-site .fx-hero a.cr-primary.px-contact,
#curbside-site.fx-site .fx-hero a.cr-primary.px-contact:hover{
  background:linear-gradient(115deg,#43225f 0%,#613387 55%,#39234f 100%)!important;
  border:1px solid #bb83ef!important;color:#fff!important;text-shadow:none!important;
  box-shadow:0 0 0 1px #d7a5ff12,inset 0 1px 0 #ffffff20,0 7px 22px #772db52e,0 0 18px #c371f91c!important;
}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) :is(.cr-primary,.cr-secondary){min-height:52px;padding:14px 20px;font-size:20px;gap:12px}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) :is(.cr-primary,.cr-secondary,.px-call) strong{font-family:CRBarlow,Impact,sans-serif;font-weight:800;color:#fff!important;line-height:1.1;letter-spacing:.35px}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) :is(.cr-primary,.cr-secondary) svg{flex-shrink:0;color:#edceff!important}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) .px-contact small{font-family:CRManrope,Arial,sans-serif;color:#e6d5f4!important;font-weight:600;letter-spacing:0;text-transform:none}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) .px-call{padding:12px 18px;min-height:52px;font-size:19px}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) .px-call svg{color:#edceff!important}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) .cr-header :is(.cr-primary,.px-call){padding:10px 16px;min-height:52px;font-size:19px}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) .cr-header .px-contact strong{font-size:19px}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) .cr-menu{padding:11px 15px;min-height:44px;font-size:18px}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) :is(button.cr-link,.dp-pause,button[data-close-dialog]){padding:9px 13px;min-height:40px;font-size:15px}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) :is(button[role="tab"],button[data-quick],button[data-custom-count],button[data-step]){padding:10px 13px;min-height:44px;font-size:17px;background:linear-gradient(115deg,#25162f,#35203f)!important;border-color:#80628f!important;box-shadow:inset 0 1px 0 #ffffff0b!important;color:#e7d6f2!important}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) :is(button[aria-selected="true"],button[aria-pressed="true"],button.is-active,button.active):not(.fp-crop):not(.cr-file):not(.ux-nav-backdrop){background:linear-gradient(115deg,#643182,#8549ad,#57316f)!important;border-color:#e2b8ff!important;box-shadow:inset 0 -3px 0 #e4bdff,0 0 18px #b96af63d!important;color:#fff!important}
.cr-mobile-dock :is(.cr-primary,.px-call){padding:12px 10px;min-height:58px;font-size:18px}
.cr-mobile-dock .px-contact strong{font-size:18px}
.cr-mobile-dock .px-contact small{font-size:11px}
@media(hover:hover){
  :is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) :is(.cr-primary,.cr-secondary,.px-call,.cr-menu,button.cr-link,.dp-pause,button[data-close-dialog],button[role="tab"],button[data-quick],button[data-custom-count],button[data-step]):not(:disabled):not([aria-disabled="true"]):hover{transform:translateY(-2px);border-color:#e0b7ff!important;box-shadow:inset 0 1px 0 #ffffff29,0 8px 26px #9b47dc52,0 0 24px #b96af63d!important;color:#fff!important}
}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) :is(.cr-primary,.cr-secondary,.px-call,.cr-menu,button.cr-link,.dp-pause,button[data-close-dialog],button[role="tab"],button[data-quick],button[data-custom-count],button[data-step]):focus-visible{outline:3px solid #8cdfea;outline-offset:4px;border-color:#ead4ff!important}
:is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) :is(.cr-primary,.cr-secondary,.px-call,.cr-menu,button.cr-link,.dp-pause,button[data-close-dialog],button[role="tab"],button[data-quick],button[data-custom-count],button[data-step]):is(:disabled,[aria-disabled="true"]){opacity:.5;box-shadow:none!important;transform:none;cursor:not-allowed}
@media(max-width:600px){
  :is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) :is(.cr-primary,.cr-secondary){padding:13px 16px;font-size:18px}
  :is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) .cr-header .cr-menu{padding:10px 12px;font-size:17px}
  :is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) :is(button[role="tab"],button[data-quick],button[data-custom-count],button[data-step]){padding:10px 11px;font-size:15px}
  .cr-mobile-dock :is(.cr-primary,.px-call){padding:11px 9px}
}
@media(prefers-reduced-motion:reduce){
  :is(#curbside-site.fx-site,.cr-modal,.cr-mobile-dock) :is(.cr-primary,.cr-secondary,.px-call,.cr-menu,button.cr-link,.dp-pause,button[data-close-dialog],button[role="tab"],button[data-quick],button[data-custom-count],button[data-step]){transition:none!important;transform:none!important}
}
