.ofw {
	--ofw-accent: #3f6b2c;
	--ofw-accent-soft: #e7efdf;
	--ofw-rule: #e0e4da;
	--ofw-muted: #6b7568;
	margin: 1.5em 0;
	font-size: 16px;
	line-height: 1.5;
	max-width: 480px;
}

.ofw * {
	box-sizing: border-box;
}

.ofw .ofw-form {
	border: 1px solid var(--ofw-rule);
	border-radius: 8px;
	padding: 16px;
}

.ofw .ofw-field {
	margin-bottom: 14px;
}

.ofw .ofw-field:last-of-type {
	margin-bottom: 0;
}

.ofw label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}

.ofw select,
.ofw input[type="number"] {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid var(--ofw-rule);
	border-radius: 6px;
	font-size: 16px;
}

.ofw .ofw-submit {
	margin-top: 16px;
	background: var(--ofw-accent);
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 10px 18px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}

.ofw .ofw-submit:hover {
	opacity: 0.9;
}

.ofw .ofw-error {
	margin-top: 10px;
	color: #a33;
}

.ofw .ofw-result {
	margin-top: 16px;
	padding: 16px;
	background: var(--ofw-accent-soft);
	border-radius: 8px;
}

.ofw .ofw-result p {
	margin: 0 0 8px;
}

.ofw .ofw-result p:last-child {
	margin-bottom: 0;
}

.ofw .ofw-result-water strong,
.ofw .ofw-result-fert strong {
	color: var(--ofw-accent);
}

.ofw .ofw-result-disclaimer {
	color: var(--ofw-muted);
	font-size: 0.9em;
	font-style: italic;
}
