/* Highland Cabinetry — lead/newsletter form */

.hc-lead {
	max-width: 560px;
	margin: 0 auto;
}

.hc-lead__form {
	background: var(--hc-warm, #ede6da);
	border: 1px solid var(--hc-border, #e2dbd1);
	border-radius: 14px;
	padding: 1.75rem;
}

.hc-lead__title {
	margin: 0 0 .35rem;
	color: var(--hc-heading, #262c35);
}

.hc-lead__intro {
	margin: 0 0 1.25rem;
	color: var(--hc-muted, #6e7485);
	font-size: .95rem;
}

.hc-lead__row {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.hc-lead__row .hc-lead__field {
	flex: 1 1 200px;
}

.hc-lead__field {
	display: block;
	margin-bottom: 1rem;
}

.hc-lead__field > span {
	display: block;
	font-size: .85rem;
	font-weight: 600;
	color: var(--hc-body, #3a3f4a);
	margin-bottom: .35rem;
}

.hc-lead__field input {
	width: 100%;
	padding: .6rem .75rem;
	border: 1px solid var(--hc-border, #e2dbd1);
	border-radius: 8px;
	background: var(--hc-surface);
	font: inherit;
}

.hc-lead__field input:focus {
	outline: none;
	border-color: var(--hc-accent, #ab672b);
	box-shadow: 0 0 0 3px rgba(171, 103, 43, .15);
}

/* invalid field — highlighted after client- or server-side validation */
.hc-lead__field--error input,
.hc-lead__field--error input:focus {
	border-color: #c0392b;
	box-shadow: 0 0 0 3px rgba(192, 57, 43, .15);
}

.hc-lead__field--error > span {
	color: #c0392b;
}

.hc-lead__error {
	display: block;
	margin-top: .35rem;
	font-size: .8rem;
	color: #c0392b;
}

.hc-lead__optins {
	border: 0;
	padding: 0;
	margin: .25rem 0 1.25rem;
}

.hc-lead__optins legend {
	font-size: .85rem;
	font-weight: 600;
	color: var(--hc-body, #3a3f4a);
	margin-bottom: .5rem;
	padding: 0;
}

.hc-lead__check {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: .4rem;
	font-size: .95rem;
	color: var(--hc-body, #3a3f4a);
}

.hc-lead__submit {
	width: 100%;
}

/* honeypot — visually hidden but present in the DOM */
.hc-lead__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.hc-lead__msg {
	margin: .9rem 0 0;
	font-size: .9rem;
	min-height: 1.2em;
}

.hc-lead__msg.is-success { color: #2e7d32; }
.hc-lead__msg.is-error   { color: #c0392b; }

/* success state (replaces the form after submit) */
.hc-lead__success {
	background: var(--hc-warm, #ede6da);
	border: 1px solid var(--hc-border, #e2dbd1);
	border-radius: 14px;
	padding: 2rem 1.75rem;
	text-align: center;
}

.hc-lead__thanks {
	margin: 0 0 1.25rem;
	font-size: 1.05rem;
	color: var(--hc-heading, #262c35);
}

.hc-lead__cta {
	display: inline-block;
}

.hc-lead__note {
	margin: .9rem 0 0;
	font-size: .85rem;
	color: var(--hc-muted, #6e7485);
}
