.dhh-form-shell { color: #17191b; }
.dhh-quote-form { padding: clamp(1.5rem, 4vw, 2.5rem); background: #fff; }
.dhh-form-status:not(:empty),
.dhh-form-errors:not([hidden]) { margin-block-end: 1rem; padding: 1rem 1.15rem; background: #fff3ec; border: 1px solid #d84b00; color: #5b1e00; }
.dhh-form-errors h3 { margin: 0 0 .5rem; font: 700 1rem/1.4 Montserrat, Arial, sans-serif; color: #5b1e00; }
.dhh-form-errors ul { margin: 0; padding-inline-start: 1.25rem; }
.dhh-form-errors a { color: #5b1e00; font-weight: 700; }
.dhh-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1rem; }
.dhh-field { min-width: 0; }
.dhh-field-wide { grid-column: 1 / -1; }
.dhh-field label { display: block; margin-block-end: .45rem; color: #17191b; font-weight: 700; line-height: 1.35; }
.dhh-field input,
.dhh-field select,
.dhh-field textarea { width: 100%; min-height: 3.15rem; padding: .75rem .85rem; border: 1px solid #72777d; border-radius: 0; background: #fff; color: #17191b; font-size: 1rem; line-height: 1.45; }
.dhh-field textarea { min-height: 10rem; resize: vertical; }
.dhh-field input:hover,
.dhh-field select:hover,
.dhh-field textarea:hover { border-color: #17191b; }
.dhh-field input:focus,
.dhh-field select:focus,
.dhh-field textarea:focus { border-color: #d84b00; background: #fff; color: #17191b; }
.dhh-field [aria-invalid="true"] { border-width: 2px; border-color: #9e2700; }
.dhh-field-hint { display: block; margin-block-start: .45rem; color: #4c5055; font-size: .88rem; line-height: 1.5; }
.dhh-field-error { display: block; min-height: 1.25em; margin-block-start: .35rem; color: #8a2300; font-size: .9rem; font-weight: 600; }
.dhh-form-submit { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-block-start: 1.25rem; padding-block-start: 1.25rem; border-block-start: 1px solid #d8dad7; }
.dhh-form-submit p { margin: 0; color: #4c5055; font-size: .9rem; }
.dhh-form-submit button { min-height: 3.25rem; padding: .8rem 1.35rem; border: 2px solid #b83d00; border-radius: 0; background: #b83d00; color: #fff; font-size: 1rem; font-weight: 700; }
.dhh-form-submit button:hover,
.dhh-form-submit button:focus { border-color: #17191b; background: #17191b; color: #fff; }
.dhh-form-submit button[disabled] { cursor: wait; opacity: .7; }
.dhh-honeypot { position: absolute !important; inline-size: 1px !important; block-size: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; }

@media (max-width: 600px) {
	.dhh-form-grid { grid-template-columns: 1fr; }
	.dhh-field-wide { grid-column: auto; }
	.dhh-form-submit { align-items: stretch; flex-direction: column; }
	.dhh-form-submit button { width: 100%; }
}

@media (forced-colors: active) {
	.dhh-field [aria-invalid="true"] { border-style: dashed; }
}
