/* Formulários: nativos do tema, comentários e Contact Form 7. */
.peb-form label, .peb-form .wpcf7-form label { display: block; font: 500 14px var(--peb-font-body); margin-bottom: 6px; }
.peb-form input[type="text"], .peb-form input[type="email"], .peb-form input[type="url"], .peb-form input[type="tel"], .peb-form input[type="number"],
.peb-form input[type="password"], .peb-form input[type="search"], .peb-form input[type="date"], .peb-form select, .peb-form textarea,
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="url"], .wpcf7 input[type="tel"], .wpcf7 input[type="number"], .wpcf7 input[type="date"], .wpcf7 select, .wpcf7 textarea,
.peb-comments input[type="text"], .peb-comments input[type="email"], .peb-comments input[type="url"], .peb-comments textarea {
	width: 100%; max-width: 100%; background: var(--peb-background); color: var(--peb-text); border: 1px solid #8f8f8f; padding: 12px 14px;
	font: 400 16px/1.4 var(--peb-font-body); border-radius: 0; -webkit-appearance: none; appearance: none;
}
.peb-form textarea, .wpcf7 textarea { min-height: 120px; resize: vertical; }
.peb-form select, .wpcf7 select { background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 36px; }
.peb-form input:focus, .peb-form textarea:focus, .peb-form select:focus, .wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus, .peb-comments textarea:focus, .peb-comments input:focus { outline: 2px solid var(--peb-accent); outline-offset: 0; border-color: var(--peb-text); }
.peb-form p, .wpcf7 p { margin: 0 0 16px; }
.peb-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.wpcf7 input[type="checkbox"], .wpcf7 input[type="radio"], .peb-form input[type="checkbox"], .peb-form input[type="radio"] { width: 18px; height: 18px; accent-color: var(--peb-text); vertical-align: middle; margin-right: 8px; }
.wpcf7 .wpcf7-list-item { margin: 0 16px 8px 0; display: inline-block; }
.wpcf7 input[type="submit"], .wpcf7 button[type="submit"], .peb-form button[type="submit"], .peb-comments .submit {
	background: var(--peb-primary); color: #fff; border: 1px solid var(--peb-primary); padding: 13px 28px; font: 500 15px var(--peb-font-body); cursor: pointer; border-radius: 0; width: auto;
}
.wpcf7 input[type="submit"]:hover, .wpcf7 button[type="submit"]:hover, .peb-comments .submit:hover { background: var(--peb-primary-hover); }
.wpcf7 .wpcf7-not-valid-tip { color: var(--peb-accent); font-size: 13px; margin-top: 4px; display: block; }
.wpcf7 .wpcf7-response-output { margin: 16px 0 0; padding: 12px 14px; border: 1px solid var(--peb-border); font-size: 14.5px; }
.wpcf7 form.sent .wpcf7-response-output { border-color: #2e8b57; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output { border-color: var(--peb-accent); }
.wpcf7-spinner { margin: 0 0 0 12px; }

/* Dentro de blocos pretos, os campos mantêm contraste */
.peb-report .peb-form label { color: #fff; }
.peb-report .peb-form input, .peb-report .peb-form textarea, .peb-report .wpcf7 input, .peb-report .wpcf7 textarea { background: #fff; color: #000; border-color: #fff; }
.peb-report .peb-form button[type="submit"] { background: #fff; color: #000; border-color: #fff; }
.peb-report .wpcf7 .wpcf7-response-output { color: #fff; }
