/* Shared button feel for every Acuity page. Colours, fonts and layout are NOT changed: this only adds hover, press, focus,
   disabled and click feedback. Loaded last so it wins ties; honours prefers-reduced-motion. */
.btn,.btn2,.wbtn,.gbtn,button.go,.bb,.tbtn,.btnx,.acts button,.cb button,.lvbt button,.arb button,.cpa button,.h2b button,.mi button,.al button,.cp button,.btns button,
.chip,.chips button,.fc button,.seg button,.cd2 button,.chs button,.lots button,.stp button,.tfs button,.dsw button,.tabs button,.jch button,.qk button,.dir button,.cn button,.pw button,.am button,
.nt button,.mth button,.kdoc button,.ui-btn{
  cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;
  transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,filter .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease;
}
/* hover: only on devices that really hover (no sticky hover on phones) */
@media (hover:hover){
  .btn:not(:disabled):hover,.btn2:not(:disabled):hover,.wbtn:not(:disabled):hover,.gbtn:not(:disabled):hover,button.go:not(:disabled):hover,.bb:not(:disabled):hover,.tbtn:not(:disabled):hover,.btnx:not(:disabled):hover,
  .acts button:not(:disabled):hover,.cb button:not(:disabled):hover,.lvbt button:not(:disabled):hover,.arb button:not(:disabled):hover,.cpa button:not(:disabled):hover,.h2b button:not(:disabled):hover,.mi button:not(:disabled):hover,.al button:not(:disabled):hover,.cp button:not(:disabled):hover,.btns button:not(:disabled):hover,.ui-btn:not(:disabled):hover{
    transform:translateY(-2px);filter:brightness(1.08) drop-shadow(0 8px 12px rgba(20,10,35,.22));
  }
  .chip:not(:disabled):hover,.chips button:not(:disabled):hover,.fc button:not(:disabled):hover,.seg button:not(:disabled):hover,.cd2 button:not(:disabled):hover,.chs button:not(:disabled):hover,.lots button:not(:disabled):hover,.stp button:not(:disabled):hover,
  .tfs button:not(:disabled):hover,.dsw button:not(:disabled):hover,.tabs button:not(:disabled):hover,.jch button:not(:disabled):hover,.qk button:not(:disabled):hover,.dir button:not(:disabled):hover,.cn button:not(:disabled):hover,.pw button:not(:disabled):hover,.am button:not(:disabled):hover{
    filter:brightness(1.15);
  }
  .nt button:not(:disabled):hover,.mth button:not(:disabled):hover,.kdoc button:not(:disabled):hover{transform:translateY(-3px);filter:brightness(1.05) drop-shadow(0 12px 18px rgba(20,10,35,.25))}
}
/* press: instant, tactile */
.btn:not(:disabled):active,.btn2:not(:disabled):active,.wbtn:not(:disabled):active,.gbtn:not(:disabled):active,button.go:not(:disabled):active,.bb:not(:disabled):active,.tbtn:not(:disabled):active,.btnx:not(:disabled):active,
.acts button:not(:disabled):active,.cb button:not(:disabled):active,.lvbt button:not(:disabled):active,.arb button:not(:disabled):active,.cpa button:not(:disabled):active,.h2b button:not(:disabled):active,.mi button:not(:disabled):active,.al button:not(:disabled):active,.cp button:not(:disabled):active,.btns button:not(:disabled):active,.ui-btn:not(:disabled):active{
  transform:translateY(0) scale(.97);filter:brightness(.94);transition-duration:.06s;
}
.chip:not(:disabled):active,.chips button:not(:disabled):active,.fc button:not(:disabled):active,.seg button:not(:disabled):active,.cd2 button:not(:disabled):active,.chs button:not(:disabled):active,.lots button:not(:disabled):active,.stp button:not(:disabled):active,
.tfs button:not(:disabled):active,.dsw button:not(:disabled):active,.tabs button:not(:disabled):active,.jch button:not(:disabled):active,.qk button:not(:disabled):active,.dir button:not(:disabled):active,.cn button:not(:disabled):active,.pw button:not(:disabled):active,.am button:not(:disabled):active,
.nt button:not(:disabled):active,.mth button:not(:disabled):active,.kdoc button:not(:disabled):active{transform:scale(.96);filter:brightness(.95);transition-duration:.06s}
/* keyboard focus: always visible, never for mouse clicks */
button:focus-visible,[role=button]:focus-visible,a.btn:focus-visible,.btn:focus-visible{outline:2px solid #a78bfa;outline-offset:2px;border-radius:inherit}
button:focus:not(:focus-visible){outline:none}
/* disabled / busy: the cursor tells the user why nothing happens */
button:disabled,.btn:disabled,[aria-disabled=true]{cursor:not-allowed;filter:saturate(.55);opacity:.6;transform:none}
button[aria-busy=true],button.is-busy{cursor:progress;position:relative;pointer-events:none}
button.is-busy::after,button[aria-busy=true]::after{content:"";width:14px;height:14px;margin-left:8px;display:inline-block;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite}
@keyframes ui-spin{to{transform:rotate(360deg)}}
/* click ripple (added by ui.js) */
.ui-rh{position:relative;overflow:hidden}
.ui-rp{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.22;transform:scale(0);animation:ui-rp .55s ease-out forwards}
@keyframes ui-rp{to{transform:scale(1);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .btn,.btn2,.wbtn,.gbtn,button,.bb,.tbtn,.btnx{transition:none!important}
  .btn:hover,.btn:active,button:hover,button:active{transform:none!important}
  .ui-rp,button.is-busy::after{animation:none!important;display:none}
}
