/* =============================================================
   Bioni — branded wp-login.php screen
   Medical-grade clinical aesthetic: clean, white, blue accents,
   plenty of whitespace, soft trust signals.
   ============================================================= */

body.login {
	background:
		radial-gradient(circle at 20% 0%, rgba(12, 110, 142, .08) 0%, transparent 40%),
		radial-gradient(circle at 80% 100%, rgba(24, 176, 201, .06) 0%, transparent 45%),
		linear-gradient(180deg, #f4f7f9 0%, #e7eef2 100%);
	font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: #1a232b;
	min-height: 100vh;
}

#login {
	width: 380px;
	padding: 4vh 0 6vh;
}

/* ---------- Logo ---------- */
body.login h1 a {
	width: 220px !important;
	height: 70px !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	margin: 0 auto 1rem !important;
	text-indent: -9999px !important;
	outline: 0 !important;
	overflow: hidden;
}

/* ---------- Intro panel above form ---------- */
.bioni-login-intro {
	text-align: center;
	margin: 0 0 1.25rem;
	color: #1a232b;
}
.bioni-login-intro h2 {
	font-size: 1.4rem;
	font-weight: 700;
	margin: 0 0 .35rem;
	color: #1a232b;
}
.bioni-login-intro p {
	margin: 0 auto;
	color: #5a6772;
	max-width: 320px;
	font-size: .95rem;
	line-height: 1.5;
}

/* ---------- Form card ---------- */
.login form {
	background: #fff;
	border: 1px solid #e3e8ec;
	border-radius: 12px;
	box-shadow: 0 8px 32px rgba(15, 30, 45, .06);
	padding: 1.75rem 1.75rem 1.5rem;
	margin-top: 1rem;
}
.login form .input,
.login input[type=text],
.login input[type=email],
.login input[type=password] {
	border: 1px solid #d8dde2 !important;
	border-radius: 8px !important;
	padding: .65rem .8rem !important;
	font-size: 16px !important;
	box-shadow: none !important;
	background: #fcfdfd;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.login form .input:focus,
.login input[type=text]:focus,
.login input[type=email]:focus,
.login input[type=password]:focus {
	border-color: #0c6e8e !important;
	box-shadow: 0 0 0 3px rgba(12, 110, 142, .12) !important;
	outline: none !important;
}
.login label {
	color: #1a232b;
	font-weight: 500;
	font-size: .92rem;
}
.login .forgetmenot {
	margin-top: .75rem;
	font-size: .9rem;
	color: #5a6772;
}

/* ---------- Primary button ---------- */
.login .button-primary,
.login .submit .button-primary,
.login .submit input[type=submit] {
	width: 100% !important;
	padding: .75rem 1rem !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	border-radius: 8px !important;
	margin-top: 1rem !important;
	box-shadow: none !important;
	text-shadow: none !important;
	background: #0c6e8e !important;
	border-color: #0c6e8e !important;
	color: #fff !important;
	min-height: 48px !important;
	transition: background .15s ease, transform .1s ease;
}
.login .button-primary:hover,
.login .submit input[type=submit]:hover {
	background: #07556e !important;
	border-color: #07556e !important;
}
.login .button-primary:active { transform: translateY(1px); }

/* ---------- Below-form nav ---------- */
.login #nav,
.login #backtoblog {
	text-align: center;
	margin-top: 1rem;
	padding: 0;
	font-size: .9rem;
}
.login #nav a,
.login #backtoblog a {
	color: #5a6772 !important;
	text-decoration: none;
	transition: color .15s ease;
}
.login #nav a:hover,
.login #backtoblog a:hover { color: #0c6e8e !important; }
.login #nav a { font-weight: 500; }

/* ---------- Footer trust strip ---------- */
.bioni-login-footer {
	text-align: center;
	margin: 2.5rem auto 0;
	max-width: 380px;
	padding: 0 1rem;
	color: #5a6772;
}
.bioni-login-trust {
	display: flex;
	justify-content: center;
	gap: 1rem;
	flex-wrap: wrap;
	font-size: .8rem;
	color: #5a6772;
	margin: 0 0 1rem;
	padding: .75rem 1rem;
	background: rgba(255,255,255,.7);
	border: 1px solid #e3e8ec;
	border-radius: 8px;
	backdrop-filter: blur(4px);
}
.bioni-login-trust span { white-space: nowrap; }
.bioni-login-back {
	margin: 0 0 .5rem;
	font-size: .9rem;
}
.bioni-login-back a {
	color: #0c6e8e;
	text-decoration: none;
	font-weight: 500;
}
.bioni-login-back a:hover { color: #07556e; text-decoration: underline; }
.bioni-login-meta { margin: 0; }
.bioni-login-meta small { color: #8a98a3; font-size: .78rem; }
.bioni-login-meta a { color: #5a6772; text-decoration: none; }
.bioni-login-meta a:hover { color: #0c6e8e; }

/* ---------- Privacy policy / language switcher / etc. tucked in ---------- */
.login .privacy-policy-page-link { text-align: center; }
.login .privacy-policy-page-link a { color: #5a6772 !important; font-size: .85rem; }

/* ---------- Captcha row ---------- */
.login .g-recaptcha,
.login .bioni-captcha-row {
	display: flex; justify-content: center;
	margin: 1rem 0 0;
}
.login .bioni-math-captcha { margin-top: .75rem; }

/* ---------- Mobile ---------- */
@media (max-width: 480px) {
	#login { width: 92vw; padding: 3vh 0 4vh; }
	body.login h1 a { width: 180px !important; height: 56px !important; }
	.login form { padding: 1.25rem; border-radius: 10px; }
	.bioni-login-intro h2 { font-size: 1.2rem; }
	.bioni-login-trust { gap: .5rem; font-size: .75rem; padding: .5rem; }
}
