/* ===============================
   Widget DP - Formulaire
   =============================== */
.dp-form{position:relative}
.dp-form__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}
.dp-form.dp-cols-1 .dp-form__grid{grid-template-columns:1fr}

.dp-col-100{grid-column:span 2}
.dp-col-50{grid-column:span 1}
.dp-col-33{grid-column:span 1}
.dp-form.dp-cols-1 .dp-col-100,
.dp-form.dp-cols-1 .dp-col-50,
.dp-form.dp-cols-1 .dp-col-33{grid-column:span 1}

.dp-form__label,.dp-form__group-label{font-weight:600;margin-bottom:6px;display:block}
.dp-req{color:var(--dp-form-required, #c00)}

.dp-input,.dp-textarea,.dp-select{
    width:100%;
    border:1px solid var(--dp-form-border, #d6d6d6);
    border-radius:8px;
    padding:10px 12px;
    font:inherit;
    background:var(--dp-form-surface, #fff);
}
.dp-textarea{min-height:110px;resize:vertical}

.dp-options{display:flex;flex-direction:column;gap:6px}
.dp-opt{display:flex;align-items:center;gap:8px}

.dp-form__heading{margin:12px 0 6px;font-size:18px}
.dp-form__sep{border:0;border-top:1px solid var(--dp-form-separator, #eee);margin:6px 0}

/* Champ fichier */
.dp-file-input{
    position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0,0,0,0);
}
.dp-file-label{
    display:flex;align-items:center;gap:10px;cursor:pointer;
}
.dp-file-btn{
    display:inline-block;padding:8px 14px;border-radius:6px;
    background:var(--dp-form-button-bg, #0ea5a5);color:var(--dp-form-button-text, #fff);
    font-weight:600;font-size:.9rem;white-space:nowrap;
}
.dp-file-name{
    font-size:.875rem;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px;
}
.dp-file-hint{margin:4px 0 0;font-size:.8rem;color:#999;}

/* Consentement RGPD */
.dp-form__rgpd{margin-top:14px;}
.dp-rgpd-label{
    display:flex;align-items:flex-start;gap:10px;font-size:.9rem;cursor:pointer;
}
.dp-rgpd-cb{
    margin-top:2px;flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:var(--dp-form-button-bg, #0ea5a5);
}
.dp-rgpd-label a{color:var(--dp-form-button-bg, #0ea5a5);}

.dp-form__actions{margin-top:16px;display:flex;gap:12px;align-items:center}
.dp-btn{
    appearance:none;border:0;border-radius:999px;padding:10px 18px;
    background:var(--dp-form-button-bg, #0ea5a5);color:var(--dp-form-button-text, #fff);font-weight:700;cursor:pointer
}
.dp-btn[disabled]{opacity:.6;cursor:not-allowed}
.dp-form__msg{font-size:.95rem}
