/* =====================================================================
   One Voice Speech & Debate — Form styling
   Styles Gravity Forms (and standard forms) to match the site mockup.
   Loaded by the One Voice theme; safe to use with any Gravity Forms theme.
   ===================================================================== */

:root{
  --ov-navy:#16263f;
  --ov-gold:#b3873a;
  --ov-gold-soft:#c8a24b;
  --ov-line:#e3dccd;
  --ov-bg:#faf7f1;
  --ov-ink:#1c1c1a;
  --ov-muted:#6f6a61;
}

/* ---- Wrapper ---- */
.gform_wrapper{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ov-ink);
}
.gform_wrapper .gform_title{
  font-family:'Fraunces',Georgia,serif;
  font-size:1.5rem;font-weight:600;margin-bottom:6px;
}
.gform_wrapper .gform_description{color:var(--ov-muted);font-size:.95rem}

/* ---- Field spacing ---- */
.gform_wrapper .gform_fields{grid-row-gap:18px}
.gform_wrapper .gfield{margin-bottom:0}

/* ---- Labels ---- */
.gform_wrapper .gfield_label,
.gform_wrapper legend.gfield_label{
  display:block;
  font-size:.78rem;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ov-ink);
  margin-bottom:7px;
}
.gform_wrapper .gfield_required,
.gform_wrapper .gfield_required .gfield_required_text{color:var(--ov-gold)}

/* ---- 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%;
  padding:13px 14px !important;
  border:1px solid var(--ov-line) !important;
  border-radius:2px !important;
  background:var(--ov-bg) !important;
  color:var(--ov-ink) !important;
  font-family:inherit;
  font-size:.95rem !important;
  line-height:1.4;
  box-shadow:none !important;
  transition:border-color .2s, background .2s;
}
.gform_wrapper textarea{min-height:96px;resize:vertical}

.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus{
  outline:none !important;
  border-color:var(--ov-gold) !important;
  background:#fff !important;
  box-shadow:0 0 0 1px var(--ov-gold) !important;
}
.gform_wrapper ::placeholder{color:#a9a295}

/* ---- Description / sublabels ---- */
.gform_wrapper .gfield_description,
.gform_wrapper .ginput_complex label,
.gform_wrapper .gform_fileupload_rules{
  color:var(--ov-muted);font-size:.8rem;
}

/* ---- Checkboxes & radios ---- */
.gform_wrapper .gchoice input[type="checkbox"],
.gform_wrapper .gchoice input[type="radio"]{accent-color:var(--ov-gold);width:auto;margin-right:8px}
.gform_wrapper .gchoice label{color:var(--ov-ink);font-size:.95rem}

/* ---- Submit button ---- */
.gform_wrapper .gform_footer{margin-top:22px;padding-top:0}
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button,
.gform_wrapper .gform_button,
.gform_wrapper input.gform_button{
  display:inline-block;
  background:var(--ov-navy) !important;
  color:#fff !important;
  border:1px solid var(--ov-navy) !important;
  border-radius:2px !important;
  padding:14px 34px !important;
  font-family:'Inter',sans-serif;
  font-weight:600;font-size:.82rem !important;
  letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;
  transition:background .25s, border-color .25s;
  width:auto;
}
.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_footer button:hover,
.gform_wrapper .gform_button:hover{
  background:var(--ov-gold) !important;
  border-color:var(--ov-gold) !important;
  color:#fff !important;
}

/* Full-width submit when the form sits in the homepage card */
.form-card .gform_wrapper .gform_footer input[type="submit"],
.form-card .gform_wrapper .gform_button{width:100%}

/* ---- Validation & confirmation ---- */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea{border-color:#c0392b !important;background:#fdf3f2 !important}
.gform_wrapper .validation_message,
.gform_wrapper .gfield_validation_message{
  color:#c0392b;font-size:.82rem;margin-top:6px;background:none;border:0;padding:4px 0;
}
.gform_wrapper .gform_validation_errors{
  border:1px solid #e6c3bd;background:#fdf3f2;border-radius:2px;
}
.gform_wrapper .gform_validation_errors .gform_submission_error{color:#c0392b;font-family:'Fraunces',serif}

.gform_confirmation_message{
  padding:14px;background:#eef6ee;border:1px solid #bcd9bc;color:#2f6b35;
  font-size:.95rem;border-radius:2px;
}

/* ---- Gravity Forms 2.7+ "orbital" theme variable overrides ---- */
.gform-theme--framework,
.gform-theme--orbital{
  --gf-ctrl-border-color:var(--ov-line);
  --gf-ctrl-border-color-focus:var(--ov-gold);
  --gf-ctrl-bg-color:var(--ov-bg);
  --gf-ctrl-bg-color-focus:#ffffff;
  --gf-ctrl-radius:2px;
  --gf-ctrl-label-color-primary:var(--ov-ink);
  --gf-color-primary:var(--ov-navy);
  --gf-color-primary-rgb:22,38,63;
  --gf-color-primary-contrast:#ffffff;
}
