$checkbox-primary-color: var(--bg-core-primary-darken);
$checkbox-secondary-color: #f4f4f4;
$checkbox-disabled-color: darken($checkbox-secondary-color, 25%);

.checkbox-group {
    --width: 1.25rem;
    --height: var(--width);
    --inset: calc(var(--width) / 10);

   
    margin: 0.75rem 0;
    width: max-content;
    cursor: pointer;
    position:relative;
    display: flex;
    align-items: center;
    gap:.75rem;
    z-index: 1;

        &.reversed{
            justify-content: space-between;
            width: 100%;

                & :nth-child(1) {order:2;}
                & :nth-child(2) {order:1;}
        }

        &.column{
          flex-direction: column;
          gap:.25rem;
          width: 100%;
      }

        input[type="checkbox"] {
            position: absolute;
            opacity: 0;
        }
}
  
.checkbox-fill {
  position: relative;
  display: inline-block;
  width: var(--width);
  height: var(--height);
  background: transperent;
  border: 2px solid $checkbox-primary-color;
  transition: background 0.2s ease-in-out;
  }
  
.checkbox-input:checked ~ .checkbox-fill {
  background: var(--bg-core-primary-darken);
  box-shadow: inset 0 0 0 var(--inset) $checkbox-secondary-color;
  
}

.checkbox-input:focus-within ~ .checkbox-fill {
  outline: 1px solid $checkbox-primary-color;
  
}

.checkbox-input:disabled ~ .checkbox-fill {
  box-shadow: inset 0 0 0 var(--inset) $checkbox-secondary-color;
  border-color: $checkbox-disabled-color;
  background: $checkbox-disabled-color;
  pointer-events: none;
  }

  .checkbox-input:disabled ~ .checkbox-label {
    color: $checkbox-disabled-color;
  }



  
  .checkbox-fill::before {
    content: "";  
    display: inline-block;
    width: calc(var(--width) * 1.8);
    height: calc(var(--width) * 1.8);
    border-radius: 50%;
    background-color: transparent;
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    scale: .75;
    transform-origin: left top;
    transition: scale 0.35s cubic-bezier(0.6,-1.25,0.6,2.25), transform 0.2s;
  } 
    
  .checkbox-fill:hover::before {
    background: var(--bg-core-primary-lighten);
    scale: 1;
    opacity: .5;
  }





// $checkbox-primary-color: var(--bg-core-primary-darken);
// $checkbox-secondary-color: #f4f4f4;
// $checkbox-disabled-color: darken($checkbox-secondary-color, 25%);

// .checkbox-group {
//   margin: 0.5rem;
//   position:relative;
  
//   input[type="checkbox"] {
//     position: absolute;
//     opacity: 0;

//     + .checkbox-label {
//       &:before {
//         content: "";
//         background: transparent;
//         border: 2px solid $checkbox-primary-color;
//         display: inline-block;
//         width: 1.25em;
//         height: 1.25em;
//         position: relative;
//         top: .15rem;
//         margin-right: .75em;
//         vertical-align: top;
//         cursor: pointer;
//         text-align: center;
//         z-index: 1;
//         transition: all 250ms ease;        
//       }
//     }
//     &:checked {
//       + .checkbox-label {
//         &:before {
//           background-color: $checkbox-primary-color; 
//           box-shadow: inset 0 0 0 2px $checkbox-secondary-color;

//         }
//       }
//     }
//     &:focus {
//       + .checkbox-label {
//         &:before {
//           outline: 1px solid $checkbox-primary-color;
//           border-color: $checkbox-primary-color;
//         }
//       }
//     }
//     &:disabled {
//       + .checkbox-label {
//         color: darken($checkbox-secondary-color, 25%);
//         pointer-events: none;
//         &:before {
//           box-shadow: inset 0 0 0 2px $checkbox-secondary-color;
//           border-color: $checkbox-disabled-color;
//           background: $checkbox-disabled-color;
//         }
//       }
//     }
//     + .checkbox-label {
//       &:empty {
//         &:before {
//           margin-right: 0;
//         }
//       }
//     }
//   }
// }

// .checkbox-label:after {
//   content: "";
//   display: inline-block;
//   width: 35px;
//   height: 35px;
//   border-radius: 50%;
//   background-color: transparent;
//   position: absolute;
//   left: -8px;
//   top: -6px;
//   scale: .75;
//   transition: scale 0.35s cubic-bezier(0.6,-1.25,0.6,2.25);
// }

// .checkbox-label:hover:after {
//   background: var(--bg-core-primary-lighten);
//   scale: 1;
//   opacity: .5;
// }