/**
 * AWW Login Page — Branded dark theme for wp-login.php.
 * wp-login.php is standalone (no theme header/footer).
 * Card centered in full viewport.
 */

/* ═══ Page Background ═══ */
html, body.login {
	background: #0C0A07 !important;
	height: 100%;
}

/* ═══ Wrapper — center card in viewport ═══ */
#login {
	width: 420px !important;
	max-width: calc(100% - 32px);
	padding: 0 !important;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* ═══ Logo ═══ */
#login h1 a {
	background-image: url('http://americanwestwagyu.com/wp-content/uploads/2025/07/AW-Logo.svg') !important;
	background-size: contain !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	width: 180px !important;
	height: 60px !important;
	margin: 0 auto 8px !important;
	display: block;
}

#login h1 {
	margin-bottom: 24px;
	text-align: center;
}

/* ═══ Form Card ═══ */
#loginform,
#registerform,
#lostpasswordform {
	background: #171410 !important;
	border: 1px solid #302B24 !important;
	border-radius: 14px !important;
	border-top: 2px solid #B8862C !important;
	padding: 32px 32px 28px !important;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4) !important;
}

/* ═══ Heading — added via CSS since WP login has no heading hook ═══ */
#loginform::before {
	content: 'Welcome Back';
	display: block;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: 28px;
	color: #F5EFE0;
	text-align: center;
	margin-bottom: 24px;
}

#registerform::before {
	content: 'Join the Herd';
	display: block;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: 28px;
	color: #F5EFE0;
	text-align: center;
	margin-bottom: 24px;
}

#lostpasswordform::before {
	content: 'Reset Password';
	display: block;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 500;
	font-size: 24px;
	color: #F5EFE0;
	text-align: center;
	margin-bottom: 24px;
}

/* ═══ Labels ═══ */
#loginform label,
#registerform label,
#lostpasswordform label {
	font-family: 'Josefin Sans', Arial, sans-serif !important;
	font-size: 9px !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #C4B99E !important;
}

/* ═══ Input Fields ═══ */
#loginform input[type="text"],
#loginform input[type="password"],
#loginform input[type="email"],
#registerform input[type="text"],
#registerform input[type="password"],
#registerform input[type="email"],
#lostpasswordform input[type="text"],
#lostpasswordform input[type="email"] {
	background: transparent !important;
	border: 1px solid #302B24 !important;
	border-radius: 10px !important;
	color: #F5EFE0 !important;
	font-family: 'Lora', Georgia, serif !important;
	font-size: 15px !important;
	padding: 12px 16px !important;
	height: auto !important;
	width: 100% !important;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	margin-top: 6px !important;
	margin-bottom: 16px !important;
}

#loginform input:focus,
#registerform input:focus,
#lostpasswordform input:focus {
	border-color: #D4AA4F !important;
	box-shadow: 0 0 0 2px rgba(212, 170, 79, 0.18) !important;
	outline: none !important;
}

#loginform input::placeholder,
#registerform input::placeholder,
#lostpasswordform input::placeholder {
	color: #8A7F6B;
}

/* ═══ Remember Me Checkbox ═══ */
/* Higher specificity to beat the #loginform label rule above */
#loginform p.forgetmenot {
	margin-bottom: 20px !important;
	float: none !important;
	width: 100% !important;
	clear: both !important;
}

#loginform p.forgetmenot label {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 8px !important;
	font-family: 'Lora', Georgia, serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	color: #C4B99E !important;
}

#loginform p.forgetmenot label input#rememberme {
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	flex-shrink: 0 !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	border: 2px solid #302B24 !important;
	border-radius: 4px !important;
	background: transparent !important;
	cursor: pointer;
	position: relative;
	transition: background 0.2s ease, border-color 0.2s ease;
}

#loginform p.forgetmenot label input#rememberme:checked {
	background: #D4AA4F !important;
	border-color: #D4AA4F !important;
}

#loginform p.forgetmenot label input#rememberme:checked::after {
	content: '\2713';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #0C0A07;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

/* ═══ Submit Button ═══ */
#wp-submit,
#registerform .button-primary,
#lostpasswordform .button-primary {
	background: #7B2D1F !important;
	border: none !important;
	border-radius: 6px !important;
	color: #F5EFE0 !important;
	font-family: 'Josefin Sans', Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	padding: 14px 0 !important;
	width: 100% !important;
	cursor: pointer;
	transition: background 0.3s ease, box-shadow 0.3s ease;
	height: auto !important;
	line-height: 1.4 !important;
	text-shadow: none !important;
	box-shadow: none !important;
}

#wp-submit:hover,
#registerform .button-primary:hover,
#lostpasswordform .button-primary:hover {
	background: #993A25 !important;
	box-shadow: 0 8px 24px rgba(123, 45, 31, 0.3) !important;
}

/* ═══ "or" Divider + Signup Button (injected via login_footer JS) ═══ */
.aww-login-divider {
	text-align: center;
	position: relative;
	margin: 24px 0;
}

.aww-login-divider::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	background: #302B24;
}

.aww-login-divider span {
	position: relative;
	background: #171410;
	padding: 0 16px;
	font-family: 'DM Mono', monospace;
	font-size: 10px;
	color: #8A7F6B;
}

.aww-login-signup-btn {
	display: block;
	text-align: center;
	padding: 14px 24px;
	border: 1px solid #D4AA4F;
	color: #D4AA4F !important;
	background: transparent;
	border-radius: 4px;
	font-family: 'Josefin Sans', Arial, sans-serif;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	text-decoration: none;
	transition: all 0.3s ease;
	max-width: 320px;
	margin: 0 auto;
	box-sizing: border-box;
}

.aww-login-signup-btn:hover {
	background: rgba(212, 170, 79, 0.08);
	color: #F0D785 !important;
	border-color: #F0D785;
}

/* ═══ Navigation Links ═══ */
#nav, #backtoblog {
	text-align: center !important;
	padding: 0 !important;
	margin-top: 16px !important;
}

#nav a, #backtoblog a {
	font-family: 'DM Mono', monospace !important;
	font-size: 11px !important;
	color: #8A7F6B !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

#nav a:hover, #backtoblog a:hover {
	color: #D4AA4F !important;
}

/* Separator between nav links */
#nav {
	color: #302B24 !important;
}

/* ═══ Error / Success Messages ═══ */
#login_error,
.message {
	border-radius: 10px !important;
	border: none !important;
	padding: 14px 18px !important;
	margin-bottom: 20px !important;
	font-family: 'Lora', Georgia, serif !important;
	font-size: 14px !important;
	line-height: 1.5;
	box-shadow: none !important;
}

#login_error {
	background: rgba(123, 45, 31, 0.15) !important;
	border-left: 3px solid #7B2D1F !important;
	color: #F5EFE0 !important;
}

#login_error a {
	color: #D4AA4F !important;
}

.message {
	background: rgba(74, 124, 89, 0.15) !important;
	border-left: 3px solid #4A7C59 !important;
	color: #F5EFE0 !important;
}

/* ═══ Password Strength Meter ═══ */
#pass-strength-result {
	background: #231F1A !important;
	border-color: #302B24 !important;
	color: #C4B99E !important;
	border-radius: 6px !important;
	margin-top: -8px !important;
	margin-bottom: 16px !important;
}

/* ═══ Show/Hide Password Toggle ═══ */
.wp-hide-pw,
.wp-hide-pw:focus {
	color: #8A7F6B !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.wp-hide-pw:hover {
	color: #D4AA4F !important;
}

/* ═══ Language Switcher ═══ */
.language-switcher {
	display: none !important;
}

/* ═══ Privacy Policy Link ═══ */
.privacy-policy-page-link {
	margin-top: 16px !important;
}

.privacy-policy-page-link a {
	font-family: 'DM Mono', monospace !important;
	font-size: 10px !important;
	color: #8A7F6B !important;
}

.privacy-policy-page-link a:hover {
	color: #D4AA4F !important;
}

/* ═══ Interim Login (modal login) ═══ */
.interim-login #login {
	position: relative;
	top: auto;
	left: auto;
	transform: none;
	margin: 40px auto;
}

/* ═══ Responsive ═══ */
@media screen and (max-width: 480px) {
	#login {
		width: calc(100% - 32px) !important;
	}

	#loginform,
	#registerform,
	#lostpasswordform {
		padding: 24px 20px 20px !important;
	}

	#loginform::before,
	#registerform::before,
	#lostpasswordform::before {
		font-size: 24px;
	}
}

/* ═══ Registration: Hide default username field ═══ */
#registerform > p:first-child {
	display: none !important;
}

/* Also hide by targeting the user_login input label */
#registerform label[for="user_login"],
#registerform #user_login {
	display: none !important;
}

/* ═══ Registration Page Extras ═══ */

/* Registration form also gets inputs for tel, password */
#registerform input[type="tel"],
#registerform input[type="password"] {
	background: transparent !important;
	border: 1px solid #302B24 !important;
	border-radius: 10px !important;
	color: #F5EFE0 !important;
	font-family: 'Lora', Georgia, serif !important;
	font-size: 15px !important;
	padding: 12px 16px !important;
	height: auto !important;
	width: 100% !important;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	margin-top: 6px !important;
	margin-bottom: 16px !important;
}

#registerform input[type="tel"]:focus,
#registerform input[type="password"]:focus {
	border-color: #D4AA4F !important;
	box-shadow: 0 0 0 2px rgba(212, 170, 79, 0.18) !important;
	outline: none !important;
}

/* Terms checkbox row */
.aww-terms-row label {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 8px !important;
	font-family: 'Lora', Georgia, serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	color: #C4B99E !important;
	line-height: 1.5;
	cursor: pointer;
}

.aww-terms-row label a {
	color: #D4AA4F !important;
	text-decoration: underline;
}

.aww-terms-row label a:hover {
	color: #F0D785 !important;
}

/* Terms checkbox — aggressive reset to prevent double checkmarks */
input[type="checkbox"]#aww_terms,
.aww-terms-row input[type="checkbox"] {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	max-width: 18px !important;
	margin: 2px 0 0 0 !important;
	padding: 0 !important;
	flex-shrink: 0 !important;
	border: 1px solid #302B24 !important;
	border-radius: 3px !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	outline: none !important;
	cursor: pointer;
	position: relative;
	transition: background 0.2s ease, border-color 0.2s ease;
}

/* Kill any pseudo-elements in unchecked state */
input[type="checkbox"]#aww_terms::before,
input[type="checkbox"]#aww_terms::after,
.aww-terms-row input[type="checkbox"]::before,
.aww-terms-row input[type="checkbox"]::after {
	content: none !important;
	display: none !important;
}

/* Checked state */
input[type="checkbox"]#aww_terms:checked,
.aww-terms-row input[type="checkbox"]:checked {
	background: #D4AA4F !important;
	border-color: #D4AA4F !important;
}

/* Only show checkmark ::after when checked */
input[type="checkbox"]#aww_terms:checked::after,
.aww-terms-row input[type="checkbox"]:checked::after {
	content: '\2713' !important;
	display: block !important;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #0C0A07;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
}

/* Hide the "registration confirmation" message WP shows */
#reg_passmail {
	display: none !important;
}
