/*
 * Search4U signed-out account screens: Sign in / Create account, Lost
 * password, Reset password, "Check your email". Same tokens as cart and
 * checkout. Loaded only on those screens.
 */

body.s4u-auth {
	--auth-line: #e4e7ee;
	--auth-ink: #111418;
	--auth-soft: #5d636d;
	--auth-bg: #f3f4f8;
	--auth-green: var(--s4u-green, #1d4c2e);
	--auth-green-dark: var(--s4u-green-dark, #143821);
	--auth-radius: 16px;
	background: var(--auth-bg);
}

body.s4u-auth .site-main {
	color: var(--auth-ink);
	font-family: var(--s4u-font-ui);
}

body.s4u-auth .site-main > .page-header {
	display: none;
}

body.s4u-auth .site-main .woocommerce {
	max-width: 1040px;
	margin: 0 auto;
}

body.s4u-auth.s4u-auth--single .site-main .woocommerce {
	max-width: 480px;
}

/* ---------- Head ---------- */

.s4u-auth-head {
	margin: 0 0 28px;
	text-align: center;
}

body .s4u-auth-head h1.s4u-auth-title {
	margin: 0;
	color: var(--auth-ink);
	font-family: var(--s4u-font-din);
	font-size: clamp(30px, 3vw, 40px);
	font-style: normal;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
	text-transform: none;
}

.s4u-auth-sub {
	max-width: 600px;
	margin: 10px auto 0;
	color: var(--auth-soft);
	font-size: 15px;
	line-height: 1.55;
}

/* ---------- Cards ---------- */

body.s4u-auth #customer_login {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	max-width: none;
	margin: 0;
}

body.s4u-auth #customer_login::before,
body.s4u-auth #customer_login::after,
body.s4u-auth #customer_login > .u-column1::before {
	content: none;
	display: none;
}

body.s4u-auth #customer_login > .u-column1,
body.s4u-auth #customer_login > .u-column2,
body.s4u-auth .woocommerce form.lost_reset_password,
body.s4u-auth .woocommerce-ResetPassword,
body.s4u-auth .s4u-auth-card {
	float: none;
	width: auto;
	margin: 0;
	padding: 32px;
	border: 1px solid var(--auth-line);
	border-radius: var(--auth-radius);
	background: #fff;
	box-shadow: 0 1px 2px rgba(17, 20, 24, 0.04);
}

body.s4u-auth #customer_login h2 {
	margin: 0 0 6px;
	color: var(--auth-ink);
	font-family: var(--s4u-font-din);
	font-size: 26px;
	font-style: normal;
	font-weight: 600;
	line-height: 1.2;
	text-transform: none;
}

/* Small line under each card title */
body.s4u-auth #customer_login > .u-column1 h2::after,
body.s4u-auth #customer_login > .u-column2 h2::after {
	display: block;
	margin-top: 6px;
	color: var(--auth-soft);
	font-family: var(--s4u-font-ui);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
}

body.s4u-auth #customer_login > .u-column1 h2::after {
	content: "Use your email or phone number.";
}

body.s4u-auth #customer_login > .u-column2 h2::after {
	content: "New here? It only takes a minute.";
}

body.s4u-auth .woocommerce form.woocommerce-form-login,
body.s4u-auth .woocommerce form.woocommerce-form-register {
	margin: 22px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}

/* ---------- Fields ---------- */

body.s4u-auth .woocommerce form .form-row {
	float: none;
	width: auto;
	margin: 0 0 16px;
	padding: 0;
}

body.s4u-auth .woocommerce form .form-row label:not(.woocommerce-form__label-for-checkbox) {
	display: block;
	margin: 0 0 6px;
	color: var(--auth-ink);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

body.s4u-auth .woocommerce form .form-row .required {
	color: var(--s4u-pink, #ef3659);
	text-decoration: none;
}

body.s4u-auth .woocommerce form .input-text,
body.s4u-auth .woocommerce form input.woocommerce-Input {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	border: 1px solid #d5d9e0;
	border-radius: 10px;
	background: #fff;
	color: var(--auth-ink);
	font-family: var(--s4u-font-ui);
	font-size: 15px;
	line-height: 1.4;
	box-shadow: none;
	outline: 0;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.s4u-auth .woocommerce form .input-text:focus,
body.s4u-auth .woocommerce form input.woocommerce-Input:focus {
	border-color: var(--auth-green);
	box-shadow: 0 0 0 3px rgba(29, 76, 46, 0.15);
}

/* Password field with the show / hide eye inside */
body.s4u-auth .woocommerce .password-input {
	position: relative;
	display: block;
	width: 100%;
}

body.s4u-auth .woocommerce .password-input input {
	padding-right: 48px;
}

body.s4u-auth .woocommerce .show-password-input {
	position: absolute;
	top: 50%;
	right: 6px;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background-color: transparent;
	transform: translateY(-50%);
	opacity: 0.6;
	cursor: pointer;
}

body.s4u-auth .woocommerce .show-password-input:hover {
	background-color: var(--auth-bg);
	opacity: 1;
}

body.s4u-auth .woocommerce .show-password-input::after {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0;
	transform: translate(-50%, -50%);
}

/* Checkbox */
body.s4u-auth .woocommerce input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--auth-green);
	cursor: pointer;
}

body.s4u-auth .woocommerce .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--auth-ink);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
}

/* ---------- Sign in form order: fields, [Remember me | Forgot], button, legal ---------- */

body.s4u-auth .woocommerce form.woocommerce-form-login {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 12px;
}

body.s4u-auth .woocommerce form.woocommerce-form-login > * {
	grid-column: 1 / -1;
	order: 1;
}

body.s4u-auth .woocommerce form.woocommerce-form-login > p.form-row:not(.woocommerce-form-row) {
	display: contents;
}

body.s4u-auth .woocommerce form.woocommerce-form-login .woocommerce-form-login__rememberme {
	grid-column: 1;
	order: 3;
	margin: 0 0 18px;
}

body.s4u-auth .woocommerce form.woocommerce-form-login .woocommerce-LostPassword {
	grid-column: 2;
	order: 4;
	margin: 0 0 18px;
	font-size: 14px;
}

body.s4u-auth .woocommerce form.woocommerce-form-login .woocommerce-form-login__submit {
	grid-column: 1 / -1;
	order: 5;
}

body.s4u-auth .woocommerce form.woocommerce-form-login .s4u-account-legal {
	order: 6;
}

body.s4u-auth .woocommerce .woocommerce-LostPassword a,
body.s4u-auth .s4u-auth-back a {
	color: var(--auth-green);
	font-weight: 600;
	text-decoration: none;
}

body.s4u-auth .woocommerce .woocommerce-LostPassword a:hover,
body.s4u-auth .s4u-auth-back a:hover {
	text-decoration: underline;
}

/* ---------- Buttons ---------- */

body.s4u-auth .woocommerce button.button,
body.s4u-auth .woocommerce .button {
	display: flex;
	align-items: center;
	justify-content: center;
	float: none;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 0 20px;
	border: 0;
	border-radius: 12px;
	background: var(--auth-green);
	color: #fff;
	font-family: var(--s4u-font-ui);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-transform: none;
	text-decoration: none;
	transition: background-color 0.15s ease;
	cursor: pointer;
}

body.s4u-auth .woocommerce button.button:hover,
body.s4u-auth .woocommerce .button:hover {
	background: var(--auth-green-dark);
	color: #fff;
}

/* Create account: outline style so Sign in is the main action */
body.s4u-auth .woocommerce button.woocommerce-form-register__submit {
	border: 1.5px solid var(--auth-ink);
	background: #fff;
	color: var(--auth-ink);
}

body.s4u-auth .woocommerce button.woocommerce-form-register__submit:hover {
	background: var(--auth-ink);
	color: #fff;
}

/* ---------- Small print ---------- */

body.s4u-auth .woocommerce-privacy-policy-text p,
body.s4u-auth .s4u-account-legal {
	margin: 0 0 16px;
	color: var(--auth-soft);
	font-size: 12px;
	line-height: 1.55;
}

body.s4u-auth .s4u-account-legal {
	margin: 16px 0 0;
	text-align: center;
}

body.s4u-auth .woocommerce-privacy-policy-text a,
body.s4u-auth .s4u-account-legal a {
	color: var(--auth-ink);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Notices (wrong password, email sent, ...) */
body.s4u-auth .woocommerce .woocommerce-error,
body.s4u-auth .woocommerce .woocommerce-message,
body.s4u-auth .woocommerce .woocommerce-info {
	margin: 0 0 20px;
	padding: 14px 18px 14px 48px;
	border: 1px solid var(--auth-line);
	border-left: 4px solid var(--auth-green);
	border-radius: 12px;
	background: #fff;
	color: var(--auth-ink);
	font-size: 14px;
	line-height: 1.5;
	list-style: none;
}

body.s4u-auth .woocommerce .woocommerce-error {
	border-left-color: var(--s4u-pink, #ef3659);
}

body.s4u-auth .woocommerce .woocommerce-message::before,
body.s4u-auth .woocommerce .woocommerce-info::before,
body.s4u-auth .woocommerce .woocommerce-error::before {
	top: 50%;
	left: 18px;
	transform: translateY(-50%);
	color: var(--auth-green);
}

body.s4u-auth .woocommerce .woocommerce-error::before {
	color: var(--s4u-pink, #ef3659);
}

/* ---------- Lost / reset password card ---------- */

body.s4u-auth .woocommerce form.lost_reset_password {
	display: flex;
	flex-direction: column;
}

body.s4u-auth .woocommerce form.lost_reset_password .s4u-auth-back {
	order: 99;
}

body.s4u-auth .woocommerce form.lost_reset_password > p:first-child {
	margin: 0 0 20px;
	color: var(--auth-soft);
	font-size: 15px;
	line-height: 1.55;
	text-align: center;
}

body.s4u-auth .woocommerce form.lost_reset_password .form-row-first,
body.s4u-auth .woocommerce form.lost_reset_password .form-row-last {
	float: none;
	width: auto;
}

body.s4u-auth .woocommerce form.lost_reset_password .clear {
	display: none;
}

body.s4u-auth .woocommerce form.lost_reset_password .form-row:last-of-type {
	margin-bottom: 0;
}

.s4u-auth-back {
	margin: 18px 0 0;
	font-size: 14px;
	text-align: center;
}

.s4u-auth-back a::before {
	content: "\2190\00a0";
}

/* "Check your email" message */
body.s4u-auth.s4u-auth--single .woocommerce > p,
body.s4u-auth.s4u-auth--single .woocommerce-message + p {
	margin: 0;
	padding: 28px 32px 0;
	border: 1px solid var(--auth-line);
	border-bottom: 0;
	border-radius: var(--auth-radius) var(--auth-radius) 0 0;
	background: #fff;
	color: var(--auth-soft);
	font-size: 15px;
	line-height: 1.6;
	text-align: center;
}

body.s4u-auth.s4u-auth--single .woocommerce > p + .s4u-auth-back {
	margin: 0;
	padding: 18px 32px 28px;
	border: 1px solid var(--auth-line);
	border-top: 0;
	border-radius: 0 0 var(--auth-radius) var(--auth-radius);
	background: #fff;
}

/* ---------- Trust points under the cards ---------- */

.s4u-auth-trust {
	margin-top: 28px;
}

.s4u-auth-trust .s4u-trust {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.s4u-auth-trust .s4u-trust li {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px;
	border: 1px solid var(--auth-line);
	border-radius: 12px;
	background: #fff;
	color: var(--auth-ink);
	font-size: 14px;
	font-weight: 500;
}

.s4u-auth-trust .s4u-trust svg {
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	color: var(--auth-green);
}

/* ---------- Phone ---------- */

@media (max-width: 767px) {
	body.s4u-auth #customer_login {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	body.s4u-auth #customer_login > .u-column1,
	body.s4u-auth #customer_login > .u-column2,
	body.s4u-auth .woocommerce form.lost_reset_password,
	body.s4u-auth .woocommerce-ResetPassword {
		padding: 22px 18px;
	}

	.s4u-auth-head {
		margin-bottom: 20px;
	}

	.s4u-auth-sub {
		font-size: 14px;
	}

	.s4u-auth-trust .s4u-trust {
		grid-template-columns: minmax(0, 1fr);
	}

	.s4u-auth-trust .s4u-trust li {
		justify-content: flex-start;
	}
}
