/* BFI lead form — [bdn_lead_form]. Same look as the demo popup (demo-popup.css) and the
   "Business Email + Get a Demo" bar: pill fields, green focus ring, yellow pill button. */

.bfi-lead-form {
	--bfi-lf-ink: #10282C;
	--bfi-lf-muted: #5C6B6D;
	--bfi-lf-soft: #8A9496;
	--bfi-lf-line: #D9D3C9;
	--bfi-lf-green: #127A71;
	--bfi-lf-yellow: #F8C83E;
	--bfi-lf-yellow-hover: #FFBC0A;
	--bfi-lf-red: #C4372B;
	box-sizing: border-box;
	width: 100%;
	color: var(--bfi-lf-ink);
	font-family: Poppins, sans-serif;
	text-align: left;
}
.bfi-lead-form *,
.bfi-lead-form *::before,
.bfi-lead-form *::after {
	box-sizing: border-box;
}
.bfi-lead-form [hidden] {
	display: none !important;
}

/* Spam trap: off screen, never focusable by people */
.bfi-lead-form__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Labels are read by screen readers; the placeholder shows the same text */
.bfi-lead-form__label {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* ---------- Card (demo, lead generation) ---------- */

.bfi-lead-form--card .bfi-lead-form__head {
	margin: 0 0 24px;
	padding: 30px 72px 22px 32px;
	border-bottom: 1px solid #ECE8E2;
	background: #FAF9F7;
}
.bfi-lead-form .bfi-lead-form__title {
	margin: 0 0 6px;
	padding: 0;
	color: var(--bfi-lf-ink);
	font-family: inherit;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -.01em;
}
.bfi-lead-form .bfi-lead-form__intro {
	margin: 0;
	color: var(--bfi-lf-muted);
	font-size: 15px;
	line-height: 1.6;
}
.bfi-lead-form--card .bfi-lead-form__form {
	padding: 0 32px 24px;
}
.bfi-lead-form--card .bfi-lead-form__form:first-child {
	padding-top: 28px; /* no title: keep space above the first field */
}
.bfi-lead-form--card .bfi-lead-form__field {
	margin: 0 0 14px;
}

.bfi-lead-form input:not([type="checkbox"]):not([type="radio"]),
.bfi-lead-form select,
.bfi-lead-form textarea {
	display: block;
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid var(--bfi-lf-line);
	border-radius: 100px;
	background-color: #fff;
	box-shadow: none;
	color: var(--bfi-lf-ink);
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
	line-height: normal;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.bfi-lead-form textarea {
	height: auto;
	min-height: 110px;
	padding: 14px 18px;
	border-radius: 22px;
	resize: vertical;
}
.bfi-lead-form input::placeholder,
.bfi-lead-form textarea::placeholder {
	color: var(--bfi-lf-soft);
	opacity: 1;
}
.bfi-lead-form input:focus,
.bfi-lead-form select:focus,
.bfi-lead-form textarea:focus {
	border-color: var(--bfi-lf-green);
	outline: none;
	box-shadow: 0 0 0 3px rgba(18, 122, 113, .15);
}
.bfi-lead-form select {
	padding-right: 46px;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235C6B6D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	background-size: 18px;
	cursor: pointer;
}
.bfi-lead-form select:has(option[value=""]:checked) {
	color: var(--bfi-lf-soft);
}
.bfi-lead-form select option {
	color: var(--bfi-lf-ink);
}

/* Errors */
.bfi-lead-form .is-invalid input,
.bfi-lead-form .is-invalid select,
.bfi-lead-form .is-invalid textarea {
	border-color: #E0A49C;
}
.bfi-lead-form .is-invalid input:focus,
.bfi-lead-form .is-invalid select:focus,
.bfi-lead-form .is-invalid textarea:focus {
	border-color: var(--bfi-lf-red);
	box-shadow: 0 0 0 3px rgba(196, 55, 43, .12);
}
.bfi-lead-form .bfi-lead-form__error,
.bfi-lead-form .bfi-lead-form__status {
	margin: 6px 0 0 18px;
	padding: 0;
	color: var(--bfi-lf-red);
	font-size: 12.5px;
	line-height: 1.4;
}
.bfi-lead-form .bfi-lead-form__status {
	margin: 10px 0 0;
	text-align: center;
}

/* Yellow pill button */
.bfi-lead-form .bfi-lead-form__button {
	display: block;
	width: 100%;
	height: 52px;
	margin: 6px 0 0;
	padding: 0 24px;
	border: 0;
	border-radius: 100px;
	background: var(--bfi-lf-yellow);
	box-shadow: 0 8px 20px rgba(160, 115, 0, .16);
	color: var(--bfi-lf-ink);
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.bfi-lead-form .bfi-lead-form__button:hover {
	background: var(--bfi-lf-yellow-hover);
	box-shadow: 0 10px 26px rgba(160, 115, 0, .26);
	color: var(--bfi-lf-ink);
	transform: translateY(-1px);
}
.bfi-lead-form .bfi-lead-form__button:focus-visible {
	outline: 2px solid var(--bfi-lf-green);
	outline-offset: 3px;
}
.bfi-lead-form .bfi-lead-form__button:disabled {
	opacity: .7;
	cursor: progress;
	transform: none;
}

/* Terms under the button */
.bfi-lead-form .bfi-lead-form__terms {
	margin-top: 12px;
	color: var(--bfi-lf-soft);
	font-size: 12.5px;
	line-height: 1.6;
	text-align: center;
}
.bfi-lead-form .bfi-lead-form__terms p {
	margin: 0 0 4px;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
}
.bfi-lead-form .bfi-lead-form__terms a {
	color: #2B4448;
	font-weight: 500;
}

/* Thank-you */
.bfi-lead-form .bfi-lead-form__success {
	padding: 28px 32px;
	outline: none;
	text-align: center;
}
.bfi-lead-form .bfi-lead-form__success p {
	margin: 0;
	color: var(--bfi-lf-ink);
	font-size: 15px;
	line-height: 1.6;
}

/* ---------- Inline (business email + button in one bar) ---------- */

.bfi-lead-form--inline {
	max-width: 600px;
}
.bfi-lead-form--inline .bfi-lead-form__head {
	margin: 0 0 16px;
}
.bfi-lead-form--inline .bfi-lead-form__fields {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 4px;
	border-radius: 100px;
	background: #fff;
	box-shadow: 0 1px 1px rgba(0, 0, 0, .04), 0 14px 34px rgba(0, 54, 92, .12);
}
.bfi-lead-form--inline .bfi-lead-form__field {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}
.bfi-lead-form--inline input[type="email"] {
	height: 50px;
	border: 0;
	box-shadow: none;
}
.bfi-lead-form--inline input[type="email"]:focus {
	box-shadow: none;
}
.bfi-lead-form--inline .bfi-lead-form__fields:focus-within {
	box-shadow: 0 0 0 3px rgba(18, 122, 113, .25), 0 14px 34px rgba(0, 54, 92, .12);
}
.bfi-lead-form--inline .bfi-lead-form__submit {
	flex: 0 0 auto;
}
.bfi-lead-form--inline .bfi-lead-form__button {
	width: auto;
	height: 50px;
	margin: 0;
	padding: 0 28px;
	box-shadow: none;
	white-space: nowrap;
}
.bfi-lead-form--inline .bfi-lead-form__error {
	position: absolute;
	margin-top: 10px;
}
.bfi-lead-form--inline .bfi-lead-form__field {
	position: relative;
}
.bfi-lead-form--inline .bfi-lead-form__terms {
	text-align: left;
}
.bfi-lead-form--inline .bfi-lead-form__success {
	padding: 16px 0;
	text-align: left;
}

/* ---------- Inside a Popup Maker popup: the popup is the card ---------- */

.pum-container:has(.bfi-lead-form--card) {
	width: min(560px, calc(100vw - 32px)) !important;
	max-width: none !important;
	padding: 0 !important;
	overflow: hidden;
	border: 0 !important;
	border-radius: 24px !important;
	background: #fff !important;
	box-shadow: 0 30px 80px rgba(16, 40, 44, .28), 0 4px 12px rgba(16, 40, 44, .08) !important;
}
.pum-overlay:has(.bfi-lead-form--card) {
	background-color: rgba(16, 40, 44, .6) !important;
}
.pum-container:has(.bfi-lead-form--card) .pum-content,
.pum-container:has(.bfi-lead-form--card) .l-section-h,
.pum-container:has(.bfi-lead-form--card) .vc_column-inner,
.pum-container:has(.bfi-lead-form--card) .wpb_column {
	padding: 0 !important;
}
.pum-container:has(.bfi-lead-form--card) .g-cols {
	margin: 0 !important;
}
.pum-container:has(.bfi-lead-form--card) .pum-close {
	top: 14px !important;
	right: 14px !important;
	left: auto !important;
	bottom: auto !important;
	z-index: 3;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 40px !important;
	min-width: 40px !important;
	height: 40px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #F5F3F0 !important;
	box-shadow: none !important;
	color: #2B4448 !important;
	font-size: 0 !important;
	line-height: 1 !important;
	cursor: pointer;
}
.pum-container:has(.bfi-lead-form--card) .pum-close::before {
	content: "\00d7";
	font-family: Poppins, sans-serif;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
}
.pum-container:has(.bfi-lead-form--card) .pum-close:hover {
	background: #ECE8E2 !important;
}

/* Outside a popup the card gets its own frame */
.bfi-lead-form--card:not(.pum .bfi-lead-form) {
	overflow: hidden;
	border: 1px solid #ECE8E2;
	border-radius: 24px;
	background: #fff;
}

@media (max-width: 600px) {
	.pum-container:has(.bfi-lead-form--card) {
		width: calc(100vw - 24px) !important;
		border-radius: 20px !important;
	}
	.bfi-lead-form--card .bfi-lead-form__head {
		margin-bottom: 20px;
		padding: 22px 62px 18px 18px;
	}
	.bfi-lead-form--card .bfi-lead-form__form {
		padding: 0 18px 20px;
	}
	.bfi-lead-form .bfi-lead-form__title {
		font-size: 20px;
	}
	.bfi-lead-form .bfi-lead-form__intro {
		font-size: 14px;
	}
	/* Inline bar: field on top, full-width button underneath, inside one card */
	.bfi-lead-form--inline .bfi-lead-form__fields {
		flex-direction: column;
		align-items: stretch;
		padding: 6px;
		border-radius: 28px;
	}
	.bfi-lead-form--inline input[type="email"] {
		height: 46px;
		font-size: 16px;
	}
	.bfi-lead-form--inline .bfi-lead-form__button {
		width: 100%;
		height: 46px;
		font-size: 15px;
	}
	.bfi-lead-form--inline .bfi-lead-form__error {
		position: static;
		margin: 4px 0 4px 14px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.bfi-lead-form .bfi-lead-form__button:hover {
		transform: none;
	}
}
