.wwp-form {
	max-width: 520px;
	margin: 0 auto;
}
.wwp-form .wwp-field {
	margin-bottom: 16px;
	display: flex;
	flex-direction: column;
}
.wwp-form label {
	font-weight: 600;
	margin-bottom: 4px;
}
.wwp-form input[type="text"],
.wwp-form input[type="email"],
.wwp-form input[type="tel"],
.wwp-form input[type="number"],
.wwp-form input[type="password"],
.wwp-form textarea,
.wwp-form select {
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	width: 100%;
}
.wwp-form input:disabled {
	background: #f3f3f3;
	color: #777;
}
.wwp-required {
	color: #d63638;
}
.wwp-form input.wwp-invalid,
.wwp-form select.wwp-invalid,
.wwp-form textarea.wwp-invalid {
	border-color: #d63638;
	box-shadow: 0 0 0 1px #d63638;
}
.wwp-form .wwp-submit button,
.wwp-form button[type="submit"] {
	background: #2271b1;
	color: #fff;
	border: none;
	padding: 10px 22px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 15px;
}
.wwp-form .wwp-submit button:hover,
.wwp-form button[type="submit"]:hover {
	background: #135e96;
}
.wwp-notice {
	padding: 12px 16px;
	border-radius: 4px;
	margin-bottom: 16px;
}
.wwp-notice-success {
	background: #e7f7ec;
	border: 1px solid #46b450;
	color: #1d2327;
}
.wwp-notice-error {
	background: #fbeaea;
	border: 1px solid #dc3232;
	color: #1d2327;
}

/* ---------------- Multi-step wizard ---------------- */
.wwp-multistep .wwp-steps-indicator {
	display: flex;
	justify-content: space-between;
	margin-bottom: 24px;
	border-bottom: 2px solid #eee;
	padding-bottom: 10px;
}
.wwp-multistep .wwp-step-dot {
	font-size: 13px;
	font-weight: 600;
	color: #999;
	padding-bottom: 8px;
	border-bottom: 3px solid transparent;
}
.wwp-multistep .wwp-step-dot.active {
	color: #2271b1;
	border-bottom-color: #2271b1;
}
.wwp-multistep .wwp-step-dot.completed {
	color: #46b450;
}
.wwp-multistep .wwp-step h3 {
	margin-top: 0;
}
.wwp-multistep .wwp-step-actions {
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
}
.wwp-multistep .wwp-step-actions button.wwp-next-step,
.wwp-multistep .wwp-step-actions button.wwp-prev-step {
	background: #f0f0f1;
	color: #1d2327;
	border: 1px solid #ccc;
	padding: 9px 20px;
	border-radius: 4px;
	cursor: pointer;
}
.wwp-multistep .wwp-step-actions button.wwp-next-step {
	background: #2271b1;
	color: #fff;
	border-color: #2271b1;
	margin-left: auto;
}
.wwp-review-summary {
	background: #f9f9f9;
	border: 1px solid #e2e2e2;
	border-radius: 4px;
	padding: 12px 16px;
	margin-bottom: 10px;
}
.wwp-review-summary .wwp-review-row {
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
	border-bottom: 1px solid #eee;
	font-size: 14px;
}
.wwp-review-summary .wwp-review-row:last-child {
	border-bottom: none;
}
.wwp-review-summary .wwp-review-label {
	font-weight: 600;
	color: #555;
}
