/*
 * Good Shepherd Gravity Forms baseline
 * Overrides the legacy Brevity/_forms.scss uppercase/legacy font treatment.
 * Keep this file enqueued after library/css/site.min.css.
 */
:root {
  --gs-gf-text: #414040;
  --gs-gf-muted: #6c6a6a;
  --gs-gf-border: #cfd4d8;
  --gs-gf-border-focus: #051A55;
  --gs-gf-bg: #ffffff;
  --gs-gf-bg-soft: #f7f8f8;
  --gs-gf-primary: #051A55;
  --gs-gf-primary-hover: #020b25;
  --gs-gf-radius: 4px;
  --gs-gf-control-height: 50px;
}

.gform_wrapper,
.gform-theme--framework,
.gform-theme {
  color: var(--gs-gf-text) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
  text-transform: none !important;

  --gf-color-primary: var(--gs-gf-primary);
  --gf-color-in-ctrl: var(--gs-gf-text);
  --gf-color-out-ctrl: var(--gs-gf-text);
  --gf-ctrl-font-family: inherit;
  --gf-ctrl-font-size: 15px;
  --gf-ctrl-label-color-primary: var(--gs-gf-text);
  --gf-ctrl-label-color-secondary: var(--gs-gf-muted);
  --gf-ctrl-desc-color: var(--gs-gf-muted);
  --gf-ctrl-border-color: var(--gs-gf-border);
  --gf-ctrl-border-color-focus: var(--gs-gf-border-focus);
  --gf-ctrl-bg-color: var(--gs-gf-bg);
  --gf-ctrl-radius: var(--gs-gf-radius);
  --gf-ctrl-size: var(--gs-gf-control-height);
  --gf-form-gap-y: 18px;
}

.gform_wrapper *,
.gform-theme--framework *,
.gform-theme * {
  letter-spacing: normal !important;
  text-transform: none !important;
}

.gform_wrapper .gfield_label,
.gform-theme--framework .gfield_label,
.gform-theme .gfield_label,
.gform_wrapper legend.gfield_label {
  color: var(--gs-gf-text) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin-bottom: 8px !important;
  text-transform: none !important;
}

.gform_wrapper .gfield_description,
.gform_wrapper .gfield_required,
.gform_wrapper .gform-field-label--type-sub,
.gform-theme--framework .gfield_description,
.gform-theme--framework .gfield_required,
.gform-theme--framework .gform-field-label--type-sub {
  color: var(--gs-gf-muted) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}


/* Gravity Forms 2.x markup normalization: fieldset/legend + grid layout. */
.gform_wrapper fieldset.gfield,
.gform-theme--framework fieldset.gfield {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gform_wrapper legend.gfield_label,
.gform-theme--framework legend.gfield_label {
  display: block !important;
  float: none !important;
  padding: 0 !important;
  width: auto !important;
}

.gform_wrapper .gform_fields,
.gform-theme--framework .gform_fields {
  row-gap: 18px !important;
}

.gform_wrapper .ginput_complex.ginput_container,
.gform-theme--framework .ginput_complex.ginput_container,
.gform_wrapper .gform-grid-row,
.gform-theme--framework .gform-grid-row {
  align-items: flex-start !important;
  gap: 14px 18px !important;
}

.gform_wrapper .ginput_complex.ginput_container > span,
.gform-theme--framework .ginput_complex.ginput_container > span,
.gform_wrapper .gform-grid-col,
.gform-theme--framework .gform-grid-col {
  min-width: 0 !important;
}

.gform_wrapper .gform-field-label--type-sub,
.gform-theme--framework .gform-field-label--type-sub {
  color: var(--gs-gf-muted) !important;
  display: block !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  margin-top: 6px !important;
  padding: 0 !important;
}

.gform_wrapper input[type='text'],
.gform_wrapper input[type='email'],
.gform_wrapper input[type='url'],
.gform_wrapper input[type='tel'],
.gform_wrapper input[type='number'],
.gform_wrapper input[type='password'],
.gform_wrapper input[type='search'],
.gform_wrapper input[type='date'],
.gform_wrapper textarea,
.gform_wrapper select,
.gform-theme--framework input[type='text'],
.gform-theme--framework input[type='email'],
.gform-theme--framework input[type='url'],
.gform-theme--framework input[type='tel'],
.gform-theme--framework input[type='number'],
.gform-theme--framework input[type='password'],
.gform-theme--framework input[type='search'],
.gform-theme--framework input[type='date'],
.gform-theme--framework textarea,
.gform-theme--framework select {
  appearance: auto;
  background: var(--gs-gf-bg) !important;
  border: 1px solid var(--gs-gf-border) !important;
  border-radius: var(--gs-gf-radius) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: var(--gs-gf-text) !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  min-height: var(--gs-gf-control-height) !important;
  padding: 12px 14px !important;
  text-indent: 0 !important;
  text-transform: none !important;
  width: 100%;
}

.gform_wrapper textarea,
.gform-theme--framework textarea {
  min-height: 140px !important;
  resize: vertical;
}

.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus,
.gform-theme--framework input:focus,
.gform-theme--framework textarea:focus,
.gform-theme--framework select:focus {
  border-color: var(--gs-gf-border-focus) !important;
  box-shadow: 0 0 0 3px rgba(5, 26, 85, 0.12) !important;
  outline: none !important;
}

.gform_wrapper ::placeholder,
.gform-theme--framework ::placeholder {
  color: var(--gs-gf-muted) !important;
  opacity: 1 !important;
  text-transform: none !important;
}

.gform_wrapper .gfield_radio,
.gform_wrapper .gfield_checkbox,
.gform-theme--framework .gfield_radio,
.gform-theme--framework .gfield_checkbox {
  display: grid !important;
  gap: 10px !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.gform_wrapper .gchoice,
.gform_wrapper .gfield_radio li,
.gform_wrapper .gfield_checkbox li,
.gform-theme--framework .gchoice,
.gform-theme--framework .gfield_radio li,
.gform-theme--framework .gfield_checkbox li {
  align-items: center !important;
  background: transparent !important;
  display: flex !important;
  gap: 10px !important;
  height: auto !important;
  margin: 0 !important;
  text-align: left !important;
  width: 100% !important;
}

.gform_wrapper input[type='radio'],
.gform_wrapper input[type='checkbox'],
.gform-theme--framework input[type='radio'],
.gform-theme--framework input[type='checkbox'] {
  appearance: auto !important;
  display: inline-block !important;
  height: auto !important;
  margin: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  visibility: visible !important;
  width: auto !important;
}

.gform_wrapper .gchoice label,
.gform_wrapper .gfield_radio li label,
.gform_wrapper .gfield_checkbox li label,
.gform-theme--framework .gchoice label,
.gform-theme--framework .gfield_radio li label,
.gform-theme--framework .gfield_checkbox li label {
  color: var(--gs-gf-text) !important;
  display: inline !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  height: auto !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  text-indent: 0 !important;
  width: auto !important;
}

.gform_wrapper input[type='radio'] + label::before,
.gform_wrapper input[type='checkbox'] + label::before {
  content: none !important;
}


/* Gravity Forms 2.x descriptions, captcha, footer, and hidden fields. */
.gform_wrapper .gfield,
.gform-theme--framework .gfield {
  min-width: 0 !important;
}

.gform_wrapper .gfield_description,
.gform-theme--framework .gfield_description {
  color: var(--gs-gf-muted) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 8px 0 0 !important;
  text-transform: none !important;
}

.gform_wrapper .gfield--type-captcha,
.gform-theme--framework .gfield--type-captcha {
  margin: 0 !important;
}

.gform_wrapper .gfield--type-captcha > .gfield_label,
.gform-theme--framework .gfield--type-captcha > .gfield_label {
  display: none !important;
}

.gform_wrapper .ginput_recaptcha,
.gform-theme--framework .ginput_recaptcha {
  min-height: 0 !important;
}

.gform_wrapper input.gform_hidden,
.gform_wrapper input[type='hidden'],
.gform-theme--framework input.gform_hidden,
.gform-theme--framework input[type='hidden'] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  width: 0 !important;
}

.gform_wrapper .gform-footer,
.gform-theme--framework .gform-footer {
  align-items: center !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer,
.gform-theme--framework .gform_footer,
.gform-theme--framework .gform_page_footer {
  margin-top: 22px !important;
  padding-top: 0 !important;
}

.gform_wrapper input[type='submit'],
.gform_wrapper input[type='button'],
.gform_wrapper button,
.gform-theme--framework input[type='submit'],
.gform-theme--framework input[type='button'],
.gform-theme--framework button {
  appearance: none !important;
  background: var(--gs-gf-primary) !important;
  border: 2px solid var(--gs-gf-primary) !important;
  border-radius: var(--gs-gf-radius) !important;
  box-shadow: none !important;
  color: #fff !important;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  min-height: var(--gs-gf-control-height) !important;
  padding: 13px 24px !important;
  text-shadow: none !important;
  text-transform: none !important;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
  width: auto !important;
}

.gform_wrapper input[type='submit']:hover,
.gform_wrapper input[type='button']:hover,
.gform_wrapper button:hover,
.gform-theme--framework input[type='submit']:hover,
.gform-theme--framework input[type='button']:hover,
.gform-theme--framework button:hover {
  background: var(--gs-gf-primary-hover) !important;
  border-color: var(--gs-gf-primary-hover) !important;
  color: #fff !important;
}

@media (max-width: 640px) {
  .gform_wrapper input[type='submit'],
  .gform_wrapper input[type='button'],
  .gform_wrapper button,
  .gform-theme--framework input[type='submit'],
  .gform-theme--framework input[type='button'],
  .gform-theme--framework button {
    width: 100% !important;
  }
}

/* Good Shepherd v3 Gravity Forms button typography normalization — Friend direction 2026-04-29 */
.gform_wrapper input[type="submit"],
.gform_wrapper button,
.gform_wrapper .gform_button,
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button,
body .gform_wrapper input[type="submit"].gform_button,
body .gform_wrapper .button {
  letter-spacing: -0.02em !important;
}

.gform_wrapper p a,
.gform_wrapper .gform-field-label a,
.gform_wrapper .gfield_description a {
  letter-spacing: 0em !important;
}

