/* Laurel Home Buyers — lead form.
   Colours come from the design tokens; the child theme defines the variables,
   the fallbacks here keep the form correct if it is ever used on its own. */

.lhb-form-wrap { --lhb-ink: #12261F; --lhb-cream: #F6EFE4; --lhb-card: #FFFBF3;
	--lhb-green: #0E4B3D; --lhb-orange: #F76D3E; --lhb-border: #E4D8C4;
	--lhb-muted: #5A6B62; --lhb-light: #DCE9E0; }

.lhb-form { display: flex; flex-direction: column; gap: 12px; font-family: 'Public Sans', sans-serif; }
.lhb-field { display: flex; flex-direction: column; }

/* Visually hidden but read aloud: the design shows field names as placeholders. */
.lhb-label {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.lhb-form input[type="text"],
.lhb-form input[type="tel"],
.lhb-form input[type="email"],
.lhb-form textarea {
	width: 100%; padding: 12px 14px; font: inherit; font-size: 15px;
	color: var(--lhb-ink); background: var(--lhb-cream);
	border: 1px solid var(--lhb-border); border-radius: 10px; box-shadow: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.lhb-form textarea { resize: vertical; min-height: 84px; }
.lhb-form input::placeholder, .lhb-form textarea::placeholder { color: #7A8A81; opacity: 1; }
/* Below 16px, iPhones zoom the page when a field is tapped. */
@media (max-width: 767px) {
	.lhb-form input[type="text"], .lhb-form input[type="tel"],
	.lhb-form input[type="email"], .lhb-form textarea { font-size: 16px; }
}

.lhb-form input:focus, .lhb-form textarea:focus {
	outline: none; border-color: var(--lhb-orange);
	box-shadow: 0 0 0 3px rgba(247,109,62,.25);
}

.lhb-consent { display: flex; gap: 8px; align-items: flex-start; font-size: 11px; line-height: 1.4; color: #5A6B62; }
.lhb-consent input { margin-top: 2px; flex: 0 0 auto; width: 14px; height: 14px; accent-color: var(--lhb-green); }
.lhb-consent a { color: inherit; }

/* Honeypots: off-screen, skipped by keyboard, ignored by screen readers. */
.lhb-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; }

.lhb-turnstile { min-height: 65px; }

.lhb-submit {
	appearance: none; cursor: pointer; width: 100%;
	padding: 14px 28px; border: 0; border-radius: 40px;
	background: var(--lhb-orange); color: var(--lhb-ink);
	font-family: 'Lemon Milk', sans-serif; font-weight: 700; font-size: 15px;
	text-transform: uppercase; letter-spacing: .02em;
	transition: background-color .15s ease, transform .05s ease;
}
.lhb-submit:hover { background: #E45B2C; }
.lhb-submit:active { transform: translateY(1px); }
.lhb-submit:disabled { opacity: .7; cursor: default; }
.lhb-submit:focus-visible { outline: 3px solid var(--lhb-green); outline-offset: 2px; }

.lhb-note { margin: 2px 0 0; font-size: 11px; line-height: 1.5; color: #7A8A81; text-align: center; }

.lhb-error { margin: 0; padding: 10px 12px; border-radius: 10px;
	background: rgba(192,90,74,.12); color: #8F3A2E; font-size: 13.5px; }

.lhb-success { padding: 20px 22px; border-radius: 14px; background: var(--lhb-card);
	border: 1px solid var(--lhb-border); font-size: 16px; line-height: 1.6; }
.lhb-success p { margin: 0; }

/* Dark variant — the hero card and the closing CTA sit on dark green. */
.lhb-form--dark .lhb-label { color: var(--lhb-light); }
.lhb-form--dark .lhb-consent { color: #B9CFC3; }
.lhb-form--dark .lhb-note { color: #7FA495; }
.lhb-form--dark input[type="text"],
.lhb-form--dark input[type="tel"],
.lhb-form--dark input[type="email"],
.lhb-form--dark textarea { background: #154F41; border-color: #2A6552; color: #F6EFE4; padding: 12px 16px; }
.lhb-form--dark input::placeholder, .lhb-form--dark textarea::placeholder { color: #7FA495; }
.lhb-form-wrap:has(.lhb-form--dark) .lhb-success { background: #154F41; border-color: #2A6552; color: var(--lhb-light); }
