/* forms.css — contact form, newsletter subscribe, editorial style. */

.hc-form {
	max-width: var(--prose);
	margin: var(--space-block) auto 0;
	padding: 0 var(--gutter);
}
.hc-form__row + .hc-form__row { margin-top: var(--space-item); }

.hc-form__label {
	display: block;
	font-family: var(--f-body);
	font-weight: 500;
	font-size: var(--f-body-s);
	color: var(--c-ink);
	letter-spacing: 0.04em;
	margin-bottom: 6px;
}
.hc-form__label-note {
	font-family: var(--f-body);
	font-size: var(--f-caption);
	color: var(--c-stone);
	margin-left: .4em;
}

.hc-form__input,
.hc-form__select,
.hc-form__textarea {
	width: 100%;
	font-family: var(--f-body);
	font-size: var(--f-body);
	color: var(--c-ink);
	background: var(--c-paper);
	border: 1px solid var(--c-stone);
	border-radius: var(--r-sm);
	padding: 10px 12px;
	line-height: 1.4;
	transition: border-color .2s ease;
}
.hc-form__input:focus,
.hc-form__select:focus,
.hc-form__textarea:focus {
	outline: none;
	border-color: var(--c-ink);
}
.hc-form__textarea { min-height: 160px; resize: vertical; }

.hc-form__row.is-invalid .hc-form__input,
.hc-form__row.is-invalid .hc-form__select,
.hc-form__row.is-invalid .hc-form__textarea { border-color: var(--c-error); }

.hc-form__error {
	color: var(--c-error);
	font-family: var(--f-body);
	font-size: var(--f-caption);
	margin: 6px 0 0;
	min-height: 1em;
}

.hc-form__row--inline {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.hc-form__checkbox {
	accent-color: var(--c-accent);
	margin-top: 4px;
}
.hc-form__checkbox-label {
	font-family: var(--f-body);
	font-size: var(--f-body-s);
	color: var(--c-ink);
	line-height: 1.5;
}
.hc-form__checkbox-label a { color: var(--c-accent); border-bottom: 1px solid var(--c-accent); }

.hc-form__submit {
	margin-top: var(--space-block);
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}
.hc-form__submit-status {
	font-family: var(--f-body);
	font-size: var(--f-body-s);
	color: var(--c-ink-muted);
}
.hc-form__submit-status.is-success { color: var(--c-success); }
.hc-form__submit-status.is-error   { color: var(--c-error); }

/* Newsletter subscribe block */
.hc-subscribe {
	max-width: var(--prose);
	margin: var(--space-section) auto;
	padding: 40px var(--gutter);
	border: 1px solid var(--c-ink);
	background: var(--c-paper);
}
.hc-subscribe__title {
	font-family: var(--f-display);
	font-weight: 700;
	font-size: var(--f-display-s);
	margin: 0 0 8px;
}
.hc-subscribe__meta {
	font-family: var(--f-body);
	font-size: var(--f-body-s);
	color: var(--c-ink-muted);
	margin: 0 0 20px;
}
.hc-subscribe__form {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.hc-subscribe__form .hc-form__input { flex: 1 1 260px; }
.hc-subscribe__form .hc-btn { flex: 0 0 auto; }
