/* =========================================================================
   Contact Form 7 - styled to match the old cforms2 "minimal" forms.
   Added 2026-09-30 when cforms2 was replaced by CF7 on the homepage sidebar
   ("Ask a Question") and the Contact & Location page. Both forms carry
   html_class="pp-cf7" in their shortcode.
   Loaded from functions.php with a filemtime version: style.css is cached
   for 10 years by Cloudflare and browsers, so edits there never arrive.
   ========================================================================= */
.wpcf7 form.pp-cf7 p { margin: 0; padding: 0; }

/* Labels stay for screen readers but are hidden, as cforms hid them */
.wpcf7 form.pp-cf7 .pp-sr {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.wpcf7 form.pp-cf7 input[type="text"],
.wpcf7 form.pp-cf7 input[type="email"],
.wpcf7 form.pp-cf7 textarea {
	box-sizing: content-box; width: 275px; margin: 0 0 5px; padding: 8px;
	border: 1px solid #aaa; background: #fff; color: #888;
	font-family: Arial, Helvetica, sans-serif; font-size: 14px; vertical-align: top;
}
.wpcf7 form.pp-cf7 textarea { height: 50px; overflow: auto; }
.wpcf7 form.pp-cf7 input[type="text"]:hover,
.wpcf7 form.pp-cf7 input[type="email"]:hover,
.wpcf7 form.pp-cf7 textarea:hover { border-color: #5F32AD; }
.wpcf7 form.pp-cf7 input[type="text"]:focus,
.wpcf7 form.pp-cf7 input[type="email"]:focus,
.wpcf7 form.pp-cf7 textarea:focus { color: #666; }
.wpcf7 form.pp-cf7 ::placeholder { color: #888; opacity: 1; }

.wpcf7 form.pp-cf7 input[type="submit"] {
	width: auto; margin: 5px 0 0; padding: 6px 15px;
	border: 1px solid #aaa; background: #5F32AD; color: #fff;
	font-family: Arial, Helvetica, sans-serif; font-size: 0.8em; cursor: pointer; vertical-align: top;
}
.wpcf7 form.pp-cf7 input[type="submit"]:hover { border-color: #5F32AD; }

/* Invalid fields: red border like cforms' .cf_error, with a small hint */
.wpcf7 form.pp-cf7 .wpcf7-not-valid { border-color: #f00; color: red; }
.wpcf7 form.pp-cf7 .wpcf7-not-valid-tip { color: red; font-size: 0.7em; line-height: 1.2em; margin: -3px 0 5px; }

/* Message box sits above the form, like cforms' #usermessagea */
.wpcf7 form.pp-cf7 .wpcf7-response-output { margin: 0 0 10px; padding: 10px 15px; border: 0; color: #333; line-height: 1.3em; }
.wpcf7 form.pp-cf7.sent .wpcf7-response-output { background: #f9f9f9; color: #aaa; }
.wpcf7 form.pp-cf7.invalid .wpcf7-response-output,
.wpcf7 form.pp-cf7.unaccepted .wpcf7-response-output,
.wpcf7 form.pp-cf7.payment-required .wpcf7-response-output,
.wpcf7 form.pp-cf7.failed .wpcf7-response-output,
.wpcf7 form.pp-cf7.aborted .wpcf7-response-output,
.wpcf7 form.pp-cf7.spam .wpcf7-response-output {
	background: #ffdfdf; border-color: #df7d7d; border-style: solid; border-width: 1px 0; color: #333;
}

/* Turnstile: light theme, full width (Adam's feedback, 2026-09-30).
   size:flexible has a 300px minimum but the inputs are 293px wide (275 +
   2x8 padding + 2x1 border), so the 300px widget is scaled to 293/300 from
   its top-left corner. The page viewport is fixed (width=1140), so this is
   the same on phones. max-height = 65px x 293/300: the widget takes exactly
   its visible height when Turnstile shows it, and stays 0 when it doesn't
   (appearance:interaction-only). The fields' own 5px margins do the spacing. */
.wpcf7 form.pp-cf7 .wpcf7-turnstile {
	width: 300px; max-height: 63.5px; overflow: visible; margin: 0;
	transform: scale(0.976667); transform-origin: 0 0;
}
