/**
 * File: wp-content/themes/visioncraft/assets/css/gravity-forms.css
 * Purpose: Gravity Forms 출력 마크업을 VisionCraft 디자인 시스템(Input/Select/Textarea/Button)과
 *          동일하게 보이도록 재정의. inc/gravity-forms.php 에서 GF 플러그인 활성화 시에만 로드됩니다.
 *          GF 2.5+ 의 Orbital/기본 테마 클래스(.gform_wrapper.gravity-theme)를 기준으로 작성했습니다.
 */

.gform_wrapper.gravity-theme,
.gform_wrapper {
  --gf-color-primary: var(--accent);
  --gf-color-primary-rgb: 21, 160, 110;
  font-family: var(--font-sans);
}

/* Field container spacing */
.gform_wrapper .gform_fields { gap: var(--space-5) var(--space-5); }
.gform_wrapper .gfield { margin-bottom: 0; }

/* Labels */
.gform_wrapper .gfield_label,
.gform_wrapper legend.gfield_label {
  font-family: var(--font-sans);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: var(--text-strong);
  margin-bottom: 7px;
  padding: 0;
}
.gform_wrapper .gfield_required { color: var(--danger); margin-left: 3px; }

/* Text inputs, selects, textareas */
.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 input[type="password"],
.gform_wrapper input[type="date"],
.gform_wrapper select,
.gform_wrapper textarea {
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  font-family: var(--font-sans);
  font-size: 15px;
  color: var(--text-strong);
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: none;
  transition: border-color var(--dur), box-shadow var(--dur);
}
.gform_wrapper textarea { padding: 12px 14px; min-height: 120px; line-height: var(--lh-normal); }

.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
  border-color: var(--border-focus);
  box-shadow: var(--focus-ring);
  outline: none;
}
.gform_wrapper ::placeholder { color: var(--text-faint); }

/* Description / hint text */
.gform_wrapper .gfield_description,
.gform_wrapper .gform_fileupload_rules {
  font-size: var(--fs-xs);
  color: var(--text-muted);
  padding-top: 6px;
}

/* Validation errors */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea { border-color: var(--danger); }
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
  font-size: var(--fs-xs);
  color: var(--danger);
  background: transparent;
  border: 0;
  padding: 6px 0 0;
}
.gform_wrapper .gform_validation_errors {
  background: #FDECEC;
  border: 1px solid var(--danger);
  border-radius: var(--radius-md);
  box-shadow: none;
  color: var(--danger);
  padding: var(--space-4);
}
.gform_wrapper .gform_validation_errors > h2 { color: var(--danger); font-size: var(--fs-sm); }

/* Checkboxes & radios */
.gform_wrapper .gfield-choice-input { accent-color: var(--accent); width: 18px; height: 18px; }
.gform_wrapper .gchoice label { font-size: var(--fs-sm); color: var(--text-body); }

/* Submit / next / previous buttons -> accent button */
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_page_footer input[type="submit"],
.gform_wrapper .gform_footer button,
.gform_wrapper .gform_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 28px;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-snug);
  color: #fff;
  background: var(--accent);
  border: 1px solid var(--accent);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: background var(--dur) var(--ease-out), transform var(--dur-fast);
}
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_button:hover { background: var(--accent-hover); }
.gform_wrapper .gform_footer input[type="submit"]:active { transform: translateY(1px); }

/* Confirmation message */
.gform_confirmation_message {
  background: var(--accent-soft);
  border: 1px solid var(--green-200);
  border-radius: var(--radius-md);
  padding: var(--space-5) var(--space-6);
  color: var(--green-700);
  font-weight: var(--fw-medium);
}

/* Progress bar (multi-page forms) */
.gform_wrapper .gf_progressbar_percentage { background: var(--accent); }
.gform_wrapper .gf_progressbar { background: var(--surface-sunken); border-radius: var(--radius-pill); }

/* Inside an inverse/CTA section, lighten labels for contrast */
.vc-section--inverse .gform_wrapper .gfield_label,
.vc-card--form-dark .gform_wrapper .gfield_label { color: var(--text-strong); }
