/* FORMS: the contact form (Contact Form 7) and the Stay in touch form (form.block-signup, Mailchimp), which share one look.
   Loaded only where one of them appears (inc/assets.php). */

:is(input.wpcf7-form-control.wpcf7-text, .block-signup input:is([type=text], [type=email])) { width: 100%; }
:is(.wpcf7 form, form.block-signup) > p { margin-bottom: 7px; }
:is(.wpcf7 form, form.block-signup) > p:has([type=submit]) { margin-top: 30px; margin-bottom: 0; } /* 30px above the button; nothing below it, so the section's pb class is exact */
.form-image img {position: relative;width: 130%;max-width: revert;bottom: 0;left: -10px;pointer-events:none;}
.form-image {position: relative; z-index: 2;  pointer-events:none;}
/* the pheasant lets clicks through to the form; the links beside it still work */
.form-image a { pointer-events: auto; position: relative; z-index: 3; }
@media screen and (max-width: 1000px) {
	.form-image img { display: none; }
}

/* ------------------------------------------------------------------ fields in a grid (.k-form-grid: both forms) */
/* The contact form's small page-address script gets wrapped in an empty paragraph; hide it so it adds no space (the script still runs) */
.wpcf7 form > p:has(> script):not(:has(> :not(script, br))) { display: none; }
/* Label above its field; fields in a row line up at the bottom, whether or not their label has an "Optional" hint */
.k-form-grid { align-items: stretch; }
.k-form-grid label { display: flex; flex-direction: column; }
.k-form-grid label > :is(.wpcf7-form-control-wrap, .k-field) { display: block; margin-top: auto; padding-top: 6px; } /* .k-field: the Stay in touch form's wrapper */
.k-form-grid label > br { display: none; }
/* CF7 wraps all the fields in one <p>; let the labels sit in the grid themselves */
.k-form-grid > p { display: contents; }
.k-form-grid > br, .k-form-grid > p > br { display: none; } /* WordPress adds line breaks between the fields */
.k-form-grid label { margin-bottom: 1rem; }
.k-hint { display: block; font-weight: 400; font-size: .85rem; opacity: .85; text-transform: none; }
.k-form-grid select { width: 100%; border: 2px solid var(--accent); padding: 9px; }
@media (min-width: 700px) { .k-form-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.4rem; } .k-form-grid .k-full { grid-column: 1 / -1; } }