/* Contact Form 7 styling (.field / label / input / textarea / .btn).
   The CF7 stylesheet is disabled (wpcf7_load_css), so the basics live here too. */
.wpcf7 .field{margin-bottom:22px;}
.wpcf7 .wpcf7-form-control-wrap{display:block;}
.wpcf7 .hidden-fields-container{display:none;}

/* ---- Fields ---- */
.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"],.wpcf7 select,.wpcf7 textarea{
  width:100%;font-family:var(--body);font-size:16px;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 15px;
  -webkit-appearance:none;appearance:none;
}
.wpcf7 select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%233C444C' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;padding-right:36px;
}
/* Fixed height keeps the design size whatever the CF7 rows attribute says;
   min-height is the floor for manual resizing. */
.wpcf7 textarea{height:150px;min-height:150px;resize:vertical;}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:2px solid var(--petrol);outline-offset:0;border-color:var(--petrol);}

/* ---- Submit button ---- */
.wpcf7 .wpcf7-submit,.wpcf7 input[type="submit"]{
  width:auto;display:inline-block;background:var(--petrol);color:#fff;font-family:var(--body);
  font-weight:600;font-size:15.5px;padding:13px 26px;border-radius:999px;border:1px solid var(--petrol);
  cursor:pointer;transition:background .18s ease;
}
.wpcf7 .wpcf7-submit:hover{background:var(--petrol-deep);}

/* ---- Feedback ---- */
.wpcf7 .wpcf7-not-valid-tip{font-size:14px;color:#b42318;margin-top:6px;}
.wpcf7 .wpcf7-not-valid{border-color:#b42318;}
.wpcf7 form .wpcf7-response-output{display:none;margin:24px 0 0;padding:14px 18px;border:1px solid var(--petrol);border-radius:10px;font-size:15px;}
.wpcf7 form.sent .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output{display:block;}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output{border-color:#b42318;}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--petrol);background:var(--mist);}
/* The CF7 role="alert" block: hidden visually, readable for screen readers. */
.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);height:1px;width:1px;margin:0;padding:0;border:0;}
/* Hides the honeypot field the theme injects */
.wpcf7 .is-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ---- Spinner ---- */
.wpcf7 .wpcf7-spinner{visibility:hidden;display:inline-block;background:#23282d;opacity:.75;width:24px;height:24px;border:none;border-radius:100%;padding:0;margin:0 0 0 12px;vertical-align:middle;position:relative;}
.wpcf7 form.submitting .wpcf7-spinner{visibility:visible;}
.wpcf7 .wpcf7-spinner::before{content:"";position:absolute;background:#fbfbfc;top:4px;left:4px;width:6px;height:6px;border:none;border-radius:100%;transform-origin:8px 8px;-webkit-animation:is-spin 1s linear infinite;animation:is-spin 1s linear infinite;}
@-webkit-keyframes is-spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg);}}
@keyframes is-spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg);}}
