:import {
  -st-from: "wix-ui-core/index.st.css";
  -st-named: Checkbox;
}

:import {
  -st-from: "../../colors.st.css";
  -st-named: 
    B10, B20, B50,
    D50,  D60, D70,
    GR20,
    R10, R30,
  WHITE,
    F00;   
}

:vars {
  boxSize: 16px;
  focusVisibleShadow: 0 0 0 3px;
}

.root {
  -st-extends: Checkbox;
  display: inline-flex;
  align-items: center;
}

.root:disabled {
  pointer-events: none;
}

.root::childContainer {
  font-size: 16px;
  padding-left: 12px;
}

.root:disabled::childContainer {
  color: value(D70);
}

.root::box {
  background: value(WHITE);
  border-radius: 4px;
  border: solid 1px value(B20);
  box-sizing: border-box;
  width: value(boxSize);
  height: value(boxSize);
  display: flex;
  align-items: center;
  justify-content: center;
}

.root:disabled::box {
  background-color: value(D70);
  border-color: value(GR20);
}

.root:disabled:checked::box {
  border-color: value(D60);
}

.root::box:active {
  background-color: value(B20);
}

.root:error::box {
  border-color: value(R10);
}

.root:focus-visible::box {
  box-shadow: value(focusVisibleShadow) value(F00);
  border-color: value(B10);
}

.root:error:focus-visible::box {
  border-color: value(R10);
  box-shadow: value(focusVisibleShadow) value(R30);
}

.root:hover:not(:disabled):not(:checked):not(:active)::box {
  background-color: value(B50);
}

.root:checked:not(:active):not(:disabled)::box {
  background-color: value(B10);
}

.root:indeterminate:not(:disabled):not(:checked):not(:active)::box {
  background-color: value(B10);
}

.root:hover:indeterminate:not(:disabled):not(:checked):not(:active)::box {
  color: value(B50);
}

.checkedIcon {
  width: 9px;
  height: 9px;
}

.indeterminateIcon {
  width: 8px;
  height: 8px;
}

.root::box svg {
  fill: value(WHITE);
}

.root:disabled::box svg {
  fill: value(D50);
}
