/* Contact Form 7, styled to match the Serenity page blocks.
   Loaded by the Serenity Mail & Forms plugin wherever a CF7 form appears. */

.wpcf7{
  --smf-green:#2B6B09; --smf-greenb:#34820B; --smf-leaf:#60B212;
  --smf-coral:#FA6753; --smf-ink:#17301D;   --smf-text:#4A5D50;
  --smf-line:#DDEBE1;  --smf-bg:#F4F9F5;
  font-family:'DM Sans',-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--smf-text);
}
.wpcf7 *{box-sizing:border-box}

.wpcf7 .smf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wpcf7 label{
  display:block;margin-bottom:16px;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:13.5px;color:var(--smf-ink);
}
.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel],
.wpcf7 select,
.wpcf7 textarea{
  width:100%;margin-top:7px;
  border:1px solid var(--smf-line);border-radius:12px;padding:13px 16px;
  font-family:'DM Sans',sans-serif;font-size:15px;font-weight:400;color:var(--smf-ink);
  background:#fff;transition:.25s;outline:none;
}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{
  border-color:var(--smf-leaf);box-shadow:0 0 0 3px rgba(96,178,18,.14);
}
.wpcf7 textarea{resize:vertical;min-height:130px}
.wpcf7 ::placeholder{color:#9db0a4}

/* acceptance checkbox */
.wpcf7 .wpcf7-acceptance .wpcf7-list-item{margin:0}
.wpcf7 .wpcf7-acceptance label{
  display:flex;gap:11px;align-items:flex-start;
  font-weight:400;font-size:13.5px;color:var(--smf-text);line-height:1.6;
  font-family:'DM Sans',sans-serif;margin:6px 0 18px;
}
.wpcf7 .wpcf7-acceptance input[type=checkbox]{
  width:17px;height:17px;margin-top:3px;flex-shrink:0;accent-color:var(--smf-green);
}

.wpcf7 .smf-note{
  font-size:13px;color:var(--smf-text);margin:0 0 18px;padding:12px 15px;
  background:#FFF4F2;border:1px solid #FFD6CE;border-left:4px solid var(--smf-coral);border-radius:10px;
}

/* submit */
.wpcf7 input[type=submit]{
  display:inline-flex;align-items:center;gap:10px;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:15px;
  padding:15px 30px;border-radius:50px;border:2px solid transparent;cursor:pointer;
  background:linear-gradient(135deg,var(--smf-coral),#e0503c);color:#fff;
  box-shadow:0 10px 26px rgba(250,103,83,.32);transition:.3s;
}
.wpcf7 input[type=submit]:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(250,103,83,.42)}

/* CF7 response messages */
.wpcf7 form .wpcf7-response-output{
  margin:20px 0 0;padding:14px 18px;border-radius:12px;font-size:14.5px;border-width:1px;
}
.wpcf7 form.sent .wpcf7-response-output{background:#E8F5EC;border-color:var(--smf-leaf);color:#17301D}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{background:#FFF4F2;border-color:#FFD6CE;color:#8A2B1B}
.wpcf7 .wpcf7-not-valid-tip{color:#B33A24;font-size:13px;font-weight:500;margin-top:6px}
.wpcf7 .wpcf7-not-valid{border-color:#E9A99B}
.wpcf7 .wpcf7-spinner{margin:0 0 0 12px}

@media(max-width:575px){
  .wpcf7 .smf-row{grid-template-columns:1fr;gap:0}
  .wpcf7 label{font-size:13px;margin-bottom:13px}
  .wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],
  .wpcf7 select,.wpcf7 textarea{padding:11px 13px;font-size:14px}
  .wpcf7 textarea{min-height:108px}
  .wpcf7 input[type=submit]{width:100%;justify-content:center;padding:13px 22px;font-size:14px}
  .wpcf7 .wpcf7-acceptance label{font-size:12.5px}
  .wpcf7 .smf-note{font-size:12.5px}
}
