/* ==========================================================================
   Contact Form 7 — themed inputs/buttons
   ========================================================================== */
.wpcf7 { margin-top: 8px; }
/* CF7 wraps each field in a <p> (wpautop); control the gap between fields here
   so forms aren't sprawling. */
.wpcf7-form p { margin: 0 0 10px; }
.wpcf7 label { display: block; font-weight: 500; color: var(--muted); margin-bottom: 0; font-size: 16px; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 textarea,
.wpcf7 select {
  width: 100%;
  border: 2px solid var(--orange);
  border-radius: 12px;
  padding: 14px 18px;
  font-family: inherit;
  font-size: 16px;
  color: var(--text);
  background: #fff;
  margin-top: 6px;
}
.wpcf7 textarea { min-height: 130px; resize: vertical; }
.wpcf7 input::placeholder, .wpcf7 textarea::placeholder { color: var(--placeholder); }
.wpcf7 input[type="submit"] {
  width: auto;
  background: var(--orange);
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  border: none;
  border-radius: 16px;
  padding: 14px 40px;
  cursor: pointer;
  margin-top: 8px;
}
/* Every CF7 checkbox (consent «acceptance» + «checkbox» tags) — custom box with
   the brand check icon. The «acceptance» tag wraps input+text in a <label>, the
   «checkbox» tag doesn't — so the flex row targets whichever element directly
   holds the box + text. */
.wpcf7 .wpcf7-list-item { margin: 0; }
.wpcf7-acceptance .wpcf7-list-item > label,
.wpcf7-checkbox .wpcf7-list-item {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  font-weight: 500;
  font-size: 16px;
  color: var(--muted);
  cursor: pointer;
}
.wpcf7 input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  margin: 0;
  border: 2px solid var(--orange);
  border-radius: 6px;
  background: #fff no-repeat center / 18px;
  cursor: pointer;
  transition: background-color .12s ease;
}
.wpcf7 input[type="checkbox"]:checked {
  background-image: url(../home/newsletter-check-icon.svg);
}
.wpcf7 .wpcf7-list-item-label { cursor: pointer; }
/* Contact Form 7 result message — same on-brand paw pill as the modal toast
   (reuses the gk-note-pop / gk-paw-wag keyframes below). */
.wpcf7 .wpcf7-response-output {
  margin: 20px auto 0;
}
.wpcf7-form.sent .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.aborted .wpcf7-response-output,
.wpcf7-form.payment-required .wpcf7-response-output {
  display: flex;
  align-items: center;
  gap: 10px;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 20px auto 0;   /* auto centres it (beats CF7's `form .output` margin) */
  padding: 11px 22px 11px 16px;
  border: 0;
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.3;
  animation: gk-note-pop .5s cubic-bezier(.34, 1.56, .64, 1) both;
}
.wpcf7-form .wpcf7-response-output::before {
  content: "";
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
}
.wpcf7-form.sent .wpcf7-response-output {
  color: var(--orange);
  background: var(--newsletter-bg);
  box-shadow: 0 10px 26px rgba(242, 122, 88, .22);
}
.wpcf7-form.sent .wpcf7-response-output::before {
  background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f27a58'><ellipse cx='8.4' cy='6.6' rx='2.3' ry='3' transform='rotate(-14 8.4 6.6)'/><ellipse cx='15.6' cy='6.6' rx='2.3' ry='3' transform='rotate(14 15.6 6.6)'/><ellipse cx='3.9' cy='11.6' rx='2' ry='2.6' transform='rotate(-32 3.9 11.6)'/><ellipse cx='20.1' cy='11.6' rx='2' ry='2.6' transform='rotate(32 20.1 11.6)'/><path d='M12 10.6c-2.7 0-5.1 1.8-6.2 4.3-.6 1.4-.4 2.9.6 4 .9 1.1 2.4 1.6 3.8 1.3.6-.1 1.2-.2 1.8-.2s1.2.1 1.8.2c1.4.3 2.9-.2 3.8-1.3 1-1.1 1.2-2.6.6-4-1.1-2.5-3.5-4.3-6.2-4.3z'/></svg>") no-repeat center / contain;
  transform-origin: 60% 85%;
  animation: gk-paw-wag .55s ease .3s 2;
}
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output,
.wpcf7-form.spam .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.aborted .wpcf7-response-output {
  color: #c1543b;
  background: #fdece7;
  box-shadow: 0 10px 26px rgba(193, 84, 59, .18);
}
.wpcf7-form.invalid .wpcf7-response-output::before,
.wpcf7-form.unaccepted .wpcf7-response-output::before,
.wpcf7-form.spam .wpcf7-response-output::before,
.wpcf7-form.failed .wpcf7-response-output::before,
.wpcf7-form.aborted .wpcf7-response-output::before {
  content: "!";
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #c1543b;
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  line-height: 1;
}
.wpcf7-not-valid-tip { color: #c1543b; font-size: 14px; }
span.wpcf7-form-control-wrap { display: block; }

