/* Manage Ink Lead Capture System - front-end form.
   Visual styling is driven by CSS variables set inline on the wrapper (from settings);
   field flow (row/stack + widths) is set by a small scoped <style> block per instance. */

.mi-capture {
	margin: 1.25rem 0;
}

.mi-capture__form {
	display: flex;
	flex-direction: column;
	gap: var(--mi-gap, 16px);
}

.mi-capture__heading {
	margin: 0;
	font-size: 1.4rem;
	line-height: 1.2;
}

/* Field group (flex-direction + basis come from the scoped block) */
.mi-capture__fields {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mi-gap, 16px);
}

.mi-capture__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1 1 100%;
	min-width: 0;
}

.mi-capture__label {
	font-size: 0.85rem;
	font-weight: 600;
}

.mi-req {
	color: #b3261e;
}

/* Inputs / selects / textareas */
.mi-capture__control {
	width: 100%;
	box-sizing: border-box;
	font-size: var(--mi-field-fs, 16px);
	padding: var(--mi-field-py, 14px) var(--mi-field-px, 16px);
	color: var(--mi-field-tx, #2b2b2b);
	background: var(--mi-field-bg, #f7f2e9);
	border: var(--mi-field-bw, 1px) solid var(--mi-field-bc, #c9b79a);
	border-radius: var(--mi-field-rd, 4px);
	line-height: 1.3;
}

.mi-capture__control:focus {
	outline: none;
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.12);
}

.mi-capture__control::placeholder {
	color: var(--mi-field-ph, #8a8072);
	opacity: 1;
}

textarea.mi-capture__control {
	resize: vertical;
	min-height: 96px;
}

/* Choice groups */
.mi-capture__choices {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
}

.mi-capture__choice,
.mi-capture__consent {
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 0.95rem;
	color: var(--mi-field-tx, #2b2b2b);
}

.mi-capture__consent {
	align-items: flex-start;
}

/* File input */
.mi-capture__file {
	padding: 10px;
	background: var(--mi-field-bg, #f7f2e9);
}

/* Actions / button */
.mi-capture__actions {
	display: flex;
}

.mi-capture__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: var(--mi-btn-fs, 16px);
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	padding: calc(var(--mi-field-py, 14px) + 2px) 24px;
	color: var(--mi-btn-tx, #fff);
	background: var(--mi-btn-bg, #8b2332);
	border: var(--mi-btn-bw, 0) solid var(--mi-btn-bc, #8b2332);
	border-radius: var(--mi-btn-rd, 4px);
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.mi-capture__submit:hover {
	background: var(--mi-btn-bgh, #701c28);
	color: var(--mi-btn-txh, #fff);
}

.mi-capture__submit.is-busy,
.mi-capture__submit:disabled {
	opacity: 0.6;
	cursor: default;
}

.mi-capture__icon {
	width: var(--mi-icon-w, 22px);
	height: var(--mi-icon-w, 22px);
	flex: 0 0 auto;
	display: inline-block;
}

/* Intro / subtitle + message */
.mi-capture__intro {
	opacity: 0.85;
	font-size: 0.98rem;
	text-align: center;
}

/* Intro text shown directly below the title, above the fields. */
.mi-capture__intro-top {
	margin: -4px 0 2px;
	opacity: 0.9;
	font-size: 1rem;
}

.mi-capture__intro-top p:last-child {
	margin-bottom: 0;
}

.mi-capture__message {
	margin: 0;
	font-size: 0.95rem;
}

/* No box until there's a message. */
.mi-capture__message:empty {
	display: none;
}

/* Styled callout box (border/bg/text/radius come from settings), used for both states. */
.mi-capture__message.is-success,
.mi-capture__message.is-error {
	padding: 0.7rem 0.9rem;
	font-weight: 600;
	border: var(--mi-msg-bw, 1px) solid var(--mi-msg-bc, #c9b79a);
	background: var(--mi-msg-bg, #f7f2e9);
	color: var(--mi-msg-tx, #2b2b2b);
	border-radius: var(--mi-msg-rd, 4px);
}

/* Honeypot + a11y */
.mi-capture__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.mi-capture .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
