/* Portal do Aluno — tela de login (SpeakUp) */

:root {
	--pa-login-bg: #000b21;
	--pa-login-card: rgba(6, 21, 50, 0.88);
	--pa-login-border: rgba(34, 211, 238, 0.18);
	--pa-login-cyan: #22d3ee;
	--pa-login-text: #eef2ff;
	--pa-login-muted: #94a3b8;
}

body.pa-login-body {
	margin: 0;
	min-height: 100vh;
	font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: var(--pa-login-text);
	background:
		radial-gradient(ellipse at 20% 0%, rgba(34, 211, 238, 0.1), transparent 45%),
		radial-gradient(ellipse at 80% 100%, rgba(168, 85, 247, 0.07), transparent 40%),
		var(--pa-login-bg);
	-webkit-font-smoothing: antialiased;
}

body.pa-login-body #wpadminbar {
	display: none !important;
}

.pa-login {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	padding: max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
}

.pa-login__card {
	width: 100%;
	max-width: 420px;
	padding: 32px 28px 28px;
	background: var(--pa-login-card);
	border: 1px solid var(--pa-login-border);
	border-radius: 16px;
	box-shadow:
		0 24px 48px rgba(0, 0, 0, 0.45),
		0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}

.pa-login__header {
	text-align: center;
	margin-bottom: 24px;
}

.pa-login__logo {
	display: block;
	width: auto;
	max-width: min(200px, 72vw);
	height: auto;
	margin: 0 auto 18px;
}

.pa-login__title {
	margin: 0 0 8px;
	font-size: 1.45rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--pa-login-text);
}

.pa-login__subtitle {
	margin: 0;
	font-size: 14px;
	color: var(--pa-login-muted);
}

.pa-login__footer {
	margin: 20px 0 0;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 13px;
	text-align: center;
	color: var(--pa-login-muted);
}

.pa-login__footer a {
	color: var(--pa-login-cyan);
	text-decoration: none;
}

.pa-login__footer a:hover {
	text-decoration: underline;
}

/* Ultimate Member */
.pa-login__form .um,
.pa-login__form .um-form {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	float: none !important;
}

.pa-login__form .um-form form {
	margin: 0 !important;
}

.pa-login__form .um-row,
.pa-login__form .um-col-1 {
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	width: 100% !important;
}

.pa-login__form .um-form-header,
.pa-login__form .um-form-title,
.pa-login__form .um-form-subtitle {
	display: none !important;
}

/* Honeypot do UM — não deve aparecer. */
.pa-login__form .um_request_name,
.pa-login__form p.um_request_name {
	display: none !important;
	visibility: hidden !important;
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	margin: 0 !important;
	padding: 0 !important;
}

.pa-login__form .um-field {
	margin-bottom: 14px !important;
	padding: 0 !important;
}

.pa-login__form .um-field-label {
	margin-bottom: 6px !important;
}

.pa-login__form .um-field-label label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--pa-login-muted) !important;
}

.pa-login__form .um-field-area input[type="text"],
.pa-login__form .um-field-area input[type="password"],
.pa-login__form .um-field-area input[type="email"],
.pa-login__form .um-form-field {
	width: 100% !important;
	max-width: 100% !important;
	padding: 12px 14px !important;
	font-size: 15px !important;
	color: var(--pa-login-text) !important;
	background: rgba(0, 11, 33, 0.75) !important;
	border: 1px solid rgba(148, 163, 184, 0.35) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	outline: none !important;
	box-sizing: border-box !important;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.pa-login__form .um-field-area input:focus,
.pa-login__form .um-form-field:focus {
	border-color: rgba(34, 211, 238, 0.55) !important;
	box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.12) !important;
}

.pa-login__form .um-field-checkbox,
.pa-login__form .um-field-type_block,
.pa-login__form .um-field-checkbox-option {
	color: var(--pa-login-muted) !important;
	font-size: 13px !important;
}

.pa-login__form .um-field-checkbox a,
.pa-login__form .um-field-type_block a {
	color: var(--pa-login-cyan) !important;
}

.pa-login__form .um-button,
.pa-login__form input[type="submit"].um-button,
.pa-login__form .um-button.btn,
.pa-login__form #um-submit-btn {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 8px 0 0 !important;
	padding: 13px 18px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #fff !important;
	text-align: center !important;
	background: linear-gradient(90deg, #0891b2, #2563eb) !important;
	border: none !important;
	border-radius: 10px !important;
	box-shadow: 0 4px 20px rgba(34, 211, 238, 0.3) !important;
	cursor: pointer !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	transition: filter 0.15s, box-shadow 0.15s;
}

.pa-login__form .um-button:hover,
.pa-login__form input[type="submit"].um-button:hover,
.pa-login__form #um-submit-btn:hover {
	filter: brightness(1.06);
	box-shadow: 0 6px 24px rgba(34, 211, 238, 0.4) !important;
}

.pa-login__form .um-col-alt {
	margin: 12px 0 0 !important;
	padding: 0 !important;
	text-align: left !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
}

.pa-login__form .um-col-alt .um-field-c,
.pa-login__form .um-col-alt .um-field-checkbox {
	text-align: left !important;
}

.pa-login__form .um-clear {
	clear: both !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Esconde Register + “Forgot password” do UM (já temos no rodapé). */
.pa-login__form .um-link-alt,
.pa-login__form a.um-button.um-alt,
.pa-login__form .um-right.um-half,
.pa-login__form .um-col-alt-b,
.pa-login__form a[href*="/register"],
.pa-login__form a[href*="cadastro"],
.pa-login__form a[href*="password-reset"] {
	display: none !important;
}

/* Botão Login em largura total (sem coluna metade do UM). */
.pa-login__form .um-col-alt .um-left.um-half,
.pa-login__form .um-left.um-half {
	float: none !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 12px 0 0 !important;
	padding: 0 !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

.pa-login__form .um-col-alt .um-left.um-half input[type="submit"].um-button,
.pa-login__form .um-col-alt .um-left.um-half #um-submit-btn,
.pa-login__form .um-left.um-half #um-submit-btn {
	display: block !important;
	float: none !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
}

/* wp_login_form fallback */
.pa-login__form #pa-loginform {
	margin: 0;
}

.pa-login__form #pa-loginform label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--pa-login-muted);
}

.pa-login__form #pa-loginform input[type="text"],
.pa-login__form #pa-loginform input[type="password"] {
	width: 100%;
	margin-bottom: 14px;
	padding: 12px 14px;
	font-size: 15px;
	color: var(--pa-login-text);
	background: rgba(0, 11, 33, 0.75);
	border: 1px solid rgba(148, 163, 184, 0.35);
	border-radius: 10px;
	box-sizing: border-box;
}

.pa-login__form #pa-loginform input[type="submit"] {
	width: 100%;
	padding: 13px 18px;
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(90deg, #0891b2, #2563eb);
	border: none;
	border-radius: 10px;
	cursor: pointer;
}

/* wp-login.php (recuperar senha, etc.)
 * WP 7 removeu a class .login form — usar #loginform e afins. */
body.pa-wp-login.login {
	background:
		radial-gradient(ellipse at 20% 0%, rgba(34, 211, 238, 0.1), transparent 45%),
		var(--pa-login-bg) !important;
}

body.pa-wp-login #login {
	width: 100%;
	max-width: 420px;
	padding: 24px 16px;
}

body.pa-wp-login #login h1 a {
	width: 200px;
	height: 80px;
	background-size: contain !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	margin: 0 auto 20px;
}

body.pa-wp-login #loginform,
body.pa-wp-login #lostpasswordform,
body.pa-wp-login #resetpassform,
body.pa-wp-login #registerform,
body.pa-wp-login .login form {
	position: relative !important;
	isolation: isolate !important;
	margin-top: 0 !important;
	padding: 28px 24px !important;
	color: #0f172a !important;
	background-color: #f4f7fb !important;
	background-image: url("https://speakupenglish.com.br/wp-content/uploads/2025/02/Personalize-2.jpg") !important;
	background-size: cover !important;
	background-position: center right !important;
	background-repeat: no-repeat !important;
	border: 1px solid rgba(15, 23, 42, 0.12) !important;
	border-radius: 16px !important;
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35) !important;
	overflow: hidden;
}

body.pa-wp-login #loginform::before,
body.pa-wp-login #lostpasswordform::before,
body.pa-wp-login #resetpassform::before,
body.pa-wp-login #registerform::before,
body.pa-wp-login .login form::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(
		135deg,
		rgba(244, 247, 251, 0.9) 0%,
		rgba(244, 247, 251, 0.84) 55%,
		rgba(244, 247, 251, 0.78) 100%
	);
}

body.pa-wp-login #loginform > *,
body.pa-wp-login #lostpasswordform > *,
body.pa-wp-login #resetpassform > *,
body.pa-wp-login #registerform > *,
body.pa-wp-login .login form > * {
	position: relative;
	z-index: 1;
}

/* Garante que reset de senha continue clicável (evitar overlay herdado). */
body.pa-wp-login #resetpassform,
body.pa-wp-login #loginform,
body.pa-wp-login #lostpasswordform {
	pointer-events: auto !important;
}

body.pa-wp-login #resetpassform #pass1,
body.pa-wp-login #resetpassform #pass2,
body.pa-wp-login #resetpassform .wp-generate-pw,
body.pa-wp-login #resetpassform .button {
	pointer-events: auto !important;
}

body.pa-wp-login #loginform .input,
body.pa-wp-login #lostpasswordform .input,
body.pa-wp-login #resetpassform .input,
body.pa-wp-login #registerform .input,
body.pa-wp-login .login form .input,
body.pa-wp-login .login input[type="text"],
body.pa-wp-login .login input[type="password"],
body.pa-wp-login .login input[type="email"] {
	background: rgba(255, 255, 255, 0.96) !important;
	border-color: rgba(15, 23, 42, 0.2) !important;
	color: #0f172a !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}

body.pa-wp-login #loginform .input:focus,
body.pa-wp-login .login input[type="text"]:focus,
body.pa-wp-login .login input[type="password"]:focus {
	border-color: rgba(8, 145, 178, 0.65) !important;
	box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.2) !important;
}

body.pa-wp-login #loginform label,
body.pa-wp-login #lostpasswordform label,
body.pa-wp-login #resetpassform label,
body.pa-wp-login #registerform label,
body.pa-wp-login .login label,
body.pa-wp-login .login .forgetmenot label {
	color: #0f172a !important;
	font-weight: 600;
}

body.pa-wp-login #resetpassform .indicator-hint,
body.pa-wp-login #resetpassform .pw-weak,
body.pa-wp-login #pass-strength-result {
	color: #334155 !important;
}

body.pa-wp-login .login #rememberme {
	accent-color: #0891b2;
}

body.pa-wp-login .wp-core-ui .button-primary {
	background: linear-gradient(90deg, #0891b2, #2563eb) !important;
	border: none !important;
	border-radius: 10px !important;
	box-shadow: 0 4px 20px rgba(34, 211, 238, 0.3) !important;
	text-shadow: none !important;
	color: #fff !important;
}

body.pa-wp-login #login_error,
body.pa-wp-login .message,
body.pa-wp-login .success {
	border-left-color: var(--pa-login-cyan);
	background: rgba(255, 255, 255, 0.94);
	color: #1a2332;
	border-radius: 10px;
}

body.pa-wp-login #nav a,
body.pa-wp-login #backtoblog a,
body.pa-wp-login .wp-login-lost-password {
	color: var(--pa-login-cyan) !important;
}

/* Contas são criadas pela escola — sem auto-cadastro. */
body.pa-wp-login #nav .wp-login-register,
body.pa-wp-login #nav a[href*="register"],
body.pa-wp-login #nav a[href*="cadastro"],
body.pa-wp-login #registerform {
	display: none !important;
}

@media (max-width: 480px) {
	.pa-login__card {
		padding: 24px 18px 20px;
		border-radius: 14px;
	}

	.pa-login__title {
		font-size: 1.28rem;
	}
}
