/* WFT 3.4.5 | Scoped Contact Form 7 styling and small accessibility fixes.
   No changes to the restored homepage story, artwork or page structure. */
.wft-enquiry-grid > *, .wft-form-panel, .wft-form-plugin, .wft-form-plugin .wpcf7 { min-width:0; max-width:100%; }
.wft-form-plugin .wpcf7, .wft-legacy-content .wpcf7 {
  --wft-field-bg:var(--paper,#f8f9ff); --wft-field-ink:var(--ink,#17213b);
  --wft-field-border:var(--line,#cbd2e5); --wft-error:#b52243; --wft-success:#17653d;
  color:var(--wft-field-ink); text-align:left;
}
:root[data-theme="dark"] .wpcf7, .wft-tone-dark .wpcf7 { --wft-error:#ffb0bf; --wft-success:#9de0b7; }
.wft-form-plugin .wpcf7 form, .wft-legacy-content .wpcf7 form { margin:0; width:100%; }
.wft-form-plugin .wpcf7 form > p, .wft-legacy-content .wpcf7 form > p { margin:0 0 22px; padding:0; }
.wft-form-plugin .wpcf7 label, .wft-legacy-content .wpcf7 label { display:block; font:500 14px/1.6 var(--body-font,system-ui); color:var(--wft-field-ink); }
.wft-form-plugin .wpcf7-form-control-wrap, .wft-legacy-content .wpcf7-form-control-wrap { display:block; margin-top:8px; }
.wft-form-plugin .wpcf7 :is(input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]),textarea,select),
.wft-legacy-content .wpcf7 :is(input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]),textarea,select) {
  width:100%; max-width:100%; min-width:0; box-sizing:border-box; min-height:50px; padding:13px 15px;
  color:var(--wft-field-ink); background:var(--wft-field-bg); border:1px solid var(--wft-field-border); border-radius:10px;
  font:400 16px/1.5 var(--body-font,system-ui); box-shadow:none; transition:border-color .18s,box-shadow .18s;
}
.wft-form-plugin .wpcf7 textarea, .wft-legacy-content .wpcf7 textarea { min-height:160px; resize:vertical; }
.wft-form-plugin .wpcf7 :is(input,select,textarea):focus-visible, .wft-legacy-content .wpcf7 :is(input,select,textarea):focus-visible {
  outline:2px solid var(--accent,#386cf4); outline-offset:3px;
}
.wft-form-plugin .wpcf7 ::placeholder, .wft-legacy-content .wpcf7 ::placeholder { color:var(--muted,#56627c); opacity:1; }
.wft-form-plugin .wpcf7 :is(input[type="checkbox"],input[type="radio"]), .wft-legacy-content .wpcf7 :is(input[type="checkbox"],input[type="radio"]) {
  width:18px; height:18px; min-height:0; margin:3px 9px 0 0; accent-color:var(--accent,#386cf4); flex:0 0 auto;
}
.wft-form-plugin .wpcf7 .wpcf7-list-item, .wft-legacy-content .wpcf7 .wpcf7-list-item { display:inline-block; margin:0 16px 9px 0; }
.wft-form-plugin .wpcf7 .wpcf7-list-item label, .wft-legacy-content .wpcf7 .wpcf7-list-item label { display:flex; align-items:flex-start; }
.wft-form-plugin .wpcf7 :is(input[type="submit"],button[type="submit"]), .wft-legacy-content .wpcf7 :is(input[type="submit"],button[type="submit"]) {
  display:inline-flex; align-items:center; justify-content:center; min-height:50px; max-width:100%; padding:14px 27px;
  border:0; border-radius:var(--button-radius,100px); background:var(--gradient,linear-gradient(115deg,#386cf4,#7950d4,#d83986));
  color:#fff; -webkit-text-fill-color:#fff; font:600 14px/1.5 var(--body-font,system-ui); cursor:pointer; white-space:normal;
}
.wft-form-plugin .wpcf7 [type="submit"]:disabled, .wft-legacy-content .wpcf7 [type="submit"]:disabled { opacity:.6; cursor:wait; }
.wft-form-plugin .wpcf7-not-valid-tip, .wft-legacy-content .wpcf7-not-valid-tip { color:var(--wft-error); display:block; margin-top:7px; font:500 13px/1.6 var(--body-font,system-ui); }
.wft-form-plugin .wpcf7 [aria-invalid="true"], .wft-legacy-content .wpcf7 [aria-invalid="true"] { border-color:var(--wft-error); }
.wft-form-plugin .wpcf7 form .wpcf7-response-output, .wft-legacy-content .wpcf7 form .wpcf7-response-output {
  margin:22px 0 0; padding:14px 16px; border:1px solid var(--wft-field-border); border-inline-start-width:4px;
  border-radius:10px; color:var(--wft-field-ink); font:400 14px/1.7 var(--body-font,system-ui); overflow-wrap:anywhere;
}
.wft-form-plugin .wpcf7 form.sent .wpcf7-response-output { border-color:var(--wft-success); }
.wft-form-plugin .wpcf7 form:is(.invalid,.unaccepted,.failed,.aborted,.spam) .wpcf7-response-output { border-color:var(--wft-error); }
/* Keep CF7's own status visibility and screen-reader announcements intact. */
.wft-form-plugin .wpcf7 form:is(.init,.resetting,.submitting) .wpcf7-response-output { display:none; }
.wft-form-plugin .wpcf7 .wpcf7-spinner { margin:0 10px; vertical-align:middle; }
.wft-form-fallback { padding:26px; border:1px solid var(--line); border-radius:16px; overflow-wrap:anywhere; }
.wft-form-fallback h3 { margin:0 0 15px; font-size:25px; line-height:1.3; }
.wft-form-fallback a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.wft-form-admin-note { font-size:13px; line-height:1.7; border-top:1px solid var(--line); padding-top:18px; }
.wft-form-plugin :is(a,button):focus-visible, .wft-footer-list a:focus-visible { outline:2px solid var(--accent,#386cf4); outline-offset:4px; }
.wft-page-chapters.is-at-footer { opacity:0; visibility:hidden; pointer-events:none; }
.wft-footer-contact-link, .wft-footer-contact address { overflow-wrap:anywhere; }
@media(max-width:620px) {
  .wft-form-panel { padding:24px 18px; }
  .wft-form-plugin .wpcf7 :is(input[type="submit"],button[type="submit"]) { width:100%; }
  .wft-form-plugin .wpcf7 .wpcf7-spinner { display:block; margin:12px auto 0; }
}
@media(prefers-reduced-motion:reduce) { .wft-form-plugin .wpcf7 * { transition:none!important; } }
@media(forced-colors:active) {
  .wft-form-plugin .wpcf7 :is(input,textarea,select,button) { border:1px solid CanvasText; }
  .wft-form-plugin .wpcf7 [type="submit"] { background:ButtonFace; color:ButtonText; -webkit-text-fill-color:ButtonText; }
}
/* The footer had no horizontal gutters below the maximum content width. */
.site-footer.wft-pro-footer > .wft-shell {
  width:calc(100% - var(--gutter,24px) * 2); max-width:var(--content-width,1440px); margin-inline:auto;
}
.wft-footer-main { grid-template-columns:minmax(0,1.25fr) minmax(0,.55fr) minmax(0,.85fr) minmax(0,.85fr); }
.wft-footer-main > *, .wft-footer-cta > * { min-width:0; }
.wft-footer-logo { width:max-content; max-width:100%; }
.wft-footer-logo img { width:240px; max-width:100%; }
.wft-footer-label, .wft-footer-contact-link span, .wft-footer-legal { color:#9daac5; }
.wft-footer-contact-link span { font-size:10px; }
.wft-footer-legal { font-size:11px; }
@media(max-width:1180px) {
  .wft-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wft-footer-brand, .wft-footer-contact { grid-column:1 / -1; }
}
@media(max-width:900px) { .wft-footer-cta { grid-template-columns:1fr; gap:28px; } }
@media(max-width:700px) { .wft-footer-logo img { width:190px; } }
@media(max-width:430px) { .wft-footer-main { grid-template-columns:1fr; } }
