.ui-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 38px;
  padding: 0.45rem 0.95rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.ui-btn svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}

.ui-btn:focus-visible {
  outline: 1px solid var(--color-border-light);
  outline-offset: 1px;
}

.ui-btn:disabled,
.ui-btn[aria-disabled="true"] {
  opacity: 0.6;
  cursor: not-allowed;
}

.ui-btn--primary-orange {
  color: var(--color-bg-base);
  background: var(--color-cta-orange-primary);
  border-color: var(--color-cta-orange-primary);
}

.ui-btn--primary-orange:hover {
  color: var(--color-cta-orange-primary);
  background: var(--color-bg-base);
  border-color: var(--color-cta-orange-primary);
}

.ui-btn--secondary-orange {
  color: var(--color-cta-orange-primary);
  background: var(--color-bg-base);
  border-color: var(--color-cta-orange-primary);
}

.ui-btn--secondary-orange:hover {
  color: var(--color-bg-base);
  background: var(--color-cta-orange-primary);
  border-color: var(--color-cta-orange-primary);
}

.ui-btn--primary-blue {
  color: var(--color-bg-base);
  background: var(--color-brand-blue);
  border-color: var(--color-brand-blue);
}

.ui-btn--primary-blue:hover {
  color: var(--color-brand-blue);
  background: var(--color-bg-base);
  border-color: var(--color-brand-blue);
}

.ui-btn--secondary-blue {
  color: var(--color-brand-blue);
  background: var(--color-bg-base);
  border-color: var(--color-brand-blue);
}

.ui-btn--secondary-blue:hover {
  color: var(--color-bg-base);
  background: var(--color-brand-blue);
  border-color: var(--color-brand-blue);
}

.ui-btn--neutral {
  color: var(--color-text-secondary);
  background: var(--color-bg-panel);
  border-color: var(--color-border-light);
}

.ui-btn--neutral:hover {
  color: var(--color-text-primary);
  background: var(--color-bg-soft-alt);
  border-color: var(--color-text-muted);
}
