Skip to content

Buttons

Variants

PrimarySecondaryOutlineGhost
VariantBackgroundTextUse case
PrimaryOrange 500 (#FF8500)WhiteMain actions, CTAs
SecondaryGray 100 (#F4F4F5)Gray 900 (#18181B)Secondary actions
OutlineTransparentOrange 700 (#C2570A)Tertiary actions
GhostTransparentGray 600 (#52525B)Subtle actions

Sizes

SmallDefaultLarge
SizePaddingFont-SizeBorder-Radius
Small8px 16px13px8px
Default12px 24px14px10px
Large16px 32px16px12px

Disabled State

Primary DisabledSecondary Disabled

CSS

css
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.875rem;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  font-family: var(--font-body);
}

.btn-primary {
  background: #FF8500;
  color: white;
}

.btn-primary:hover {
  background: #EA6D00;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(255, 133, 0, 0.3);
}

.btn-secondary {
  background: #F4F4F5;
  color: #18181B;
}

.btn-outline {
  background: transparent;
  color: #C2570A;
  border: 2px solid #FF8500;
}

Hover & Active States

StatePrimarySecondaryOutline
Default#FF8500#F4F4F5transparent
Hover#EA6D00 + Shadow#E4E4E7#FFF7ED
Active#C2570A#D4D4D8#FFEDD5
Disabled#FED7AA#E4E4E7#E4E4E7

Accessibility

All button text must have a contrast ratio of at least 4.5:1 against the background. White on Orange 500 reaches 4.7:1 — narrowly AA compliant.

Documentation licensed under CC BY-NC 4.0 · Code licensed under MIT