.checkbox-wrapper {
  display: inline-flex;
  flex-direction: row;
  gap: 8px;
  cursor: pointer;
}

.checkbox-wrapper.disabled,
.checkbox-wrapper.read-only {
  cursor: default;
}

.checkbox-input {
  display: none;
}

.indicator {
  display: inline-block;
  border: 1px solid var(--color-base-darkest);
  width: 16px;
  height: 16px;
  position: relative;
  background-color: #fff;
  border-radius: 4px;
  flex-shrink: 0;
}

.checkbox-input:checked ~ .indicator {
  display: block;
  background-color: var(--color-base-darkest);
}

.indicator-icon {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.checkbox-input:checked ~ .indicator .indicator-icon {
  display: block;
}
