/**
 * BD Registration — front-end styles.
 *
 * Deliberately light: the page is built with the site's own builder, so this
 * only lays the fields out and makes an invalid one legible. Colours lean on
 * --bd-team-color, the custom property bd-company-teams emits on every
 * request, with a neutral fallback for a logged-out visitor (which is who this
 * form is for).
 */

.bd-reg {
	max-width: 34rem;
}

.bd-reg-field {
	margin: 0 0 1.25rem;
}

.bd-reg-field label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 600;
}

.bd-reg-field input[type="text"],
.bd-reg-field input[type="email"],
.bd-reg-field input[type="password"],
.bd-reg-field select {
	width: 100%;
	box-sizing: border-box;
	padding: 0.6rem 0.7rem;
	border: 1px solid #b9c0d4;
	border-radius: 4px;
	background: #fff;
	font: inherit;
	line-height: 1.4;
}

.bd-reg-field input:focus,
.bd-reg-field select:focus {
	outline: 2px solid var(--bd-team-color, #00008a);
	outline-offset: 1px;
	border-color: var(--bd-team-color, #00008a);
}

.bd-reg-field--invalid input,
.bd-reg-field--invalid select {
	border-color: #b3261e;
}

.bd-reg-required {
	color: #b3261e;
}

.bd-reg-hint {
	margin: 0.35rem 0 0;
	font-size: 0.875em;
	color: #5f6b94;
}

.bd-reg-hint--footer {
	margin-top: 1rem;
}

.bd-reg-field-error {
	margin: 0.35rem 0 0;
	font-size: 0.875em;
	color: #b3261e;
}

.bd-reg-notice {
	margin: 0 0 1.5rem;
	padding: 0.85rem 1rem;
	border-left: 4px solid;
	border-radius: 3px;
	font-size: 0.95em;
}

.bd-reg-notice--success {
	border-color: #007e3f;
	background: #eaf6ef;
	color: #14532d;
}

.bd-reg-notice--error {
	border-color: #b3261e;
	background: #fdeceb;
	color: #7f1d1d;
}

.bd-reg-notice--info {
	border-color: var(--bd-team-color, #00008a);
	background: #eef1fb;
	color: #1f2a44;
}

.bd-reg-submit {
	margin: 1.5rem 0 0;
}

/*
 * The bot trap. Moved off-screen rather than display:none, because some bots
 * skip anything hidden that way — and it is the ones that do not skip it we
 * are trying to catch.
 */
.bd-reg-hp {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
