.quote-request { min-width: 0; }
.contact-email { margin-bottom: 12px; }
.contact-email-label { display: block; font-size: 14px; }
#contact-email-address { display: block; width: 100%; border: 0; background: transparent; color: var(--ink); padding: 3px 0 10px; font-size: 21px; }
.contact-email .button { padding: 8px 13px; margin-bottom: 4px; }
.quote-form { margin-top: 24px; }
.quote-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 16px; }
.quote-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; font-size: 14px; font-weight: 600; }
.quote-field-wide { grid-column: 1 / -1; }
.quote-field input, .quote-field textarea, .quote-message {
  width: 100%; min-width: 0; border: 1px solid #a5b3a3; border-radius: 2px;
  padding: 11px 12px; background: #fff; color: var(--ink); font: 16px/1.5 Arial, sans-serif;
}
.quote-field textarea, .quote-message { resize: vertical; }
.quote-field input:focus-visible, .quote-field textarea:focus-visible, .quote-message:focus-visible {
  outline: 3px solid var(--gold); outline-offset: 3px;
}
.quote-field input::placeholder, .quote-field textarea::placeholder { color: #667066; font-weight: 400; opacity: 1; }
.quote-form .button { margin-top: 22px; }

.quote-confirmation { margin-top: 24px; }
.quote-confirmation h4 { line-height: 1.3; }
.quote-confirmation:focus, .quote-request:focus { outline: none; }
.quote-status { margin: 14px 0 0; overflow-wrap: anywhere; }
.quote-form .button:disabled { opacity: .65; cursor: wait; }
.quote-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
#quote-reference { overflow-wrap: anywhere; }
@media (max-width: 520px) { .quote-fields { grid-template-columns: 1fr; } }
@media print { .quote-form, .quote-confirmation, #owner-inbox { display: none !important; } }
