/* =============================================
   AM Precision — Gravity Forms Styling
   Targets GF Orbital theme output
   ============================================= */

/* ── Kill the orbital theme's inline variable overrides ── */
.gform_wrapper.gform-theme--orbital,
.gform_wrapper[data-form-theme="orbital"] {
  --gf-color-primary: #0e70b6 !important;
  --gf-color-in-ctrl: #2d3e4e !important;
  --gf-color-in-ctrl-contrast: #f3f4f6 !important;
  --gf-ctrl-border-color: #3d5060 !important;
  --gf-radius: 0px !important;
}

/* ── Wrapper reset ── */
.gform_wrapper {
  margin: 0 !important;
  font-family: 'Barlow', sans-serif !important;
}

/* ── Fields container — grid layout ── */
.gform_wrapper .gform_fields {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 1rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Full-width fields ── */
.gform_wrapper .gfield--type-name,
.gform_wrapper .gfield--type-textarea,
.gform_wrapper .gfield--width-full,
.gform_wrapper .gfield--type-html,
.gform_wrapper .gfield--type-section {
  grid-column: 1 / -1 !important;
}

/* ── Half-width fields (phone + email) ── */
.gform_wrapper .gfield--width-half {
  grid-column: span 1 !important;
}

/* ── Footer (submit button row) ── */
.gform_wrapper .gform_footer,
.gform_wrapper .gform-footer {
  grid-column: 1 / -1 !important;
  padding: 0 !important;
  margin-top: 0.5rem !important;
}

/* ── Labels ── */
.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label {
  font-family: 'Barlow', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #9ca3af !important;
  margin-bottom: 0.375rem !important;
  display: block !important;
}

/* Hide First / Last sub-labels */
.gform_wrapper .name_first .gform-field-label--type-sub,
.gform_wrapper .name_last .gform-field-label--type-sub {
  display: none !important;
}

/* ── Inputs & Textarea ── */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"],
.gform_wrapper select,
.gform_wrapper textarea {
  width: 100% !important;
  background-color: #2d3e4e !important;
  border: 1px solid #3d5060 !important;
  border-radius: 0 !important;
  color: #f3f4f6 !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 0.9375rem !important;
  padding: 0.625rem 0.875rem !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-shadow: none !important;
  height: auto !important;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper textarea:focus {
  outline: none !important;
  border-color: #0e70b6 !important;
  background-color: #324a5a !important;
  box-shadow: none !important;
}

.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
  color: #6b7280 !important;
}

/* ── Textarea ── */
.gform_wrapper textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

/* ── Name field — First / Last side by side ── */
.gform_wrapper .ginput_container_name.gform-grid-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.75rem !important;
}

.gform_wrapper .ginput_container_name .gform-grid-col {
  display: flex !important;
  flex-direction: column-reverse !important; /* input above hidden label */
}

/* ── Field spacing ── */
.gform_wrapper .gfield {
  margin-bottom: 1rem !important;
  padding: 0 !important;
}

/* ── Submit button ── */
.gform_wrapper input[type="submit"],
.gform_wrapper button[type="submit"],
.gform_wrapper .gform_button {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background-color: #0e70b6 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0.75rem 2.5rem !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-shadow: none !important;
  display: inline-block !important;
}

.gform_wrapper input[type="submit"]:hover,
.gform_wrapper .gform_button:hover {
  background-color: #1a63bb !important;
}

/* ── Validation ── */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea {
  border-color: #ef4444 !important;
}

.gform_wrapper .gfield_error .gfield_label {
  color: #ef4444 !important;
}

.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
  color: #ef4444 !important;
  font-size: 0.8125rem !important;
  font-family: 'Barlow', sans-serif !important;
  margin-top: 0.25rem !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

.gform_wrapper .gform_validation_errors {
  display: none !important;
}

/* ── Confirmation ── */
.gform_confirmation_message {
  color: #86efac !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 1rem !important;
  padding: 1rem 0 !important;
}

/* ── Required asterisk ── */
.gform_wrapper .gfield_required {
  color: #0e70b6 !important;
  margin-left: 2px !important;
}

/* ── Remove any GF theme borders/backgrounds on containers ── */
.gform_wrapper .ginput_container,
.gform_wrapper .gform_body,
.gform_wrapper .gform-body {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* ── Nuke orbital theme's own field borders/shadows ── */
.gform-theme--orbital .gfield,
.gform-theme--orbital .ginput_container {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
