/* General form and Gravity Forms presentation. */

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/

.content-gate-form__excerpt {
  position: relative;
  max-height: 10rem;
  margin-bottom: 0;
  overflow: hidden;
}

.content-gate-form__excerpt::after {
  position: absolute;
  inset: auto 0 0;
  height: 10rem;
  background: linear-gradient(transparent, var(--wp--preset--color--white-gray));
  content: "";
  pointer-events: none;
}

.content-gate-form__divider {
  width: 100%;
  margin-block: var(--wp--preset--spacing--2-xl);
  border: 0;
  opacity: 0.5;
}
@media (min-width: 783px) {

  .content-gate-form__divider {
    margin-block-end: var(--wp--preset--spacing--6-xl);
  }
}

.content-gate-form__intro {
  margin: 0 auto;
}

.content-gate-form__intro > * {
  max-width: none;
  margin-inline: 0;
}

.content-gate-form__form {
  margin-inline: auto;
}

.gform-theme--framework {

  .gform-field-label__text {
    text-transform: uppercase;
  }

  .gform_button {
    text-transform: uppercase !important;
  }

  --gf-radius: 0.25rem !important;
  --gf-ctrl-radius: 0.25rem !important;
  --gf-ctrl-shadow: none !important;
  --gf-ctrl-font-size: var(--wp--preset--font-size--lg) !important;
  --gf-ctrl-size: 3.75rem !important;
  --gf-ctrl-line-height: 1.2 !important;
  --gf-form-gap-y: 1rem !important;
  --gf-form-footer-margin-y-start: 2rem !important;
  --gf-color-danger: #8f1600 !important;
  --gf-color-danger-rgb: 143, 22, 0 !important;

  /* Shared field sizing for the theme's form controls. */
  --gf-ctrl-padding-x: 1rem !important;
  --gf-ctrl-padding-y: 1rem !important;

  /* Keep GF primary buttons visually identical on hover. */
  --gf-color-primary: var(--wp--preset--color--rich-black) !important;
  --gf-color-primary-darker: var(--gf-color-primary) !important;
  --gf-color-in-ctrl-primary-darker: var(--gf-color-in-ctrl-primary) !important;
  --gf-ctrl-btn-bg-color-hover-primary: var(--gf-ctrl-btn-bg-color-primary) !important;
  --gf-ctrl-btn-color-hover-primary: var(--gf-ctrl-btn-color-primary) !important;
  --gf-ctrl-btn-icon-color-hover-primary: var(--gf-ctrl-btn-icon-color-primary) !important;
  --gf-ctrl-btn-bg-color-hover-ctrl: var(--gf-color-primary) !important;
  --gf-ctrl-btn-icon-color-hover-ctrl: var(--gf-ctrl-btn-icon-color-ctrl) !important;

  /* Match Gravity Forms labels to the theme's small uppercase treatment. */
  --gf-ctrl-label-font-size-primary: var(--wp--preset--font-size--small) !important;

  --gf-ctrl-btn-padding-x: 1.25rem !important;
  --gf-ctrl-btn-padding-y: 1.35rem !important;
  --gf-ctrl-btn-font-weight: 700 !important;
  --gf-ctrl-btn-icon-gap: 0.5rem !important;

  --gf-ctrl-border-color-focus: var(--wp--preset--color--rich-black) !important;
  --gf-ctrl-outline-color-focus: var(--wp--preset--color--rich-black) !important;
  --gf-ctrl-outline-width-focus: 2px !important;
  --gf-ctrl-outline-offset: 3px !important;

  /* Keep validation notices plain and aligned with the theme text color. */
  --gf-form-validation-bg-color: transparent !important;
  --gf-form-validation-border-color: var(--wp--preset--color--rich-black) !important;
  --gf-form-validation-border-width: 1px !important;
  --gf-form-validation-heading-color: var(--wp--preset--color--rich-black) !important;
  --gf-form-validation-heading-icon-bg-color: rgba(var(--gf-color-danger-rgb), 0.12) !important;
  --gf-form-validation-heading-icon-border-color: transparent !important;
  --gf-form-validation-heading-icon-color: var(--gf-color-danger) !important;
  --gf-form-validation-shadow: none !important;
  --gf-form-validation-summary-color: var(--wp--preset--color--rich-black) !important;

  .gform_button.wp-element-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: normal !important;
    gap: 0.5rem;
    padding: 1.35rem 1.25rem !important;
    font-size: var(--wp--preset--font-size--small) !important;
    line-height: var(--wp--preset--font-size--small) !important;
    box-shadow: none !important;
  }

  .gform_button.wp-element-button:hover,
  .gform_button.wp-element-button:focus-visible {
    transform: translateY(-0.125rem);
    box-shadow: var(--wp--preset--shadow--emphasis-light) !important;
  }
}

/* Native select needs an explicit right-side padding for the dropdown icon. */

.gform-theme--framework select.gfield_select {
  color: var(--gf-ctrl-color);
  min-height: var(--gf-ctrl-size) !important;
  padding: var(--gf-ctrl-padding-y) calc(var(--gf-ctrl-select-icon-size) + (var(--gf-ctrl-padding-x) * 2)) var(--gf-ctrl-padding-y) var(--gf-ctrl-padding-x) !important;
  line-height: var(--gf-ctrl-line-height) !important;
}

/* The required asterisk should read like inline text, not a superscript. */

.gform-theme--framework .gfield_required_asterisk {
  display: inline-block;
  font-size: 2em;
  line-height: 1;
  vertical-align: baseline;
  transform: translateY(0.35em);
}

/* Keep textual required indicators compact while matching the label casing. */

.gform-theme--framework .gfield_required_text,
.gform-theme--framework .gfield_required_custom {
  font-size: 0.875em;
  text-transform: uppercase;
}

.gform-theme--framework .gform_footer {
  padding-block: 0.75rem 1rem;
}

.gform-theme--framework .gform_required_legend {
  font-size: var(--wp--preset--font-size--small);
  line-height: 1.4;
}

/* Give the newsletter opt-in breathing room and match field input text sizing. */

.gform-theme--framework .cimcorp-gf-subscribe-checkbox {
  padding-block-start: 1.25rem;
}

.gform-theme--framework .cimcorp-gf-subscribe-checkbox .gfield_label,
.gform-theme--framework .cimcorp-gf-subscribe-checkbox .gform-field-label__text,
.gform-theme--framework .cimcorp-gf-subscribe-checkbox .gform-field-label--type-inline,
.gform-theme--framework .cimcorp-gf-subscribe-checkbox .gchoice label,
.gform-theme--framework .cimcorp-gf-subscribe-checkbox label {
  font-size: var(--gf-ctrl-font-size) !important;
  line-height: 1.3 !important;
}

/* Keep the privacy policy note visually secondary below the main fields. */

.gform-theme--framework .cimcorp-gf-privacy-policy,
.gform-theme--framework .cimcorp-gf-privacy-policy p,
.gform-theme--framework .cimcorp-gf-privacy-policy a {
  font-size: var(--wp--preset--font-size--small) !important;
  line-height: 1.4 !important;
}

/* Remove Gravity Forms' tinted field-level validation treatment. */

.gform-theme--framework .gfield_validation_message,
.gform-theme--framework .validation_message {
  color: var(--wp--preset--color--rich-black) !important;
  background: transparent !important;
  border: 0 !important;
  padding-inline: 0 !important;
}

.gform-theme--framework .gfield--type-phone .gform-phone__input-wrapper {
  align-items: stretch !important;
}

/* Force the phone country trigger and input to share the same control height. */

.gform-theme--framework .gfield--type-phone .gform-phone__country-selector,
.gform-theme--framework .gfield--type-phone .gform-phone__input {
  min-height: var(--gf-ctrl-size) !important;
  height: var(--gf-ctrl-size) !important;
}

.gform-theme--framework .gfield--type-phone .gform-phone__country-selector {
  padding-block: var(--gf-ctrl-padding-y) !important;
  padding-inline: var(--gf-ctrl-padding-x) !important;
  line-height: var(--gf-ctrl-line-height) !important;
}

.gform-theme--framework .gfield--type-phone .gform-phone__input {
  line-height: var(--gf-ctrl-line-height) !important;
}
