/**
 * Course detail page - Cart button styles.
 */

/* Loading state */
.btn-loading {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.btn-spinner {
	width: 18px;
	height: 18px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-top-color: #fff;
	border-radius: 50%;
	animation: spin 0.6s linear infinite;
}

@keyframes spin {
	to { transform: rotate(360deg); }
}

/* Button states */
.btn-main {
	position: relative;
	overflow: hidden;
	transition: all 0.3s ease;
}

.is-loading {
	pointer-events: none;
	min-width: 140px;
}

.is-loading::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
	animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(100%); }
}

.is-success {
	background-color: #10B981 !important;
	border-color: #10B981 !important;
}

.is-success .txt,
.is-success .btn-icon,
.is-success .icon {
	color: #fff !important;
}

/* Mini cart update animation */
.mncart-content {
	transition: opacity 0.2s ease;
}

.mncart-content.is-updating {
	opacity: 0.5;
	pointer-events: none;
}
