.bdt-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm, 8px);
  font-family: var(--font-ui, 'Space Grotesk', sans-serif);
  font-weight: 600;
  border: none;
  border-radius: var(--radius-sm, 8px);
  cursor: pointer;
  transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
  white-space: nowrap;
  text-decoration: none;
  line-height: 1;
}

.bdt-button:active {
  transform: scale(0.98);
}

.bdt-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

.bdt-button--primary {
  background: var(--color-primary, #0D9488);
  color: var(--color-text-inverse, #FFFFFF);
}

.bdt-button--primary:hover:not(:disabled) {
  background: var(--color-primary-hover, #0F766E);
  box-shadow: var(--shadow-glow-teal, 0 10px 26px hsl(174 83% 32% / 0.22));
}

.bdt-button--secondary {
  background: var(--color-surface, #FFFFFF);
  color: var(--color-text-primary, #111827);
  border: 1px solid var(--color-border, #EFEDE8);
}

.bdt-button--secondary:hover:not(:disabled) {
  background: var(--color-surface-alt, #F5F3EF);
  border-color: var(--color-border-strong, #D1D5DB);
}

.bdt-button--danger {
  background: transparent;
  color: var(--color-error, #DC2626);
  border: 1px solid var(--color-border, #EFEDE8);
}

.bdt-button--danger:hover:not(:disabled) {
  background: var(--color-error-bg, #FEE2E2);
  border-color: var(--color-error, #DC2626);
}

.bdt-button--sm {
  font-size: var(--text-sm, 0.875rem);
  padding: 6px 12px;
}

.bdt-button--md {
  font-size: var(--text-base, 1rem);
  padding: 10px 18px;
}

.bdt-button--lg {
  font-size: var(--text-lg, 1.1rem);
  padding: 12px 24px;
}

.bdt-button--full-width {
  width: 100%;
}
