/* ==========================================================================
   Grow Treatment Center Pro — WPForms integration 1.1
   Compact, modern B2B form styling. Loaded only on form pages.
   ========================================================================== */
.wpforms-container { margin: 0 !important; }
.wpforms-container .wpforms-field { margin-bottom: 17px !important; }
.wpforms-container .wpforms-field-label { display: block; margin-bottom: 7px !important; color: var(--gtc-heading, #0a2735); font-size: .91rem; font-weight: 700; line-height: 1.35; }
.wpforms-container .wpforms-required-label { color: var(--gtc-form-error, #b91c1c); }
.wpforms-container .wpforms-field-description { margin-top: 6px !important; color: #687b84 !important; font-size: .8rem !important; line-height: 1.5 !important; }

.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container input[type=url],
.wpforms-container input[type=number],
.wpforms-container input[type=password],
.wpforms-container select,
.wpforms-container textarea {
  width: 100% !important;
  min-height: 52px !important;
  padding: 13px 15px !important;
  border: 1px solid var(--gtc-form-field-border, #c7dad7) !important;
  border-radius: var(--gtc-form-radius, 10px) !important;
  background: #fbfdfd !important;
  color: var(--gtc-body, #314452) !important;
  font-family: var(--gtc-font-body, "Inter", "Segoe UI", sans-serif) !important;
  font-size: .96rem !important;
  line-height: 1.35 !important;
  box-shadow: inset 0 1px 2px rgba(9, 50, 60, .025) !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}
.wpforms-container textarea { min-height: 120px !important; resize: vertical; }
.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder { color: #8a9ba3 !important; opacity: 1; }
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
  border-color: var(--gtc-form-field-focus, #0f7f7b) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(15, 127, 123, .12) !important;
  outline: 0 !important;
}
.wpforms-container select { appearance: auto; }

/* Two-column layouts collapse cleanly on small screens. */
.wpforms-container .wpforms-field-row { max-width: none !important; }
.wpforms-container .wpforms-field-row-block { padding: 0 8px !important; }
.wpforms-container .wpforms-field-row { margin: 0 -8px !important; }

/* International phone field: keep the first digits clear of the flag. */
.wpforms-container .iti,
.wpforms-container .iti--allow-dropdown,
.wpforms-container .wpforms-field-phone .iti { width: 100% !important; }
.wpforms-container .iti input[type=tel],
.wpforms-container .iti input[type=text],
.wpforms-container input.wpforms-smart-phone-field,
.wpforms-container .wpforms-field-smart-phone input,
.wpforms-container .wpforms-field-phone input.wpforms-smart-phone-field {
  padding-left: 64px !important;
  text-indent: 0 !important;
}
.wpforms-container .iti__flag-container { z-index: 4 !important; }
.wpforms-container .iti__selected-flag { min-width: 54px !important; padding: 0 8px 0 13px !important; border-radius: 10px 0 0 10px; }
.wpforms-container .iti__country-list { z-index: 99999 !important; max-width: min(360px, 90vw); white-space: normal; }
.wpforms-container .wpforms-field.wpforms-has-error .iti input,
.wpforms-container .wpforms-field.wpforms-has-error input.wpforms-smart-phone-field { padding-right: 42px !important; }

.wpforms-container .wpforms-field-checkbox ul,
.wpforms-container .wpforms-field-radio ul,
.wpforms-container .wpforms-field-gdpr-checkbox ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.wpforms-container .wpforms-field-checkbox li,
.wpforms-container .wpforms-field-radio li,
.wpforms-container .wpforms-field-gdpr-checkbox li { display: flex !important; align-items: flex-start; gap: 9px; margin-bottom: 9px !important; }
.wpforms-container input[type=checkbox],
.wpforms-container input[type=radio] { flex: 0 0 auto; width: 18px !important; height: 18px !important; margin: 3px 0 0 !important; accent-color: var(--gtc-secondary, #176f76); }
.wpforms-container .wpforms-field-checkbox label,
.wpforms-container .wpforms-field-radio label,
.wpforms-container .wpforms-field-gdpr-checkbox label { color: #4d626c; font-size: .88rem; line-height: 1.55; }

.wpforms-container .wpforms-page-indicator-progress-bar { height: 8px !important; overflow: hidden; border-radius: 999px !important; background: #e2ecea !important; }
.wpforms-container .wpforms-page-indicator-progress-bar-inner,
.wpforms-container .wpforms-page-indicator-progress-bar .wpforms-page-indicator-page-title { background: var(--gtc-form-progress-active, #20a39a) !important; }
.wpforms-container .wpforms-page-indicator-steps .wpforms-page-indicator-step.active { border-color: var(--gtc-form-progress-active, #20a39a) !important; background: var(--gtc-form-progress-active, #20a39a) !important; }

.wpforms-container .wpforms-submit-container { padding-top: 6px !important; }
.wpforms-container button[type=submit],
.wpforms-container .wpforms-page-button,
.wpforms-container .wpforms-page-next,
.wpforms-container .wpforms-page-prev {
  min-height: 50px !important;
  padding: .78rem 1.55rem !important;
  border: 0 !important;
  border-radius: var(--gtc-cta-radius, 12px) !important;
  background: linear-gradient(135deg, var(--gtc-form-btn, #0f7f7b), #13948e) !important;
  color: #fff !important;
  font-family: var(--gtc-font-body, "Inter", "Segoe UI", sans-serif) !important;
  font-size: .96rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
  box-shadow: 0 10px 24px rgba(15, 127, 123, .2) !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.wpforms-container button[type=submit]:hover,
.wpforms-container .wpforms-page-button:hover,
.wpforms-container .wpforms-page-next:hover { transform: translateY(-1px); background: linear-gradient(135deg, var(--gtc-form-btn-hover, #0a6663), #0b7772) !important; box-shadow: 0 13px 28px rgba(10, 102, 99, .26) !important; }
.wpforms-container .wpforms-page-prev { border: 1px solid #a9c9c5 !important; background: #fff !important; color: var(--gtc-form-btn, #0f7f7b) !important; box-shadow: none !important; }

.wpforms-container .wpforms-error,
.wpforms-container label.wpforms-error { margin-top: 5px !important; color: var(--gtc-form-error, #b91c1c) !important; font-size: .8rem !important; }
.wpforms-container .wpforms-field.wpforms-has-error input,
.wpforms-container .wpforms-field.wpforms-has-error select,
.wpforms-container .wpforms-field.wpforms-has-error textarea { border-color: var(--gtc-form-error, #b91c1c) !important; }
.wpforms-container .wpforms-confirmation-container,
.wpforms-container .wpforms-confirmation-container-full { padding: 22px !important; border: 1px solid #9bcfaf !important; border-radius: 14px !important; background: #eefbf2 !important; color: #195e32 !important; }
.wpforms-container input[type=hidden] { display: none !important; }

@media (max-width: 640px) {
  .wpforms-container .wpforms-field-row { margin: 0 !important; }
  .wpforms-container .wpforms-field-row-block { width: 100% !important; padding: 0 !important; }
  .wpforms-container button[type=submit],
  .wpforms-container .wpforms-page-button { width: 100% !important; }
  .wpforms-container .iti input[type=tel],
  .wpforms-container input.wpforms-smart-phone-field { padding-left: 60px !important; }
}

/* Reference-site typography */
.wpforms-container,
.wpforms-container label,
.wpforms-container input,
.wpforms-container select,
.wpforms-container textarea,
.wpforms-container button,
.wpforms-container .wpforms-page-indicator {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}

/* Arial typography override — v1.4.2 */
.wpforms-container,
.wpforms-container *,
.wpforms-container input,
.wpforms-container select,
.wpforms-container textarea,
.wpforms-container button,
.wpforms-container input[type="submit"] {
  font-family: Arial, Helvetica, sans-serif !important;
}
