/**
 * Deliberately minimal: just enough so the form is usable before anything is
 * styled in Elementor. Everything visual is meant to come from the widget.
 */

.pengueen-login-form {
	width: 100%;
}

.pengueen-login-align-center .pengueen-login-form {
	margin-left: auto;
	margin-right: auto;
}

.pengueen-login-align-right .pengueen-login-form {
	margin-left: auto;
}

.pengueen-login-field {
	margin-bottom: 1rem;
}

.pengueen-login-label {
	display: block;
}

.pengueen-login-input {
	width: 100%;
	box-sizing: border-box;
}

.pengueen-login-password {
	display: flex;
	align-items: stretch;
	gap: 0.5em;
}

.pengueen-login-password .pengueen-login-input {
	flex: 1 1 auto;
	min-width: 0;
}

.pengueen-login-toggle {
	flex: 0 0 auto;
	padding: 0 0.5em;
	font: inherit;
	color: inherit;
	background: none;
	border: 0;
	cursor: pointer;
	text-decoration: underline;
}

/* Honeypot: off screen rather than display:none, bots skip hidden fields. */
.pengueen-login-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.pengueen-login-message {
	margin-top: 1rem;
}

.pengueen-login-message[hidden] {
	display: none;
}

.pengueen-login-manual-link {
	text-decoration: underline;
}

.pengueen-login-form.is-busy .pengueen-login-button {
	opacity: 0.7;
	cursor: progress;
}

.pengueen-login-button[disabled] {
	cursor: not-allowed;
}

/* Registration block */

.pengueen-login-register {
	margin-top: 1rem;
}

.pengueen-login-register-title {
	display: block;
	margin: 0 0 0.5rem;
}

.pengueen-login-register-button {
	display: inline-block;
	cursor: pointer;
	text-decoration: none;
	box-sizing: border-box;
	text-align: center;
}
