/* CollectionsSelect - multiselect with search popover. Per design-system
   §5.24. Field shows selected chips; the rest live behind search. */

.coll-select {
  position: relative;
}

.coll-select__field {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  min-height: 46px;
  padding: var(--space-2) var(--space-3);
  background: #fff;
  border: var(--border-width) solid var(--color-border);
  cursor: pointer;
  transition: border-color var(--duration-fast) var(--ease-default);
}

.coll-select__field:hover {
  border-color: var(--color-text-muted);
}

.coll-select__field.is-open {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px var(--color-accent-weak);
}

.coll-select__placeholder {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.coll-select__chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-1) var(--space-1) var(--space-1) var(--space-2);
  background: var(--color-bg-surface-inverse);
  color: var(--color-text-on-dark);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  text-transform: uppercase;
  clip-path: polygon(
    var(--chamfer-sm) 0,
    100% 0,
    100% calc(100% - var(--chamfer-sm)),
    calc(100% - var(--chamfer-sm)) 100%,
    0 100%,
    0 var(--chamfer-sm)
  );
}

.coll-select__chip-x {
  cursor: pointer;
  opacity: 0.6;
  padding: 0 var(--space-1);
  line-height: 1;
}

.coll-select__chip-x:hover {
  opacity: 1;
  color: var(--color-accent);
}

.coll-select__add {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-accent);
  white-space: nowrap;
}

/* popover */
.coll-select__backdrop {
  position: fixed;
  inset: 0;
  z-index: var(--z-overlay);
}

.coll-select__popover {
  position: absolute;
  top: calc(100% + var(--space-2));
  left: 0;
  right: 0;
  z-index: var(--z-modal);
  display: flex;
  flex-direction: column;
  max-height: 340px;
  background: #fff;
  border: var(--border-width) solid var(--color-border);
  box-shadow: 0 24px 50px -24px rgba(10, 10, 10, 0.4);
}

.coll-select__search {
  padding: var(--space-2);
  border-bottom: var(--border-width) solid var(--color-border-subtle);
}

.coll-select__search-input {
  width: 100%;
  padding: var(--space-2) var(--space-3);
  border: var(--border-width) solid var(--color-border-subtle);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.coll-select__search-input:focus {
  outline: none;
  border-color: var(--color-accent);
}

.coll-select__list {
  overflow-y: auto;
  padding: var(--space-1);
}

.coll-select__group-label {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--color-text-muted);
  padding: var(--space-3) var(--space-2) var(--space-1);
}

.coll-select__row {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2);
  cursor: pointer;
}

.coll-select__row:hover {
  background: var(--color-bg-page);
}

.coll-select__check {
  position: relative;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  border: var(--border-width) solid var(--color-border);
  transition: all var(--duration-fast) var(--ease-default);
}

.coll-select__row.is-on .coll-select__check {
  background: var(--color-accent);
  border-color: var(--color-accent);
}

.coll-select__row.is-on .coll-select__check::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 4px;
  height: 9px;
  border: solid var(--color-text-on-accent);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.coll-select__name {
  flex: 1;
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
}

.coll-select__count {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  color: var(--color-text-muted);
}

.coll-select__empty {
  padding: var(--space-6);
  text-align: center;
  color: var(--color-text-muted);
  font-size: var(--text-sm);
}

.coll-select__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-2) var(--space-3);
  border-top: var(--border-width) solid var(--color-border-subtle);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  color: var(--color-text-muted);
}

.coll-select__done {
  color: var(--color-accent);
  text-transform: uppercase;
  cursor: pointer;
}
