/* Leadstra One-Line Form — brand-styled, transparent container, light-gray inputs */
.lolf-wrap {
	--lolf-navy: #002147;
	--lolf-gray: #E0E0E0;
	--lolf-gray-text: #5B595A;
	background: transparent;
	max-width: 960px;
	margin: 0 auto;
	font-family: 'Open Sans', system-ui, sans-serif;
}

.lolf-header {
	color: var(--lolf-navy) !important;
	font-family: 'Montserrat', system-ui, sans-serif;
	font-weight: 800;
	font-size: clamp(20px, 2.6vw, 26px);
	line-height: 1.2;
	text-align: center;
	margin: 0 0 8px;
}

.lolf-sub {
	color: var(--lolf-navy) !important;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
	margin: 0 auto 22px;
	max-width: 640px;
}

.lolf-form {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 10px;
}

/* Honeypot — visually hidden, not display:none (bots skip display:none) */
.lolf-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.lolf-field {
	flex: 1 1 0;
	min-width: 150px;
}

.lolf-input {
	width: 100%;
	height: 100%;
	min-height: 50px;
	background: var(--lolf-gray);
	border: 1px solid var(--lolf-gray);
	border-radius: 3px;
	padding: 13px 14px;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 15px;
	color: var(--lolf-navy);
	box-sizing: border-box;
	transition: box-shadow .15s ease, border-color .15s ease;
}

.lolf-input::placeholder { color: var(--lolf-gray-text); opacity: 1; }

.lolf-input:focus {
	outline: none;
	border-color: var(--lolf-navy);
	box-shadow: 0 0 0 2px rgba(0, 33, 71, 0.15);
}

/* Mail icon inside the email field */
.lolf-field--email .lolf-input {
	padding-left: 40px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235B595A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='4' width='20' height='16' rx='2'/><path d='m22 7-10 6L2 7'/></svg>");
	background-repeat: no-repeat;
	background-position: 13px center;
}

.lolf-submit {
	flex: 0 0 auto;
	min-height: 50px;
	background: var(--lolf-navy);
	color: #fff;
	border: none;
	border-radius: 3px;
	padding: 13px 30px;
	font-family: 'Montserrat', system-ui, sans-serif;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: .02em;
	cursor: pointer;
	transition: opacity .15s ease, transform .15s ease;
}
.lolf-submit:hover { opacity: .92; }
.lolf-submit:active { transform: translateY(1px); }
.lolf-submit[disabled] { opacity: .6; cursor: default; }

.lolf-msg {
	flex: 1 0 100%;
	text-align: center;
	font-family: 'Open Sans', system-ui, sans-serif;
	font-size: 14px;
	margin-top: 6px;
	min-height: 1px;
}
.lolf-msg.is-success { color: var(--lolf-navy); font-weight: 600; }
.lolf-msg.is-error { color: #B00020; font-weight: 600; }

/* Stack on small screens (matches GHL's correct mobile behavior) */
@media (max-width: 640px) {
	.lolf-form { flex-direction: column; }
	.lolf-field, .lolf-submit { flex: 1 1 100%; width: 100%; }
}

/* Success state — the form is replaced in place by the confirmation message */
.lolf-success {
	display: none;
	text-align: center;
	color: var(--lolf-navy);
	font-family: 'Montserrat', system-ui, sans-serif;
	font-weight: 700;
	font-size: clamp(18px, 2.4vw, 22px);
	line-height: 1.4;
	padding: 6px 0;
	outline: none;
}
.lolf-success::before {
	content: "";
	display: block;
	width: 46px;
	height: 46px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: var(--lolf-navy) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FEFFF1' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center / 22px 22px no-repeat;
}
.lolf-wrap.lolf-done .lolf-header,
.lolf-wrap.lolf-done .lolf-sub,
.lolf-wrap.lolf-done .lolf-form {
	display: none;
}
.lolf-wrap.lolf-done .lolf-success {
	display: block;
}
