#wrapper #main .lsb-wrap {
	max-width: 480px;
	margin: 0 auto;
	padding: 0;
	background: #FFFFFF;
}

#wrapper #main .lsb-heading {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 500;
	font-size: 26px;
	line-height: 1.2;
	color: #333333;
	margin: 0 0 16px;
}

#wrapper #main .lsb-intro {
	font-family: 'Inter', sans-serif;
	font-size: 14.5px;
	line-height: 1.65;
	color: #666666;
	margin: 0 0 14px;
}

#wrapper #main .lsb-intro:last-of-type { margin-bottom: 32px; }

#wrapper #main .js-lsb-form { font-family: 'Inter', sans-serif; }

#wrapper #main .lsb-form-field-wrapper,
#wrapper #main fieldset.lsb-form-field-wrapper {
	margin: 0 0 24px;
	border: none;
	padding: 0;
}

#wrapper #main .lsb-form-label,
#wrapper #main legend.lsb-form-label {
	display: block;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: normal;
	text-transform: none;
	color: #4A4A4A;
	margin: 0 0 8px;
	padding: 0;
}

#wrapper #main .lsb-form-label-required { color: #A63446; margin-left: 2px; }

/* text / email / number inputs — boxed, like the contact form */
#wrapper #main .lsb-form-input {
	width: 100%;
	box-sizing: border-box;
	background: #FFFFFF;
	border: 1px solid #DDDDDD;
	border-radius: 4px;
	padding: 12px 14px;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	color: #333333;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#wrapper #main .lsb-form-input::placeholder { color: #AAAAAA; }

#wrapper #main .lsb-form-input:hover { border-color: #C4C4C4; }

#wrapper #main .lsb-form-input:focus {
	outline: none;
	border-color: #A63446;
	box-shadow: 0 0 0 3px rgba(166, 52, 70, 0.12);
}

#wrapper #main .lsb-form-input[aria-invalid="true"] {
	border-color: #B23A34;
}

/* radio groups */
#wrapper #main .lsb-form-checks {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 4px;
}

#wrapper #main .lsb-form-check {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}

#wrapper #main .lsb-form-check-input {
	appearance: none;
	-webkit-appearance: none;
	width: 17px;
	height: 17px;
	margin: 0;
	border-radius: 50%;
	border: 1.5px solid #C4C4C4;
	display: inline-block;
	position: relative;
	cursor: pointer;
	flex-shrink: 0;
	transition: border-color 0.2s ease;
}

#wrapper #main .lsb-form-check-input:hover { border-color: #A63446; }

#wrapper #main .lsb-form-check-input:checked {
	border-color: #A63446;
	background: #A63446;
	box-shadow: inset 0 0 0 3px #FFFFFF;
}

#wrapper #main .lsb-form-check-label {
	font-size: 14.5px;
	color: #4A4A4A;
	margin: 0;
	cursor: pointer;
}

/* honeypot field stays hidden */
#wrapper #main input[name*="email987123"] { display: none !important; }

/* submit button — rode pil, zoals "verzenden" */
#wrapper #main .lsb-form-button-and-loader-wrapper {
	margin-top: 8px;
	display: flex;
	align-items: center;
	gap: 14px;
}

#wrapper #main .lsb-form-button {
	appearance: none;
	background: #A63446;
	color: #FFFFFF;
	border: none;
	border-radius: 999px;
	padding: 14px 32px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
}

#wrapper #main .lsb-form-button:hover { background: #8E2A39; }
#wrapper #main .lsb-form-button:active { transform: scale(0.98); }
#wrapper #main .lsb-form-button:focus-visible {
	outline: 2px solid #A63446;
	outline-offset: 3px;
}

#wrapper #main .lsb-loader {
	width: 16px; height: 16px;
	border: 2px solid #DDDDDD;
	border-top-color: #A63446;
	border-radius: 50%;
	animation: lsb-spin 0.7s linear infinite;
}
@keyframes lsb-spin { to { transform: rotate(360deg); } }

#wrapper #main .lsb-form-field-error-feedback {
	font-size: 12.5px;
	color: #B23A34;
	margin-top: 6px;
}

#wrapper #main .lsb-visually-hidden:not(.lsb-form-field-error-feedback[style]) {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
}

#wrapper #main .lsb-form-global-error {
	background: #FBEAE8;
	color: #B23A34;
	padding: 10px 14px;
	border-radius: 4px;
	font-size: 13.5px;
	margin-bottom: 16px;
}

#wrapper #main .lsb-form-success-container {
	font-family: 'Inter', sans-serif;
	font-size: 14.5px;
	color: #2F6B3A;
	background: #EAF5EC;
	padding: 14px 16px;
	border-radius: 4px;
	margin-top: 20px;
}

@media (max-width: 400px) {
#wrapper #main .lsb-wrap { padding: 0; }
#wrapper #main .lsb-heading { font-size: 22px; }
}