.kosb-membership-form {
	max-width: 32rem;
}

.kosb-membership-form__intro {
	margin: 0 0 1.25rem;
	color: #334155;
	font-size: 0.95rem;
	line-height: 1.5;
}

.kosb-membership-form__field {
	margin: 0 0 1rem;
}

.kosb-membership-form__label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.4;
	color: #0f172a !important;
}

.kosb-membership-form__required {
	color: #b91c1c;
	font-weight: 700;
}

.kosb-membership-form__input {
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 0.625rem 0.75rem;
	border: 1px solid #cbd5e1;
	border-radius: 0.375rem;
	background: #fff !important;
	color: #0f172a !important;
	font-size: 1rem !important;
	line-height: 1.5;
}

.kosb-membership-form__input:focus {
	border-color: #334155;
	outline: 2px solid #94a3b8;
	outline-offset: 1px;
}

.kosb-membership-form__checkbox-row {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	margin: 0 0 1.25rem;
}

.kosb-membership-form__checkbox {
	flex: 0 0 auto;
	width: 1.1rem !important;
	height: 1.1rem !important;
	margin: 0.15rem 0 0 !important;
}

.kosb-membership-form__checkbox-label {
	display: block;
	flex: 1 1 auto;
	margin: 0;
	cursor: pointer;
}

.kosb-membership-form__checkbox-text {
	display: block;
	font-size: 0.95rem !important;
	font-weight: 500;
	line-height: 1.4;
	color: #0f172a !important;
}

.kosb-membership-form__actions {
	margin: 1.25rem 0 0;
}

.kosb-membership-form input[type="submit"].kosb-membership-form__submit {
	box-sizing: border-box;
	display: inline-block;
	width: auto !important;
	min-width: 12rem;
	min-height: 2.75rem;
	margin: 0;
	padding: 0.75rem 1.5rem !important;
	border: 1px solid #0f172a !important;
	border-radius: 0.375rem;
	background: #0f172a !important;
	color: #fff !important;
	font-family: inherit;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.kosb-membership-form input[type="submit"].kosb-membership-form__submit:hover {
	background: #1e293b !important;
	border-color: #1e293b !important;
	color: #fff !important;
}

.kosb-membership-form__error {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-left: 4px solid #b91c1c;
	background: #fef2f2;
	color: #991b1b;
}

.kosb-membership-form__success {
	margin: 0;
	padding: 0.75rem 1rem;
	border-left: 4px solid #15803d;
	background: #f0fdf4;
	color: #166534;
	font-weight: 600;
}
