/* Caderno Newsletter — formulário de inscrição. Usa as cores do tema Caderno de Economia quando ele está ativo;
   com a identidade mudada (Configurações › Identidade), usa as de lá (variáveis --cn-id-*). */
.cn-form,
.cn-arquivo {
	--cn-tinta: var(--cn-id-tinta, var(--wp--preset--color--tinta, #15171a));
	--cn-marca: var(--cn-id-marca, var(--wp--preset--color--marca-texto, #ffd23f));
	--cn-regua: var(--cn-id-regua, var(--wp--preset--color--regua, #d6cfc1));
}
.cn-form {
	margin: 1rem 0 0;
	max-width: 640px;
	position: relative;
}
.cn-form .cn-mel {
	position: absolute !important;
	left: -10000px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.cn-campos {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: flex-end;
}
.cn-campo {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	flex: 1 1 15rem;
	min-width: 0;
}
.cn-campo-nome { flex: 1 1 10rem; }
.cn-campo-botao { flex: 0 0 auto; }
.cn-form label { font-size: 0.9rem; font-weight: 600; }
.cn-opcional { font-weight: 400; opacity: 0.75; }
.cn-form input[type="email"],
.cn-form input[type="text"] {
	width: 100%;
	min-height: 48px;
	padding: 0.6rem 0.8rem;
	font: inherit;
	border: 2px solid var(--cn-tinta);
	border-radius: 0;
	background: #fff;
	color: var(--cn-tinta);
	box-sizing: border-box;
}
.cn-form input[type="email"]:focus,
.cn-form input[type="text"]:focus {
	outline: 3px solid var(--cn-marca);
	outline-offset: 1px;
}
.cn-botao { min-height: 48px; cursor: pointer; }
.cn-botao[disabled] { opacity: 0.6; cursor: wait; }
.cn-form .cn-consentimento {
	font-size: 0.85rem;
	line-height: 1.45;
	margin: 0.75rem 0 0;
	font-weight: 400;
}
.cn-form .cn-consentimento label { font-weight: 400; font-size: inherit; }
.cn-form .cn-consentimento input { margin: 0 0.4rem 0 0; vertical-align: -2px; }
.cn-msg { margin: 0.75rem 0 0; font-weight: 600; }
.cn-msg:empty { display: none; }
.cn-msg-ok { background: var(--cn-marca); color: var(--cn-tinta); padding: 0.6rem 0.8rem; }
.cn-msg-erro { border-left: 4px solid #b32d2e; padding: 0.4rem 0.8rem; }
.cn-enviado .cn-campos,
.cn-enviado .cn-consentimento { display: none; }
@media (max-width: 480px) {
	.cn-campo-botao,
	.cn-campo-botao .cn-botao { width: 100%; }
}
.cn-arquivo { list-style: none; padding: 0; margin: 0; }
.cn-arquivo li { padding: 0.6rem 0; border-bottom: 1px solid var(--cn-regua); }
