/* 按钮基础样式 */
.btnxyz {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 24px;
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	border-radius: 8px;
	cursor: pointer;
	user-select: none;
	border: none;
	transition: all 0.3s ease;
	line-height: 1;
	white-space: nowrap;
}

/* 禁用状态 */
.btnxyz.disabled,
.btnxyz:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	pointer-events: none;
}

/* 按钮尺寸 */
.btnxyz-sm {
	padding: 8px 16px;
	font-size: 14px;
}

.btnxyz-md {
	padding: 12px 24px;
	font-size: 16px;
}

.btnxyz-lg {
	padding: 16px 32px;
	font-size: 18px;
}

/* 按钮形状 */
.btnxyz-rounded {
	border-radius: 50px;
}

.btnxyz-circle {
	width: 50px;
	height: 50px;
	padding: 0;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* 按钮颜色方案 */

/* 1. 主色按钮 */
.btnxyz-primary {
	background: linear-gradient(135deg, #3498db, #2980b9);
	color: white;
	box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3);
}

.btnxyz-primary:hover {
	background: linear-gradient(135deg, #2980b9, #1f6398);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(52, 152, 219, 0.4);
}

.btnxyz-primary:active {
	transform: translateY(0);
	box-shadow: 0 2px 10px rgba(52, 152, 219, 0.2);
}

/* 2. 成功按钮 */
.btnxyz-success {
	background: linear-gradient(135deg, #2ecc71, #27ae60);
	color: white;
	box-shadow: 0 4px 15px rgba(46, 204, 113, 0.3);
}

.btnxyz-success:hover {
	background: linear-gradient(135deg, #27ae60, #219653);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(46, 204, 113, 0.4);
}

/* 3. 警告按钮 */
.btnxyz-warning {
	background: linear-gradient(135deg, #f39c12, #e67e22);
	color: white;
	box-shadow: 0 4px 15px rgba(243, 156, 18, 0.3);
}

.btnxyz-warning:hover {
	background: linear-gradient(135deg, #e67e22, #d35400);
	transform: translateY(-2px);
}

/* 4. 危险按钮 */
.btnxyz-danger {
	background: linear-gradient(135deg, #e74c3c, #c0392b);
	color: white;
	box-shadow: 0 4px 15px rgba(231, 76, 60, 0.3);
}

.btnxyz-danger:hover {
	background: linear-gradient(135deg, #c0392b, #a93226);
	transform: translateY(-2px);
}

/* 5. 次要按钮 */
.btnxyz-secondary {
	background: #f8f9fa;
	color: #495057;
	border: 1px solid #dee2e6;
}

.btnxyz-secondary:hover {
	background: #e9ecef;
	border-color: #ced4da;
}

/* 6. 轮廓按钮 */
.btnxyz-outline-primary {
	background: transparent;
	color: #3498db;
	border: 2px solid #3498db;
}

.btnxyz-outline-primary:hover {
	background: #3498db;
	color: white;
}

.btnxyz-outline-success {
	background: transparent;
	color: #2ecc71;
	border: 2px solid #2ecc71;
}

.btnxyz-outline-success:hover {
	background: #2ecc71;
	color: white;
}

/* 7. 幽灵按钮 */
.btnxyz-ghost {
	background: transparent;
	color: #3498db;
}

.btnxyz-ghost:hover {
	background: rgba(52, 152, 219, 0.1);
}

/* 8. 链接按钮 */
.btnxyz-link {
	background: transparent;
	color: #3498db;
	text-decoration: underline;
	padding: 8px 12px;
}

.btnxyz-link:hover {
	color: #2980b9;
	background: rgba(52, 152, 219, 0.05);
}

/* 按钮组 */
.btnxyz-group {
	display: inline-flex;
	gap: 8px;
}

.btnxyz-group .btnxyz:not(:last-child) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.btnxyz-group .btnxyz:not(:first-child) {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

/* 图标按钮 */
.btnxyz-icon {
	gap: 8px;
}

.btnxyz-icon i,
.btnxyz-icon svg {
	width: 20px;
	height: 20px;
}

/* 加载状态 */
.btnxyz-loading {
	position: relative;
	color: transparent !important;
}

.btnxyz-loading::after {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-top-color: white;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* 悬停效果扩展 */
.btnxyz-scale:hover {
	transform: scale(1.05);
}

.btnxyz-shake:hover {
	animation: shake 0.5s;
}

@keyframes shake {
	0%, 100% { transform: translateX(0); }
	10%, 30%, 50%, 70%, 90% { transform: translateX(-2px); }
	20%, 40%, 60%, 80% { transform: translateX(2px); }
}

.btnxyz-pulse:hover {
	animation: pulse 1s infinite;
}

@keyframes pulse {
	0% { box-shadow: 0 0 0 0 rgba(52, 152, 219, 0.4); }
	70% { box-shadow: 0 0 0 10px rgba(52, 152, 219, 0); }
	100% { box-shadow: 0 0 0 0 rgba(52, 152, 219, 0); }
}