.elementor-field-type-acceptance-plus {
  /* Colors */
  --_clr-dark: var(--clr-dark, hsl(0, 0%, 8%)) ;
  --_clr-light: var(--clr-light, hsl(0, 0%, 100%));
  --_clr-accent: var(--clr-accent, hsl(210, 100%, 24%));
  
  --_clr-bg-primary: var(--clr-bg-primary, var(--_clr-accent));
  --_clr-bg-primary-inverse: var(--clr-bg-primary-inverse, var(--_clr-light));
  
  --_checkbox-fill: var(--checkbox-fill, var(--_clr-bg-primary));
  --_focus-shadow: var(--focus-shadow, 0 0 0 12px hsl(210, 100%, 95%)); 
  --_focus-shadow: var(--focus-shadow, 0 0 0 12px hsl(from var(--_clr-accent) h s l / .25));
  --_clr-focus-ring: var(--clr-focus-ring) hsl(from var(--_clr-light) h s calc( l - 4));
  
  /* Transitions */
  --_transition-timing-function-ease: var(--transition-timing-function-ease, cubic-bezier(.25, .1, .25, 1));
  --_transition-duration-fast: var(--transition-duration-fast, 150ms);
  --_transition-duration-normal: var(--transition-duration-normal, 250ms); ;

  /* Checkbox */
  --_checkbox-length: var(--checkbox-length, 24px);

  /* Fonts */
  --_fs-size: var(--fs-size, var(--step--1));
  --_fs-line-height: var(--fs-line-height, 1.2);
  --_fs-letter-spacing: var(--fs-letter-spacing, 0);

}

.elementor-field-type-acceptance-plus {
  --clr-accent: hsl(330, 75.6%, 53.3%);
  --fs-size: var(--step--2);
}


.elementor-field-type-acceptance-plus .elementor-field-option {
	display: flex;
	align-items: flex-start;	
	position: relative;
	box-sizing: border-box;
}

.elementor-field-type-acceptance-plus input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  height: var(--_checkbox-length);
  width: var(--_checkbox-length);
  margin: 0px;  
  cursor: pointer;
}

.elementor-field-type-acceptance-plus .elementor-field-option svg {
	position: relative;
}

.elementor-field-type-acceptance-plus input[type="checkbox"] ~ .checkbox-icon .checkbox-box {
  --_icon-position: 2px;
  
  position: absolute;
  top: var(--_icon-position);
  left: var(--_icon-position);
  background: transparent;
  height: calc(var(--_checkbox-length) - var(--_icon-position));
  width: calc(var(--_checkbox-length) - var(--_icon-position));
  border: 1.5px solid #707072;
  border-radius: 4px;
}

.elementor-field-type-acceptance-plus input[type="checkbox"]:not(:hover) ~ .checkbox-icon .checkbox-box.circle,
.elementor-field-type-acceptance-plus input[type="checkbox"]:not(:focus) ~ .checkbox-icon .checkbox-box.circle {
  box-shadow: none;
  transition-property: box-shadow;
  transition-duration: var(--_transition-duration-normal);
  transition-timing-function: var(--_transition-timing-function-ease);
}

.elementor-field-type-acceptance-plus input[type="checkbox"] ~ .checkbox-icon .checkbox-box.circle {
  opacity: 0;
  border-radius: 50%;
}

.elementor-field-type-acceptance-plus input[type="checkbox"]:hover:not(:disabled) ~ .checkbox-icon .checkbox-box.circle,
.elementor-field-type-acceptance-plus input[type="checkbox"]:focus:not(:disabled) ~ .checkbox-icon .checkbox-box.circle {
  border: 0px;
  opacity: 1;
  background: var(--_clr-focus-ring);
  box-shadow: var(--_focus-shadow);
  transition-property: box-shadow;
  transition-duration: var(--_transition-duration-normal);
  transition-timing-function: var(--_transition-timing-function-ease);
}

.elementor-field-type-acceptance-plus input[type="checkbox"] ~ .checkbox-icon {
  pointer-events: none;
}

.elementor-field-type-acceptance-plus input[type="checkbox"]:not(:checked) ~ .checkbox-icon .checkbox-box-icon-container svg .checkicon-fill {
  opacity: 0;
  transition-property: opacity;
  transition-duration: var(--_transition-duration-fast);
  transition-delay: var(--_transition-duration-fast);
  transition-timing-function: var(--_transition-timing-function-ease);
  fill: var(--_checkbox-fill);
}

.elementor-field-type-acceptance-plus input[type="checkbox"]:checked ~ .checkbox-icon .checkbox-box-icon-container svg .checkicon-fill {
  fill: var(--_clr-bg-primary);
  opacity: 1;
}

.elementor-field-type-acceptance-plus input[type="checkbox"]:not(:checked) ~ .checkbox-icon .checkbox-box-icon-container svg .checkicon-check {
  stroke: #fff;
  stroke-dasharray: 1000px;
  stroke-dashoffset: 1000px;
  transition-property: stroke-dashoffset;
  transition-timing-function: var(--_transition-timing-function-ease);
  transition-duration: var(--_transition-duration-normal);
}

.elementor-field-type-acceptance-plus input[type="checkbox"]:checked ~ .checkbox-icon .checkbox-box-icon-container svg .checkicon-check {
  stroke: #fff;
  stroke-dasharray: 1000px;
  stroke-dashoffset: 0px;
  transition-property: stroke-dashoffset;
  transition-timing-function: var(--_transition-timing-function-ease);
  transition-duration: 5000ms;
}

.elementor-field-type-acceptance-plus .elementor-field-option label,
.elementor-field-type-acceptance-plus .elementor-field-option label ~ * {
  position: relative;
  padding-inline-start: 12px;
  user-select: none;
}

.elementor-field-type-acceptance-plus .elementor-field-option label {
  cursor: pointer;
}

.elementor-form .elementor-field-group.elementor-field-type-acceptance-plus .elementor-field-subgroup .elementor-field-option .aplus-label-container * {
  font-size: var( --_fs-size );
  line-height: var( --_fs-line-height );
  letter-spacing: var( --_fs-letter-spacing );  
}

.elementor-field-type-acceptance-plus .aplus-label-container a:link {
  color: var(--_clr-dark);
  text-decoration: underline !important;
  font-weight: 800;
}