.hy-checkbox {
  display: inline-block;
  position: relative;
  margin-right: 1rem;
}

.hy-checkbox__checkmark {
  border-color: var(--link-blue);
  border-style: solid inset solid solid;
  border-width: 2px;
  height: 20px;
  margin-right: 6px;
  position: relative;
  width: 20px;

  svg {
    bottom: 0;
    left: 0;
    position: absolute;
    visibility: hidden;
  }

  &::before {
    background-color: var(--grayscale-white);
    content: '';
    height: 10px;
    position: absolute;
    right: 0;
    transform: rotate(40deg) translate(6%, -55%);
    visibility: hidden;
    width: 8px;
  }
}

.hy-checkbox__label {
  @include font-size(14px, 20px);
  align-items: center;
  color: var(--grayscale-black);
  display: inline-flex;
  font-family: var(--main-font-family);
  letter-spacing: -0.4px;

  @include breakpoint($narrow) {
    @include font-size(16px, 24px);
  }
}

.hy-checkbox__checkbox {
  height: 100%;
  margin: 0;
  opacity: 0;
  position: absolute;
  width: 100%;
  z-index: 10;

  &:checked {
    & + label {
      color: var(--grayscale-black);

      .hy-checkbox__checkmark {
        svg,
        &::before {
          visibility: visible;
        }
      }
    }
  }

  &:hover {
    cursor: pointer;

    & + label {
      color: var(--brand-main);
    }
  }

  &:focus {
    & + label {
      outline-offset: 1px;
      outline: 2px solid var(--link-blue);
    }
  }
}