/* Congressus Member Form Styles */

/* Postgroei Form Styling */
.congressus-form-wrapper {
	display: flex;
	max-width: 100%;
	margin: 0 auto;
}

.congressus-form {
	background: #fff;
	padding: 10px;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgb(0 0 0 / 10%);
}

.congressus-form .form-section {
	margin-bottom: 20px;
}

.congressus-form .form-section h3 {
	text-align: center;
	display: block;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 1px;
	color: #0E5642;
}

.congressus-form .form-row {
	margin-bottom: 5px;
}

.congressus-form .form-row-inline {
	display: flex;
	gap: 10px;
	margin-bottom: 5px;
}

.congressus-form .form-field-half {
	flex: 1;
}

.congressus-form label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #0E5642;
	margin-bottom: 5px;
}

.congressus-form .form-row-half {
	display: inline-block;
	width: 48%;
	margin-right: 2%;
	vertical-align: top;
}

.congressus-form .form-row-half:nth-child(even) {
	margin-right: 0;
}

.congressus-form .required {
	color: #fb6834;
}

.congressus-form input[type="text"],
.congressus-form input[type="email"],
.congressus-form input[type="tel"],
.congressus-form input[type="date"]{
	width: 100%;
	margin: 0;
	padding: 5px;
	border: 1px solid #FFCDC2;
	border-radius: 6px;
	font-size: 12px;
	transition: border-color 0.3s;
	box-sizing: border-box;
}

.congressus-form input:focus {
	outline: none;
	border-color: #fb6834;
	box-shadow: 0 0 0 3px #2b0b0b1e;
}

/* Radio button cards */
.form-membership-options {
	margin-bottom: 10px;
	padding: 8px;
	border: 2px solid #FFCDC2;
	border-radius: 12px;
}

.radio-option-card {
	margin-bottom: 5px;
}

.radio-option-card label {
	display: flex;
	align-items: flex-start;
	cursor: pointer;
	transition: all 0.2s ease;
	background: #fff;
}

.radio-option-card label:hover {
	/* border-color: #fb6834; */
	background: #fff8f5;
}

.radio-option-card input[type="radio"] {
	margin-right: 12px;
	margin-top: 3px;
	width: 20px;
	height: 20px;
	cursor: pointer;
	flex-shrink: 0;
	accent-color: #fb6834;
}

.radio-option-card input[type="radio"]:checked + .radio-content {
	color: #fb6834;
}

.radio-option-card label:has(input[type="radio"]:checked) {
	border-color: #fb6834;
	background: #fff8f5;
	box-shadow: 0 2px 8px rgb(255 102 51 / 15%);
}

.radio-content strong {
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 2px;
	color: #0E5642;
}

.radio-content p {
	margin: 0 !important;
	font-size: 12px;
	line-height: 1;
	color: #0E5642;
}

/* Privacy section */
.form-privacy {
	margin: 25px 0;
}

.form-privacy .checkbox-label {
	display: flex;
	align-items: flex-start;
	margin-bottom: 10px;
}

.form-privacy input[type="checkbox"] {
	margin-right: 10px;
	margin-top: 2px;
	width: 18px;
	height: 18px;
	cursor: pointer;
	flex-shrink: 0;
	accent-color: #fb6834;
}

.form-privacy .checkbox-label span {
	font-size: 13px;
	line-height: 1.5;
	color: #333;
}

.form-privacy .privacy-note {
	font-size: 12px;
	line-height: 1.5;
	color: #666;
	margin: 8px 0 0;
	padding-left: 28px;
}

/* Oranje submit button */
.congressus-form .form-submit {
	margin-top: 30px;
	text-align: center !important;  /* Center the button container */
	display: block !important;
}

.congressus-form .congressus-submit-btn {
	/* Layout */
	display: block !important;
	width: 100% !important;

	/* Text centering - force override */
	text-align: center !important;

	/* Appearance */
	background-color: #fb6834 !important;
	color: #fff !important;
	padding: 12px 40px !important;
	border: none !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	border-radius: 8px !important;

	/* Interaction */
	cursor: pointer !important;
	transition: background-color 0.3s, transform 0.1s !important;
	text-transform: lowercase !important;

	/* Reset theme interference */
	box-sizing: border-box !important;
	line-height: normal !important;
	letter-spacing: normal !important;
	margin: 0 !important;
}

.congressus-form .congressus-submit-btn:hover {
	background-color: #77252B !important;
}

.congressus-form .congressus-submit-btn:active {
	transform: scale(0.98) !important;
}

.congressus-form .congressus-submit-btn:disabled {
	background-color: #EFEFED !important;
	cursor: not-allowed !important;
	transform: none !important;
}

/* Loading state */
.congressus-form.is-loading {
	opacity: 0.6;
	pointer-events: none;
}

.congressus-form.is-loading .congressus-submit-btn::after {
	content: "...";
	animation: dots 1.5s steps(3, end) infinite;
}

@keyframes dots {
	0%, 20% {
		content: ".";
	}

	40% {
		content: "..";
	}

	60%, 100% {
		content: "...";
	}
}

/* Messages */
.congressus-form .form-messages {
	margin-bottom: 20px;
	padding: 15px;
	border-radius: 8px;
	display: none;
}

.congressus-form .form-messages.success {
	background: #d4edda;
	border: 1px solid #c3e6cb;
	color: #155724;
	display: block;
}

.congressus-form .form-messages.error {
	background: #f8d7da;
	border: 1px solid #f5c6cb;
	color: #721c24;
	display: block;
}


/* Responsive */
@media (width <= 600px) {
	.congressus-form .form-row-inline {
		flex-direction: column;
		gap: 0;
	}

	.congressus-form {
		padding: 20px;
	}

	.radio-content strong {
		font-size: 14px;
	}

	.radio-content p {
		font-size: 12px;
	}
}
/* Succesmelding banner */
.congressus-success-banner {
	max-width: 620px;
	margin: 0 auto 32px;
	padding: 40px 48px;
	background-color: #ffffff;
	border-radius: 4px;
	border-top: 3px solid #ffcdc2;
	text-align: center;
	font-family: 'Plus Jakarta Sans', Arial, sans-serif;
}

.congressus-success-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	background-color: #0e5642;
	color: #ffffff;
	border-radius: 50%;
	font-size: 28px;
	margin-bottom: 20px;
}

.congressus-success-banner h2 {
	margin: 0 0 12px;
	font-size: 24px;
	font-weight: 700;
	color: #0e5642;
}

.congressus-success-banner p {
	margin: 0 0 8px;
	font-size: 16px;
	color: #353535;
	line-height: 1.6;
}

.congressus-success-status {
	display: inline-block;
	margin-top: 8px !important;
	padding: 8px 16px;
	background-color: #56f4d1;
	border-left: 4px solid #0e5642;
	border-radius: 0 4px 4px 0;
	color: #353535 !important;
	font-size: 15px !important;
}

.congressus-success-email {
	margin-top: 16px !important;
	font-size: 14px !important;
	color: #353535 !important;
}
