/*
 * Gravity Forms look (ported from the old theme's Gravity Forms module: vestelli-avalon/modules/gravity-forms/css/frontend.css).
 * The old module wrapped each form in .avalon-gravity-forms-wrapper; here the rules apply to every form.
 */

.gform_wrapper {
  margin: 20px 0;
  width: 100%;
}

/* Ensure Gravity Forms styles are applied */
.gform_wrapper {
  max-width: 100%;
  font-family: 'Roboto', sans-serif;
}

/* Field spacing */
.gform_wrapper .gfield,
.gform_wrapper .gform_fields .gfield {
  margin-bottom: 24px !important;
}

/* Labels - Blue and light */
.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label {
  color: #012b55 !important;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
  display: block;
}

.gform_wrapper legend.gfield_label,
.gform_wrapper legend.gform-field-label {
  color: #012b55 !important;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 12px;
}

/* Required indicator */
.gform_wrapper .gfield_required {
  color: #012b55 !important;
  opacity: 0.7;
}

/* Input fields - Add padding */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="date"],
.gform_wrapper input[type="time"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="password"],
.gform_wrapper textarea {
  padding: 12px 16px !important;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  border: 1px solid #e0e0e0;
  border-radius: 0;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  background-color: #ffffff;
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="date"]:focus,
.gform_wrapper input[type="time"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="password"]:focus,
.gform_wrapper textarea:focus {
  outline: none;
  border-color: #012b55;
  box-shadow: 0 0 0 2px rgba(1, 43, 85, 0.1);
}

/* Select dropdowns */
.gform_wrapper select {
  padding: 12px 16px !important;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  border: 1px solid #e0e0e0;
  border-radius: 0;
  width: 100%;
  box-sizing: border-box;
  background-color: #ffffff;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23012b55' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 40px !important;
  appearance: none;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.gform_wrapper select:focus {
  outline: none;
  border-color: #012b55;
  box-shadow: 0 0 0 2px rgba(1, 43, 85, 0.1);
}

/* Radio buttons */
.gform_wrapper .gfield_radio {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
}

.gform_wrapper .gfield_radio .gchoice {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gform_wrapper .gfield_radio input[type="radio"] {
  width: 18px;
  height: 18px;
  margin: 0;
  cursor: pointer;
  accent-color: #012b55;
}

.gform_wrapper .gfield_radio label {
  color: #333333;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  margin: 0;
}

/* Checkboxes */
.gform_wrapper .gfield_checkbox {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
}

.gform_wrapper .gfield_checkbox .gchoice {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gform_wrapper .gfield_checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
  cursor: pointer;
  accent-color: #012b55;
}

.gform_wrapper .gfield_checkbox label {
  color: #333333;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  margin: 0;
}

/* Submit button */
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"] {
  background-color: #012b55 !important;
  color: #ffffff !important;
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
  font-weight: 600;
  padding: 12px 32px !important;
  border: none !important;
  border-radius: 0;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
  display: inline-block;
  margin-top: 8px;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover {
  background-color: #001d3d !important;
  transform: translateY(-1px);
}

.gform_wrapper .gform_button:active,
.gform_wrapper input[type="submit"]:active {
  transform: translateY(0);
}

/* Field descriptions */
.gform_wrapper .gfield_description {
  color: #666666;
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  margin-top: 6px;
  font-style: italic;
}

/* Validation errors */
.gform_wrapper .gfield_validation_message {
  color: #d32f2f;
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  margin-top: 6px;
}

.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea {
  border-color: #d32f2f !important;
}

/* Success message */
.gform_wrapper .gform_confirmation_message {
  background-color: #d4edda;
  color: #155724;
  padding: 16px;
  border-radius: 0;
  border: 1px solid #c3e6cb;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  margin: 20px 0;
}

/* Responsive styles */
@media (max-width: 768px) {
  .gform_wrapper {
    margin: 15px 0;
  }
  
  .gform_wrapper .gfield,
  .gform_wrapper .gform_fields .gfield {
    margin-bottom: 20px !important;
  }
  
  .gform_wrapper input[type="text"],
  .gform_wrapper input[type="email"],
  .gform_wrapper input[type="tel"],
  .gform_wrapper input[type="number"],
  .gform_wrapper select,
  .gform_wrapper textarea {
    padding: 10px 14px !important;
    font-size: 16px; /* Prevent zoom on iOS */
  }
  
  .gform_wrapper .gform_button,
  .gform_wrapper input[type="submit"] {
    width: 100%;
    padding: 14px 24px !important;
  }
}

p.gform_required_legend {
  display: none !important;
}

.gform_wrapper .gfield {
  margin-bottom: 0px !important;
}