/*
 * Gravity Forms Customization – Zoho look and feel
 *
 * This stylesheet approximates the aesthetics of the Zoho Forms
 * example provided by the client. It applies a gentle gradient
 * background, centres the form inside a white card with rounded
 * corners and subtle shadow, uses the Inter font and defines
 * consistent styles for labels, inputs and buttons. All rules are
 * scoped to forms carrying the `gfcz-zoho` class to avoid
 * unintentional interference with other Gravity Forms.
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

.gform_wrapper.gfcz-zoho {
  /* Apply the pastel wallpaper gradient behind the form. */
  background: linear-gradient(180deg, rgba(255, 222, 214, 1) 0%, rgba(191, 172, 254, 1) 100%);
  padding: 40px 20px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Wrap the actual form in a centred card. Gravity Forms outputs the
   form markup inside `.gform_wrapper` but does not include a card
   element, so we simply style the immediate child form element. */
.gform_wrapper.gfcz-zoho form {
  background: #ffffff;
  max-width: 640px;
  margin: 0 auto;
  padding: 32px;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

/* Heading styles */
.gform_wrapper.gfcz-zoho .gform_heading {
  text-align: center;
  margin-bottom: 24px;
}

.gform_wrapper.gfcz-zoho .gform_heading h2 {
  color: var(--gfcz-text, #153559);
  font-size: 24px;
  font-weight: 700;
  margin: 0;
}

.gform_wrapper.gfcz-zoho .gform_heading .gform_description {
  color: #667291;
  margin-top: 8px;
  font-size: 16px;
}

/* Label styling */
.gform_wrapper.gfcz-zoho .gfield_label {
  display: block;
  font-weight: 600;
  color: var(--gfcz-text, #153559);
  margin-bottom: 6px;
}

/* Input, select and textarea styling */
.gform_wrapper.gfcz-zoho input[type="text"],
.gform_wrapper.gfcz-zoho input[type="email"],
.gform_wrapper.gfcz-zoho input[type="tel"],
.gform_wrapper.gfcz-zoho input[type="number"],
.gform_wrapper.gfcz-zoho input[type="date"],
.gform_wrapper.gfcz-zoho select,
.gform_wrapper.gfcz-zoho textarea {
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 14px;
  color: var(--gfcz-text, #153559);
  background-color: #ffffff;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.gform_wrapper.gfcz-zoho input:focus,
.gform_wrapper.gfcz-zoho select:focus,
.gform_wrapper.gfcz-zoho textarea:focus {
  border-color: var(--gfcz-primary, #dd216e);
  box-shadow: 0 0 0 3px rgba(221, 33, 110, 0.2);
  outline: none;
}

/* Choice fields: ensure radio/checkbox options have spacing and aligned labels */
.gform_wrapper.gfcz-zoho .gfield_radio li,
.gform_wrapper.gfcz-zoho .gfield_checkbox li {
  margin-bottom: 8px;
  display: flex;
  align-items: center;
}

/* Buttons at the bottom of each page */
.gform_wrapper.gfcz-zoho .gform_page_footer,
.gform_wrapper.gfcz-zoho .gform_footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 24px;
  gap: 10px;
}

.gform_wrapper.gfcz-zoho .gform_previous_button,
.gform_wrapper.gfcz-zoho .gform_next_button,
.gform_wrapper.gfcz-zoho .gform_button {
  border: none;
  border-radius: 8px;
  padding: 10px 20px;
  font-weight: 600;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.2;
  transition: background 0.2s, color 0.2s;
}

.gform_wrapper.gfcz-zoho .gform_next_button,
.gform_wrapper.gfcz-zoho .gform_button {
  background: var(--gfcz-primary, #dd216e);
  color: #ffffff;
}

.gform_wrapper.gfcz-zoho .gform_previous_button {
  background: #e5e7eb;
  color: #111827;
}

.gform_wrapper.gfcz-zoho .gform_next_button:hover,
.gform_wrapper.gfcz-zoho .gform_button:hover {
  background: #c1185d;
}

.gform_wrapper.gfcz-zoho .gform_previous_button:hover {
  background: #d1d5db;
}

/* Adjust error message styling to stand out slightly */
.gform_wrapper.gfcz-zoho .gform_validation_errors {
  border: 1px solid var(--gfcz-primary, #dd216e);
  background: rgba(221, 33, 110, 0.05);
  padding: 15px 20px;
  border-radius: 8px;
  color: var(--gfcz-text, #153559);
  margin-bottom: 20px;
}

/* Spacing between fields */
.gform_wrapper.gfcz-zoho .gfield {
  margin-bottom: 16px;
}

/* File upload field adjustments */
.gform_wrapper.gfcz-zoho .ginput_container_fileupload .button {
  background: var(--gfcz-primary, #dd216e);
  color: #ffffff;
  border: none;
  border-radius: 6px;
  padding: 8px 12px;
}

.gform_wrapper.gfcz-zoho .ginput_container_fileupload .fileupload-input {
  margin-top: 8px;
}

/* Reduce bottom margin on the final field before buttons */
.gform_wrapper.gfcz-zoho .gfield:last-of-type {
  margin-bottom: 0;
}