/* UCP Modern: login, registration and password-reset pages (site level and every journal).
   Presentation only: all fields, names, ids, hooks and messages come from the OJS templates. */

/* ---------- Page frame ---------- */
.pkp_structure_content:has(.page_login, .page_register, .page_lost_password) {
	display: block;
}
.pkp_structure_content:has(.page_login, .page_register, .page_lost_password) .pkp_structure_sidebar {
	display: none;
}
.pkp_structure_main > .page.page_login,
.pkp_structure_main > .page.page_register,
.pkp_structure_main > .page.page_lost_password {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 8px 0 28px !important;
	margin: 0 auto;
	width: 100%;
	max-width: 480px;
	box-sizing: border-box;
}
.pkp_structure_main > .page.page_register {
	max-width: 840px;
}
.page_login .cmp_breadcrumbs,
.page_register .cmp_breadcrumbs,
.page_lost_password .cmp_breadcrumbs {
	margin-bottom: 6px;
}
.page_login h1,
.page_register h1,
.page_lost_password h1 {
	margin: 6px 0 8px;
	text-align: center;
	font-size: clamp(1.6rem, 4.5vw, 2.1rem);
	line-height: 1.2;
	color: var(--ucp-navy, #0f2f52);
}
.page_login h1::after,
.page_register h1::after,
.page_lost_password h1::after {
	content: "";
	display: block;
	width: 52px;
	height: 4px;
	margin: 12px auto 0;
	border-radius: 2px;
	background: var(--ucp-accent, #f2b705);
}
.page_login > p,
.page_register > p,
.page_lost_password > p {
	text-align: center;
	margin: 0 0 20px;
	color: var(--ucp-muted, #566575);
	line-height: 1.55;
}
.page_login abbr.required,
.page_register abbr.required,
.page_login .required,
.page_register .required,
.page_lost_password .required {
	color: #b3261e;
	text-decoration: none;
	font-weight: 700;
}

/* ---------- Cards ---------- */
.page_login .cmp_form.login,
.page_lost_password .cmp_form.lost_password {
	background: #fff;
	border: 1px solid var(--ucp-line, #dbe3ea);
	border-top: 4px solid var(--ucp-blue, #1e6292);
	border-radius: 16px;
	box-shadow: var(--ucp-shadow-hover, 0 14px 32px rgba(15, 47, 82, .14));
	padding: 28px;
	margin: 0;
}
.page_login .cmp_form fieldset.fields {
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
	max-width: none;
	width: 100%;
}
.page_register .cmp_form.register > fieldset,
.page_register .cmp_form.register > .fields {
	background: #fff;
	border: 1px solid var(--ucp-line, #dbe3ea);
	border-radius: 16px;
	box-shadow: var(--ucp-shadow, 0 6px 18px rgba(15, 47, 82, .06));
	padding: 22px 24px;
	margin: 0 0 18px;
	max-width: none;
	width: 100%;
	box-sizing: border-box;
	min-width: 0;
}
.page_register .cmp_form.register {
	counter-reset: ucpsec;
	background: transparent;
	border: 0;
	padding: 0;
}

/* Section titles with numbers (Profile, Login, Journals...) */
.page_register .cmp_form.register > fieldset > legend {
	float: left;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 16px;
	padding: 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--ucp-navy, #0f2f52);
	display: flex;
	align-items: center;
	gap: 12px;
}
.page_register .cmp_form.register > fieldset > legend::before {
	counter-increment: ucpsec;
	content: counter(ucpsec);
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--ucp-navy, #0f2f52);
	color: #fff;
	font-size: .9rem;
}
.page_register .cmp_form.register > fieldset > legend + * {
	clear: both;
}
.page_register .cmp_form.register > fieldset.consent > legend,
.page_register .cmp_form.register > fieldset > legend.pkp_screen_reader {
	float: none;
	display: block;
}
.page_register .cmp_form.register > fieldset > legend.pkp_screen_reader::before {
	content: none;
}

/* ---------- Fields ---------- */
.page_login .fields > div,
.page_lost_password .fields > div {
	margin: 0 0 18px;
}
.page_login .cmp_form label,
.page_register .cmp_form label,
.page_lost_password .cmp_form label {
	display: block;
}
.page_login .label,
.page_register .label,
.page_lost_password .label {
	display: block;
	margin: 0 0 6px;
	font-size: .92rem;
	font-weight: 700;
	color: var(--ucp-navy, #0f2f52);
}
.page_login input[type="text"],
.page_login input[type="email"],
.page_login input[type="password"],
.page_register input[type="text"],
.page_register input[type="email"],
.page_register input[type="password"],
.page_register input[type="tel"],
.page_register input[type="url"],
.page_register select,
.page_lost_password input[type="email"],
.page_lost_password input[type="text"] {
	display: block;
	width: 100%;
	max-width: none;
	min-width: 0;
	height: 48px;
	box-sizing: border-box;
	margin: 0;
	padding: 0 14px;
	font: inherit;
	font-size: 1rem; /* 16px: no zoom-on-focus on iPhones */
	color: var(--ucp-ink, #1b2733);
	background-color: #fff;
	border: 1.5px solid #c5d0da;
	border-radius: 10px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.page_login input:hover,
.page_register input[type="text"]:hover,
.page_register input[type="email"]:hover,
.page_register input[type="password"]:hover,
.page_register select:hover,
.page_lost_password input:hover {
	border-color: #9fb2c3;
}
.page_login input[type="text"]:focus,
.page_login input[type="password"]:focus,
.page_register input:focus,
.page_register select:focus,
.page_lost_password input:focus {
	border-color: var(--ucp-blue, #1e6292);
	box-shadow: 0 0 0 4px #d9e6ef;
	outline: none;
}
.page_login input:user-invalid,
.page_register input:user-invalid,
.page_register select:user-invalid,
.page_lost_password input:user-invalid {
	border-color: #b3261e;
	box-shadow: 0 0 0 3px #f8d9d6;
}
.page_register select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 38px;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23566575' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}

/* Leading icons: drawn on a wrapper added by the script, NOT as the input's background,
   because browsers (autofill) replace an input's background and the icon would vanish. */
.ucp_field {
	position: relative;
	display: block;
}
.ucp_field::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 18px;
	pointer-events: none;
	z-index: 1;
}
.ucp_field > input {
	padding-left: 44px !important;
}
.ucp_f_user::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a8794' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E");
}
.ucp_f_lock::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a8794' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");
}
.ucp_f_mail::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a8794' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
}
.ucp_field.ucp_pw > input {
	padding-right: 50px;
}
/* Autofilled fields: keep the design (white field, dark text) instead of the browser's blue */
.page_login input:-webkit-autofill,
.page_register input:-webkit-autofill,
.page_lost_password input:-webkit-autofill {
	-webkit-text-fill-color: var(--ucp-ink, #1b2733);
	-webkit-box-shadow: 0 0 0 1000px #f3f8fc inset;
	box-shadow: 0 0 0 1000px #f3f8fc inset;
	caret-color: var(--ucp-ink, #1b2733);
}

/* Show/hide password button (added by script, never submits the form) */
.ucp_pw {
	position: relative;
}
.ucp_pw_btn {
	z-index: 2;
}
.ucp_pw_btn {
	position: absolute;
	top: 50%;
	right: 5px;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px 20px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23566575' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
	cursor: pointer;
	transition: background-color .15s ease;
}
.ucp_pw_btn:hover {
	background-color: #eef3f7;
}
.ucp_pw_btn[aria-pressed="true"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231e6292' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.9 17.9A10 10 0 0 1 12 19C5.6 19 2 12 2 12a18 18 0 0 1 4.1-5M9.9 5.2A9 9 0 0 1 12 5c6.4 0 10 7 10 7a18 18 0 0 1-2.2 3.2M1 1l22 22'/%3E%3C/svg%3E");
	background-color: #e4ecf2;
}
.ucp_pw_btn:focus-visible {
	outline: 3px solid var(--ucp-accent, #f2b705);
	outline-offset: 1px;
}

/* Forgot password */
.page_login .password label > a {
	display: block;
	margin-top: 8px;
	text-align: right;
	font-size: .9rem;
	font-weight: 600;
}

/* Checkboxes */
.page_login .remember label,
.page_register .optin label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-weight: 500;
	line-height: 1.5;
	cursor: pointer;
}
.page_login input[type="checkbox"],
.page_register input[type="checkbox"] {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	min-width: 20px;
	margin: 1px 0 0;
	accent-color: var(--ucp-blue, #1e6292);
	cursor: pointer;
}
.page_login .remember .label {
	display: inline;
	margin: 0;
	font-weight: 500;
	color: var(--ucp-ink, #1b2733);
}
.page_login .remember {
	margin-bottom: 22px;
}

/* ---------- Buttons ---------- */
.page_login .buttons,
.page_lost_password .buttons {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 6px 0 0;
}
.page_register .buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 4px 0 0;
}
.page_login .cmp_form .buttons button.submit,
.page_register .cmp_form .buttons button.submit,
.page_lost_password .cmp_form .buttons button.submit {
	display: block;
	width: 100%;
	flex: 1 1 240px;
	height: 52px;
	padding: 0 22px;
	border: 0;
	border-radius: 12px;
	background: var(--ucp-blue, #1e6292);
	color: #fff;
	font: inherit;
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 6px 14px rgba(30, 98, 146, .28);
	cursor: pointer;
	transition: background-color .15s ease, transform .12s ease, box-shadow .15s ease;
}
.page_login .cmp_form .buttons button.submit:hover,
.page_register .cmp_form .buttons button.submit:hover,
.page_lost_password .cmp_form .buttons button.submit:hover {
	background: var(--ucp-blue-dark, #174b70);
	box-shadow: 0 8px 18px rgba(23, 75, 112, .32);
}
.page_login .cmp_form .buttons button.submit:active,
.page_register .cmp_form .buttons button.submit:active,
.page_lost_password .cmp_form .buttons button.submit:active {
	transform: scale(.985);
}
.page_login .cmp_form .buttons a,
.page_register .cmp_form .buttons a,
.page_lost_password .cmp_form .buttons a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 200px;
	height: 50px;
	margin: 0;
	padding: 0 20px;
	box-sizing: border-box;
	border: 2px solid var(--ucp-blue, #1e6292);
	border-radius: 12px;
	background: transparent;
	color: var(--ucp-blue, #1e6292);
	font-weight: 700;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}
.page_login .cmp_form .buttons a:hover,
.page_register .cmp_form .buttons a:hover,
.page_lost_password .cmp_form .buttons a:hover {
	background: #eff4f7;
	color: var(--ucp-blue-dark, #174b70);
}

/* ---------- Messages ---------- */
.page_login .pkp_form_error,
.page_register .pkp_form_error,
.page_lost_password .pkp_form_error,
.page_register #formErrors {
	display: block;
	margin: 0 0 18px;
	padding: 12px 16px 12px 46px;
	border: 1px solid #f0b9b4;
	border-left: 4px solid #b3261e;
	border-radius: 10px;
	background: #fdf2f1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b3261e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v6M12 16.5v.5'/%3E%3C/svg%3E") no-repeat 14px 13px / 20px 20px;
	color: #7a1c16;
	font-weight: 600;
	line-height: 1.5;
}
.page_register #formErrors .pkp_form_error {
	margin: 0 0 6px;
	padding: 0;
	border: 0;
	background: none;
}
.page_register #formErrors ul {
	margin: 4px 0 0;
	padding-left: 18px;
	font-weight: 500;
}
.page_register #formErrors a {
	color: #7a1c16;
}

/* ---------- Registration: grouping ---------- */
.page_register .cmp_form.register fieldset.identity .fields,
.page_register .cmp_form.register fieldset.login .fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 18px;
}
.page_register .fields > div {
	margin: 0;
	min-width: 0;
}
.page_register fieldset.identity .affiliation,
.page_register fieldset.identity .country,
.page_register fieldset.login .email,
.page_register fieldset.login .username {
	grid-column: 1 / -1;
}

/* Journals the user can register for */
.page_register #contextOptinGroup ul.contexts {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
	gap: 14px;
}
.page_register #contextOptinGroup li.context {
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--ucp-line, #dbe3ea);
	border-radius: 12px;
	background: #f9fbfc;
	min-width: 0;
}
.page_register #contextOptinGroup .name {
	margin: 0 0 8px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--ucp-navy, #0f2f52);
}
.page_register #contextOptinGroup fieldset.roles {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}
.page_register #contextOptinGroup fieldset.roles legend {
	padding: 0;
	margin: 0 0 6px;
	font-size: .82rem;
	font-weight: 500;
	color: var(--ucp-muted, #566575);
}
.page_register #contextOptinGroup fieldset.roles label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 8px 8px 0;
	padding: 8px 14px;
	min-height: 40px;
	box-sizing: border-box;
	border: 1.5px solid #c5d0da;
	border-radius: 999px;
	background: #fff;
	font-weight: 600;
	font-size: .92rem;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease;
}
.page_register #contextOptinGroup fieldset.roles label:hover {
	border-color: var(--ucp-blue, #1e6292);
}
.page_register #contextOptinGroup fieldset.roles label:has(input:checked) {
	border-color: var(--ucp-blue, #1e6292);
	background: #e4ecf2;
}
.page_register #contextOptinGroup .context_privacy {
	margin-top: 6px;
	font-size: .86rem;
	line-height: 1.5;
}
.page_register .reviewer_nocontext_interests input {
	margin-top: 4px;
}
.page_register .optin {
	margin: 0;
}
.page_register .optin + .optin {
	margin-top: 10px;
}
.page_register .cmp_form.register > .fields:has(.optin-privacy),
.page_register .cmp_form.register > .fields:has(.optin-email) {
	padding-top: 16px;
	padding-bottom: 16px;
}

/* ---------- Phones: purpose-built layout ---------- */
@media (max-width: 640px) {
	.pkp_structure_main > .page.page_login,
	.pkp_structure_main > .page.page_register,
	.pkp_structure_main > .page.page_lost_password {
		padding: 4px 0 24px !important;
	}
	.page_login .cmp_form.login,
	.page_lost_password .cmp_form.lost_password {
		padding: 20px 16px;
		border-radius: 14px;
	}
	.page_register .cmp_form.register > fieldset,
	.page_register .cmp_form.register > .fields {
		padding: 18px 16px;
		border-radius: 14px;
	}
	.page_register .cmp_form.register fieldset.identity .fields,
	.page_register .cmp_form.register fieldset.login .fields {
		grid-template-columns: 1fr;
	}
	.page_login .buttons,
	.page_register .buttons {
		flex-direction: column;
	}
	.page_register .buttons > * {
		flex: 0 0 auto;
		width: 100%;
	}
}
@media (prefers-reduced-motion: reduce) {
	.page_login *,
	.page_register *,
	.page_lost_password * {
		transition: none !important;
	}
}

/* ---------- Corrections after first render ---------- */
.page_login .cmp_form.login,
.page_lost_password .cmp_form.lost_password,
.page_register .cmp_form.register {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	float: none;
}
.page_login .cmp_form .buttons button.submit,
.page_lost_password .cmp_form .buttons button.submit,
.page_login .cmp_form .buttons a,
.page_lost_password .cmp_form .buttons a {
	flex: 0 0 auto; /* column layout: height comes from the rules above, not from flex-basis */
}
.page_login .fields > div,
.page_lost_password .fields > div {
	margin: 0 0 16px;
	padding: 0;
	float: none;
	width: auto;
}
/* On the site (no sidebar/container padding) keep the content off the screen edges */
html:has(link[href*="ucp-site.css"]) .pkp_structure_main > .page.page_login,
html:has(link[href*="ucp-site.css"]) .pkp_structure_main > .page.page_register,
html:has(link[href*="ucp-site.css"]) .pkp_structure_main > .page.page_lost_password {
	padding-left: 16px !important;
	padding-right: 16px !important;
}

/* Registration: the grid owns the spacing (default theme margins made the rows too far apart) */
.page_register .cmp_form fieldset .fields > div,
.page_register .cmp_form .fields > div {
	margin: 0 !important;
	padding: 0;
	float: none;
	width: auto;
}
.page_register .cmp_form.register fieldset.identity .fields,
.page_register .cmp_form.register fieldset.login .fields {
	gap: 14px 18px;
}

/* Registration error summary: dark, readable text on the pink alert */
.page_register #formErrors,
.page_register #formErrors .pkp_form_error,
.page_register #formErrors li,
.page_register #formErrors span,
.page_register #formErrors p {
	color: #7a1c16;
}
.page_register #formErrors a {
	color: #7a1c16;
	font-weight: 700;
	text-decoration: underline;
}
.page_register #formErrors a:hover {
	color: #4a0f0b;
}
.page_register #formErrors {
	scroll-margin-top: 90px;
}
.page_register #formErrors .pkp_form_error_list,
.page_register #formErrors .pkp_form_error_list li,
.page_register #formErrors .pkp_form_error_list a {
	color: #7a1c16;
	font-size: .95rem;
	line-height: 1.55;
}
.page_register #formErrors .pkp_form_error_list a {
	font-weight: 700;
	text-decoration: underline;
}

@media (max-width: 640px) {
	/* stacked buttons: height comes from the button, not from flex-basis */
	.page_register .cmp_form .buttons button.submit,
	.page_register .cmp_form .buttons a {
		flex: 0 0 auto;
		width: 100%;
	}
}

/* ---------- Placeholders (all frontend forms): readable, never wrapped ---------- */
input::placeholder,
textarea::placeholder {
	color: #66737f; /* 4.9:1 on white */
	opacity: 1;
}
input[placeholder] {
	text-overflow: ellipsis;
}

/* Selects showing their empty "Year / Month / Select your country" option look like a placeholder */
select:has(option:checked[value=""]) {
	color: #66737f;
}
select option {
	color: #1b2733;
}

/* =====================================================================
   Consent / opt-in options: text flows normally (links stay inline), checkbox sits in the margin
   ===================================================================== */
.page_register .optin label,
.page_register #contextOptinGroup .context_privacy label,
.page_register .reviewer .optin label {
	display: block;
	position: relative;
	padding: 2px 0 2px 36px;
	min-height: 26px;
	font-weight: 500;
	line-height: 1.55;
	cursor: pointer;
}
.page_register .optin label > input[type="checkbox"],
.page_register #contextOptinGroup .context_privacy label > input[type="checkbox"],
.page_register .reviewer .optin label > input[type="checkbox"] {
	position: absolute;
	left: 0;
	top: 3px;
	margin: 0;
}
.page_register .optin label a,
.page_register .context_privacy label a {
	display: inline;
	margin: 0;
	padding: 0;
	white-space: normal;
}

/* Journal registration: the options share one card, so each one is a clear, clickable row */
.page_register .cmp_form.register > fieldset.consent .fields,
.page_register .cmp_form.register > fieldset.reviewer .fields {
	margin: 0 0 12px !important;
}
.page_register .cmp_form.register > fieldset.consent .fields:last-child,
.page_register .cmp_form.register > fieldset.reviewer .fields:last-child {
	margin-bottom: 0 !important;
}
.page_register .cmp_form.register > fieldset.consent .optin,
.page_register .cmp_form.register > fieldset.reviewer .optin {
	padding: 12px 14px;
	border: 1.5px solid var(--ucp-line, #dbe3ea);
	border-radius: 12px;
	background: #f9fbfc;
	transition: border-color .15s ease, background-color .15s ease;
}
.page_register .cmp_form.register > fieldset.consent .optin:hover,
.page_register .cmp_form.register > fieldset.reviewer .optin:hover {
	border-color: #9fb2c3;
}
.page_register .cmp_form.register > fieldset.consent .optin:has(input:checked),
.page_register .cmp_form.register > fieldset.reviewer .optin:has(input:checked) {
	border-color: var(--ucp-blue, #1e6292);
	background: #eef5fa;
}
.page_register .cmp_form.register > fieldset.consent .optin label,
.page_register .cmp_form.register > fieldset.reviewer .optin label {
	padding-left: 34px;
}
.page_register .cmp_form.register > fieldset.consent .optin label > input[type="checkbox"],
.page_register .cmp_form.register > fieldset.reviewer .optin label > input[type="checkbox"] {
	left: 0;
	top: 2px;
}
/* reviewer fieldset heading, when the journal offers several reviewer roles */
.page_register .cmp_form.register > fieldset.reviewer > legend {
	font-weight: 700;
	color: var(--ucp-navy, #0f2f52);
	margin-bottom: 10px;
}
/* site-wide registration: spacing between the stacked consent lines */
.page_register .cmp_form.register > .fields .optin + .optin {
	margin-top: 12px;
}
