.ls-cpw-widget {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.ls-cpw-form {
	background: #fff;
	padding: 20px;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.ls-cpw-form[v-cloak] {
	display: none;
}

.ls-cpw-loading, .ls-cpw-success, .ls-cpw-error {
	text-align: center;
	padding: 60px 20px;
}

.ls-cpw-spinner {
	width: 40px;
	height: 40px;
	border: 4px solid #f3f3f3;
	border-top: 4px solid #3f51b5;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	margin-bottom: 15px;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.ls-cpw-success-icon {
	font-size: 48px;
	color: #10b981;
	margin-bottom: 20px;
	font-weight: bold;
}

.ls-cpw-success h3 {
	margin: 0 0 30px 0;
	font-size: 24px;
	color: #1f2937;
}

.ls-cpw-error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 8px;
	color: #dc2626;
}

.ls-cpw-error p {
	margin: 0 0 15px 0;
}

.ls-cpw-fields {
	display: grid;
	gap: 20px;
	margin-bottom: 20px;
}

.ls-cpw-field {
	display: flex;
	flex-direction: column;
}

.ls-cpw-field label {
	margin-bottom: 8px;
	font-weight: 500;
	font-size: 14px;
	color: #1f2937;
}

.required {
	color: #ef4444;
	margin-left: 4px;
}

.ls-cpw-field .input,
.ls-cpw-field .textarea,
.ls-cpw-field .select {
	padding: 10px 12px;
	border: 1px solid #e0e0e0;
	border-radius: 6px;
	font-size: 14px;
	font-family: inherit;
	width: 100%;
}

.ls-cpw-field .input:focus,
.ls-cpw-field .textarea:focus,
.ls-cpw-field .select:focus {
	outline: none;
	border-color: #3f51b5;
	box-shadow: 0 0 0 3px rgba(63,81,181,0.1);
}

.ls-cpw-field .textarea {
	min-height: 100px;
	resize: vertical;
}

.ls-cpw-field .checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}

.ls-cpw-field .checkbox input {
	cursor: pointer;
	width: 16px;
	height: 16px;
}

.field-error {
	color: #dc2626;
	font-size: 12px;
	margin-top: 5px;
}

.ls-cpw-buttons {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
	padding-top: 20px;
	border-top: 1px solid #e5e7eb;
}

.btn {
	padding: 10px 20px;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.2s;
}

.btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.btn-submit {
	background: #3f51b5;
	color: #fff;
}

.btn-submit:hover:not(:disabled) {
	background: #303f9f;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(63,81,181,0.4);
}

.btn-secondary {
	background: #f0f0f0;
	color: #333;
	border: 1px solid #ddd;
}

.btn-secondary:hover:not(:disabled) {
	background: #e0e0e0;
}

@media (max-width: 768px) {
	.ls-cpw-buttons {
		flex-direction: column;
	}
	.btn {
		width: 100%;
	}
}
