/* Global input/textarea padding (loads with theme, overrides utility padding) */
input,
textarea {
  padding: 10px !important;
}

/* Contact Form 7 — match React Contact page (space-y-6, space-y-2, label/input styles) */

/* Form: space-y-6 between field groups (1.5rem) */
.jemrock-cf7-form .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Each field group: space-y-2 between label and input (0.5rem) */
.jemrock-cf7-form .wpcf7-form > p,
.jemrock-cf7-form .wpcf7-form > div {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin: 0;
}

/* Label — match React Label (text-sm font-medium leading-none) */
.jemrock-cf7-form .wpcf7-form label {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  color: hsl(var(--foreground));
}

/* Required asterisk / (required) text — match text-destructive */
.jemrock-cf7-form .wpcf7-form label .required,
.jemrock-cf7-form .wpcf7-form .wpcf7-list-item-label .required {
  color: hsl(var(--destructive));
}

/* Hide extra <br> after label so gap controls spacing */
.jemrock-cf7-form .wpcf7-form > p > br:first-child,
.jemrock-cf7-form .wpcf7-form > div > br:first-child {
  display: none;
}

/* Inputs — match React (h-10, rounded-md, border, etc.) */
.jemrock-cf7-form .wpcf7-form-control:not([type="submit"]):not([type="checkbox"]):not([type="radio"]) {
  display: flex;
  height: 2.5rem;
  width: 100%;
  border-radius: 0.375rem;
  border: 1px solid hsl(var(--input));
  background-color: hsl(var(--background));
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: hsl(var(--foreground));
}
.jemrock-cf7-form .wpcf7-form-control::placeholder {
  color: hsl(var(--muted-foreground));
}
.jemrock-cf7-form .wpcf7-form-control:not([type="submit"]):focus {
  outline: none;
  box-shadow: 0 0 0 2px hsl(var(--background)), 0 0 0 4px hsl(var(--ring));
}
.jemrock-cf7-form textarea.wpcf7-form-control {
  min-height: 80px;
  resize: vertical;
}

/* Submit — match React Button (w-full bg-gold hover:bg-gold/90) */
.jemrock-cf7-form .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 3rem;
  padding-left: 2rem;
  padding-right: 2rem;
  font-size: 1rem;
  font-weight: 500;
  border-radius: 0.375rem;
  border: 0;
  background-color: hsl(var(--gold));
  color: hsl(var(--primary-foreground));
  cursor: pointer;
  transition: all 0.3s;
}
.jemrock-cf7-form .wpcf7-submit:hover {
  background-color: hsl(var(--gold) / 0.9);
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
}

/* Validation & response messages */
.jemrock-cf7-form .wpcf7-not-valid-tip {
  font-size: 0.875rem;
  color: hsl(var(--destructive));
}
.jemrock-cf7-form .wpcf7-response-output {
  margin: 0;
  margin-top: 0.25rem;
  padding: 0.75rem;
  border-radius: 0.375rem;
}
.jemrock-cf7-form .wpcf7-mail-sent-ok {
  border: 1px solid hsl(var(--gold) / 0.5);
  background: hsl(var(--gold) / 0.1);
  color: hsl(var(--foreground));
}
.jemrock-cf7-form .wpcf7-validation-errors {
  border: 1px solid hsl(var(--destructive) / 0.5);
  background: hsl(var(--destructive) / 0.1);
  color: hsl(var(--destructive));
}
