.lf-quote-form {
  --lf-form-accent: #1e4d43;
  --lf-form-background: #fff;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: clamp(1.25rem, 4vw, 2.5rem);
  color: #203b35;
  background: var(--lf-form-background);
  border: 1px solid #dce4df;
  border-radius: 22px;
  box-shadow: 0 16px 42px rgb(22 50 39 / 7%);
  text-align: left;
  font-family: inherit;
}
.lf-quote-form *, .lf-quote-form *::before, .lf-quote-form *::after { box-sizing: border-box; }
.lf-quote-form .lf-form-heading { margin: 0 0 .75rem; font: inherit; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 600; line-height: 1.2; }
.lf-quote-form .lf-form-notice { margin: 0 0 1rem; padding: .8rem 1rem; background: #f0f5f1; border-radius: 10px; font-size: .9rem; line-height: 1.6; }
.lf-quote-form .lf-required-note { margin: 0 0 1.1rem; color: #52665e; font-size: .82rem; }
.lf-quote-form .lf-grid-2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 1rem; }
.lf-quote-form .lf-field { display: flex; flex-direction: column; min-width: 0; margin: 0 0 1rem; }
.lf-quote-form .lf-field label { margin: 0 0 .45rem; font-size: .9rem; font-weight: 600; line-height: 1.45; }
.lf-quote-form .lf-field label span { font-weight: 400; color: #52665e; }
.lf-quote-form .lf-field input, .lf-quote-form .lf-field select, .lf-quote-form .lf-field textarea {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: .75rem .85rem;
  margin: 0;
  color: #203b35;
  background: #fff;
  border: 1px solid #b6c6bc;
  border-radius: 8px;
  font: inherit;
  font-size: 16px;
  line-height: 1.35;
  box-shadow: none;
}
.lf-quote-form .lf-field textarea { resize: vertical; min-height: 112px; }
.lf-quote-form .lf-field input:focus-visible, .lf-quote-form .lf-field select:focus-visible, .lf-quote-form .lf-field textarea:focus-visible, .lf-quote-form .lf-submit:focus-visible {
  outline: 3px solid var(--lf-form-accent);
  outline-offset: 3px;
}
.lf-quote-form .lf-submit { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; padding: 1rem 1.5rem; border: 0; border-radius: 8px; color: #fff; background: var(--lf-form-accent); font: inherit; font-weight: 600; line-height: 1.3; cursor: pointer; }
.lf-quote-form .lf-submit:hover { filter: brightness(.92); }
.lf-quote-form .lf-submit:disabled { opacity: .65; cursor: wait; }
.lf-quote-form .lf-estimate { margin: 0 0 1rem; padding: 1rem; border: 1px solid #c7d6cd; border-radius: 8px; font-size: .9rem; line-height: 1.6; }
.lf-quote-form .lf-form-status { margin: .85rem 0 0; font-size: .9rem; line-height: 1.55; overflow-wrap: anywhere; }
.lf-quote-form .lf-form-status:empty { margin: 0; }
.lf-quote-form .lf-form-status.lf-is-error { color: #9b2020; }
.lf-quote-form .lf-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
@media (max-width: 600px) {
  .lf-quote-form .lf-grid-2 { grid-template-columns: minmax(0, 1fr); }
  .lf-quote-form { border-radius: 16px; }
}
