/* ============================================================
   Contact Form 7 (rendered on cream form cards)
   ============================================================ */
.wpcf7-form { display: grid; gap: 1rem; }
.wpcf7-form .wwd-form__row { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 540px) { .wpcf7-form .wwd-form__row { grid-template-columns: 1fr; } }

.wpcf7-form label { display: block; font-family: var(--wwd-font-head); font-weight: 500; font-size: .85rem; color: var(--wwd-ink); }

.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"], .wpcf7-form textarea, .wpcf7-form select {
  width: 100%; margin-top: .4rem; font-family: var(--wwd-font-body); font-size: 1rem; color: var(--wwd-ink);
  padding: .9rem 1.1rem; background: rgba(255,255,255,.6); border: 1.5px solid rgba(20,20,15,.14);
  border-radius: 12px; transition: border-color .25s var(--wwd-ease), box-shadow .25s var(--wwd-ease), background .25s var(--wwd-ease);
}
.wpcf7-form input:focus, .wpcf7-form textarea:focus, .wpcf7-form select:focus {
  outline: none; border-color: var(--wwd-green-deep); background: #fff; box-shadow: 0 0 0 4px rgba(93,189,89,.18);
}
.wpcf7-form textarea { min-height: 150px; resize: vertical; }
/* Placeholder text is real text for WCAG 1.4.3 — #9a9a8e scored 2.84:1 on the
   cream field. #6f6e63 gives 4.8:1 and still reads as a hint, not an answer. */
.wpcf7-form ::placeholder { color: #6f6e63; opacity: 1; }

.wpcf7-form .wpcf7-submit {
  justify-self: start; margin-top: .3rem; font-family: var(--wwd-font-head); font-weight: 600; font-size: 1rem;
  color: var(--wwd-cream); background: var(--wwd-ink); border: 0; border-radius: 999px; padding: 1rem 2rem; cursor: pointer;
  transition: transform .3s var(--wwd-ease), background .3s var(--wwd-ease), color .3s var(--wwd-ease);
}
.wpcf7-form .wpcf7-submit:hover { transform: translateY(-2px); background: var(--wwd-green-deep); color: #fff; }

.wpcf7-form .wpcf7-not-valid-tip { color: #c0392b; font-size: .82rem; margin-top: .3rem; }
.wpcf7-form .wpcf7-not-valid { border-color: #e08a7e !important; }
.wpcf7 .wpcf7-response-output { margin: .5rem 0 0; padding: .8rem 1.1rem; border-radius: 12px; font-size: .9rem; border-width: 1.5px; color: var(--wwd-ink); }
.wpcf7 form.sent .wpcf7-response-output { background: rgba(93,189,89,.16); border-color: var(--wwd-green-deep); color: var(--wwd-green-deep); }
.wpcf7-spinner { margin: .6rem auto; }
