:root {
	--irae-login-radius: 22px;
	--irae-login-primary: #8a541d;
	--irae-login-on-primary: #fff;
	--irae-login-surface: rgba(255, 250, 246, .96);
	--irae-login-on-surface: #241a12;
	--irae-login-muted: #65584d;
	--irae-login-outline: #d6c4b6;
	--irae-login-background: #2d1e12;
	--irae-login-background-image: linear-gradient(135deg, #40250e 0%, #8a541d 48%, #efba7b 100%);
}

body.login.irae-material-login-dark {
	--irae-login-primary: #ffb86e;
	--irae-login-on-primary: #432600;
	--irae-login-surface: rgba(29, 24, 20, .96);
	--irae-login-on-surface: #f3e4da;
	--irae-login-muted: #d2c1b4;
	--irae-login-outline: #68584c;
	--irae-login-background: #100d0a;
	color-scheme: dark;
}

body.login.irae-material-login {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	/* 100vh no celular é a altura do viewport com a barra do navegador
	   RECOLHIDA — a maior das duas. Com a barra visível, o conteúdo é
	   empurrado para baixo dela. 100dvh acompanha o estado atual; a linha
	   com vh fica antes como reserva para quem não conhece a unidade. */
	min-height: 100vh;
	min-height: 100dvh;
	margin: 0;
	padding: 48px clamp(28px, 8vw, 120px);
	background: var(--irae-login-background);
	color: var(--irae-login-on-surface);
	font-family: Inter, Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	box-sizing: border-box;
}

body.login.irae-material-login::before {
	position: fixed;
	inset: 0;
	z-index: 0;
	background-image: linear-gradient(90deg, rgba(15, 10, 6, .22), rgba(15, 10, 6, .58)), var(--irae-login-background-image);
	background-position: center;
	background-size: cover;
	content: "";
}

body.login.irae-material-login::after {
	position: fixed;
	inset: 0;
	z-index: 0;
	background: radial-gradient(circle at 22% 22%, rgba(255, 209, 158, .2), transparent 34%);
	content: "";
	pointer-events: none;
}

body.login.irae-material-login #login {
	position: relative;
	z-index: 1;
	width: min(100%, 410px);
	margin: 0;
	padding: 34px;
	background: var(--irae-login-surface);
	border: 1px solid color-mix(in srgb, var(--irae-login-outline) 72%, transparent);
	border-radius: var(--irae-login-radius);
	box-shadow: 0 22px 70px rgba(0, 0, 0, .3);
	backdrop-filter: blur(18px);
	box-sizing: border-box;
}

body.login.irae-material-login h1 {
	margin: 0 0 28px;
}

body.login.irae-material-login h1 a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 72px;
	margin: 0;
	/* O logo entra como <img> dentro do link, nao como background: assim
	   sobrevive a esta regra e ganha alt. */
	background-image: none;
	color: var(--irae-login-on-surface);
	font-size: 25px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	text-indent: 0;
}

body.login.irae-material-login h1 a .irae-material-login-logo {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 72px;
	object-fit: contain;
}

body.login.irae-material-login form {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

body.login.irae-material-login label {
	color: var(--irae-login-on-surface);
	font-size: 13px;
	font-weight: 600;
}

body.login.irae-material-login form .input,
body.login.irae-material-login input[type="text"],
body.login.irae-material-login input[type="password"],
body.login.irae-material-login input[type="email"] {
	min-height: 50px;
	margin: 7px 0 18px;
	padding: 10px 14px;
	background: transparent;
	border: 1px solid var(--irae-login-outline);
	border-radius: 9px;
	box-shadow: none;
	color: var(--irae-login-on-surface);
	font-size: 16px;
}

body.login.irae-material-login form .input:focus,
body.login.irae-material-login input:focus {
	border-color: var(--irae-login-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--irae-login-primary) 24%, transparent);
	outline: 0;
}

body.login.irae-material-login .button.wp-hide-pw {
	top: 8px;
	color: var(--irae-login-primary);
}

body.login.irae-material-login .forgetmenot {
	display: flex;
	align-items: center;
	min-height: 42px;
}

body.login.irae-material-login input[type="checkbox"] {
	accent-color: var(--irae-login-primary);
}

body.login.irae-material-login .submit .button-primary {
	min-height: 44px;
	padding: 0 22px;
	background: var(--irae-login-primary);
	border: 0;
	border-radius: 999px;
	box-shadow: none;
	color: var(--irae-login-on-primary);
	font-weight: 700;
	text-shadow: none;
}

body.login.irae-material-login .submit .button-primary:hover,
body.login.irae-material-login .submit .button-primary:focus {
	filter: brightness(1.06);
	box-shadow: 0 5px 18px color-mix(in srgb, var(--irae-login-primary) 30%, transparent);
}

body.login.irae-material-login #nav,
body.login.irae-material-login #backtoblog,
body.login.irae-material-login .privacy-policy-page-link {
	margin: 18px 0 0;
	padding: 0;
	text-align: center;
}

body.login.irae-material-login #nav a,
body.login.irae-material-login #backtoblog a,
body.login.irae-material-login .privacy-policy-page-link a {
	color: var(--irae-login-muted);
}

body.login.irae-material-login #nav a:hover,
body.login.irae-material-login #backtoblog a:hover {
	color: var(--irae-login-primary);
}

body.login.irae-material-login .message,
body.login.irae-material-login #login_error,
body.login.irae-material-login .success {
	margin: 0 0 20px;
	padding: 12px 14px;
	background: color-mix(in srgb, var(--irae-login-primary) 8%, transparent);
	border: 0;
	border-left: 4px solid var(--irae-login-primary);
	border-radius: 8px;
	box-shadow: none;
	color: var(--irae-login-on-surface);
}

body.login.irae-material-login .language-switcher {
	position: fixed;
	right: 18px;
	bottom: 16px;
	z-index: 2;
}

body.login.irae-material-login .language-switcher select {
	background: var(--irae-login-surface);
	border-color: var(--irae-login-outline);
	border-radius: 999px;
	color: var(--irae-login-on-surface);
}

@media screen and (max-width: 680px) {
	body.login.irae-material-login {
		align-items: center;
		justify-content: center;
		padding: 22px 14px;
	}

	body.login.irae-material-login #login {
		padding: 26px 22px;
		border-radius: 18px;
	}

	body.login.irae-material-login .language-switcher {
		position: static;
		z-index: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.login.irae-material-login * {
		transition: none !important;
	}
}

/* Design tokens shared with the administrative panel. */
body.login.irae-material-login {
	--irae-login-font-heading: Poppins, Inter, system-ui, sans-serif;
	--irae-login-font-body: Inter, system-ui, sans-serif;
	--irae-login-gradient: linear-gradient(135deg, #ff6900 0%, #ff9a3d 100%);
	--irae-login-gradient-hover: linear-gradient(135deg, #e85d00 0%, #ff6900 100%);
	--irae-login-shadow-soft: rgba(107, 90, 72, .15);
	--irae-login-shadow-strong: rgba(107, 90, 72, .28);
	--irae-login-elevation-1: 0 1px 2px var(--irae-login-shadow-soft), 0 3px 8px rgba(107, 90, 72, .08);
	--irae-login-elevation-3: 0 18px 48px var(--irae-login-shadow-strong), 0 8px 22px rgba(107, 90, 72, .12);
	font-family: var(--irae-login-font-body);
	letter-spacing: .005em;
}

body.login.irae-material-palette-elegant {
	--irae-login-primary: #d85300;
	--irae-login-on-primary: #2a1608;
	--irae-login-surface: rgba(235, 224, 210, .96);
	--irae-login-on-surface: #2a2018;
	--irae-login-muted: #6b5a48;
	--irae-login-outline: #8b7762;
	--irae-login-background: #f5ede4;
	--irae-login-background-image: linear-gradient(135deg, #2a2018 0%, #6b3b1c 48%, #ff9a3d 100%);
}

body.login.irae-material-palette-elegant.irae-material-login-dark {
	--irae-login-primary: #ff9a3d;
	--irae-login-on-primary: #281306;
	--irae-login-surface: rgba(42, 32, 24, .96);
	--irae-login-on-surface: #f5ede4;
	--irae-login-muted: #c9b8a8;
	--irae-login-outline: #887564;
	--irae-login-background: #1c1410;
	--irae-login-shadow-soft: rgba(28, 20, 16, .4);
	--irae-login-shadow-strong: rgba(0, 0, 0, .58);
}

body.login.irae-material-palette-spotify {
	--irae-login-primary: #137b39;
	--irae-login-on-primary: #071c0e;
	--irae-login-surface: rgba(255, 255, 255, .96);
	--irae-login-on-surface: #121212;
	--irae-login-muted: #535353;
	--irae-login-outline: #747474;
	--irae-login-background: #f5f5f5;
	--irae-login-background-image: linear-gradient(135deg, #101010 0%, #164e2a 52%, #1db954 100%);
	--irae-login-gradient: #1db954;
	--irae-login-gradient-hover: #1ed760;
	--irae-login-shadow-soft: rgba(0, 0, 0, .12);
	--irae-login-shadow-strong: rgba(0, 0, 0, .28);
}

body.login.irae-material-palette-spotify.irae-material-login-dark {
	--irae-login-primary: #1ed760;
	--irae-login-on-primary: #061a0c;
	--irae-login-surface: rgba(24, 24, 24, .96);
	--irae-login-on-surface: #ffffff;
	--irae-login-muted: #b3b3b3;
	--irae-login-outline: #666666;
	--irae-login-background: #121212;
	--irae-login-shadow-soft: rgba(0, 0, 0, .36);
	--irae-login-shadow-strong: rgba(0, 0, 0, .62);
}

body.login.irae-material-font-modern {
	--irae-login-font-heading: Poppins, system-ui, sans-serif;
	--irae-login-font-body: Inter, system-ui, sans-serif;
}

body.login.irae-material-font-editorial {
	--irae-login-font-heading: "Playfair Display", Georgia, serif;
	--irae-login-font-body: Lora, Georgia, serif;
}

body.login.irae-material-font-swiss {
	--irae-login-font-heading: Sora, system-ui, sans-serif;
	--irae-login-font-body: "Work Sans", system-ui, sans-serif;
}

body.login.irae-material-font-classic {
	--irae-login-font-heading: Fraunces, Georgia, serif;
	--irae-login-font-body: "Nunito Sans", system-ui, sans-serif;
}

body.login.irae-material-font-corporate {
	--irae-login-font-heading: Manrope, system-ui, sans-serif;
	--irae-login-font-body: "Source Sans 3", system-ui, sans-serif;
}

body.login.irae-material-font-spotify {
	--irae-login-font-heading: Circular, "Helvetica Neue", Arial, system-ui, sans-serif;
	--irae-login-font-body: "Helvetica Neue", Arial, system-ui, sans-serif;
}

body.login.irae-material-login h1 a {
	font-family: var(--irae-login-font-heading);
	letter-spacing: -.02em;
	line-height: 1.2;
}

body.login.irae-material-login #login {
	box-shadow: var(--irae-login-elevation-3);
	transition: transform .25s cubic-bezier(.4, 0, .2, 1), box-shadow .25s cubic-bezier(.4, 0, .2, 1), border-color .25s ease;
}

body.login.irae-material-login form .input,
body.login.irae-material-login input[type="text"],
body.login.irae-material-login input[type="password"],
body.login.irae-material-login input[type="email"] {
	transition: transform .25s cubic-bezier(.4, 0, .2, 1), box-shadow .25s cubic-bezier(.4, 0, .2, 1), border-color .25s ease;
}

body.login.irae-material-login form .input:focus,
body.login.irae-material-login input:focus {
	box-shadow: var(--irae-login-elevation-1), 0 0 0 3px color-mix(in srgb, var(--irae-login-primary) 25%, transparent);
	transform: translateY(-1px);
}

body.login.irae-material-login .submit .button-primary {
	background: var(--irae-login-gradient);
	box-shadow: var(--irae-login-elevation-1);
	transition: transform .25s cubic-bezier(.4, 0, .2, 1), box-shadow .25s cubic-bezier(.4, 0, .2, 1);
}

body.login.irae-material-login .submit .button-primary:hover,
body.login.irae-material-login .submit .button-primary:focus {
	background: var(--irae-login-gradient-hover);
	box-shadow: var(--irae-login-elevation-3);
	filter: none;
	transform: scale(1.02);
}
