/* Contact Form 7 — apenas estilos; a lógica do plugin não é alterada. */
.wpcf7 form { max-width: 720px; margin-inline: auto; }
.wpcf7 label { display: block; font-weight: 600; font-size: 15px; margin-bottom: 14px; color: var(--text); }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="url"],
.wpcf7 input[type="number"], .wpcf7 input[type="date"], .wpcf7 select, .wpcf7 textarea {
	display: block; width: 100%; margin-top: 6px; padding: 11px 14px; font: inherit; font-weight: 400; color: var(--text);
	background: var(--surface); border: 1px solid var(--border); border-radius: 4px; -webkit-appearance: none; appearance: none;
}
.wpcf7 textarea { min-height: 150px; resize: vertical; }
.wpcf7 input::placeholder, .wpcf7 textarea::placeholder { color: var(--muted); opacity: 1; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { outline: 2px solid var(--primary); outline-offset: 1px; border-color: var(--primary); }
.wpcf7 select { background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 36px; }
.wpcf7 .wpcf7-list-item { display: block; margin: 0 0 8px; }
.wpcf7 .wpcf7-list-item label { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; margin: 0; }
.wpcf7 input[type="checkbox"], .wpcf7 input[type="radio"] { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--primary); flex: none; }
.wpcf7 input[type="submit"], .wpcf7 .wpcf7-submit {
	display: inline-block; cursor: pointer; padding: 12px 30px; border: 0; border-radius: 4px; background: var(--primary); color: #fff; font-weight: 700; font-size: 16px;
}
.wpcf7 input[type="submit"]:hover { background: var(--primary-hover); }
.wpcf7 .wpcf7-not-valid-tip { color: #d63638; font-size: 13px; margin-top: 4px; display: block; }
html[data-theme="dark"] .wpcf7 .wpcf7-not-valid-tip { color: #ff8a8a; }
.wpcf7 .wpcf7-response-output { margin: 18px 0 0; padding: 12px 16px; border-radius: 4px; border: 1px solid var(--border); color: var(--text); background: var(--surface-soft); }
.wpcf7 form.sent .wpcf7-response-output { border-color: #46b450; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output { border-color: #d63638; }
.wpcf7-spinner { vertical-align: middle; }
