/* Contact Form 7: appearance only. Fields, rules, recipients and messages stay in the CF7 settings. */
.wpcf7 { max-width: 46rem; }
.wpcf7 *, .wpcf7 *::before, .wpcf7 *::after { box-sizing: border-box; }
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.wpcf7 form > p, .wpcf7 .saika-field { margin: 0 0 1.25rem; }
.wpcf7 label { display: block; font-weight: 700; margin-bottom: .35rem; }
.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 {
	width: 100%; min-height: 3rem; padding: .7rem .85rem; font: inherit; color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--base); border: 1px solid #9aa8a0; border-radius: 6px;
}
.wpcf7 textarea { min-height: 10rem; }
.wpcf7 input:focus-visible, .wpcf7 select:focus-visible, .wpcf7 textarea:focus-visible { outline: 3px solid var(--wp--custom--focus); outline-offset: 2px; border-color: var(--wp--preset--color--ink); }
.wpcf7 .wpcf7-list-item { display: block; margin: .35rem 0; }
.wpcf7 input[type="checkbox"], .wpcf7 input[type="radio"] { width: 1.15rem; height: 1.15rem; margin-right: .4rem; vertical-align: -.15rem; accent-color: var(--wp--preset--color--brand); }
.wpcf7 input[type="submit"] {
	min-height: 3.25rem; padding: .85rem 2.25rem; font: inherit; font-weight: 800; color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--accent); border: 0; border-radius: 6px; cursor: pointer;
}
.wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--accent-dark); }
.wpcf7 input[type="submit"]:disabled { opacity: .55; cursor: not-allowed; }
/* Errors: message text plus a thick border, not color alone. */
.wpcf7 form .wpcf7-form-control.wpcf7-not-valid { border: 2px solid #b42318; }
.wpcf7 .wpcf7-not-valid-tip { color: #b42318; font-size: var(--wp--preset--font-size--small); font-weight: 700; margin-top: .3rem; }
.wpcf7 form .wpcf7-response-output { margin: 1.5rem 0 0; padding: 1rem 1.25rem; border: 2px solid var(--wp--preset--color--line); border-radius: 6px; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { border-color: #b42318; background: #fdf1f0; }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--wp--preset--color--brand); background: var(--wp--preset--color--brand-soft); }
.wpcf7-spinner { vertical-align: middle; }
.wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output { border-color: #b42318; background: #fdf1f0; }
.wpcf7 form .wpcf7-response-output:focus-visible { outline: 3px solid var(--wp--custom--focus); outline-offset: 2px; }
/* M29: the work type passed from the previous page, above the form */
.saika-cf7-handoff { max-width: 46rem; margin: 0 0 1rem; padding: .75rem 1rem; border-left: 4px solid var(--wp--preset--color--brand); background: var(--wp--preset--color--brand-soft); }
