.grecaptcha-badge {
  visibility: hidden !important;
}

.fp-recaptcha-disclosure {
  margin: .7rem 0 0;
  max-width: 62ch;
  color: #625d55;
  font-size: .75rem;
  line-height: 1.55;
}

.fp-recaptcha-disclosure a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .16em;
}

.fp-recaptcha-status {
  min-height: 1.5em;
  margin: .45rem 0 0;
  color: #625d55;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.45;
}

.fp-recaptcha-status:not(:empty) {
  padding: .72rem .82rem;
  border: 1px solid #b9a98e;
  border-radius: 8px;
  background: #f8f2e9;
  box-shadow: 0 7px 18px rgba(38, 28, 18, .08);
}

.fp-recaptcha-status:empty {
  min-height: 0;
  margin: 0;
}

.fp-recaptcha-status[data-state="loading"] {
  border-color: #d6a13a;
  background: #fff6df;
  color: #6b5123;
}

.fp-recaptcha-status[data-state="success"] {
  border-color: #54a873;
  background: #eaf8ef;
  color: #26603d;
}

.fp-recaptcha-status[data-state="error"] {
  border-color: #d56b5f;
  background: #fff0ed;
  color: #9b2f27;
}

form[aria-busy="true"] button[type="submit"] {
  cursor: wait;
  opacity: .72;
}

.quote-form__scope {
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.quote-form__choices-title {
  margin: 0 0 10px;
  padding: 0;
  color: #3b2c1c;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.quote-form :is(input, select, textarea):not([type="hidden"]):not([type="radio"]):not([type="checkbox"]),
.review-submit-form :is(input, select, textarea):not([type="hidden"]):not([type="checkbox"]):not([type="file"]) {
  border-color: #927044;
  font-size: 16px;
}

.quote-form :is(input, select, textarea):not([type="hidden"]):not([type="radio"]):not([type="checkbox"]):focus-visible,
.review-submit-form :is(input, select, textarea):not([type="hidden"]):not([type="checkbox"]):not([type="file"]):focus-visible {
  border-color: #71450d;
  outline: 3px solid #71450d;
  outline-offset: 3px;
  box-shadow: 0 0 0 2px rgba(255, 250, 242, .96);
}

.quote-form__draft-status {
  margin: -.2rem 0 .75rem;
  padding: .55rem .7rem;
  border-left: 2px solid rgba(156, 103, 36, .58);
  border-radius: 0 6px 6px 0;
  background: rgba(248, 239, 224, .66);
  color: #675744;
  font-size: .76rem;
  font-weight: 600;
  line-height: 1.45;
}

.quote-form__draft-status[data-state="restored"] {
  border-left-color: #36704b;
  color: #315a40;
}

.quote-form__required-mark {
  color: #8f2f27;
  font-weight: 900;
}

.quote-form__field-error {
  display: block;
  margin: .28rem 0 0;
  color: #8f2f27;
  font-size: .76rem;
  font-style: normal;
  font-weight: 750;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.quote-form__field-error[hidden],
.quote-form__error-summary[hidden] {
  display: none !important;
}

.quote-form :is(input, select, textarea)[aria-invalid="true"]:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]) {
  border-color: #a84438;
  box-shadow: 0 0 0 2px rgba(168, 68, 56, .11);
}

.quote-form__scope.is-invalid .quote-choice__box {
  border-color: rgba(168, 68, 56, .64);
  box-shadow: 0 0 0 2px rgba(168, 68, 56, .08);
}

.quote-privacy-compact.is-invalid .quote-form__checkmark {
  border-color: #a84438;
  box-shadow: 0 0 0 3px rgba(168, 68, 56, .11);
}

.quote-form__error-summary {
  flex: 1 0 100%;
  width: 100%;
  margin: .15rem 0 0;
  padding: .62rem .75rem;
  border-left: 3px solid #a84438;
  border-radius: 0 6px 6px 0;
  background: rgba(253, 238, 234, .8);
  color: #7d2923;
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.42;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #71450d;
  outline-offset: 3px;
  box-shadow: 0 0 0 2px rgba(255, 250, 242, .96);
}

@media (max-width: 900px) {
  .quote-contact-layout .quote-form {
    order: -1;
  }
}

@media (prefers-reduced-motion: reduce) {
  form[aria-busy="true"] button[type="submit"] {
    transition: none !important;
  }
}
