.dpof-fields-wrap {
    margin: 16px 0;
}

.dpof-field {
    margin-bottom: 12px;
}

.dpof-field > label {
    display: block;
    margin-bottom: 4px;
    font-weight: 600;
}

.dpof-field select,
.dpof-field input[type="text"] {
    width: 100%;
    max-width: 360px;
}

.dpof-radio-group label {
    display: block;
    padding: 2px 0;
    cursor: pointer;
}

.dpof-field[data-hidden="1"],
.dpof-field.dpof-hidden {
    display: none;
}

/* --- Validation errors --- */
.dpof-invalid select,
.dpof-invalid input[type="text"] {
    border-color: #cc1818 !important;
}

.dpof-invalid .dpof-radio-group {
    border-left: 3px solid #cc1818;
    padding-left: 8px;
}

.dpof-field-error {
    display: block;
    color: #cc1818;
    font-size: 0.85em;
    margin-top: 4px;
}

/* ===== DPOF front UI refresh (override) ===== */
.dpof-fields-wrap {
    padding: 12px 0;
    border-top: 1px solid rgba(0,0,0,.08);
    margin-top: 16px;
}

.dpof-field {
    padding: 12px;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 12px;
    background: #fff;
    margin-bottom: 12px;
}

.dpof-field > label {
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
}

.dpof-field select,
.dpof-field input[type="text"],
.dpof-field input[type="number"] {
    width: 100%;
    max-width: 520px;
    border-radius: 10px;
}

.dpof-hidden { display:none !important; }

.dpof-field-error {
    display: inline-block;
    margin-top: 8px;
    color: #b42318;
    font-size: 12px;
}

.dpof-invalid {
    outline: 2px solid rgba(180,35,24,.20);
    outline-offset: 2px;
}
