.dynamic-field { margin-bottom: var(--space-4); }
.dynamic-field__hint { font-size: var(--font-size-sm); color: var(--color-text-secondary); margin: 4px 0 var(--space-2); }
.dynamic-field__notice { font-size: var(--font-size-sm); color: var(--color-text-secondary); font-style: italic; }
.dynamic-field--invalid { animation: attention-shake 0.4s ease; }
.dynamic-field--invalid .form-label { color: var(--color-error); }

/* ── Tap-Options (single/multi/dropdown) ── */
.field-tap-options { display: flex; flex-direction: column; gap: var(--space-2); }
.field-tap-option {
    display: flex; align-items: center; gap: var(--space-2);
    padding: var(--space-3); border: 2px solid var(--color-border); border-radius: var(--radius);
    text-align: left; font-size: var(--font-size-base); font-weight: 500;
}
.field-tap-option--selected { border-color: var(--color-primary); background: var(--color-primary-light); }
.field-tap-option__check {
    width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
    border: 2px solid var(--color-border); position: relative;
}
.field-tap-option--selected .field-tap-option__check { background: var(--color-primary); border-color: var(--color-primary); }
.field-tap-option--selected .field-tap-option__check::after {
    content: ''; position: absolute; left: 6px; top: 2px;
    width: 6px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}

/* ── Boolean ── */
.field-boolean-buttons { display: flex; gap: var(--space-2); }
.field-boolean-btn {
    flex: 1; padding: var(--space-3); border: 2px solid var(--color-border); border-radius: var(--radius);
    font-size: var(--font-size-base); font-weight: 700;
}
.field-boolean-btn--selected { border-color: var(--color-primary); background: var(--color-primary-light); color: var(--color-primary); }

/* ── Stepper (number/price) — item-selection-price-panel-এর সাথে shared-style ── */
.field-stepper .price-preset-row { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--space-3); justify-content: center; }
.field-stepper .price-stepper-row { display: flex; align-items: center; justify-content: center; gap: var(--space-3); margin-bottom: var(--space-2); }

/* ── Range-Stepper ── */
.field-range-stepper { display: flex; gap: var(--space-3); }
.range-stepper-group { flex: 1; text-align: center; }
.range-stepper-group__label { display: block; font-size: 0.75rem; color: var(--color-text-secondary); margin-bottom: 4px; }
.mini-stepper { display: flex; align-items: center; justify-content: center; gap: var(--space-2); }
.mini-stepper span { font-size: 1.1rem; font-weight: 700; min-width: 40px; }

.range-field { display: flex; align-items: center; gap: var(--space-2); }
.range-field .form-input { flex: 1; }
.star-rating { display: flex; gap: 4px; }
.star-rating__star { font-size: 1.5rem; color: var(--color-border); }
.star-rating__star--filled { color: var(--color-primary); }