/* =========================================================
   WordPress shim — utility classes replacing the original
   inline styles, plus WPForms styling to match the design.
   ========================================================= */

/* Spacing utilities (replace original inline style="" attributes) */
.pt-0  { padding-top: 0 !important; }
.pt-30 { padding-top: 30px !important; }
.pb-20 { padding-bottom: 20px !important; }
.pb-30 { padding-bottom: 30px !important; }
.pb-40 { padding-bottom: 40px !important; }
.mt-18 { margin-top: 18px !important; }
.mt-20 { margin-top: 20px !important; }
.mt-28 { margin-top: 28px !important; }
.mt-80 { margin-top: 80px !important; }
.mt-90 { margin-top: 90px !important; }
.mt-96 { margin-top: 96px !important; }
.my-18 { margin: 18px 0 !important; }
.mb-16 { margin-bottom: 16px !important; }
.m-0   { margin: 0 !important; }
.gap-16 { gap: 16px !important; }
.maxw-880 { max-width: 880px; margin-left: auto !important; margin-right: auto !important; }
.max-18ch { max-width: 18ch; }
.soft { color: var(--text-soft); }
.dim-small { color: var(--text-dim); font-size: .85rem; }

/* Group blocks are plain wrappers — the design's own classes do all layout. */

/* =========================================================
   WPForms — restyled to match the original .form design
   ========================================================= */
.form .wpforms-container { width: 100%; }
.form .wpforms-form { display: flex; flex-direction: column; gap: 18px; }
.form .wpforms-field { display: flex; flex-direction: column; gap: 8px; padding: 0 !important; }
.form .wpforms-field-label {
  font-family: var(--font-head); font-size: .85rem; color: var(--text-soft); font-weight: 500;
  display: block; margin: 0 0 0 0;
}
.form .wpforms-required-label { color: var(--vb-cyan); }
.form .wpforms-field input[type="text"],
.form .wpforms-field input[type="email"],
.form .wpforms-field input[type="tel"],
.form .wpforms-field textarea {
  font-family: var(--font-body) !important; font-size: .98rem !important; padding: 14px 16px !important;
  border-radius: 12px !important; border: 1px solid var(--border-strong) !important;
  background: var(--bg) !important; color: var(--text) !important;
  transition: border-color .3s, box-shadow .3s; width: 100% !important; max-width: 100% !important;
}
.form .wpforms-field input:focus, .form .wpforms-field textarea:focus {
  outline: none !important; border-color: var(--vb-blue) !important; box-shadow: 0 0 0 4px var(--glow) !important;
}
.form .wpforms-field textarea { resize: vertical; min-height: 130px !important; }
.form .wpforms-submit-container { padding: 0 !important; }
.form button[type="submit"].wpforms-submit {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--font-head) !important; font-weight: 600 !important; font-size: 1.05rem !important;
  padding: 17px 34px !important; border-radius: 100px !important; cursor: pointer; border: none !important;
  color: #05070C !important; background: var(--vb-grad) !important;
  box-shadow: 0 10px 30px -8px var(--glow); width: 100%;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
.form button[type="submit"].wpforms-submit:hover { transform: translateY(-3px); box-shadow: 0 18px 44px -10px var(--glow); }
.form .wpforms-confirmation-container-full, .form .wpforms-confirmation-container {
  padding: 14px 16px; border-radius: 12px; background: var(--vb-grad-soft);
  border: 1px solid var(--border-strong); font-size: .92rem; color: var(--text);
}
.form .wpforms-error { color: #ff7676 !important; font-size: .8rem !important; }
.form .wpforms-field input.wpforms-error, .form .wpforms-field textarea.wpforms-error { border-color: #ff7676 !important; }
