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

   Tokens are copied from assets/css/site.css rather than eyeballed, so the
   form and the hand-built page read as one website. The contrast notes on the
   colours are carried over deliberately: --poh-leaf and --poh-teal-l are
   DECORATIVE ONLY and must never carry text on white. */

.wpcf7{
  --pohm-forest:#10402F;   /* 11.69:1 on white  OK headings */
  --pohm-green:#1C7A55;    /*  5.30:1 on white  OK text, white on it OK */
  --pohm-teal:#14707A;     /*  5.79:1 on white  OK text, white on it OK */
  --pohm-teal-d:#0E5B63;
  --pohm-teal-l:#7FC9CE;   /* DECORATIVE ONLY */
  --pohm-mist:#E8F3EE;
  --pohm-mist-d:#D5E7DE;
  --pohm-sand:#FBF7EF;
  --pohm-text:#3B4A43;     /*  9.35:1 on white  OK body */
  --pohm-muted:#63706A;
  --pohm-line:#DCE6E1;
  --pohm-serif:'Lora',Georgia,'Iowan Old Style','Times New Roman',serif;
  --pohm-sans:'Karla',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

  font-family:var(--pohm-sans);
  color:var(--pohm-text);
}
.wpcf7 *{box-sizing:border-box}

.wpcf7 .pohm-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}

.wpcf7 label{
  display:block;margin-bottom:16px;
  font:600 13.5px/1.4 var(--pohm-sans);color:var(--pohm-forest);
}

.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(--pohm-line);border-radius:12px;padding:13px 16px;
  font:400 15px/1.5 var(--pohm-sans);color:var(--pohm-forest);
  background:#fff;transition:border-color .18s ease,box-shadow .18s ease;outline:none;
}
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{
  border-color:var(--pohm-teal);box-shadow:0 0 0 3px rgba(20,112,122,.15);
}
.wpcf7 textarea{resize:vertical;min-height:130px}
/* 5.18:1 on white. The message placeholder carries a real hint, so it has
   to be readable, not decorative grey. */
.wpcf7 ::placeholder{color:var(--pohm-muted);opacity:1}

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

/* the two standing notes under the form */
.wpcf7 .pohm-note{
  font-size:13px;color:var(--pohm-muted);margin:0 0 14px;padding:12px 15px;
  background:var(--pohm-mist);border:1px solid var(--pohm-mist-d);
  border-left:4px solid var(--pohm-teal);border-radius:10px;line-height:1.6;
}
.wpcf7 .pohm-crisis{
  font-size:13px;color:#7A2E1C;margin:0 0 20px;padding:12px 15px;
  background:#FDF1EC;border:1px solid #F3D8CC;
  border-left:4px solid #B4472A;border-radius:10px;line-height:1.6;
}
.wpcf7 .pohm-crisis strong{color:#7A2E1C}

/* submit, matching .poh-btn.poh-btn-green */
.wpcf7 input[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font:600 15px/1 var(--pohm-sans);padding:16px 28px;border-radius:999px;
  border:1.5px solid transparent;cursor:pointer;
  background:var(--pohm-green);color:#fff;
  box-shadow:0 6px 18px rgba(28,122,85,.24);
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.wpcf7 input[type=submit]:hover{background:var(--pohm-forest);transform:translateY(-2px)}

/* CF7 response messages */
.wpcf7 form .wpcf7-response-output{
  margin:20px 0 0;padding:14px 18px;border-radius:12px;
  font-size:14.5px;line-height:1.6;border-width:1px;
}
.wpcf7 form.sent .wpcf7-response-output{
  background:var(--pohm-mist);border-color:var(--pohm-green);color:var(--pohm-forest);
}
.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:#FDF1EC;border-color:#F3D8CC;color:#7A2E1C;
}
.wpcf7 .wpcf7-not-valid-tip{color:#9C3A22;font-size:13px;font-weight:500;margin-top:6px}
.wpcf7 .wpcf7-not-valid{border-color:#E0AC9B}
.wpcf7 .wpcf7-spinner{margin:0 0 0 12px}

/* Focus ring matches the site's, so keyboard users get one consistent cue. */
.wpcf7 input:focus-visible,
.wpcf7 select:focus-visible,
.wpcf7 textarea:focus-visible{outline:3px solid var(--pohm-teal);outline-offset:2px}

@media(max-width:575px){
  .wpcf7 .pohm-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%;padding:14px 22px;font-size:14px}
  .wpcf7 .wpcf7-acceptance label{font-size:12.5px}
  .wpcf7 .pohm-note,.wpcf7 .pohm-crisis{font-size:12.5px}
}
