/*
 * forms.css — restyles Ninja Forms 3 markup to match the prototype
 * form panel: stacked white cells with 2px ink borders, uppercase
 * slate labels above the value, and a powder footer bar holding the
 * note text and the dark submit button.
 *
 * Scope: only forms whose wrapper carries the .wfm-nf class (set in
 * the imported forms' "wrapper class" setting), so other Ninja
 * Forms on the site are untouched.
 */

.wfm-nf .nf-form-content {
	padding: 0;
	max-width: none;
}

.wfm-nf .nf-form-title,
.wfm-nf .nf-form-fields-required {
	display: none;
}

/* Each field is a bordered cell; cells overlap borders to read as
 * a single stacked panel with 2px ink rules. */
.wfm-nf .nf-field-container {
	margin: -2px 0 0;
	padding: 0;
	background: var(--wfm-white, #ffffff);
	border: 2px solid var(--wfm-ink, #293241);
}

.wfm-nf .nf-field-container:first-child {
	margin-top: 0;
}

.wfm-nf .nf-field {
	padding: 14px 20px 16px;
}

/* Label: small caps slate kicker above the value */
.wfm-nf .nf-field-label {
	margin: 0 0 4px;
	padding: 0;
}

.wfm-nf .nf-field-label label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wfm-slate, #3d5a80);
}

.wfm-nf .nf-field-label .ninja-forms-req-symbol {
	display: none;
}

/* Inputs: borderless inside the cell */
.wfm-nf .ninja-forms-field {
	width: 100%;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	font: 400 16px var(--wfm-font, "Archivo", sans-serif);
	color: var(--wfm-ink, #293241);
	box-shadow: none;
	height: auto;
	line-height: 1.4;
}

.wfm-nf .ninja-forms-field:focus {
	outline: 2px solid var(--wfm-peach, #ee6c4d);
	outline-offset: 4px;
}

.wfm-nf .ninja-forms-field::placeholder {
	color: var(--wfm-slate, #3d5a80);
	opacity: 0.75;
}

.wfm-nf textarea.ninja-forms-field {
	min-height: 96px;
	resize: vertical;
}

/* Selects: chevron on the cell */
.wfm-nf .listselect-container .nf-field {
	position: relative;
}

.wfm-nf select.ninja-forms-field {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 28px;
	cursor: pointer;
}

.wfm-nf .listselect-container .nf-field::after {
	content: "\2304";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-60%);
	font-size: 16px;
	color: var(--wfm-slate, #3d5a80);
	pointer-events: none;
}

/* Error state */
.wfm-nf .nf-error .ninja-forms-field {
	border: 0;
}

.wfm-nf .nf-error-msg {
	margin: 6px 0 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--wfm-peach, #ee6c4d);
}

.wfm-nf .nf-form-errors .nf-error-msg {
	margin-top: 12px;
}

/* Submit row: powder bar, note left (via ::before), dark button right */
.wfm-nf .wfm-nf-submit {
	background: var(--wfm-powder, #98c1d9);
}

.wfm-nf .wfm-nf-submit .nf-field {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding: 16px 20px;
	flex-wrap: wrap;
}

.wfm-nf .wfm-nf-submit .nf-field::before {
	font-size: 13px;
	line-height: 1.4;
	color: var(--wfm-ink, #293241);
	flex: 1;
	min-width: 200px;
}

.wfm-nf .wfm-nf-submit--event .nf-field::before {
	content: "You\2019ll get one email when it\2019s live.";
}

.wfm-nf .wfm-nf-submit--contact .nf-field::before {
	content: "We reply from a real address you can write back to.";
}

.wfm-nf .wfm-nf-submit--listing .nf-field::before {
	content: "We\2019ll email you once to confirm.";
}

.wfm-nf .wfm-nf-submit input[type="button"],
.wfm-nf .wfm-nf-submit input[type="submit"] {
	width: auto;
	padding: 12px 22px;
	background: var(--wfm-ink, #293241);
	color: var(--wfm-white, #ffffff);
	border: 0;
	border-radius: 0;
	font: 700 14px var(--wfm-font, "Archivo", sans-serif);
	cursor: pointer;
	flex: none;
}

.wfm-nf .wfm-nf-submit input[type="button"]:hover,
.wfm-nf .wfm-nf-submit input[type="submit"]:hover {
	background: var(--wfm-peach, #ee6c4d);
}

/* Success message */
.wfm-nf .nf-response-msg {
	padding: 20px 24px;
	background: var(--wfm-cyan, #e0fbfc);
	border: 2px solid var(--wfm-ink, #293241);
	font-size: 16px;
	line-height: 1.5;
}

.wfm-nf .nf-response-msg p {
	margin: 0;
}
