.tkb2b-registration-fields {
	--tkb2b-border: #d8ddd9;
	display: flow-root;
	margin: 1rem 0;
	padding: clamp(1rem, 2.5vw, 1.5rem);
	border: 1px solid var(--tkb2b-border);
	border-top: 3px solid var(--tkb2b-primary, #1f5f4a);
	border-radius: 4px;
	background: #fff;
}

.tkb2b-registration-fields .form-row {
	box-sizing: border-box;
}

.tkb2b-registration-fields input.input-text,
.tkb2b-registration-fields select,
.tkb2b-registration-fields textarea {
	width: 100%;
	min-height: 44px;
}

.tkb2b-registration-fields textarea {
	min-height: 110px;
}

.tkb2b-interests {
	padding: 0;
	border: 0;
}

.tkb2b-interests legend {
	margin-bottom: .55rem;
	font-weight: 600;
}

.tkb2b-chip-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
	gap: .55rem;
	margin-bottom: .5rem;
}

.tkb2b-chip-grid label {
	display: flex;
	align-items: flex-start;
	gap: .45rem;
	min-width: 0;
	padding: .65rem .7rem;
	border: 1px solid var(--tkb2b-border);
	border-radius: 3px;
	cursor: pointer;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.tkb2b-chip-grid input {
	flex: 0 0 auto;
	margin-top: .2rem;
}

.tkb2b-chip-grid span {
	min-width: 0;
}

.tkb2b-confirm label {
	display: flex;
	align-items: flex-start;
	gap: .55rem;
}

.tkb2b-login-persistence {
	font-size: .9em;
	opacity: .78;
}

@media (max-width: 760px) {
	.tkb2b-registration-fields .form-row-first,
	.tkb2b-registration-fields .form-row-last {
		float: none;
		width: 100%;
	}

}

@media (max-width: 390px) {
	.tkb2b-registration-fields {
		padding: 1rem .85rem;
	}

	.tkb2b-chip-grid {
		grid-template-columns: 1fr;
	}
}
