/* ============================================================
   Nurturing Soul — WPForms skin

   Maps WPForms' default markup onto the original contact-form
   design defined in site.css (.form / .field / .form__row).
   Loaded only on the Connect page.
   ============================================================ */

/* Container: strip WPForms chrome, adopt the original .form grid. */
/* Container: strip WPForms chrome, adopt the original .form look. */
.ns-form .wpforms-container{ margin:0; }
.ns-form .wpforms-form{ max-width:38rem; margin:0 auto; }
/* Single-column by default so nothing breaks out or misaligns. */
.ns-form .wpforms-field-container{ display:flex; flex-direction:column; gap:var(--s5); }
.ns-form .wpforms-field{ width:100%; }
/* Name + Email share one row on wider screens (generic, not tied to field IDs). */
@media (min-width:34rem){
  .ns-form .wpforms-field-container{ display:grid; grid-template-columns:1fr 1fr; gap:var(--s4) var(--s4); align-items:start; }
  /* Text inputs & email sit in the two columns; everything else spans full width. */
  .ns-form .wpforms-field-textarea,
  .ns-form .wpforms-field-select,
  .ns-form .wpforms-field-phone,
  .ns-form .wpforms-field-checkbox,
  .ns-form .wpforms-field-radio,
  .ns-form .wpforms-field-textarea,
  .ns-form .wpforms-field-text.wpforms-field-medium,
  .ns-form .wpforms-submit-container{ grid-column:1 / -1; }
}


/* Labels mirror .field label. */
.ns-form .wpforms-field-label{
  display:block;
  font-size:.82rem;
  font-weight:400;
  color:var(--ink-soft);
  margin:0 0 .4rem;
  line-height:inherit;
}
.ns-form .wpforms-required-label{ color:rgb(var(--aura)); }

/* Inputs, textarea, select mirror .field input/textarea/select. */
.ns-form .wpforms-field input[type=text],
.ns-form .wpforms-field input[type=email],
.ns-form .wpforms-field textarea,
.ns-form .wpforms-field select{
  width:100%;
  padding:.95rem 1.15rem;
  border:1px solid var(--line);
  border-radius:var(--r-pill);
  background:rgba(255,255,255,.7);
  font-family:var(--body);
  font-size:.95rem;
  color:var(--ink);
  transition:all var(--t-med);
  box-shadow:none;
}
.ns-form .wpforms-field textarea{
  border-radius:var(--r-soft);
  min-height:9rem;
  resize:vertical;
  line-height:1.7;
}
.ns-form .wpforms-field input::placeholder,
.ns-form .wpforms-field textarea::placeholder{ color:var(--ink-faint); }
.ns-form .wpforms-field input:focus,
.ns-form .wpforms-field textarea:focus,
.ns-form .wpforms-field select:focus{
  outline:none;
  border-color:rgb(var(--aura));
  box-shadow:0 0 0 4px rgba(var(--aura),.2);
  background:#fff;
}

/* Submit button: reuse the original .btn .btn--primary look exactly. */
.ns-form .wpforms-submit-container{ margin:0; padding:0; }
.ns-form button.wpforms-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  padding:.95rem 1.9rem;
  border:0;
  border-radius:var(--r-pill);
  background:var(--terra);
  color:#FFF9F3;
  font-family:var(--body);
  font-size:.95rem;
  font-weight:500;
  line-height:1;
  cursor:pointer;
  transition:background var(--t-med),transform var(--t-quick);
}
.ns-form button.wpforms-submit:hover,
.ns-form button.wpforms-submit:focus{
  background:var(--terra-deep);
  color:#FFF9F3;
  transform:translateY(-1px);
}

/* Inline validation errors — quiet, aura-tinted, matching the palette. */
.ns-form .wpforms-field input.wpforms-error,
.ns-form .wpforms-field textarea.wpforms-error,
.ns-form .wpforms-field select.wpforms-error{
  border-color:#B4552F;
  box-shadow:0 0 0 3px rgba(180,85,47,.14);
}
.ns-form label.wpforms-error,
.ns-form em.wpforms-error{
  display:block;
  margin-top:.4rem;
  font-size:.78rem;
  font-style:normal;
  color:#9A4526;
}

/* Success confirmation — mirror the tone of the original data-note line. */
.wpforms-confirmation-container-full,
.ns-form .wpforms-confirmation-container-full{
  margin:0;
  padding:1.1rem 1.4rem;
  border:1px solid var(--line);
  border-radius:var(--r-soft);
  background:rgba(251,248,244,.55);
  color:var(--ink-soft);
  font-size:.95rem;
  line-height:1.7;
}
.wpforms-confirmation-container-full p:last-child{ margin-bottom:0; }

/* Processing state text spacing */
.ns-form .wpforms-submit[aria-busy="true"]{ opacity:.85; }