/*
iQONE WP — Login / Register / Lost Password screen
Restyles wp-login.php (shared markup for all three screens) to match the
site's dark, green-accent design instead of the default WordPress look.
*/

:root{
	--bg: #090b10;
	--card: #12151d;
	--border: rgba(255,255,255,0.09);
	--text: #f3f5f9;
	--text-dim: #99a3b5;
	--accent: #22e08a;
	--accent-2: #17b673;
	--accent-gradient: linear-gradient(135deg, #2af0a0 0%, #1cc98a 55%, #14a870 100%);
	--accent-dim: rgba(34,224,138,0.14);
	--badge-red: #ef3b52;
	--radius: 14px;
}

html{ background:var(--bg); }

body.login,
body.login *{ box-sizing:border-box; }

body.login{
	margin:0;
	min-height:100vh;
	min-height:100dvh; /* avoids the big empty gap caused by mobile browser toolbars counting into 100vh */
	display:flex; flex-direction:column; align-items:center; justify-content:center;
	background:
		radial-gradient(1100px 520px at 12% -8%, rgba(34,224,138,0.14), transparent 60%),
		radial-gradient(900px 480px at 100% 0%, rgba(34,224,138,0.08), transparent 55%),
		var(--bg);
	background-attachment:fixed;
	font-family:'Manrope', sans-serif;
	color:var(--text);
	padding:max(32px, env(safe-area-inset-top)) 16px max(32px, env(safe-area-inset-bottom));
}

/* On short/small viewports, centering vertically leaves an awkward empty
   band above the card (screen shorter than content + margins). Switch to
   top alignment so the card sits close to the top instead of floating. */
@media (max-height:740px){
	body.login{ justify-content:flex-start; padding-top:max(20px, env(safe-area-inset-top)); }
}

/* Logo / header ------------------------------------------------ */
.login h1{ margin:0 0 22px; text-align:center; }
.login h1 a{
	background-image:none !important;
	width:auto; height:auto; text-indent:0; overflow:visible;
	display:inline-flex; align-items:center; justify-content:center; gap:10px;
	font-family:'Poppins', sans-serif;
	font-weight:800; font-size:24px; letter-spacing:.2px;
	color:var(--text); text-decoration:none;
}
.login h1 a::before{
	content:"\25B6";
	display:flex; align-items:center; justify-content:center;
	width:32px; height:32px; border-radius:50%;
	background:var(--accent-gradient);
	color:#04170a; font-size:12px;
	box-shadow:0 3px 10px rgba(34,224,138,0.4);
	flex-shrink:0;
}
.login h1 a:hover{ color:var(--accent); }

/* Card ----------------------------------------------------------- */
#login{ width:100%; max-width:368px; padding:0; margin:0 auto; }

@media (min-width:600px){
	#login{ max-width:400px; }
}
#loginform, #registerform, #lostpasswordform, #resetpassform{
	background:var(--card);
	border:1px solid var(--border);
	border-radius:var(--radius);
	padding:30px 28px 22px;
	box-shadow:0 20px 50px rgba(0,0,0,0.45);
}

/* Labels + inputs -------------------------------------------------- */
.login label{
	color:var(--text-dim); font-weight:600; font-size:13.5px;
	display:block; margin-bottom:6px;
}
.login form .input,
.login input[type="text"],
.login input[type="password"],
.login input[type="email"]{
	background:#0d1016;
	border:1px solid var(--border);
	border-radius:10px;
	color:var(--text);
	font-size:16px; /* 16px avoids iOS Safari auto-zoom on focus */
	padding:10px 13px;
	min-height:40px;
	width:100%;
	box-shadow:none;
	transition:border-color .15s ease, box-shadow .15s ease;
}
.login form .input:focus,
.login input[type="text"]:focus,
.login input[type="password"]:focus,
.login input[type="email"]:focus{
	border-color:var(--accent);
	box-shadow:0 0 0 3px var(--accent-dim);
	outline:none;
}
.login form p{ margin-bottom:16px; }
.login .user-pass-wrap{ position:relative; }
.wp-hide-pw{ color:var(--text-dim) !important; background:transparent; }
.wp-hide-pw:hover, .wp-hide-pw:focus{ color:var(--accent) !important; }
.wp-hide-pw .dashicons{ fill:currentColor; color:currentColor; }

/* Remember me ------------------------------------------------------ */
.login .forgetmenot{ font-size:13.5px; color:var(--text-dim); display:flex; align-items:center; }
.login .forgetmenot label{ display:inline-flex; align-items:center; font-weight:500; margin:0; cursor:pointer; }
.login input#rememberme{
	appearance:none; -webkit-appearance:none;
	width:18px; height:18px; margin-right:8px; flex-shrink:0;
	background:#0d1016; border:1px solid var(--border); border-radius:5px;
	accent-color:var(--accent); cursor:pointer;
	display:inline-flex; align-items:center; justify-content:center;
	transition:border-color .15s ease, background .15s ease;
}
.login input#rememberme:checked{
	background:var(--accent-gradient); border-color:var(--accent-2);
}
.login input#rememberme:checked::after{
	content:"\2713"; color:#04170a; font-size:12px; font-weight:800; line-height:1;
}
.login input#rememberme:focus-visible{ box-shadow:0 0 0 3px var(--accent-dim); outline:none; }

/* Submit button ------------------------------------------------------ */
.login .button-primary,
.login input#wp-submit{
	width:100%;
	background:var(--accent-gradient) !important;
	border:none !important;
	color:#04170a !important;
	font-weight:700; font-size:14.5px;
	padding:10px 16px; min-height:40px; height:auto;
	border-radius:10px;
	box-shadow:0 8px 22px rgba(34,224,138,0.28);
	text-shadow:none;
	transition:transform .1s ease, box-shadow .15s ease;
	cursor:pointer;
}
.login .button-primary:hover,
.login input#wp-submit:hover{ transform:translateY(-1px); box-shadow:0 10px 26px rgba(34,224,138,0.38); }
.login .button-primary:active,
.login input#wp-submit:active{ transform:translateY(0); }

/* Password strength meter ------------------------------------------------ */
.pw-weak input#pass1,
#pass-strength-result{
	border-radius:10px !important; border:1px solid var(--border) !important;
	background:#0d1016 !important; color:var(--text-dim) !important;
}
#pass-strength-result.bad{ color:var(--badge-red) !important; border-color:rgba(239,59,82,.4) !important; }
#pass-strength-result.good,
#pass-strength-result.short{ color:#f5b942 !important; }
#pass-strength-result.strong{ color:var(--accent) !important; border-color:var(--accent-dim) !important; }

/* Links + nav ------------------------------------------------------ */
#nav, #backtoblog{
	text-align:center; margin-top:18px;
}
#nav a, #backtoblog a{
	color:var(--text-dim); font-size:13.5px; font-weight:600;
	text-decoration:none; transition:color .15s ease;
}
#nav a:hover, #backtoblog a:hover{ color:var(--accent); }
#backtoblog{ margin-top:8px; }

/* Messages / errors ------------------------------------------------------ */
.login .message,
.login #login_error,
.login .notice{
	background:var(--card); border:1px solid var(--border); border-left:4px solid var(--accent);
	border-radius:10px; color:var(--text); padding:12px 14px; font-size:13.5px;
	box-shadow:0 8px 20px rgba(0,0,0,0.3);
}
.login #login_error{ border-left-color:var(--badge-red); }
.login .message{ border-left-color:var(--accent); }

/* Language switcher + privacy link ------------------------------------------------------ */
.login #language-switcher{
	background:transparent; border:none; text-align:center; margin-top:16px;
}
.login #language-switcher .locale-select-svg{ display:none; }
.privacy-policy-page-link{ text-align:center; margin-top:10px; }
.privacy-policy-page-link a{ color:var(--text-dim); font-size:12.5px; }
.privacy-policy-page-link a:hover{ color:var(--accent); }

/* Mobile ------------------------------------------------------ */
@media (max-width:480px){
	body.login{ padding-left:12px; padding-right:12px; }
	#loginform, #registerform, #lostpasswordform, #resetpassform{ padding:22px 18px 16px; }
	.login h1{ margin-bottom:16px; }
	.login h1 a{ font-size:20px; }
	.login h1 a::before{ width:28px; height:28px; }
}

@media (max-width:360px){
	.login h1 a{ font-size:18px; }
	#loginform, #registerform, #lostpasswordform, #resetpassform{ padding:20px 15px 14px; }
}
