:root {
	--alem-login-ink: var(--alem-ink, #111213);
	--alem-login-paper: var(--alem-paper, #f6f3ee);
	--alem-login-accent: var(--alem-accent, #067378);
	--alem-login-rule: var(--alem-rule, #b8afa1);
	--alem-login-muted: #66625d;
}

html {
	background: var(--alem-login-ink);
}

body.login.alem-login {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-height: 100vh;
	padding: 64px max(48px, calc((44vw - 380px) / 2));
	background: var(--alem-login-ink);
	color: var(--alem-login-ink);
	font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.login.alem-login::before {
	position: fixed;
	z-index: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 44vw;
	background:
		linear-gradient(color-mix(in srgb, var(--alem-ink, #111213) 2.5%, transparent) 1px, transparent 1px) 0 0 / 100% 32px,
		var(--alem-login-paper);
	content: "";
}

.alem-login-brand {
	position: fixed;
	z-index: 1;
	inset: 0 44vw 0 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(44px, 6vw, 92px);
	overflow: hidden;
	color: var(--alem-login-paper);
}

.alem-login-brand::after {
	position: absolute;
	right: clamp(24px, 4vw, 68px);
	bottom: clamp(38px, 6vw, 92px);
	width: 84px;
	height: 1px;
	background: var(--alem-login-accent);
	content: "";
}

.alem-login-brand-mark img {
	display: block;
	width: clamp(132px, 17vw, 252px);
	height: auto;
	filter: invert(98%) sepia(7%) saturate(413%) hue-rotate(337deg) brightness(101%) contrast(93%);
	opacity: .96;
}

.alem-login-brand-copy {
	position: relative;
	z-index: 1;
}

.alem-login-kicker,
.alem-login-heading > p {
	margin: 0 0 16px;
	color: var(--alem-login-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.alem-login-brand-title {
	margin: 0;
	font-family: Fraunces, Georgia, serif;
	font-size: clamp(38px, 4.5vw, 74px);
	font-weight: 580;
	letter-spacing: -.045em;
	line-height: 1.02;
}

.alem-login-brand-note {
	max-width: 340px;
	margin: 28px 0 0;
	color: #b8b0a5;
	font-size: 15px;
	line-height: 1.5;
}

body.login.alem-login #login {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	width: min(380px, calc(44vw - 80px));
	margin: 0;
	padding: 0;
}

body.login.alem-login #login h1 {
	margin: 0 0 42px;
	text-align: left;
}

body.login.alem-login #login h1 a {
	width: min(100%, 286px);
	height: 72px;
	margin: 0;
	background-image: url("../images/login-logo-dark.png");
	background-position: left center;
	background-size: contain;
}

.alem-login-heading {
	margin-bottom: 24px;
}

.alem-login-heading > p {
	margin-bottom: 8px;
}

.alem-login-heading h2 {
	margin: 0;
	color: var(--alem-login-ink);
	font-family: Fraunces, Georgia, serif;
	font-size: clamp(34px, 3.1vw, 48px);
	font-weight: 580;
	letter-spacing: -.035em;
	line-height: .96;
}

body.login.alem-login form {
	margin: 0;
	padding: 28px 0;
	background: transparent;
	border: 0;
	border-top: 1px solid var(--alem-login-rule);
	box-shadow: none;
	overflow: visible;
}

body.login.alem-login label {
	color: var(--alem-login-ink);
	font-size: 14px;
	font-weight: 650;
}

body.login.alem-login form .input,
body.login.alem-login input[type="text"] {
	box-sizing: border-box;
	min-height: 52px;
	margin-top: 7px;
	padding: 10px 12px;
	background: #fffdfa;
	border: 1px solid #77716a;
	border-radius: 0;
	box-shadow: none;
	color: var(--alem-login-ink);
	font-family: inherit;
	font-size: 18px;
}

body.login.alem-login form .input:focus,
body.login.alem-login input[type="text"]:focus,
body.login.alem-login input[type="checkbox"]:focus,
body.login.alem-login a:focus,
body.login.alem-login .button:focus {
	border-color: var(--alem-login-accent);
	box-shadow: 0 0 0 2px var(--alem-login-paper), 0 0 0 4px var(--alem-login-accent);
	outline: 0;
}

body.login.alem-login .button.wp-hide-pw {
	color: var(--alem-login-accent);
}

body.login.alem-login .forgetmenot {
	margin-top: 8px;
}

body.login.alem-login .submit {
	margin-top: 4px;
}

body.login.alem-login .button-primary {
	min-height: 44px;
	padding: 4px 22px;
	background: var(--alem-login-accent);
	border: 1px solid var(--alem-login-accent);
	border-radius: 0;
	box-shadow: none;
	font-family: inherit;
	font-size: 13px;
	font-weight: 750;
	letter-spacing: .08em;
	text-shadow: none;
	text-transform: uppercase;
}

body.login.alem-login .button-primary:hover {
	background: var(--alem-login-ink);
	border-color: var(--alem-login-ink);
}

body.login.alem-login #nav,
body.login.alem-login #backtoblog {
	padding: 0;
	font-size: 13px;
}

body.login.alem-login #nav {
	margin: 22px 0 0;
}

body.login.alem-login #backtoblog {
	margin: 12px 0 0;
}

body.login.alem-login #nav a,
body.login.alem-login #backtoblog a,
body.login.alem-login .privacy-policy-page-link a {
	color: var(--alem-login-muted);
	text-decoration-color: color-mix(in srgb, var(--alem-accent, #067378) 45%, transparent);
	text-underline-offset: 4px;
}

body.login.alem-login #nav a:hover,
body.login.alem-login #backtoblog a:hover,
body.login.alem-login .privacy-policy-page-link a:hover {
	color: var(--alem-login-accent);
}

body.login.alem-login .message,
body.login.alem-login .notice,
body.login.alem-login #login_error {
	margin: 0 0 22px;
	padding: 14px 16px;
	background: rgba(255, 253, 250, .82);
	border: 0;
	border-left: 4px solid var(--alem-login-accent);
	box-shadow: none;
	color: var(--alem-login-ink);
	font-size: 14px;
	line-height: 1.45;
}

body.login.alem-login .language-switcher,
body.login.alem-login .privacy-policy-page-link {
	position: fixed;
	z-index: 3;
	right: max(28px, calc((44vw - 380px) / 2));
	bottom: 18px;
	margin: 0;
}

body.login.alem-login .privacy-policy-page-link {
	bottom: 62px;
}

body.login.alem-login .language-switcher select {
	background: #fffdfa;
	border-radius: 0;
}

body.login.alem-login.interim-login {
	display: block;
	padding: 0;
	background: var(--alem-login-paper);
}

body.login.alem-login.interim-login::before,
body.login.alem-login.interim-login .alem-login-brand {
	display: none;
}

body.login.alem-login.interim-login #login {
	width: auto;
	margin: 20px auto;
}

@media (max-width: 900px) {
	body.login.alem-login {
		padding-right: max(40px, calc((52vw - 360px) / 2));
	}

	body.login.alem-login::before {
		width: 52vw;
	}

	.alem-login-brand {
		right: 52vw;
		padding: 44px;
	}

	body.login.alem-login #login {
		width: min(360px, calc(52vw - 64px));
	}

	.alem-login-brand-title {
		font-size: clamp(48px, 7vw, 72px);
	}
}

@media (max-width: 720px) {
	html,
	body.login.alem-login {
		background: var(--alem-login-paper);
	}

	body.login.alem-login {
		display: block;
		padding: 132px 32px 48px;
	}

	body.login.alem-login::before {
		display: none;
	}

	.alem-login-brand {
		position: absolute;
		inset: 0 0 auto;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		height: 104px;
		padding: 22px 28px;
		background: var(--alem-login-ink);
	}

	.alem-login-brand::after,
	.alem-login-kicker,
	.alem-login-brand-note {
		display: none;
	}

	.alem-login-brand-mark img {
		width: 56px;
	}

	.alem-login-brand-copy {
		margin-left: 18px;
	}

	.alem-login-brand-title {
		font-size: 30px;
		letter-spacing: -.025em;
		line-height: .9;
	}

	.alem-login-brand-title br {
		display: none;
	}

	body.login.alem-login #login {
		width: min(400px, 100%);
		margin: 0 auto;
	}

	body.login.alem-login #login h1 {
		margin-bottom: 34px;
	}

	body.login.alem-login .language-switcher,
	body.login.alem-login .privacy-policy-page-link {
		position: static;
		margin: 26px auto 0;
	}
}

@media (max-width: 420px) {
	body.login.alem-login {
		padding-right: 24px;
		padding-left: 24px;
	}

	body.login.alem-login #login h1 a {
		width: 238px;
		height: 60px;
	}
}

/* 0.9.10 — mobile login is a vertical editorial panel, never a cropped desktop row. */
@media (max-width: 720px) {
	html,
	body.login.alem-login {
		overflow-x: hidden;
	}

	body.login.alem-login {
		padding: 270px 24px 48px;
	}

	.alem-login-brand {
		position: absolute;
		top: 0;
		right: 0;
		bottom: auto;
		left: 0;
		display: block;
		box-sizing: border-box;
		min-height: 124px;
		height: auto;
		padding: 22px 24px 24px;
		overflow: hidden;
	}

	body.login.alem-login-action-login .alem-login-brand {
		min-height: 246px;
	}

	.alem-login-brand-mark img {
		width: 70px;
	}

	.alem-login-brand-copy {
		display: none;
	}

	.alem-login-register-cta {
		box-sizing: border-box;
		max-width: 100%;
		margin: 18px 0 0;
	}

	.alem-login-register-kicker {
		display: block;
		margin-bottom: 7px;
		font-size: 10px;
	}

	.alem-login-register-cta > a {
		max-width: 100%;
		font-size: 29px;
		line-height: 1.02;
	}

	.alem-login-register-note {
		max-width: 300px;
		margin-top: 10px;
		font-size: 13px;
		line-height: 1.35;
	}

	body.login.alem-login #login {
		max-width: 100%;
	}
}

@media (max-width: 420px) {
	body.login.alem-login {
		padding-right: 20px;
		padding-left: 20px;
	}

	.alem-login-brand {
		padding-right: 20px;
		padding-left: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.login.alem-login *,
	body.login.alem-login *::before,
	body.login.alem-login *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

/* 0.9.11 — reserve the real mobile brand-panel height (reader-login.js
   measures wrapped copy); this keeps the logo and form below the dark panel. */
@media (max-width: 720px) {
	body.login.alem-login {
		position: relative;
		min-height: 100vh;
		padding-bottom: 64px;
	}
	body.login.alem-login .alem-login-brand {
		z-index: 0;
	}
	body.login.alem-login #login {
		position: relative;
		z-index: 2;
	}
}

/* 0.9.2 — one marker, no resting underline or duplicate decoration. */
body.login.alem-login #login a:not(.button):not(h1 a) {
  color: var(--alem-login-accent);
  text-decoration: none;
  border-bottom: 0;
  background-image: linear-gradient(var(--alem-accent-soft, #b9e0df),var(--alem-accent-soft, #b9e0df));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 100%;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  transition: background-size .2s ease, color .2s ease;
}
body.login.alem-login #login a:not(.button):not(h1 a):is(:hover,:focus-visible) { background-size: 100% 100%; color: var(--alem-ink, #111213); }
.alem-login-email-help { color: var(--alem-login-muted); font-size: 13px; line-height: 1.4; margin: -8px 0 18px; }
.alem-login-heading strong em, .alem-login-brand strong em { font-weight: 700; font-style: italic; }

body.login .privacy-policy-page-link a{border:0!important;text-decoration:none!important;background:linear-gradient(var(--alem-accent-soft, #b9e0df),var(--alem-accent-soft, #b9e0df)) 0 100%/0 100% no-repeat;transition:background-size .2s}body.login .privacy-policy-page-link a:hover,body.login .privacy-policy-page-link a:focus-visible{background-size:100% 100%}


/* 0.9.3 — the registration invitation belongs to the dark editorial panel. */
.alem-login-register-cta{position:relative;z-index:2;max-width:320px;margin:0 0 0 clamp(28px,5vw,90px)}
.alem-login-register-kicker{margin:0 0 11px;color:var(--alem-accent-on-dark, #36aeb0);font-size:11px;font-weight:750;letter-spacing:.16em;line-height:1.3}
.alem-login-register-cta>a{display:inline-block;color:var(--alem-login-paper);font-family:Fraunces,Georgia,serif;font-size:clamp(25px,2.7vw,40px);font-weight:600;line-height:1.05;text-decoration:none;background:linear-gradient(var(--alem-accent-soft, #b9e0df),var(--alem-accent-soft, #b9e0df)) 0 100%/0 100% no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .2s ease,color .2s ease}
.alem-login-register-cta>a span{font-family:"Source Sans 3",sans-serif;font-size:.52em;font-weight:650;letter-spacing:.04em}
.alem-login-register-cta>a:hover,.alem-login-register-cta>a:focus-visible{background-size:100% 100%;color:var(--alem-login-ink)}
.alem-login-register-note{max-width:290px;margin:15px 0 0;color:#bcb6ae;font-size:14px;line-height:1.45}
.alem-login-register-note strong em{color:var(--alem-on-dark, #f6f3ee);font-weight:700;font-style:italic}
@media(max-width:780px){.alem-login-register-cta{margin:0 28px 25px;max-width:none}.alem-login-register-cta>a{font-size:30px}}
@media(prefers-reduced-motion:reduce){.alem-login-register-cta>a{transition:none}}

/* Final mobile overrides: these follow the compact CTA rules above. */
@media (max-width: 720px) {
	body.login.alem-login:not(.alem-login-action-login) {
		padding-top: 148px;
	}

	.alem-login-register-cta {
		max-width: 100%;
		margin: 18px 0 0;
	}

	.alem-login-register-cta > a {
		max-width: 100%;
		overflow-wrap: anywhere;
	}
}

/* ---- Entrar (9ª entrega): link de acesso, rodapé, “Manter conectado” e “Esqueci a senha” na mesma linha ---- */
.alem-login-ou { display: flex; align-items: center; gap: 14px; margin: 22px 0 14px; color: var(--ax-muted, #615b54); font: 500 11px/1 var(--ax-mono, monospace); letter-spacing: .18em; text-transform: uppercase; }
.alem-login-ou::before, .alem-login-ou::after { content: ""; flex: 1; height: 1px; background: currentColor; opacity: .35; }
.alem-login-link-acesso { display: flex; align-items: center; justify-content: center; min-height: 48px; border: 1.5px solid var(--ax-ink, #111213); border-radius: 999px; color: var(--ax-ink, #111213) !important; font: 700 12px/1 var(--ax-sans, sans-serif); letter-spacing: .12em; text-transform: uppercase; text-decoration: none !important; background: transparent; }
.alem-login-link-acesso:is(:hover, :focus-visible) { border-color: var(--ax-accent, #067378); box-shadow: 0 0 0 1.5px var(--ax-accent, #067378); }
.alem-login-link-nota, .alem-login-rodape { margin: 10px 0 0; color: var(--ax-muted, #615b54); font: 400 14px/1.45 var(--ax-sans, sans-serif); text-align: center; }
.alem-login-rodape { margin-top: 22px; }
.alem-login-rodape a { color: inherit; }
body.login.alem-login #loginform { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 12px; }
body.login.alem-login #loginform > p:not(.forgetmenot):not(.submit) { flex: 0 0 100%; }
body.login.alem-login #loginform .forgetmenot { float: none; flex: 1 1 auto; margin: 8px 0 0; }
body.login.alem-login #loginform .alem-login-esqueci { float: none; flex: 0 0 auto; margin: 8px 0 0; font-size: 14px; }
body.login.alem-login #loginform .submit { float: none; flex: 0 0 100%; margin: 18px 0 0; }
body.login.alem-login #loginform .submit .button-primary { float: none; width: 100%; min-height: 48px; border-radius: 999px; }
.alem-login-extra { clear: both; }
body.login.alem-login #loginform > .user-pass-wrap, body.login.alem-login #loginform > div { flex: 0 0 100%; }
body.login.alem-login #loginform .forgetmenot { flex: 1 1 0; min-width: 0; }
body.login.alem-login #loginform .forgetmenot label { font-size: 14px; line-height: 1.3; }
body.login.alem-login #loginform .alem-login-esqueci { white-space: nowrap; }
body.login.alem-login .forgetmenot input[type="checkbox"] { border-radius: 5px; width: 22px; height: 22px; min-width: 22px; }
body.login.alem-login .forgetmenot input[type="checkbox"]:checked::before { margin: 2px 0 0 2px; }
/* O botão "Receber link de acesso" é um link: a regra geral de links do login zera a borda de baixo e põe um marcador de fundo. */
body.login.alem-login #login a.alem-login-link-acesso:not(.button):not(h1 a) { border: 1.5px solid var(--ax-ink, #111213); border-bottom: 1.5px solid var(--ax-ink, #111213); background-image: linear-gradient(var(--alem-accent-soft, #b9e0df), var(--alem-accent-soft, #b9e0df)); background-size: 0% 100%; background-repeat: no-repeat; background-position: 0 100%; box-decoration-break: slice; -webkit-box-decoration-break: slice; transition: background-size .2s ease, color .2s ease; }
body.login.alem-login #login a.alem-login-link-acesso:not(.button):not(h1 a):is(:hover, :focus-visible) { border-color: var(--ax-accent, #067378); border-bottom-color: var(--ax-accent, #067378); background-image: linear-gradient(var(--alem-accent-soft, #b9e0df), var(--alem-accent-soft, #b9e0df)); background-size: 100% 100%; background-repeat: no-repeat; box-shadow: none; color: var(--alem-ink, #111213); }

/* ---- Convite para criar conta: na coluna preta (computador) ou no fim do formulário (celular) ---- */
.alem-login-painel-cta { margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(233,228,219,.25); max-width: 340px; }
.alem-login-painel-cta p { margin: 0 0 6px; color: #f6f3ee; font: 600 20px/1.25 Fraunces, Georgia, serif; }
.alem-login-painel-cta .alem-login-painel-cta-nota { margin: 0 0 16px; color: #cfc9be; font: 400 15px/1.45 "Source Sans 3", sans-serif; }
.alem-login-painel-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px; border-radius: 999px; background: #f6f3ee; color: #0c0d0e !important; font: 700 12px/1 "Source Sans 3", sans-serif; letter-spacing: .12em; text-transform: uppercase; text-decoration: none !important; border: 1.5px solid #f6f3ee; }
.alem-login-painel-btn:is(:hover, :focus-visible) { background: #4fc4c6; border-color: #4fc4c6; }
.alem-login-conta-nota, .alem-login-conta-btn { display: none; }
@media (max-width: 720px) {
	.alem-login-painel-cta { display: none; }
	.alem-login-conta-nota { display: block; margin: 26px 0 10px; color: var(--ax-muted, #615b54); font: 400 15px/1.4 "Source Sans 3", sans-serif; text-align: center; }
	body.login.alem-login #login a.alem-login-conta-btn:not(.button):not(h1 a) { border-bottom: 1.5px solid var(--ax-ink, #111213); display: flex; align-items: center; justify-content: center; min-height: 48px; border: 1.5px solid var(--ax-ink, #111213); border-radius: 999px; color: var(--ax-ink, #111213) !important; font: 700 12px/1 "Source Sans 3", sans-serif; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; background-image: none; }
}

/* "Manter conectado": caixa quadrada no padrão do cadastro (o WordPress põe uma bolinha azul). */
body.login.alem-login #loginform .forgetmenot input[type="checkbox"] { -webkit-appearance: none; appearance: none; position: relative; width: 22px; height: 22px; min-width: 22px; margin: 0 10px 0 0; border: 1.5px solid var(--ax-ink, #111213) !important; border-radius: 5px !important; background: var(--ax-field, #fffdfa) !important; box-shadow: none; vertical-align: middle; cursor: pointer; }
body.login.alem-login #loginform .forgetmenot input[type="checkbox"]:checked { background: var(--ax-ink, #111213) !important; border-color: var(--ax-ink, #111213) !important; }
body.login.alem-login #loginform .forgetmenot input[type="checkbox"]::before { content: none !important; }
body.login.alem-login #loginform .forgetmenot input[type="checkbox"]:checked::after { content: ""; position: absolute; left: 5px; top: 3px; width: 9px; height: 5px; border: solid var(--ax-paper, #f6f3ee); border-width: 0 0 2.5px 2.5px; transform: rotate(-45deg); }
body.login.alem-login #loginform .forgetmenot input[type="checkbox"]:focus-visible { outline: 2px solid var(--ax-cyan, #36aeb0); outline-offset: 2px; box-shadow: none; }
