/* TBL Lead Form. Colors are the site's Astra globals: navy #0e3d8e, red #b41f34. */
.tbl-form { font-family: "Roboto", system-ui, sans-serif; max-width: 640px; margin: 0 auto; }
.tbl-form .tbl-field { margin: 0 0 16px; }
.tbl-form label { display: block; margin: 0 0 6px; font-size: 15px; font-weight: 500; color: #111827; }
.tbl-form label span { color: #b41f34; }
.tbl-form input[type="text"],
.tbl-form input[type="email"],
.tbl-form input[type="tel"],
.tbl-form select,
.tbl-form textarea {
	display: block; width: 100%; box-sizing: border-box;
	padding: 11px 13px; font: inherit; font-size: 16px; /* 16px stops iOS zooming on focus */
	color: #111827; background: #fff;
	border: 1px solid #94a3b8; border-radius: 4px;
	transition: border-color .15s, box-shadow .15s;
}
.tbl-form textarea { resize: vertical; min-height: 96px; }
.tbl-form input:focus, .tbl-form select:focus, .tbl-form textarea:focus {
	outline: none; border-color: #0e3d8e; box-shadow: 0 0 0 3px rgba(14, 61, 142, .2);
}
.tbl-form [aria-invalid="true"] { border-color: #b41f34; }
.tbl-form .tbl-err { margin: 6px 0 0; font-size: 13px; color: #b41f34; }
.tbl-form .tbl-submit {
	display: block; width: 100%; padding: 14px 20px; margin-top: 4px;
	font: inherit; font-size: 16px; font-weight: 700; letter-spacing: .02em;
	color: #fff; background: #0e3d8e; border: 0; border-radius: 4px; cursor: pointer;
	transition: background .15s;
}
.tbl-form .tbl-submit:hover, .tbl-form .tbl-submit:focus-visible { background: #b41f34; }
.tbl-form .tbl-submit:disabled { opacity: .7; cursor: wait; }
.tbl-form .tbl-status:empty { display: none; }
.tbl-form .tbl-status { margin: 0 0 12px; font-size: 14px; color: #b41f34; }
.tbl-form.is-sent .tbl-status { color: #166534; }
.tbl-form .tbl-note { margin: 10px 0 0; font-size: 12px; line-height: 1.45; color: #6b7280; }
.tbl-form .tbl-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.tbl-form--compact .tbl-field { margin-bottom: 12px; }
.tbl-form--compact label { font-size: 14px; }
.tbl-form--compact input[type="text"],
.tbl-form--compact input[type="email"],
.tbl-form--compact input[type="tel"],
.tbl-form--compact select,
.tbl-form--compact textarea { padding: 9px 11px; }
