/* ===== FORM BASE ===== */
.form {
	max-width: 650px;
	margin: 0 auto;
	background: #fff;
	padding: 30px;
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(107,78,255,0.15);
}

.form h2 {
	margin-bottom: 20px;
	color: #6b4eff;
	text-align: center;
}

/* ===== FIELD ===== */
.form-group {
	margin-bottom: 18px;
	display: flex;
	flex-direction: column;
}

.form-group label {
	font-weight: 600;
	margin-bottom: 6px;
	color: #333;
}

.form-group input,
.form-group select,
.form-group textarea {
	padding: 12px 14px;
	border-radius: 12px;
	border: 2px solid #e6e0ff;
	font-size: 15px;
	transition: border .2s, box-shadow .2s;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
	outline: none;
	border-color: #6b4eff;
	box-shadow: 0 0 0 3px rgba(107,78,255,0.15);
}

/* ===== ERROR ===== */
.form-group.error input,
.form-group.error textarea,
.form-group.error select {
	border-color: #e04b7a;
	background: #fff5f8;
}


.form-error {
	font-size: 13px;
	color: #d6002f; /* erős piros */
	margin-top: 6px;
	font-weight: 600;
}

/* ===== SUCCESS ===== */
.form-group.success input {
	border-color: #4caf50;
}

/* ===== BUTTON ===== */
.form button {
	background: linear-gradient(135deg, #6b4eff, #f3a6c8);
	color: #fff;
	border: none;
	padding: 14px;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease;
}

.form button:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(107,78,255,0.4);
}

/* ===== BACK LINK ===== */
.form-back {
	display: block;
	margin-top: 18px;
	text-align: center;
	color: #6b4eff;
	text-decoration: none;
	font-weight: 500;
}

.form-back:hover {
	text-decoration: underline;
}

.form-group.error input,
.form-group.error textarea,
.form-group.error select {
	border-color: #d6002f;
	background: #fff0f3;
}

/* Biztosítsuk, hogy a céges blokkon belül is működjön */
#tax-number-group .form-group.error input {
    border-color: #ff0000 !important;
}
