/* ==========================================
   Gravity Forms Custom Styling - Casa Pretal
   ========================================== */

.gform_wrapper {
  margin: 0 auto !important;
  max-width: 100% !important;
  font-family: var(--font-body) !important;
}

.gform_wrapper form {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--spacing-lg) !important;
}

.gform_wrapper .gform_heading {
  text-align: center !important;
  margin-bottom: var(--spacing-lg) !important;
}

.gform_wrapper .gform_title {
  font-family: var(--font-heading) !important;
  font-size: var(--fs-2xl) !important;
  color: var(--color-bronze) !important;
  margin-bottom: var(--spacing-xs) !important;
}

.gform_wrapper .gform_description {
  font-size: var(--fs-sm) !important;
  color: rgba(252, 249, 244, 0.6) !important;
}

/* Fields Grid & Layout */
.gform_wrapper .gform_fields {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: var(--spacing-md) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .gform_wrapper .gform_fields {
    grid-template-columns: 1fr !important;
  }
}

.gform_wrapper .gfield {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.4rem !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

/* Full width fields (e.g. textareas or full-width rows) */
.gform_wrapper .gfield.gfield--width-full,
.gform_wrapper .gfield_html,
.gform_wrapper .gfield--type-textarea {
  grid-column: 1 / -1 !important;
}

/* Labels */
.gform_wrapper .gfield_label {
  font-size: var(--fs-sm) !important;
  font-weight: var(--fw-medium) !important;
  color: rgba(252, 249, 244, 0.7) !important;
  margin: 0 !important;
  display: inline-block !important;
}

.gform_wrapper .gfield_required {
  color: var(--color-bronze) !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="number"],
.gform_wrapper input[type="date"],
.gform_wrapper input[type="time"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="password"],
.gform_wrapper select,
.gform_wrapper textarea {
  width: 100% !important;
  padding: 0.8rem 1rem !important;
  background: rgba(26, 15, 10, 0.6) !important;
  border: 1px solid rgba(212, 165, 116, 0.15) !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-off-white) !important;
  font-size: var(--fs-sm) !important;
  font-family: var(--font-body) !important;
  box-sizing: border-box !important;
  transition: border-color var(--transition-base), box-shadow var(--transition-base) !important;
}

.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
  color: rgba(252, 249, 244, 0.3) !important;
}

.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
  outline: none !important;
  border-color: var(--color-bronze) !important;
  box-shadow: 0 0 0 2px rgba(212, 165, 116, 0.15) !important;
}

.gform_wrapper select option {
  background: var(--color-dark) !important;
  color: var(--color-off-white) !important;
}

.gform_wrapper input::-webkit-calendar-picker-indicator {
  filter: invert(0.7) !important;
}

/* Submit Button Container & Button */
.gform_wrapper .gform_footer {
  grid-column: 1 / -1 !important;
  margin-top: var(--spacing-sm) !important;
  padding: 0 !important;
  text-align: center !important;
}

.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 1rem !important;
  background: var(--color-bronze) !important;
  color: var(--color-dark) !important;
  font-family: var(--font-body) !important;
  font-size: var(--fs-base) !important;
  font-weight: var(--fw-semibold) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border: none !important;
  border-radius: var(--radius-md) !important;
  cursor: pointer !important;
  transition: all var(--transition-base) !important;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover {
  background: var(--color-bronze-light) !important;
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-glow) !important;
}

/* Validation & Confirmation */
.gform_confirmation_wrapper {
  padding: var(--spacing-2xl) var(--spacing-lg) !important;
  text-align: center !important;
  background: linear-gradient(135deg, rgba(42, 24, 16, 0.5) 0%, rgba(42, 24, 16, 0.2) 100%) !important;
  border: 1px solid rgba(212, 165, 116, 0.2) !important;
  border-radius: var(--radius-xl) !important;
}

.gform_confirmation_message {
  font-family: var(--font-heading) !important;
  font-size: var(--fs-xl) !important;
  color: var(--color-bronze) !important;
  line-height: 1.6 !important;
}

.gfield_error input,
.gfield_error select,
.gfield_error textarea {
  border-color: #e74c3c !important;
}

.gfield_validation_message,
.gform_validation_errors {
  color: #e74c3c !important;
  font-size: var(--fs-xs) !important;
  margin-top: 0.2rem !important;
}
