/* Global action hierarchy and contrast */
:root{
  --action-primary:#bd62d8;
  --action-primary-hover:#d276e8;
  --action-primary-pressed:#a94fc8;
  --action-primary-text:#17091c;
  --action-secondary:#25142d;
  --action-secondary-hover:#32183d;
  --action-secondary-border:#754487;
  --action-secondary-border-hover:#a65dbc;
  --action-secondary-text:#f7edf9;
  --action-tertiary-text:#d9b6e3;
  --action-danger:#5e263b;
  --action-danger-hover:#753047;
  --action-danger-border:#a84c6c;
  --action-danger-text:#ffe7ef;
  --action-focus:#e38df3;
}

body .btn,body button.btn,body a.btn{
  border:1px solid rgba(248,199,255,.38)!important;
  color:var(--action-primary-text)!important;
  background:linear-gradient(135deg,var(--action-primary-hover),var(--action-primary) 52%,#a947c9)!important;
  box-shadow:0 10px 25px rgba(171,61,202,.25),inset 0 1px 0 rgba(255,255,255,.38)!important;
  font-weight:850;
  text-shadow:none;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
body .btn:hover,body button.btn:hover,body a.btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.09) saturate(1.04);
  border-color:rgba(255,221,255,.62)!important;
  box-shadow:0 13px 31px rgba(182,66,214,.34),inset 0 1px 0 rgba(255,255,255,.48)!important;
}
body .btn:active,body button.btn:active,body a.btn:active{
  transform:translateY(0);
  filter:brightness(.94);
  background:linear-gradient(135deg,var(--action-primary),var(--action-primary-pressed))!important;
  box-shadow:0 5px 14px rgba(151,49,181,.24),inset 0 1px 0 rgba(255,255,255,.25)!important;
}

body .ghostBtn,body button.ghostBtn,body a.ghostBtn{
  border:1px solid var(--action-secondary-border)!important;
  color:var(--action-secondary-text)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018)),var(--action-secondary)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 7px 18px rgba(0,0,0,.16)!important;
  font-weight:780;
  opacity:1;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
body .ghostBtn:hover,body button.ghostBtn:hover,body a.ghostBtn:hover,
body .ghostBtn.active,body button.ghostBtn.active,body a.ghostBtn.active{
  transform:translateY(-1px);
  border-color:var(--action-secondary-border-hover)!important;
  color:#fff8ff!important;
  background:linear-gradient(135deg,rgba(197,91,221,.13),rgba(255,255,255,.025)),var(--action-secondary-hover)!important;
  box-shadow:0 9px 22px rgba(79,27,92,.23),inset 0 1px 0 rgba(255,255,255,.075)!important;
}
body .ghostBtn:active,body button.ghostBtn:active,body a.ghostBtn:active{transform:translateY(0);filter:brightness(.94)}

body .linkBtn,body button.linkBtn,body a.linkBtn{
  border:1px solid transparent!important;
  color:var(--action-tertiary-text)!important;
  background:transparent!important;
  box-shadow:none!important;
  font-weight:780;
  opacity:1;
  text-decoration:none;
}
body .linkBtn:hover,body button.linkBtn:hover,body a.linkBtn:hover{
  border-color:rgba(166,93,188,.42)!important;
  color:#faeffd!important;
  background:rgba(123,61,143,.16)!important;
  transform:none;
}

body .dangerBtn,body button.dangerBtn,body a.dangerBtn{
  border:1px solid var(--action-danger-border)!important;
  color:var(--action-danger-text)!important;
  background:linear-gradient(135deg,#743047,var(--action-danger))!important;
  box-shadow:0 8px 20px rgba(76,18,40,.26),inset 0 1px 0 rgba(255,255,255,.1)!important;
  font-weight:820;
  opacity:1;
}
body .dangerBtn:hover,body button.dangerBtn:hover,body a.dangerBtn:hover{
  border-color:#cf668b!important;
  color:#fff5f8!important;
  background:linear-gradient(135deg,#8b3954,var(--action-danger-hover))!important;
  transform:translateY(-1px);
}
body .dangerSoft,body button.dangerSoft,body a.dangerSoft{
  border-color:rgba(203,91,130,.58)!important;
  color:#ffc9d9!important;
  background:rgba(113,38,65,.22)!important;
}
body .dangerSoft:hover,body button.dangerSoft:hover,body a.dangerSoft:hover{
  border-color:rgba(226,111,151,.8)!important;
  color:#fff1f5!important;
  background:rgba(132,46,76,.34)!important;
}

body :is(button,a,[role="button"]):focus-visible{
  outline:2px solid var(--action-focus)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 5px rgba(197,91,221,.16)!important;
}
body :is(.btn,.ghostBtn,.linkBtn,.dangerBtn):disabled,
body button:disabled:is(.btn,.ghostBtn,.linkBtn,.dangerBtn){
  border-color:rgba(164,142,170,.18)!important;
  color:rgba(219,205,224,.44)!important;
  background:#2a222d!important;
  box-shadow:none!important;
  filter:saturate(.35)!important;
  opacity:.7!important;
  transform:none!important;
}

/* Controls without the shared classes */
body .checkoutCloseButton{
  border-color:rgba(183,116,198,.42)!important;
  color:rgba(248,235,251,.82)!important;
  background:rgba(55,27,64,.72)!important;
}
body .checkoutCloseButton:hover{
  border-color:rgba(225,132,245,.68)!important;
  color:#fff!important;
  background:rgba(113,44,132,.38)!important;
}
body .resellerCopyAction{
  border-color:rgba(167,91,186,.48)!important;
  color:#ead7ef!important;
  background:#28152f!important;
}
body .resellerCopyAction:hover{
  border-color:#9f57b4!important;
  color:#fff!important;
  background:#35183f!important;
}
body .resellerMoreActions>summary,body .resellerRowMenu>summary{
  border-color:rgba(157,88,175,.5)!important;
  color:#e5d1eb!important;
  background:#25132c!important;
}
body .resellerMoreActions>summary:hover,body .resellerRowMenu>summary:hover,
body .resellerMoreActions[open]>summary,body .resellerRowMenu[open]>summary{
  border-color:#a65cbb!important;
  color:#fff!important;
  background:#351841!important;
}

@media (prefers-reduced-motion:reduce){
  body .btn,body .ghostBtn,body .dangerBtn{transition:none!important}
  body .btn:hover,body .ghostBtn:hover,body .dangerBtn:hover{transform:none}
}
