.gloo_form_visual_checkbox {
  --gloo-visual-checkbox-container-direction: row;
  --gloo-visual-checkbox-container-gap: 1rem;
  --gloo-visual-checkbox-box-padding: 0.5rem;
  --gloo-visual-checkbox-box-border-width: 1px;
  --gloo-visual-checkbox-box-border-color: transparent;
  --gloo-visual-checkbox-box-border-style: solid;
  --gloo-visual-checkbox-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
  --gloo-visual-checkbox-box-border-radius: 0;

  --gloo-visual-checkbox-box-checked-border-width: 1px;
  --gloo-visual-checkbox-box-checked-border-color: black;
  --gloo-visual-checkbox-box-checked-border-style: solid;

  --gloo-visual-checkbox-img-width: 100px;
  --gloo-visual-checkbox-img-height: 100px;
  --gloo-visual-checkbox-img-object-fit: contain;
  --gloo-visual-checkbox-img-opacity: 1;
  --gloo-visual-checkbox-img-vertical-position: 0;
  --gloo-visual-checkbox-img-horizontal-position: 0;
  --gloo-visual-checkbox-img-border-radius: 0;

  --gloo-visual-checkbox-title-text-stack: column; /*column or row*/
  --gloo-visual-checkbox-title-text-position: center; /*top/left (flex-start), center (center), bottom/right (flex-end) */
  --gloo-visual-checkbox-title-distance: 0.5rem;
  --gloo-visual-checkbox-title-alignment: center;

  --gloo-visual-checkbox-show-input: none;

  gap: var(--gloo-visual-checkbox-container-gap);
  flex-direction: var(--gloo-visual-checkbox-container-direction);
}

.elementor-field-type-gloo_terms_field .elementor-field-subgroup.gloo_form_visual_checkbox .gloo-term-group {
  flex: 1 0 calc(var(--gloo-visual-checkbox-img-width) - var(--gloo-visual-checkbox-container-gap));
  display: flex;
  max-width: var(--gloo-visual-checkbox-img-width);
}

.elementor-field-subgroup > .gloo-term-group {
  display: flex;
  flex-wrap: wrap;
  flex-direction: var(--gloo-visual-checkbox-box-direction);
  align-items: center;
  gap: var(--gloo-visual-checkbox-container-gap);
}

.gloo_form_visual_checkbox .gloo-term-group .elementor-field-option input {
  display: var(--gloo-visual-checkbox-show-input);
}

.gloo_form_visual_checkbox .gloo-term-group .elementor-field-option label {
  height: 100%;
  display: flex;
  flex-direction: var(--gloo-visual-checkbox-title-text-stack);
  gap: var(--gloo-visual-checkbox-title-distance);
  padding: var(--gloo-visual-checkbox-box-padding);
  border-width: var(--gloo-visual-checkbox-box-border-width);
  border-color: var(--gloo-visual-checkbox-box-border-color);
  border-style: var(--gloo-visual-checkbox-box-border-style);
  text-align: var(--gloo-visual-checkbox-title-alignment);
  box-shadow: var(--gloo-visual-checkbox-box-shadow);
  border-radius: var(--gloo-visual-checkbox-box-border-radius);
}

.gloo_form_visual_checkbox .gloo-term-group .elementor-field-option input:checked ~ label {
  position: relative;
  border-width: var(--gloo-visual-checkbox-box-checked-border-width);
  border-color: var(--gloo-visual-checkbox-box-checked-border-color);
  border-style: var(--gloo-visual-checkbox-box-checked-border-style);
  border-radius: var(--gloo-visual-checkbox-box-border-radius);
}

.gloo_form_visual_checkbox .gloo-term-group .elementor-field-option label > img {
  width: var(--gloo-visual-checkbox-img-width);
  height: var(--gloo-visual-checkbox-img-height);
  object-fit: var(--gloo-visual-checkbox-img-object-fit);
  opacity: var(--gloo-visual-checkbox-img-opacity);
  order: var(--gloo-visual-checkbox-img-vertical-position);
  border-radius: var(--gloo-visual-checkbox-img-border-radius);
}

.gloo_form_visual_checkbox .gloo-term-group .elementor-field-option label > span {
  align-self: var(--gloo-visual-checkbox-title-text-position);
}

.gloo-parent-term .gloo-child-term {
  display: block;
  padding-left: 12px;
}
