/* HITUNE Design System — Customer Button Master v1
   Semantic component foundation. Business behavior stays with each feature. */
/* Theme values are owned by nightrun-theme.css through the canonical --ht-* contract. */
.ht-button{
 box-sizing:border-box;min-height:var(--ht-master-control-height);padding:10px 16px;border:1px solid transparent;border-radius:var(--ht-master-control-radius);
 display:inline-flex;align-items:center;justify-content:center;gap:9px;font:var(--ht-master-type-weight-bold) .78rem/1.15 var(--ht-master-type-body);
 letter-spacing:.025em;text-decoration:none!important;cursor:pointer;-webkit-tap-highlight-color:transparent;
 transition:transform var(--ht-master-motion-quick) var(--ht-master-motion-ease),background-color var(--ht-master-motion-normal) var(--ht-master-motion-ease),border-color var(--ht-master-motion-normal) var(--ht-master-motion-ease),box-shadow var(--ht-master-motion-normal) var(--ht-master-motion-ease),filter var(--ht-master-motion-normal) var(--ht-master-motion-ease),color var(--ht-master-motion-normal) var(--ht-master-motion-ease);
}
.ht-button:hover{filter:brightness(1.07)}
.ht-button:active{transform:scale(.985);filter:brightness(.96)}
.ht-button:focus-visible{outline:2px solid var(--ht-master-focus);outline-offset:3px}
.ht-button:disabled,.ht-button[aria-disabled="true"]{opacity:.48;cursor:not-allowed;filter:saturate(.55);box-shadow:none!important;transform:none!important}
.ht-button.is-loading,.ht-button[aria-busy="true"]{cursor:wait;pointer-events:none}
.ht-button.is-loading:before,.ht-button[aria-busy="true"]:before{content:"";width:14px;height:14px;flex:0 0 14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ht-button-spin .7s linear infinite}
.ht-button--main{background:var(--ht-master-action-primary);color:var(--ht-master-action-primary-ink)!important;box-shadow:0 10px 28px rgba(32,217,255,.16)}
.ht-button--second{background:var(--ht-master-action-secondary-bg);color:var(--ht-master-action-secondary-text)!important;border-color:var(--ht-master-action-secondary-border)}
.ht-button--outline{background:var(--ht-surface-card);color:var(--ht-master-action-outline)!important;border-color:color-mix(in srgb,var(--ht-master-action-outline) 62%,transparent);backdrop-filter:blur(12px)}
.ht-button--text{min-height:44px;padding-inline:5px;background:transparent;color:var(--ht-master-action-outline)!important;border-color:transparent;box-shadow:none}
.ht-button--danger{background:var(--ht-master-action-danger-bg);color:#fff4f7!important;border-color:color-mix(in srgb,var(--ht-master-action-danger) 70%,transparent)}
.ht-button--icon{width:44px;height:44px;min-height:44px;padding:0;background:var(--ht-master-action-secondary-bg);color:var(--ht-master-action-secondary-text)!important;border-color:var(--ht-master-action-secondary-border)}
.ht-button--roadside{background:linear-gradient(145deg,var(--ht-master-action-roadside-bg),rgba(17,5,14,.92));color:#fff3f7!important;border-color:color-mix(in srgb,var(--ht-master-action-roadside) 75%,transparent);box-shadow:0 0 28px rgba(239,30,109,.13)}
@keyframes ht-button-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ht-button{transition:none!important}.ht-button:active{transform:none}.ht-button.is-loading:before,.ht-button[aria-busy="true"]:before{animation-duration:1.4s}}

