/* ============================================================================
   Forge Core — Forms component
   Inputs, labels, submit buttons, quote-form styling. Tokens only.
   Scoped to .forge-form so it doesn't override WooCommerce checkout fields.
   ============================================================================ */

.forge-form {
  font-family: var(--forge-font-body);
  color: var(--forge-text);
}

.forge-form label,
.forge-form .forge-label {
  display: block;
  font-size: var(--forge-size-xs);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--forge-text-light);
  margin-bottom: var(--forge-space-xs);
}

.forge-form input[type="text"],
.forge-form input[type="email"],
.forge-form input[type="tel"],
.forge-form input[type="number"],
.forge-form input[type="file"],
.forge-form select,
.forge-form textarea {
  width: 100%;
  font-family: var(--forge-font-body);
  font-size: var(--forge-size-sm);
  font-weight: 300;
  color: var(--forge-text);
  background: var(--forge-white);
  border: 1px solid var(--forge-border);
  border-radius: var(--forge-btn-radius);
  padding: var(--forge-space-sm) var(--forge-space-md);
  margin-bottom: var(--forge-space-md);
  transition: var(--forge-transition);
  box-sizing: border-box;
}
.forge-form input:focus,
.forge-form select:focus,
.forge-form textarea:focus {
  border-color: var(--forge-gold);
  outline: none;
  box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.12);
}

.forge-form textarea { min-height: 120px; resize: vertical; }

/* Submit button — primary button styling */
.forge-form button[type="submit"],
.forge-form input[type="submit"],
.forge-form .forge-form-submit {
  background: var(--forge-gold);
  color: var(--forge-black);
  font-family: var(--forge-font-body);
  font-size: var(--forge-btn-font-size);
  font-weight: 500;
  letter-spacing: var(--forge-btn-letter-spacing);
  text-transform: uppercase;
  border: 1px solid var(--forge-gold);
  border-radius: var(--forge-btn-radius);
  padding: var(--forge-btn-padding);
  cursor: pointer;
  transition: var(--forge-transition);
}
.forge-form button[type="submit"]:hover,
.forge-form input[type="submit"]:hover,
.forge-form .forge-form-submit:hover {
  background: var(--forge-black);
  color: var(--forge-gold);
}

/* Feedback messages */
.forge-form .forge-form-error {
  background: #fdecea;
  border-left: 3px solid #c0392b;
  color: #922b21;
  font-size: var(--forge-size-sm);
  padding: var(--forge-space-sm) var(--forge-space-md);
  margin-bottom: var(--forge-space-md);
  border-radius: var(--forge-btn-radius);
}
.forge-form .forge-form-success {
  background: var(--forge-grey);
  border-left: 3px solid var(--forge-gold);
  color: var(--forge-text);
  font-size: var(--forge-size-sm);
  padding: var(--forge-space-sm) var(--forge-space-md);
  margin-bottom: var(--forge-space-md);
  border-radius: var(--forge-btn-radius);
}
