/* ==========================================================
   Order flow UI — lost password, checkout validation, thank you
   ========================================================== */

body.ufarm-lost-password-page .main-content > h1.post-title,
body.woocommerce-checkout .main-content > h1.post-title,
body.ufarm-order-received-page .main-content > h1.post-title,
body.woocommerce-cart .main-content > h1.post-title {
	display: none !important;
}

body.ufarm-lost-password-page .woocommerce-MyAccount-navigation,
body.ufarm-lost-password-page .woocommerce-MyAccount-content {
	width: 100%;
	float: none;
}

/* Header on lost-password / thank-you: transparent over hero (same as site).
   Checkout uses the same scroll header as every other page — do not override it. */
body.ufarm-order-received-page .ufarm-header .header,
body.ufarm-lost-password-page .ufarm-header .header {
	background: transparent;
}

.ufarm-wc-flow-hero {
	position: relative;
	width: 100%;
	min-height: 320px;
	display: flex;
	align-items: flex-end;
	background-color: #063e7f;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
}

#ufarm-order-received-hero {
	background-color: #063e7f;
}

.ufarm-wc-flow-hero .page-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(6, 62, 127, 0.82) 0%, rgba(6, 62, 127, 0.42) 100%);
	z-index: 1;
}

.ufarm-wc-flow-hero .page-hero-inner {
	position: relative;
	z-index: 2;
	padding-top: 140px;
	padding-bottom: 28px;
}

.ufarm-wc-flow-hero .page-hero-title {
	margin: 0;
	color: #fff;
	font-size: clamp(32px, 4.4vw, 64px);
	line-height: 1.08;
	font-weight: 700;
}

/* Lost-password hero: same photo treatment as checkout, readable title */
body.ufarm-lost-password-page #ufarm-lost-password-hero.page-hero,
body.ufarm-lost-password-page #ufarm-lost-password-hero.ufarm-wc-flow-hero {
	height: 300px;
	min-height: 300px;
	background-color: #063e7f;
	background-size: cover !important;
	background-position: right center !important;
	background-repeat: no-repeat !important;
}

body.ufarm-lost-password-page #ufarm-lost-password-hero .page-hero-overlay {
	background: linear-gradient(90deg, rgba(6, 62, 127, 0.78) 0%, rgba(6, 62, 127, 0.38) 100%) !important;
}

body.ufarm-lost-password-page #ufarm-lost-password-hero .page-hero-inner {
	margin-top: 0 !important;
	padding-top: 110px;
	padding-bottom: 56px;
	align-items: flex-end;
}

body.ufarm-lost-password-page #ufarm-lost-password-hero .page-hero-title {
	color: #ffffff !important;
	text-shadow: 0 2px 16px rgba(6, 62, 127, 0.35);
}

body.ufarm-lost-password-page .ufarm-wc-account-page--lost-password {
	background: transparent;
	padding: 0 0 80px;
}

body.ufarm-lost-password-page .woocommerce-account .woocommerce,
body.ufarm-lost-password-page .ufarm-wc-account-page--lost-password .woocommerce,
body.ufarm-lost-password-page .ufarm-wc-account-page--lost-password > .container {
	background: transparent !important;
	box-shadow: none !important;
	min-height: 0 !important;
}

body.ufarm-lost-password-page .woocommerce-account .woocommerce::before,
body.ufarm-lost-password-page .woocommerce::before {
	display: none !important;
}

body.ufarm-lost-password-confirm .woocommerce-message-wrapper,
body.ufarm-lost-password-confirm .woocommerce-notices-wrapper .woocommerce-message,
body.ufarm-lost-password-confirm .ufarm-wc-account-page--lost-password > .woocommerce-message,
body.ufarm-lost-password-confirm .ufarm-wc-account-page--lost-password > .woocommerce-info {
	display: none !important;
}

/* Lost / reset password card */
.ufarm-password-card {
	max-width: 640px;
	margin: 40px auto 0;
	position: relative;
	z-index: 3;
	background: #ffffff;
	border-radius: 20px;
	padding: 40px 44px 44px;
	border: 1px solid #e2e8f0;
	box-shadow: none;
	overflow: hidden;
}

.ufarm-password-card .woocommerce-notices-wrapper,
.ufarm-password-card .woocommerce-error,
.ufarm-password-card .woocommerce-message,
.ufarm-password-card .woocommerce-info {
	margin-bottom: 24px;
}

.ufarm-password-card p {
	font-size: 16px;
	line-height: 1.8;
	color: #394150;
}

.ufarm-password-card .form-row label {
	display: block;
	margin-bottom: 10px;
	font-weight: 600;
	color: #1f2937;
}

.ufarm-password-card .woocommerce-Input.input-text,
.ufarm-password-card input.input-text {
	width: 100%;
	min-height: 54px;
	border: 1px solid #d5d9e2;
	border-radius: 14px;
	padding: 12px 16px;
	font-size: 15px;
	background: #fff;
}

.ufarm-password-card .woocommerce-Input.input-text:focus,
.ufarm-password-card input.input-text:focus {
	outline: none;
	border-color: #2b66d9;
	box-shadow: 0 0 0 3px rgba(43, 102, 217, 0.12);
}

.ufarm-password-form-title {
	margin: 0 0 8px;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.25;
	color: #0f172a;
	letter-spacing: -0.02em;
}

.ufarm-password-back {
	margin: 20px 0 0;
	text-align: center;
}

.ufarm-password-back a {
	color: #0063d3;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.ufarm-password-back a:hover {
	text-decoration: underline;
}

.ufarm-password-card .button,
.ufarm-password-card button.button {
	width: 100%;
	min-height: 52px;
	padding: 12px 28px;
	border: none;
	border-radius: 999px;
	background: #063e7f;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	box-shadow: 0 12px 28px rgba(6, 62, 127, 0.22);
}

.ufarm-password-card .button:hover,
.ufarm-password-card button.button:hover {
	background: #052f61;
	color: #fff;
}

.ufarm-password-card .woocommerce-invalid input,
.ufarm-password-card .woocommerce-invalid .input-text {
	border-color: #dc3545;
	background: #fff5f5;
}

.ufarm-password-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: #0063d3;
	border-radius: 20px 20px 0 0;
}

.ufarm-password-card--confirm {
	text-align: center;
	padding: 48px 40px 44px;
}

.ufarm-password-confirm-icon {
	width: 80px;
	height: 80px;
	margin: 0 auto 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	border-radius: 50%;
	background: linear-gradient(180deg, #eef6ff 0%, #e8f4fc 100%);
	color: #063e7f;
	box-shadow: inset 0 0 0 1px rgba(6, 62, 127, 0.08);
}

.ufarm-password-confirm-check {
	position: absolute;
	right: -2px;
	bottom: -2px;
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #0d9488;
	color: #fff;
	box-shadow: 0 0 0 3px #fff;
}

.ufarm-password-confirm-title {
	margin: 0 0 8px;
	font-size: 1.75rem;
	font-weight: 700 !important;
	line-height: 1.25;
	color: #0f172a !important;
	text-transform: none !important;
}

.ufarm-password-confirm-lead {
	margin: 0 0 16px;
	font-size: 1rem;
	font-weight: 600;
	color: #063e7f !important;
}

.ufarm-password-confirm-text {
	margin: 0 0 20px;
	font-size: 15px;
	line-height: 1.7;
	color: #64748b !important;
}

.ufarm-password-confirm-hint {
	margin: 0 0 28px;
	padding: 14px 16px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	font-size: 13px;
	line-height: 1.55;
	color: #64748b;
	text-align: left;
}

.ufarm-password-confirm-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 12px 32px;
	background: #063e7f;
	color: #ffffff !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none !important;
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(6, 62, 127, 0.28);
}

.ufarm-password-confirm-cta:hover,
.ufarm-password-confirm-cta:focus {
	background: #052f61;
	color: #ffffff !important;
}

/* Checkout invalid fields */
body.woocommerce-checkout .form-row.woocommerce-invalid input,
body.woocommerce-checkout .form-row.woocommerce-invalid select,
body.woocommerce-checkout .form-row.woocommerce-invalid textarea,
body.woocommerce-checkout .form-row.woocommerce-invalid-required-field input,
body.woocommerce-checkout .form-row.woocommerce-invalid-required-field select,
body.woocommerce-checkout .form-row.woocommerce-invalid-required-field textarea,
body.woocommerce-checkout .form-row.ufarm-field-invalid input,
body.woocommerce-checkout .form-row.ufarm-field-invalid select,
body.woocommerce-checkout .form-row.ufarm-field-invalid textarea {
	border-color: #dc3545 !important;
	background-color: #fff5f5 !important;
	box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.12) !important;
}

body.woocommerce-checkout .form-row.woocommerce-invalid label,
body.woocommerce-checkout .form-row.woocommerce-invalid-required-field label,
body.woocommerce-checkout .form-row.ufarm-field-invalid label,
body.woocommerce-checkout .form-row.woocommerce-invalid.floating-label label,
body.woocommerce-checkout .form-row.ufarm-field-invalid.floating-label label,
body.woocommerce-checkout .form-row.woocommerce-invalid label .required,
body.woocommerce-checkout .form-row.ufarm-field-invalid label .required,
body.woocommerce-checkout .form-row.woocommerce-invalid label abbr,
body.woocommerce-checkout .form-row.ufarm-field-invalid label abbr,
body.woocommerce-checkout .form-row.woocommerce-invalid label span,
body.woocommerce-checkout .form-row.ufarm-field-invalid label span {
	color: #dc3545 !important;
}

body.woocommerce-checkout .ufarm-field-error,
body.woocommerce-checkout .form-row.ufarm-field-invalid .ufarm-field-error,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error li,
body.woocommerce-checkout .ufarm-checkout-alert {
	display: block;
	color: #dc3545 !important;
}

body.woocommerce-checkout .ufarm-field-error {
	margin-top: 0.4rem;
	font-size: 0.85rem;
	font-weight: 600;
}

body.woocommerce-checkout #payment.ufarm-payment-invalid,
body.woocommerce-checkout .wc_payment_methods.ufarm-payment-invalid {
	border: 1px solid #dc3545;
	border-radius: 12px;
	background: #fff5f5;
	padding: 12px;
}

body.woocommerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error {
	border-left: 4px solid #dc3545;
}

body.woocommerce-checkout .ufarm-checkout-alert {
	margin: 0 0 1.25rem;
	padding: 0.85rem 1rem;
	background: #fff5f5;
	border: 1px solid #dc3545;
	border-left-width: 4px;
	border-radius: 10px;
	color: #b42318;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.45;
}

/* Thank you content under the blue hero */
.ufarm-thankyou {
	padding: 40px 0 72px;
}

.ufarm-thankyou .ufarm-thankyou-note {
	margin: 0 0 28px;
	color: #394150;
	font-size: 16px;
	line-height: 1.7;
}

@media (max-width: 767px) {
	.ufarm-wc-flow-hero {
		min-height: 240px;
	}

	.ufarm-wc-flow-hero .page-hero-inner {
		padding-top: 110px;
		padding-bottom: 22px;
	}

	.ufarm-password-card {
		margin: 28px 0 48px;
		padding: 28px 20px 32px;
		border-radius: 16px;
	}

	.ufarm-password-card--confirm {
		padding: 32px 20px 36px;
	}

	body.ufarm-lost-password-page #ufarm-lost-password-hero.page-hero {
		height: 240px;
		min-height: 240px;
	}

	body.ufarm-lost-password-page #ufarm-lost-password-hero .page-hero-inner {
		padding-top: 96px;
		padding-bottom: 40px;
	}
}
