/* SiteRun Private Access - login screen. Scoped to body.siterun-pa; local system fonts only. */
body.siterun-pa {
	--siterun-pa-accent: #1f2933;
	--siterun-pa-accent-fg: #ffffff;
	--siterun-pa-ring: #1f2933;
	--siterun-pa-text: #1a1d21;
	--siterun-pa-muted: #565f6b;
	--siterun-pa-border: #d9dde3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	box-sizing: border-box;
	padding: 32px 16px 24px;
	margin: 0;
	background: #f5f6f8;
	color: var(--siterun-pa-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.siterun-pa #login {
	width: 100%;
	max-width: 420px;
	box-sizing: border-box;
	padding: 40px 36px 32px;
	margin: 0;
	background: #fff;
	border: 1px solid var(--siterun-pa-border);
	border-radius: 8px;
}

/* Logo (dominant) or client-name fallback */
.siterun-pa #login h1 {
	margin: 0 0 28px;
	text-align: center;
}
.siterun-pa #login h1 a {
	display: block;
	width: auto;
	height: auto;
	margin: 0 auto;
	background: none;
	color: var(--siterun-pa-text);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	text-indent: 0;
	overflow-wrap: anywhere;
}
.siterun-pa--has-logo #login h1 a {
	width: 100%;
	height: 72px;
	background-image: var(--siterun-pa-logo);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	/* visually hidden text stays available to screen readers */
	font-size: 0;
	overflow: hidden;
	text-indent: -9999px;
}

/* Intro */
.siterun-pa-intro {
	margin: 0 0 24px;
	text-align: center;
}
.siterun-pa-eyebrow {
	margin: 0 0 8px;
	color: var(--siterun-pa-muted);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.siterun-pa-title {
	margin: 0 0 8px;
	color: var(--siterun-pa-text);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
}
.siterun-pa-welcome {
	margin: 0;
	color: var(--siterun-pa-muted);
	font-size: 15px;
	line-height: 1.5;
}

/* Form: the card is #login, so the core form box is flattened */
.siterun-pa #login form {
	padding: 0;
	margin: 0;
	background: none;
	border: 0;
	box-shadow: none;
}
.siterun-pa #login label {
	color: var(--siterun-pa-text);
	font-size: 14px;
	font-weight: 600;
}
.siterun-pa #login form .input,
.siterun-pa #login input[type="text"],
.siterun-pa #login input[type="password"] {
	min-height: 44px;
	padding: 6px 12px;
	margin: 6px 0 16px;
	border: 1px solid #8a929c;
	border-radius: 6px;
	box-shadow: none;
	color: var(--siterun-pa-text);
	font-size: 16px;
}
.siterun-pa #login .user-pass-wrap .wp-pwd { margin-top: 6px; }
.siterun-pa #login .wp-pwd input { margin-top: 0; }
.siterun-pa #login .button.wp-hide-pw {
	min-width: 44px;
	min-height: 44px;
	color: var(--siterun-pa-muted);
}

/* Focus (accent-derived, >= 3:1 on white) */
.siterun-pa #login input:focus,
.siterun-pa #login a:focus,
.siterun-pa #login .button:focus,
.siterun-pa-footer a:focus {
	border-color: var(--siterun-pa-ring);
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--siterun-pa-ring);
	outline: 2px solid transparent;
}

.siterun-pa #login .forgetmenot {
	float: none;
	margin: 0 0 20px;
	font-size: 14px;
}
.siterun-pa #login .forgetmenot label { font-weight: 400; }
.siterun-pa #login p.submit { margin: 0; }
.siterun-pa #login .button-primary {
	float: none;
	width: 100%;
	min-height: 46px;
	background: var(--siterun-pa-accent);
	border-color: var(--siterun-pa-accent);
	border-radius: 6px;
	color: var(--siterun-pa-accent-fg);
	font-size: 16px;
	font-weight: 600;
	text-shadow: none;
	box-shadow: none;
}
.siterun-pa #login .button-primary:hover,
.siterun-pa #login .button-primary:focus {
	background: var(--siterun-pa-accent);
	border-color: var(--siterun-pa-accent);
	color: var(--siterun-pa-accent-fg);
	filter: brightness(0.92);
}
.siterun-pa #login .button-primary:focus {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--siterun-pa-ring);
}
.siterun-pa #login .button-primary:disabled,
.siterun-pa #login .button-primary.disabled {
	background: var(--siterun-pa-accent);
	color: var(--siterun-pa-accent-fg);
	opacity: 0.6;
}

/* Messages and errors keep their border + text, never colour alone */
.siterun-pa #login .message,
.siterun-pa #login .success,
.siterun-pa #login #login_error {
	margin: 0 0 20px;
	border-radius: 4px;
	box-shadow: none;
	font-size: 14px;
}
/* Errors are identified by WordPress's bold "Error:" label as well as the red bar. */
.siterun-pa #login #login_error { border-left-color: #b32d2e; }

/* Links */
.siterun-pa #nav,
.siterun-pa #backtoblog,
.siterun-pa .privacy-policy-page-link {
	padding: 0;
	margin: 20px 0 0;
	text-align: center;
	font-size: 14px;
}
.siterun-pa #login a:not(.button) { color: var(--siterun-pa-text); text-decoration: underline; }
.siterun-pa #backtoblog { display: none; } /* would only bounce a signed-out visitor back to this screen */
.siterun-pa .language-switcher { margin-top: 16px; }

/* Attribution: deliberately smaller and quieter than the client logo */
.siterun-pa-footer {
	margin: 20px 0 0;
	text-align: center;
	font-size: 12px;
}
.siterun-pa-footer a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-radius: 2px;
	color: var(--siterun-pa-muted);
	text-decoration: none;
}
.siterun-pa-footer a:hover { color: var(--siterun-pa-text); }
.siterun-pa-footer img { display: block; width: 62px; height: 16px; }

@media (max-width: 480px) {
	body.siterun-pa { padding: 16px 12px; justify-content: flex-start; }
	.siterun-pa #login { padding: 28px 20px 24px; }
}
