/* ==============================================================================
   STATES — cross-feature state modifiers
   ==============================================================================
   Block-level state classes that affect multiple feature areas. Per-element
   states (`.ms__input:focus`, `.ms__option--focused`, `.ms__badges:empty`,
   etc.) stay in their feature files; this file is for state classes set on
   the `.ms` block that flow through to multiple internal elements.
*/

/* Disabled state — the wrapper is the field shell now, so dim + grey it there
   (opacity flows down to the input/counter/clear/toggle children). */
.ms--disabled .ms__input-wrapper {
  opacity: var(--ms-disabled-input-opacity);
  background: var(--ms-input-bg-disabled);
  cursor: not-allowed;
}

.ms--disabled .ms__input {
  cursor: not-allowed;
}

/* No checkboxes modifier (for simple select mode) */
.ms--no-checkboxes .ms__option {
  gap: 0; /* Remove gap since there's no checkbox */
  padding-inline-start: var(--ms-option-padding-h); /* Adjust leading padding; flips in RTL */
}

.ms--no-checkboxes .ms__option-content {
  padding-inline-start: 0; /* No extra padding needed */
}

/* No selected-items popover modifier: the count/compact/"+X more" badge and the
   in-input counter still show the tally, but their click is inert (gated in JS), so
   drop the pointer cursor that would otherwise advertise them as openable. */
.ms--no-selected-popover .ms__counter,
.ms--no-selected-popover .ms__badge[data-action="show-selected"],
.ms--no-selected-popover .ms__badge--counter,
.ms--no-selected-popover .ms__badge--more {
  cursor: default;
}
