/* LawLead public form */
.lawlead-form-wrap {
	--lawlead-primary: #1d3557;
	max-width: 640px;
	font-size: 16px;
	line-height: 1.5;
}

.lawlead-form .lawlead-field {
	margin-bottom: 1.1em;
}

.lawlead-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.3em;
}

.lawlead-form .lawlead-choice {
	font-weight: 400;
	display: block;
	margin-bottom: 0.2em;
}

.lawlead-form fieldset {
	border: 0;
	padding: 0;
	margin: 0;
}

.lawlead-form legend {
	font-weight: 600;
	margin-bottom: 0.3em;
	padding: 0;
}

.lawlead-form input[type="text"],
.lawlead-form input[type="email"],
.lawlead-form input[type="tel"],
.lawlead-form input[type="number"],
.lawlead-form input[type="date"],
.lawlead-form select,
.lawlead-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 0.55em 0.7em;
	border: 1px solid #c3c4c7;
	border-radius: 6px;
	font: inherit;
	background: #fff;
	color: #1e1e1e;
}

.lawlead-form input:focus,
.lawlead-form select:focus,
.lawlead-form textarea:focus {
	outline: 2px solid var(--lawlead-primary);
	outline-offset: 1px;
	border-color: var(--lawlead-primary);
}

.lawlead-req {
	color: #b32d2e;
}

.lawlead-field-error {
	display: block;
	color: #b32d2e;
	font-size: 0.875em;
	min-height: 1em;
	margin-top: 0.2em;
}

/* Recorder */
.lawlead-recorder {
	border: 1px dashed #c3c4c7;
	border-radius: 8px;
	padding: 0.9em;
	background: #fafafa;
}

.lawlead-rec-controls {
	display: flex;
	align-items: center;
	gap: 0.6em;
	flex-wrap: wrap;
}

.lawlead-recorder button {
	font: inherit;
	padding: 0.45em 1em;
	border-radius: 999px;
	border: 1px solid var(--lawlead-primary);
	background: #fff;
	color: var(--lawlead-primary);
	cursor: pointer;
}

.lawlead-recorder .lawlead-rec-start {
	background: var(--lawlead-primary);
	color: #fff;
}

.lawlead-recorder .lawlead-rec-stop {
	background: #b32d2e;
	border-color: #b32d2e;
	color: #fff;
}

.lawlead-rec-timer {
	font-variant-numeric: tabular-nums;
	color: #50575e;
}

.lawlead-rec-preview,
.lawlead-rec-playback {
	display: block;
	margin-top: 0.7em;
	max-width: 100%;
	border-radius: 6px;
}

audio.lawlead-rec-playback {
	width: 100%;
}

.lawlead-rec-note {
	margin: 0.5em 0 0;
	color: #50575e;
	font-size: 0.875em;
}

/* Honeypot: visually removed, still fillable by naive bots. */
.lawlead-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.lawlead-submit {
	font: inherit;
	font-weight: 600;
	padding: 0.65em 1.6em;
	border-radius: 8px;
	border: 0;
	background: var(--lawlead-primary);
	color: #fff;
	cursor: pointer;
}

.lawlead-submit:disabled {
	opacity: 0.6;
	cursor: wait;
}

.lawlead-status {
	margin-top: 0.8em;
	min-height: 1.2em;
}

.lawlead-status-success {
	color: #116329;
	background: #e6f4ea;
	border: 1px solid #9fd3ae;
	border-radius: 8px;
	padding: 0.9em 1.1em;
}

.lawlead-status-error {
	color: #b32d2e;
}

/* Consent checkbox (SMS/TCPA) */
.lawlead-form .lawlead-field-consent label.lawlead-consent {
	display: flex;
	align-items: flex-start;
	gap: 0.6em;
	font-weight: 400;
	line-height: 1.45;
	cursor: pointer;
}

.lawlead-form .lawlead-field-consent input[type="checkbox"] {
	flex: 0 0 auto;
	margin-top: 0.2em;
	width: auto;
	height: auto;
}

.lawlead-form .lawlead-consent-text {
	font-size: 0.9em;
}

/* Recorder locked until contact details are complete */
.lawlead-rec-locked-note {
	margin: 0 0 0.5em;
	font-size: 0.88em;
	color: #8a6d1f;
	background: #fdf7e3;
	border-left: 3px solid #dba617;
	padding: 0.5em 0.75em;
	border-radius: 3px;
}

.lawlead-recorder-locked .lawlead-recorder {
	opacity: 0.5;
	pointer-events: none;
}

/* ---- Thank-you confirmation card ---- */
.lawlead-thanks {
	max-width: 560px;
	margin: 0 auto;
	padding: 2.25em 2em;
	text-align: center;
	background: #fff;
	border: 1px solid #e3e6ea;
	border-top: 4px solid var(--lawlead-primary, #1d3557);
	border-radius: 10px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
	font-family: inherit;
	color: #1f2a37;
}

.lawlead-thanks-icon {
	color: var(--lawlead-primary, #1d3557);
	margin-bottom: 0.75em;
}

.lawlead-thanks-heading {
	font-size: 1.45em;
	font-weight: 700;
	margin: 0 0 0.5em;
	line-height: 1.3;
}

.lawlead-thanks-message {
	font-size: 1.02em;
	color: #4b5563;
	margin: 0 0 1.5em;
	line-height: 1.55;
}

.lawlead-thanks-next {
	text-align: left;
	background: #f7f9fb;
	border-radius: 8px;
	padding: 1em 1.25em;
	margin: 0 0 1.25em;
}

.lawlead-thanks-next-title {
	font-weight: 700;
	margin: 0 0 0.5em;
	font-size: 0.8em;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--lawlead-primary, #1d3557);
}

.lawlead-thanks-next ol {
	margin: 0;
	padding-left: 1.25em;
}

.lawlead-thanks-next li {
	margin: 0.35em 0;
	line-height: 1.5;
}

.lawlead-thanks-ref {
	font-size: 0.9em;
	color: #6b7280;
	margin: 0;
}

/* ---- Either/or badge ---- */
.lawlead-field[data-alt-group] {
	position: relative;
}

.lawlead-alt-badge {
	display: inline-block;
	font-size: 0.68em;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--lawlead-primary, #1d3557);
	background: #eef2f7;
	border-radius: 999px;
	padding: 0.2em 0.65em;
	margin-bottom: 0.35em;
}

/* ---- Phone live validation ---- */
.lawlead-form input.lawlead-invalid {
	border-color: #c0392b;
	outline: 0;
	box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.15);
}


/* Themes (Elementor, Hello) style <button> and <audio> with enough specificity to
   beat the UA [hidden] rule, which left Stop / Re-record and an empty player
   visible inside page-builder footers. */
.lawlead-form [hidden],
.lawlead-recorder [hidden] { display: none !important; }

/* Placeholder-labelled forms (like the site's quick contact widget): keep the
   label for screen readers, hide it visually. */
.lawlead-labels-hidden .lawlead-field > label:not(.lawlead-consent) {
	position: absolute !important;
	width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Placeholder-style forms: the either/or pill would sit above a field that
   has no visible label, so it is dropped there; the placeholder text and the
   validation message still explain the choice. */
.lawlead-labels-hidden .lawlead-alt-badge {
	display: none;
}
