/* The auth page's sign-in card polish: the third-party sign-in
 * buttons (the industry-standard white button with the provider's
 * brand mark) and the divider between the password form and the
 * alternative sign-in options. */

.pf-oauth {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .65rem;
	width: 100%;
	padding: .7rem 1rem;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	background: #fff;
	color: #1f1f1f;
	border: 1px solid #dadce0;
	border-radius: .55rem;
	transition: background-color .15s ease, box-shadow .15s ease;
}

.pf-oauth:hover,
.pf-oauth:focus {
	background: #f8f9fa;
	color: #1f1f1f;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .28);
}

.pf-oauth svg {
	flex: 0 0 auto;
}

.pf-divider {
	display: flex;
	align-items: center;
	gap: .75rem;
	margin: 1.1rem 0 .9rem;
	font-size: .8rem;
	color: var(--bs-secondary-color);
}

.pf-divider::before,
.pf-divider::after {
	content: "";
	flex: 1 1 auto;
	border-top: 1px solid var(--bs-border-color);
}

/* The new-password requirements checklist (the signup and reset
 * code steps): one row per requirement of the account password
 * policy, its state icon and colour updated live by the page's
 * validation script as the user types (pf-pw-req-ok when met). */

.pf-pw-checklist li {
	margin-top: .35rem;
	color: var(--bs-secondary-color);
	transition: color .15s ease;
}

.pf-pw-checklist li .material-icons {
	font-size: 1.2rem;
	color: var(--bs-secondary-color);
	transition: color .15s ease;
}

.pf-pw-checklist li.pf-pw-req-ok {
	color: var(--bs-success);
}

.pf-pw-checklist li.pf-pw-req-ok .material-icons {
	color: var(--bs-success);
}
