/* Embedded form styling. Scoped to .dh-form; loaded only on pages with a form,
   before the theme stylesheet. Override any value via the --dh-form-* properties. */
.dh-form { max-width: 560px; display: flex; flex-direction: column; gap: 1.1rem; margin: 1rem 0; }
.dh-form * { box-sizing: border-box; }
.dh-form-fields { display: flex; flex-direction: column; gap: 1.1rem; }
.dh-form-field { display: flex; flex-direction: column; gap: .4rem; }
.dh-form-field > label { font-size: .85rem; font-weight: 600; color: var(--dh-form-label, #3f3f46); }
.dh-form-field input, .dh-form-field textarea, .dh-form-field select { width: 100%; padding: .6rem .75rem; font: inherit; font-size: .95rem; color: var(--dh-form-text, #18181b); background: var(--dh-form-input-bg, #fff); border: 1px solid var(--dh-form-border, #d4d4d8); border-radius: 8px; outline: none; transition: border-color .15s ease, box-shadow .15s ease; }
.dh-form-field input:focus, .dh-form-field textarea:focus, .dh-form-field select:focus { border-color: var(--dh-form-accent, #c026d3); box-shadow: 0 0 0 3px var(--dh-form-focus, rgba(192, 38, 211, .18)); }
.dh-form-field textarea { resize: vertical; min-height: 7rem; }
.dh-form-radios { display: flex; flex-direction: column; gap: .45rem; }
.dh-form-radio, .dh-form-check { display: flex; align-items: center; gap: .5rem; font-size: .95rem; font-weight: 400; cursor: pointer; }
.dh-form-radio input, .dh-form-check input { width: auto; margin: 0; }
.dh-form-submit { align-self: flex-start; padding: .7rem 1.5rem; font: inherit; font-size: .95rem; font-weight: 600; cursor: pointer; color: var(--dh-form-submit-text, #fff); background: var(--dh-form-accent, #c026d3); border: none; border-radius: 8px; transition: opacity .15s ease, transform .1s ease; }
.dh-form-submit:hover { opacity: .9; }
.dh-form-submit:active { transform: scale(.98); }
.dh-form-submit:disabled { opacity: .55; cursor: not-allowed; }
.dh-form-error { color: var(--dh-form-bad, #e5484d); font-size: .9rem; }
.dh-form-success { color: var(--dh-form-ok, #30a46c); font-size: .95rem; font-weight: 500; }
.dh-form-field-error { color: var(--dh-form-bad, #e5484d); font-size: .8rem; margin-top: .15rem; }
.dh-form-field.dh-invalid input, .dh-form-field.dh-invalid textarea, .dh-form-field.dh-invalid select { border-color: var(--dh-form-bad, #e5484d); }
