.fr-form {
	--fr-cor: #c89434;
	--fr-cor-hover: #b0812a;
	--fr-borda: #d8d8dc;
	--fr-erro: #c0392b;
	--fr-ok: #1e8449;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 16px;
	max-width: 640px;
	margin: 0 auto;
	font-family: inherit;
}

.fr-campo { display: flex; flex-direction: column; gap: 6px; }
.fr-campo--full { grid-column: 1 / -1; }

.fr-campo label { font-size: 14px; font-weight: 600; color: #222; }

.fr-campo input {
	width: 100%;
	padding: 11px 12px;
	border: 1px solid var(--fr-borda);
	border-radius: 4px;
	font-size: 15px;
	background: #fff;
	color: #222;
	box-sizing: border-box;
	transition: border-color .15s, box-shadow .15s;
}

.fr-campo input:focus {
	outline: none;
	border-color: var(--fr-cor);
	box-shadow: 0 0 0 3px rgba(200, 148, 52, .2);
}

.fr-campo input.fr-invalido { border-color: var(--fr-erro); }
.fr-erro { font-size: 12.5px; color: var(--fr-erro); }

.fr-btn {
	grid-column: 1 / -1;
	padding: 13px 20px;
	border: 0;
	border-radius: 2px;
	background: var(--fr-cor);
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background .15s;
}
.fr-btn:hover { background: var(--fr-cor-hover); }
.fr-btn:disabled { opacity: .7; cursor: wait; }

.fr-msg { grid-column: 1 / -1; font-size: 14px; }
.fr-msg:empty { display: none; }
.fr-msg--erro { padding: 10px 12px; border-radius: 4px; background: #fdecea; color: var(--fr-erro); }
.fr-msg--ok   { padding: 10px 12px; border-radius: 4px; background: #e8f6ee; color: var(--fr-ok); }

.fr-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.fr-aviso { text-align: center; }

@media (max-width: 560px) {
	.fr-form { grid-template-columns: 1fr; }
}
