.button{--icon-size:1.25em;justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);text-align:center;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-base) var(--easing), border-color var(--duration-base) var(--easing), color var(--duration-base) var(--easing), box-shadow var(--duration-base) var(--easing), transform var(--duration-fast) var(--easing);border:1px solid #0000;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{text-decoration:none}.button:active{transform:scale(.98)}.button--primary{background:var(--color-brand);color:var(--color-text-on-dark);box-shadow:var(--shadow-brand);font-size:1.1875rem}.button--primary:hover{background:var(--color-brand);color:var(--color-text-on-dark);box-shadow:var(--shadow-brand-hover);transform:translateY(-1px)}.button--primary:active{box-shadow:var(--shadow-brand);transform:scale(.98)}.button--soft{background:var(--color-brand-soft);color:var(--color-brand-text)}.button--soft:hover{background:var(--color-brand-soft-hover);color:var(--color-brand-text)}.button--whatsapp{background:var(--color-whatsapp-soft);color:var(--color-whatsapp-text)}.button--whatsapp .icon{color:var(--color-whatsapp)}.button--whatsapp:hover{background:var(--color-whatsapp-soft-hover);color:var(--color-whatsapp-text)}.button--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-sm)}.button--secondary:hover{border-color:var(--color-border-field);color:var(--color-text);box-shadow:var(--shadow-md)}.button--outline{background:var(--color-surface);border:1.5px solid var(--color-brand);color:var(--color-brand-text)}.button--outline:hover{background:var(--color-brand-soft);color:var(--color-brand-text)}.button--ghost,.button--ghost-inverse{padding-inline:var(--space-2);color:var(--color-brand-text)}.button--ghost-inverse{color:var(--color-text-on-dark)}.button--ghost .icon,.button--ghost-inverse .icon{transition:transform var(--duration-base) var(--easing)}.button--ghost:hover{color:var(--color-brand-text)}.button--ghost-inverse:hover{color:var(--color-text-on-dark)}.button--ghost:hover .icon,.button--ghost-inverse:hover .icon{transform:translate(3px)}.button--inverse{color:var(--color-text-on-dark);background:#ffffff1a}.button--inverse:hover{color:var(--color-text-on-dark);background:#ffffff2e}.button--small{min-height:40px;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.button--large{min-height:56px;padding:var(--space-3) var(--space-6);font-size:1.1875rem}.button--block{width:100%;display:flex}.button--icon{min-width:48px;padding:var(--space-2)}.button:disabled,.button[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.button[data-loading=true]{cursor:progress;pointer-events:none}.button[data-loading=true]:before{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.8s linear infinite button-spin}@keyframes button-spin{to{transform:rotate(360deg)}}
