/* ──────────────────────────────────────────────────────────────
   Buttons — generic .wt-btn family (used everywhere).
   Cadastros pages also have .ct-btn-ghost / .ct-btn-primary in
   pages/cadastros.css with slightly different metrics (30px height).
   Source: docs/handoff/styles.css lines 117-160.
   ────────────────────────────────────────────────────────────── */

.wt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 32px;
  padding: 0 12px;
  border-radius: var(--wt-r);
  border: 1px solid transparent;
  font-family: var(--wt-font);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s, color 0.12s, transform 0.06s;
  white-space: nowrap;
  user-select: none;
}
.wt-btn:active { transform: translateY(0.5px); }
.wt-btn:disabled { opacity: 0.4; cursor: not-allowed; pointer-events: none; }

.wt-btn-primary { background: var(--wt-primary); color: white; }
.wt-btn-primary:hover { background: var(--wt-primary-hover); }

.wt-btn-ghost { background: transparent; color: var(--wt-fg-2); }
.wt-btn-ghost:hover { background: var(--wt-bg-3); color: var(--wt-fg); }

.wt-btn-outline {
  background: var(--wt-card);
  color: var(--wt-fg);
  border-color: var(--wt-border);
}
.wt-btn-outline:hover { background: var(--wt-bg-2); border-color: var(--wt-border-2); }

.wt-btn-danger { background: transparent; color: var(--wt-danger); }
.wt-btn-danger:hover { background: color-mix(in oklch, var(--wt-danger) 12%, transparent); }

/* Icon-only square button */
.wt-btn-icon {
  width: 32px; height: 32px; padding: 0;
  background: transparent;
  color: var(--wt-fg-2);
}
.wt-btn-icon:hover { background: var(--wt-bg-3); color: var(--wt-fg); }

/* Small variant */
.wt-btn-sm { height: 26px; padding: 0 9px; font-size: 12px; }
.wt-btn-icon.wt-btn-sm { width: 26px; padding: 0; }
