.kgb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  font-family: var(--font-display);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease-standard);
  line-height: 1;
  white-space: nowrap;
  padding: var(--space-3) var(--space-5);
  font-size: var(--fs-body);
  border: 1px solid transparent;
}

.kgb-btn--primary { background: var(--accent); color: var(--text-on-accent); border-color: var(--accent); }
.kgb-btn--primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); color: var(--text-on-accent); }

.kgb-btn--outline { background: transparent; color: var(--text-primary); border-color: var(--border-strong); }
.kgb-btn--outline:hover { border-color: var(--text-primary); color: var(--text-primary); }

.kgb-btn--outline-dark { background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.3); }
.kgb-btn--outline-dark:hover { border-color: var(--white); color: var(--white); }

.kgb-btn--dark { background: var(--black); color: var(--white); border-color: var(--black); }
.kgb-btn--dark:hover { background: var(--accent); border-color: var(--accent); color: var(--text-on-accent); }

.kgb-btn--lg { padding: var(--space-4) var(--space-6); font-size: var(--fs-body-lg); }
.kgb-btn--full { width: 100%; }
