/* Contact Form 7 styling (plugin CSS is disabled in inc/forms.php) */
.wpcf7 form { display: grid; gap: var(--space-2); }
.wpcf7 label { display: grid; gap: .35rem; font-size: var(--fs-small); font-weight: 600; }
.wpcf7 input:not([type="submit"]), .wpcf7 textarea, .wpcf7 select {
	width: 100%; padding: .8rem 1rem; border: 1px solid var(--rp-line); border-radius: 6px; font: inherit; background: #fff;
	transition: border-color var(--dur-fast), box-shadow var(--dur-fast);
}
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: none; border-color: var(--rp-ink); box-shadow: 0 0 0 3px rgba(30, 42, 51, .08); }
.wpcf7 textarea { min-height: 140px; resize: vertical; }
.wpcf7 input[type="submit"] { display: inline-flex; padding: .85rem 1.6rem; border: 0; border-radius: 6px; background: var(--rp-ink); color: #fff; font: inherit; font-weight: 600; cursor: pointer; transition: background var(--dur-fast); }
.wpcf7 input[type="submit"]:hover { background: var(--rp-red); }
.wpcf7 .wpcf7-not-valid-tip { color: var(--rp-red); font-size: var(--fs-micro); font-weight: 500; }
.wpcf7 .wpcf7-response-output { margin: 0; padding: .8rem 1rem; border: 1px solid var(--rp-line); border-radius: 6px; font-size: var(--fs-small); }
.wpcf7 form.sent .wpcf7-response-output { border-color: #2e9e4f; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output { border-color: var(--rp-red); }
.wpcf7-spinner { display: none; }
.form-fallback { text-align: center; }
