/* ================================================================
   Login / Register form — scoped stylesheet
   Loaded on is_account_page() && ! is_user_logged_in()
   ================================================================ */

/* ================================================================
   Login / Register form
   ================================================================ */

/* Notices wrapper — constrain to card width on login/lost-password */
body.woocommerce-lost-password .woocommerce-notices-wrapper,
body.woocommerce-account:not(.logged-in) .woocommerce-notices-wrapper {
	max-width: 440px !important;
	margin: 1.5rem auto 0 !important;
	padding: 0 1.25rem !important;
}

/* Login / lost-password / card notices — use global unified notice design */
.sc-login-card .woocommerce-error,
.sc-login-card .woocommerce-message,
.sc-login-card .woocommerce-info {
	margin: 0 0 1.25rem !important;
}

body.woocommerce-account .sc-login-wrap,
body.woocommerce-order-received .sc-login-wrap,
body.woocommerce-checkout .sc-login-wrap,
body.woocommerce-cart .sc-login-wrap {
	max-width: 440px !important;
	margin: 2.5rem auto 3rem !important;
	/* padding: 0 1.25rem !important; */
	display: flex !important;
	flex-direction: column !important;
	/* gap: 1.25rem !important; */
}

/* Global form-login renders on order-received when guest access is restricted.
   Neutralise the outer article/hentry/.woocommerce shell so we don't get card-in-card. */
body.woocommerce-order-received:has(.sc-login-wrap) .woocommerce,
body.woocommerce-order-received:has(.sc-login-wrap) article.hentry {
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Notices rendered above the form-login card */
body.woocommerce-order-received:has(.sc-login-wrap) .woocommerce-notices-wrapper,
body.woocommerce-order-received:has(.sc-login-wrap) .woocommerce-info,
body.woocommerce-order-received:has(.sc-login-wrap) .woocommerce-error,
body.woocommerce-order-received:has(.sc-login-wrap) .woocommerce-message {
	max-width: 440px !important;
	margin: 2.5rem auto 0 !important;
}

.sc-login-card {
	background: #fff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 1rem !important;
	padding: 2rem !important;
	box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
}

/* WooCommerce core adds border/padding/margin to form.login, form.register,
   form.checkout_coupon — strip inside our card so it doesn't render as a nested card. */
.sc-login-card form.login,
.sc-login-card form.register,
.sc-login-card form.checkout_coupon,
.sc-login-card form.lost_reset_password,
.sc-login-card form.woocommerce-form-login,
.sc-login-card form.woocommerce-form-register,
.sc-login-card form.woocommerce-ResetPassword {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
}

.sc-login-logo {
	margin-bottom: 1.5rem !important;
}

.sc-login-logo .custom-logo {
	max-height: 32px !important;
	width: auto !important;
}

.sc-login-site-name {
	font-size: 1.1rem !important;
	font-weight: 800 !important;
	color: #111827 !important;
}

.sc-login-heading {
	font-size: 1.5rem !important;
	font-weight: 800 !important;
	color: #111827 !important;
	margin: 0 0 0.375rem !important;
	padding: 0 !important;
	border: none !important;
}

.sc-login-sub {
	font-size: 0.875rem !important;
	color: #6b7280 !important;
	margin: 0 0 1.5rem !important;
}

.sc-field {
	margin-bottom: 1rem !important;
}

.sc-login-card .woocommerce-Input.input-text {
	display: block !important;
	width: 100% !important;
	padding: 0.6rem 0.875rem !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 0.5rem !important;
	font-size: 0.875rem !important;
	color: #111827 !important;
	background: #fff !important;
	outline: none !important;
	box-sizing: border-box !important;
	transition: border-color 0.15s, box-shadow 0.15s !important;
	-webkit-appearance: none !important;
}

.sc-login-card .woocommerce-Input.input-text:focus {
	border-color: #dc4a26 !important;
	box-shadow: 0 0 0 3px rgba(220,74,38,0.08) !important;
}

/* Override browser autofill blue tint */
.sc-login-card .woocommerce-Input.input-text:-webkit-autofill,
.sc-login-card .woocommerce-Input.input-text:-webkit-autofill:hover,
.sc-login-card .woocommerce-Input.input-text:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1000px #fff inset !important;
	box-shadow: 0 0 0 1000px #fff inset !important;
	-webkit-text-fill-color: #111827 !important;
	border-color: #e5e7eb !important;
}

.sc-field label,
.sc-field-label-row label {
	display: block !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	color: #374151 !important;
	margin-bottom: 0.35rem !important;
}

.sc-field-label-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 0.35rem !important;
}

.sc-forgot-link {
	font-size: 0.78rem !important;
	color: #dc4a26 !important;
	text-decoration: none !important;
	font-weight: 500 !important;
}

.sc-forgot-link:hover {
	text-decoration: underline !important;
}

.sc-field-row {
	margin-bottom: 1.25rem !important;
}

.sc-remember {
	display: flex !important;
	align-items: center !important;
	gap: 0.5rem !important;
	font-size: 0.85rem !important;
	color: #374151 !important;
	cursor: pointer !important;
	font-weight: 400 !important;
}

.sc-remember input[type="checkbox"] {
	flex-shrink: 0 !important;
	width: 1rem !important;
	height: 1rem !important;
	margin: 0 !important;
	cursor: pointer !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	border: 1.5px solid #d1d5db !important;
	border-radius: 0.25rem !important;
	background: #fff !important;
	outline: none !important;
	box-shadow: none !important;
	transition: border-color 0.15s, background 0.15s !important;
	position: relative !important;
	display: inline-block !important;
}

.sc-remember input[type="checkbox"]:checked {
	background: #dc4a26 !important;
	border-color: #dc4a26 !important;
}

.sc-remember input[type="checkbox"]:checked::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	left: 0.2rem !important;
	top: 0.05rem !important;
	width: 0.35rem !important;
	height: 0.6rem !important;
	border: 2px solid #fff !important;
	border-top: none !important;
	border-left: none !important;
	transform: rotate(45deg) !important;
}

.sc-login-btn {
	display: block !important;
	width: 100% !important;
	background: #dc4a26 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0.75rem !important;
	padding: 0.8125rem !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	font-family: inherit !important;
	cursor: pointer !important;
	transition: background 0.15s !important;
	text-align: center !important;
}

.sc-login-btn:hover {
	background: #c03d1c !important;
}

.sc-login-btn--secondary {
	background: #dc4a26 !important;
}

.sc-login-btn--secondary:hover {
	background: #c03d1c !important;
}

.sc-login-switch {
	text-align: center !important;
	font-size: 0.875rem !important;
	color: #6b7280 !important;
	margin: 1rem 0 0 !important;
}

.sc-login-switch a {
	color: #dc4a26 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

/* Password strength meter inside login cards */
.sc-login-card .woocommerce-password-strength {
	display: block !important;
	margin: 0.5rem 0 0 !important;
	padding: 0.5rem 0.75rem !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	border-radius: 0.5rem !important;
	border: 1px solid transparent !important;
	text-align: left !important;
}
.sc-login-card .woocommerce-password-strength.short,
.sc-login-card .woocommerce-password-strength.bad {
	background: #fef2f2 !important;
	color: #b91c1c !important;
	border-color: #fecaca !important;
}
.sc-login-card .woocommerce-password-strength.good {
	background: #fffbeb !important;
	color: #92400e !important;
	border-color: #fde68a !important;
}
.sc-login-card .woocommerce-password-strength.strong {
	background: #ecfdf5 !important;
	color: #047857 !important;
	border-color: #a7f3d0 !important;
}
.sc-login-card .woocommerce-password-strength.mismatch {
	background: #fef2f2 !important;
	color: #b91c1c !important;
	border-color: #fecaca !important;
}
.sc-login-card .woocommerce-password-hint {
	display: block !important;
	margin: 0.5rem 0 0 !important;
	font-size: 0.75rem !important;
	color: #6b7280 !important;
	line-height: 1.5 !important;
}

/* Lost-password confirmation card */
.sc-login-card--confirmation {
	text-align: center;
}
.sc-login-card--confirmation .sc-login-logo,
.sc-login-card--confirmation .sc-login-heading,
.sc-login-card--confirmation .sc-login-sub {
	text-align: center !important;
}
.sc-login-confirm-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: 0 auto 1.25rem;
	border-radius: 50%;
	background: #fef0ec;
	color: #dc4a26;
}

.sc-register-note {
	font-size: 0.85rem !important;
	color: #6b7280 !important;
	margin-bottom: 1rem !important;
}

/* Privacy policy text rendered by woocommerce_register_form hook */
#sc-register .woocommerce-privacy-policy-text,
#sc-register .woocommerce-form-register .woocommerce-privacy-policy-text {
	font-size: 0.78rem !important;
	color: #9ca3af !important;
	margin: 0.75rem 0 1rem !important;
	line-height: 1.5 !important;
}

#sc-register .woocommerce-privacy-policy-text a {
	color: #6b7280 !important;
	text-decoration: underline !important;
}

#sc-register .woocommerce-privacy-policy-text a:hover {
	color: #dc4a26 !important;
}

.sc-switch-form {
	margin: 1.25rem 0 0 !important;
	text-align: center !important;
	font-size: 0.875rem !important;
	color: #6b7280 !important;
	/* border-top: 1px solid #f3f4f6 !important; */
	/* padding-top: 1.25rem !important; */
}

.sc-switch-form a {
	color: #dc4a26 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	margin-left: 0.25rem !important;
}

.sc-switch-form a:hover {
	text-decoration: underline !important;
}
