/* Gravity Forms Custom Styling - Aggressive Override */

/* Form Container with Background Box */
.gform_wrapper.gform-theme,
.gform_wrapper.gform-theme--orbital {
  max-width: 100% !important;
  margin: 0 !important;
  background-color: rgba(255, 255, 255, 0.8) !important;
  padding: var(--space-2xl) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: none !important;
}

.gform_wrapper .gform_body {
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 767px) {
  .gform_wrapper.gform-theme,
  .gform_wrapper.gform-theme--orbital {
    padding: var(--space-lg) !important;
  }
}

/* Hide default heading */
.gform_wrapper .gform_heading {
  display: none !important;
}

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

/* Section Breaks */
.gform_wrapper .gsection {
  margin-bottom: var(--space-lg) !important;
  margin-top: 0 !important;
  padding-bottom: 0 !important;
  padding-top: 0 !important;
  border: none !important;
  background: transparent !important;
}

.gform_wrapper #field_1_10 {
  padding-top: var(--space-md) !important;
}

.gform_wrapper .gsection_title,
.gform_wrapper .gsection h3 {
  font-family: var(--font-heading) !important;
  font-size: var(--font-size-xl) !important;
  font-weight: var(--font-weight-bold) !important;
  color: var(--color-primary-purple) !important;
  margin-bottom: var(--space-md) !important;
  margin-top: 0 !important;
  padding-bottom: var(--space-md) !important;
  border-bottom: 2px solid var(--color-light-gray) !important;
}

/* Fields Container */
.gform_wrapper .gform_fields {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* Fields */
.gform_wrapper .gfield {
  margin-bottom: var(--space-lg) !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label {
  font-weight: var(--font-weight-bold) !important;
  color: var(--color-dark-gray) !important;
  margin-bottom: var(--space-sm) !important;
  display: block !important;
  font-size: var(--font-size-base) !important;
  font-family: var(--font-primary) !important;
}

.gform_wrapper .gfield_required {
  color: var(--color-primary-purple) !important;
  margin-left: 4px !important;
}

/* Input Fields */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper textarea,
.gform_wrapper select {
  width: 100% !important;
  padding: var(--space-md) !important;
  border: 2px solid var(--color-light-gray) !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--font-size-base) !important;
  font-family: var(--font-primary) !important;
  color: var(--color-dark-gray) !important;
  background-color: var(--color-white) !important;
  transition: border-color var(--transition-base), box-shadow var(--transition-base) !important;
  box-shadow: none !important;
  line-height: 1.5 !important;
  min-height: 50px !important;
  height: auto !important;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
  outline: none !important;
  border-color: var(--color-primary-purple) !important;
  box-shadow: 0 0 0 3px rgba(107, 63, 160, 0.1) !important;
}

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

/* Input Containers */
.gform_wrapper .ginput_container {
  margin: 0 !important;
}

/* Width Classes */
.gform_wrapper .gfield--width-full {
  width: 100% !important;
  clear: both !important;
  float: none !important;
  display: block !important;
}

.gform_wrapper .gfield--width-third {
  width: 100% !important;
  float: none !important;
  margin-right: 0 !important;
  display: block !important;
}

@media (min-width: 768px) {
  .gform_wrapper .gfield--width-third {
    width: calc(33.333% - 16px) !important;
    float: left !important;
    margin-right: 24px !important;
    display: block !important;
  }
  
  /* Remove margin from every 3rd field */
  .gform_wrapper .gfield--width-third:nth-child(3n) {
    margin-right: 0 !important;
  }
  
  /* Specific targeting for City, State, Zip sequence */
  .gform_wrapper #field_1_5,
  .gform_wrapper #field_1_6,
  .gform_wrapper #field_1_7 {
    width: calc(33.333% - 16px) !important;
    float: left !important;
    margin-right: 24px !important;
  }
  
  .gform_wrapper #field_1_7 {
    margin-right: 0 !important;
  }
  
  /* Clear after the zip field */
  .gform_wrapper #field_1_7 + .gfield {
    clear: left !important;
  }
}

/* Clear floats after width fields */
.gform_wrapper .gform_fields::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}

/* Submit Button */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
  margin-top: var(--space-xl) !important;
  padding: 0 !important;
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}

.gform_wrapper .gform_button,
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button,
.gform_wrapper input[type="submit"],
.gform_wrapper .button {
  display: inline-block !important;
  padding: clamp(var(--space-md), 3vw, var(--space-lg)) clamp(var(--space-lg), 4vw, var(--space-2xl)) !important;
  background-color: var(--color-primary-purple) !important;
  color: var(--color-white) !important;
  border: 2px solid var(--color-primary-purple) !important;
  border-radius: 50px !important;
  font-size: var(--font-size-lg) !important;
  font-weight: var(--font-weight-bold) !important;
  font-family: var(--font-primary) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all var(--transition-base) !important;
  box-shadow: var(--shadow-md) !important;
  line-height: 1.2 !important;
  text-align: center !important;
  margin: 0 auto !important;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_next_button:hover,
.gform_wrapper .gform_previous_button:hover,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper .button:hover {
  background-color: var(--color-primary-purple-dark) !important;
  border-color: var(--color-primary-purple-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-lg) !important;
}

.gform_wrapper .gform_button:active,
.gform_wrapper .gform_next_button:active,
.gform_wrapper .gform_previous_button:active,
.gform_wrapper input[type="submit"]:active,
.gform_wrapper .button:active {
  transform: translateY(0) !important;
}

/* Validation */
.gform_wrapper .gfield_error {
  background-color: rgba(211, 47, 47, 0.05);
  border: 2px solid var(--color-error);
  border-radius: var(--radius-md);
  padding: var(--space-md);
  margin-bottom: var(--space-lg);
}

.gform_wrapper .gfield_error .gfield_label {
  color: var(--color-error);
}

.gform_wrapper .gfield_error input[type="text"],
.gform_wrapper .gfield_error input[type="email"],
.gform_wrapper .gfield_error input[type="tel"],
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
  border-color: var(--color-error);
}

.gform_wrapper .validation_message {
  color: var(--color-error);
  font-size: var(--font-size-sm);
  margin-top: var(--space-xs);
  font-weight: var(--font-weight-bold);
}

.gform_wrapper .gfield_description.validation_message {
  padding: var(--space-sm);
  background-color: rgba(211, 47, 47, 0.1);
  border-radius: var(--radius-sm);
  margin-top: var(--space-sm);
}

/* Confirmation Message */
.gform_confirmation_wrapper {
  padding: var(--space-xl);
  background-color: rgba(107, 63, 160, 0.1);
  border: 2px solid var(--color-primary-purple);
  border-radius: var(--radius-lg);
  text-align: center;
  margin: var(--space-2xl) 0;
}

.gform_confirmation_message {
  font-size: var(--font-size-lg);
  color: var(--color-primary-purple);
  font-weight: var(--font-weight-bold);
}

/* Hide default Gravity Forms elements we don't need */
.gform_wrapper .gform_required_legend {
  display: none;
}

/* Mobile Responsive */
@media (max-width: 767px) {
  .gform_wrapper input[type="text"],
  .gform_wrapper input[type="email"],
  .gform_wrapper input[type="tel"],
  .gform_wrapper textarea,
  .gform_wrapper select {
    padding: var(--space-sm) var(--space-md);
    font-size: var(--font-size-base);
  }
  
  .gform_wrapper .gform_button,
  .gform_wrapper .gform_next_button,
  .gform_wrapper .gform_previous_button,
  .gform_wrapper input[type="submit"] {
    width: 100%;
  }
  
  .gform_wrapper .gfield--width-third {
    width: 100%;
    float: none;
    margin-right: 0;
  }
}
