.wrapper {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
  flex-direction: row; /* keep on one line */
}

.fullWidth {
  width: 100%;
}

/* Heights aligned with other controls */
.xs {
  min-height: var(--component-size-xs);
}

.sm {
  min-height: var(--component-size-sm);
}

.md {
  min-height: var(--component-size-md);
}

.lg {
  min-height: var(--component-size-lg);
}

/* Subtle container (lightweight) */
.contained {
  padding: 0 var(--spacing-xs);
  border: var(--border-width-thin) solid var(--color-border-subtle);
  border-radius: var(--border-radius-default);
  background: var(--color-bg-surface);
}

.plain {
  padding: 0;
  border: 0;
  background: transparent;
}

.groupLabel {
  font-weight: var(--font-weight-medium);
  color: var(--color-fg-muted);
  white-space: nowrap;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-tight);
}

.items {
  display: flex;
  align-items: center;
  gap: var(--spacing-xs);
  flex: 1 1 auto;
  min-width: 0;
}

.wrap {
  flex-wrap: wrap;
}

.noWrap {
  flex-wrap: nowrap;
}

/* Right action */
.actionButton {
  appearance: none;
  border: none;
  background: transparent;
  padding: 0;
  margin-left: auto;
  cursor: pointer;

  display: inline-flex;
  align-items: center;

  height: 100%;
}

.actionButton:disabled {
  cursor: not-allowed;
}

.actionText {
  display: inline-block;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-tight);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
  text-align: right;

  min-width: var(--checkboxgroup-action-min-width, 4ch);
  color: var(--color-link);
}

.actionText[data-mode='all'] {
  color: var(--color-link);
}

.actionText[data-mode='clear'] {
  color: var(--color-link);
}

.actionButton:not(:disabled):hover .actionText {
  color: var(--color-link-hover);
  text-decoration: underline;
}

.actionButton:focus-visible {
  outline: 2px solid var(--color-border-strong);
  outline-offset: 3px;
  border-radius: var(--border-radius-rounded);
}
