/* Gravity Forms 3 / Orbital theme integration for the quote-request block. */

.km-gravity-form-shell .gform-theme--framework {
  --gf-color-primary: var(--km-color-teal);
  --gf-ctrl-bg-color: var(--km-color-white);
  --gf-ctrl-border-color: #91a4af;
  --gf-ctrl-border-color-focus: var(--km-color-teal);
  --gf-ctrl-radius: 7px;
  --gf-ctrl-outline-color-focus: #ffdd35;
  --gf-ctrl-outline-offset: 2px;
  --gf-ctrl-outline-width-focus: 3px;
  --gf-ctrl-color: var(--km-color-navy-deep);
  --gf-ctrl-accent-color: var(--km-color-teal);
  --gf-ctrl-size: 54px;
  --gf-ctrl-padding-x: 15px;
  --gf-ctrl-font-family: var(--km-font-sans);
  --gf-ctrl-font-size: 16px;
  --gf-ctrl-label-color-primary: var(--km-color-navy);
  --gf-ctrl-label-font-size-primary: 0.78rem;
  --gf-ctrl-label-font-weight-primary: 750;
  --gf-ctrl-label-color-req: var(--km-color-teal-dark);
  --gf-ctrl-btn-bg-color-primary: var(--km-color-teal);
  --gf-ctrl-btn-bg-color-hover-primary: var(--km-color-teal-dark);
  --gf-ctrl-btn-color-primary: #fff;
  --gf-ctrl-btn-radius: 6px;
  --gf-ctrl-btn-size: 48px;
  --gf-form-gap-x: 24px;
  --gf-form-gap-y: 24px;
}

.km-gravity-form-shell .gform_wrapper {
  padding: clamp(30px, 5vw, 54px);
  border: 1px solid var(--km-color-line);
  border-radius: 12px;
  background: var(--km-color-white);
  box-shadow: 0 18px 44px rgba(7, 59, 92, 0.08);
}

.km-gravity-form-shell .gform_title {
  color: var(--km-color-navy);
  font-family: var(--km-font-serif);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
}

.km-gravity-form-shell .gform_description,
.km-gravity-form-shell .gfield_description {
  color: var(--km-color-ink-soft);
}

.km-gravity-form-shell .gsection {
  margin-top: 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--km-color-line);
}

.km-gravity-form-shell .gsection_title {
  color: var(--km-color-navy);
  font-family: var(--km-font-serif);
  font-size: 1.48rem;
}

.km-gravity-form-shell .gfield--type-radio[id$="_6"] .gfield_radio {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.km-gravity-form-shell .gfield--type-radio[id$="_6"] .gchoice {
  display: flex;
  min-height: 54px;
  align-items: center;
  padding: 11px 15px;
  border: 1px solid #91a4af;
  border-radius: 7px;
  gap: 10px;
}

.km-gravity-form-shell .gfield--type-radio[id$="_6"] .gchoice:has(input:checked) {
  padding: 10px 14px;
  border: 2px solid var(--km-color-teal);
  background: var(--km-color-ice);
}

.km-gravity-form-shell .gfield--type-consent {
  padding: 18px;
  border: 1px solid #c8e0de;
  border-radius: 8px;
  background: var(--km-color-ice);
}

.km-gravity-form-shell .gform_confirmation_message {
  padding: 24px;
  border: 1px solid var(--km-color-teal);
  border-radius: 8px;
  background: var(--km-color-ice);
  color: var(--km-color-navy);
}

.km-gravity-form-shell .gform_validation_errors,
.km-gravity-form-shell .gfield_validation_message {
  border-radius: 8px;
}

.km-integration-note {
  padding: 24px;
  border: 1px solid #e6c66e;
  border-radius: 10px;
  background: #fff3d6;
  color: #5c4c1c;
}

@media (max-width: 700px) {
  .km-gravity-form-shell .gform_wrapper {
    padding: 26px 20px;
  }

  .km-gravity-form-shell .gfield--type-radio[id$="_6"] .gfield_radio {
    grid-template-columns: 1fr;
  }
}
