/* Form Builder field styles — shared by the /forms/{slug} pages (engagement layout), polls,
   and forms embedded in other pages (e.g. the IQAC feedback forms at /iqac/feedback-*). */
.eng-btn { background:#b91e69; color:#fff; padding:.7rem 1.5rem; border-radius:6px; text-decoration:none; font-weight:600; display:inline-block; border:0; cursor:pointer; }
.eng-btn:hover { background:#0b336f; color:#fff; }
.eng-field { margin-bottom: 1.4rem; }
.eng-field > label { display:block; font-weight:600; color:#0b336f; margin-bottom:.45rem; line-height:1.45; }
/* Radio and checkbox inputs must be excluded here: the full-width padded
   box treatment turned each one into a large bordered block, which is why
   the choices scattered instead of sitting beside their labels. */
.eng-field input:not([type=radio]):not([type=checkbox]),
.eng-field textarea,
.eng-field select { width:100%; padding:.6rem .75rem; border:1px solid #d0d7de; border-radius:6px; font-size:.95rem; background:#fff; color:#1f2933; }
.eng-field input:not([type=radio]):not([type=checkbox]):focus,
.eng-field textarea:focus,
.eng-field select:focus { outline:none; border-color:#b91e69; box-shadow:0 0 0 3px rgba(185,30,105,.12); }
.eng-field .required { color:#b91e69; }
.eng-field small.help { display:block; color:#8a94a6; font-size:.8rem; margin-top:.35rem; }

/* Choice lists: each option is a self-contained chip, so a long row of
   answers wraps into tidy rows instead of drifting apart. */
.eng-options { display:flex; flex-wrap:wrap; gap:.5rem; }
.eng-opt {
    display:inline-flex; align-items:center; gap:.5rem;
    margin:0; padding:.5rem .85rem;
    border:1px solid #d8dee7; border-radius:999px; background:#fff;
    font-weight:500; color:#33415c; font-size:.9rem; line-height:1.2;
    cursor:pointer; transition:border-color .15s, background .15s, color .15s;
}
.eng-opt:hover { border-color:#b91e69; color:#b91e69; }
.eng-opt input { accent-color:#b91e69; margin:0; flex-shrink:0; }
/* :has lets the whole chip highlight once its control is picked */
.eng-opt:has(input:checked) { border-color:#b91e69; background:#fdf2f7; color:#b91e69; font-weight:700; }
/* Checkbox lists usually read as a column of statements, not short chips */
.eng-options.stacked { flex-direction:column; align-items:flex-start; }
.eng-options.stacked .eng-opt { border-radius:8px; width:100%; }

.eng-section-title {
    color:#0b336f; font-size:1.15rem; font-weight:800;
    margin:2.25rem 0 1.1rem; padding-bottom:.4rem;
    border-bottom:2px solid #b91e69; display:inline-block;
}
.eng-form > .eng-section-title:first-child,
.eng-card form > .eng-section-title:first-child { margin-top:0; }
.eng-section-help { color:#5b6577; font-size:.9rem; font-style:italic; margin:-.4rem 0 1.1rem; }
.eng-submit { margin-top:2rem; padding-top:1.5rem; border-top:1px solid #eef1f5; }
.eng-alert { padding:.75rem 1rem; border-radius:6px; margin-bottom:1rem; }
.eng-alert.ok  { background:#d4edda; color:#155724; }
.eng-alert.err { background:#f8d7da; color:#721c24; }
.eng-alert ul { margin:0; padding-left:1.25rem; }
.eng-done { text-align:center; padding:2rem 1rem; }
.eng-done .fa-circle-check { font-size:2.6rem; color:#2a9d8f; }
.eng-done p { font-size:1.05rem; color:#1f2933; margin:.75rem auto 1.25rem; max-width:36rem; }
