/*
 * Deliberately plain. The brand site is a SiteOrigin theme and this form should
 * inherit its typography and colours rather than impose a second design — only
 * layout, spacing and error states are specified here.
 */

.dcf { max-width: 44rem; margin: 0 auto; }
.dcf-lede { margin-bottom: 1.5rem; }

.dcf-field { display: block; margin-bottom: 1.25rem; }
.dcf-field label { display: block; font-weight: 600; margin-bottom: 0.35rem; }

.dcf-field input[type="text"],
.dcf-field input[type="tel"],
.dcf-field input[type="email"],
.dcf-field select,
.dcf-field textarea {
    width: 100%;
    padding: 0.6rem 0.7rem;
    border: 1px solid #b9bfc7;
    border-radius: 4px;
    font: inherit;
    background: #fff;
    color: inherit;
}

.dcf-field input:focus,
.dcf-field select:focus,
.dcf-field textarea:focus {
    outline: 2px solid #2b6cb0;
    outline-offset: 1px;
    border-color: #2b6cb0;
}

.dcf-row { display: flex; gap: 1rem; flex-wrap: wrap; }
.dcf-row > .dcf-field { flex: 1 1 14rem; }

.dcf-fieldset {
    border: 1px solid #dfe3e8;
    border-radius: 4px;
    padding: 1rem 1rem 0.25rem;
    margin-bottom: 1.5rem;
}
.dcf-fieldset legend { font-weight: 600; padding: 0 0.4rem; }

.dcf-hint { display: block; font-size: 0.875rem; color: #5b6470; margin-top: 0.3rem; }
.dcf-hint-warn { color: #92400e; }

.dcf-error { display: block; font-size: 0.875rem; color: #b91c1c; margin-top: 0.3rem; }
.dcf-error:empty { display: none; }

.dcf-alert { padding: 0.9rem 1rem; border-radius: 4px; margin-bottom: 1.25rem; border-left: 4px solid; }
.dcf-alert-error { background: #fef2f2; border-color: #b91c1c; color: #7f1d1d; }
.dcf-alert-info { background: #eff6ff; border-color: #2b6cb0; color: #1e3a5f; }

.dcf-actions { display: flex; align-items: center; gap: 0.85rem; }
.dcf-submit {
    font: inherit;
    font-weight: 600;
    padding: 0.7rem 1.6rem;
    border: 0;
    border-radius: 4px;
    background: #1f4e79;
    color: #fff;
    cursor: pointer;
}
.dcf-submit:hover:not(:disabled) { background: #17395a; }
.dcf-submit:disabled { opacity: 0.6; cursor: progress; }
.dcf-status { font-size: 0.9rem; color: #5b6470; }

.dcf-done {
    padding: 2rem;
    text-align: center;
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
    border-radius: 6px;
}

/* Off-screen rather than display:none — a bot that skips hidden inputs is
   exactly the bot we want to catch. */
.dcf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
