/* Gravity Forms Minimal Reset using Project Variables */
.gform_wrapper {
  max-width: 600px;
  margin: 0 auto;
  padding: var(--spacing-lg) var(--spacing-md);
  font-family: var(--font-family-base);
  color: var(--text-color);
}

/* Field Labels */
.gfield_label {
  display: block;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-sm);
}

/* Inputs, Textareas, Selects */
.ginput_container input[type="text"],
.ginput_container input[type="email"],
.ginput_container input[type="number"],
.ginput_container input[type="url"],
.ginput_container input[type="tel"],
.ginput_container input[type="password"],
.ginput_container textarea,
.ginput_container select {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid var(--input-border);
  border-radius: var(--radius-sm);
  background: var(--input-bg);
  font-size: var(--font-size-base);
  color: var(--input-text);
  transition: var(--e-global-transition);
}

/* Space between each field */
.gform_wrapper .gfield {
  margin-bottom: var(--spacing-md, 1rem);
}

/* Space around the whole form */
.gform_wrapper form {
  padding-top: var(--spacing-lg, 2rem);
  padding-bottom: var(--spacing-lg, 2rem);
}

/* Space around Confirmations */
.gform_confirmation_message {
  margin-top: var(--spacing-lg, 2rem);
}

/* Section Fields */
.gform_wrapper .gsection {
  font-family: var(--font-heading, 'Poppins', sans-serif);
  font-size: clamp(1.25rem, 3vw, 1.5rem);
  font-weight: var(--font-weight-bold, 700);
  color: var(--primary-color, #2DA2E5);
  margin: var(--spacing-lg, 2rem) 0 var(--spacing-md, 1rem);
  padding-bottom: var(--spacing-sm, 0.5rem);
  border-bottom: 2px solid var(--primary-color, #2DA2E5);
}

/* Optional: Space above and below Section Descriptions */
.gform_wrapper .gsection_description {
  margin-top: var(--spacing-sm, 0.5rem);
  margin-bottom: var(--spacing-md, 1rem);
  font-family: var(--font-body, 'Roboto', sans-serif);
  font-size: clamp(0.9rem, 2.5vw, 1rem);
  color: var(--text-color, #333);
  line-height: 1.4;
}

.ginput_container input:focus,
.ginput_container textarea:focus,
.ginput_container select:focus {
  border-color: var(--input-focus-border);
  outline: none;
}

/* Radio & Checkboxes */
.gfield_radio li,
.gfield_checkbox li {
  margin-bottom: var(--spacing-sm);
}

.gfield_radio input,
.gfield_checkbox input {
  margin-right: var(--spacing-xs);
}

/* Description / Help Text */
.gfield_description {
  font-size: var(--font-size-sm);
  color: var(--input-placeholder);
  margin-top: var(--spacing-xs);
}

/* Validation & Error States */
.gfield_error input,
.gfield_error textarea,
.gfield_error select {
  border-color: var(--accent-color);
}

.validation_message {
  color: var(--accent-color);
  font-size: var(--font-size-sm);
  margin-top: var(--spacing-xs);
}

/* Submit Button */
.gform_wrapper .gform_button {
  display: inline-block;
  background-color: var(--brand-tertiary, #FF5820);
  color: var(--brand-quinary, #F3F6FF);
  border: none;
  border-radius: var(--radius-md, 6px);
  padding: clamp(0.5rem, 2vw, 0.75rem) clamp(1rem, 4vw, 1.5rem); /* Responsive padding */
  font-size: clamp(1rem, 2.5vw, 1.125rem); /* Responsive font size */
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.3s, transform 0.1s ease;
}

/* Hover + Focus State */
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_button:focus {
  background-color: var(--brand-quaternary, #EF8B36);
  color: var(--brand-quinary, #F3F6FF);
}

/* Active/Click Feedback */
.gform_wrapper .gform_button:active {
  transform: scale(0.98);
  background-color: var(--brand-quaternary, #EF8B36);
  color: var(--brand-quinary, #F3F6FF);
}

/* Disabled State */
.gform_wrapper .gform_button[disabled] {
  background-color: #ccc;
  cursor: not-allowed;
}

/* Confirmation Message */
.gform_confirmation_message {
  background-color: #f0fdf4;
  border: 1px solid #c3e6cb;
  padding: var(--spacing-md);
  border-radius: var(--radius-sm);
  color: #155724;
  margin-top: var(--spacing-lg);
  font-size: var(--font-size-base);
  text-align: center;
}

@media (max-width: 768px) {
  .gform_wrapper {
    padding: var(--spacing-md);
  }

  .ginput_container input[type="text"],
  .ginput_container input[type="email"],
  .ginput_container input[type="number"],
  .ginput_container input[type="url"],
  .ginput_container input[type="tel"],
  .ginput_container input[type="password"],
  .ginput_container textarea,
  .ginput_container select {
    padding: 0.5rem 0.75rem;
    font-size: var(--font-size-sm);
  }

  .gform_button {
    padding: 0.65rem 1.2rem;
    font-size: var(--font-size-base);
  }
}