.form-item input[type="checkbox"]:hover + label,
.form-checkboxes input[type="checkbox"]:hover + label,
.facet-item input[type="checkbox"]:hover + label,
.form-item-webform-terms-of-service input[type="checkbox"]:hover + label,
.form-item input[type="checkbox"]:focus + label,
.form-checkboxes input[type="checkbox"]:focus + label,
.facet-item input[type="checkbox"]:focus + label,
.form-item-webform-terms-of-service input[type="checkbox"]:focus + label {
  text-decoration: none;
}

.form-item input[type="checkbox"] + label,
.form-checkboxes input[type="checkbox"] + label,
.facet-item input[type="checkbox"] + label,
.form-item-webform-terms-of-service input[type="checkbox"] + label {
  margin-inline-start: var(--spacing-medium);
  font-weight: 400;
}

.form-item input[type="checkbox"] + label::before,
.form-checkboxes input[type="checkbox"] + label::before,
.facet-item input[type="checkbox"] + label::before,
.form-item-webform-terms-of-service input[type="checkbox"] + label::before {
  top: var(--spacing-smaller);
  width: var(--spacing-large);
  height: var(--spacing-large);
  border: 1px solid var(--color-accent-hover);
  border-radius: var(--spacing-smallest);
}

.form-checkboxes input[type="checkbox"]:checked + label::before,
.facet-item input[type="checkbox"]:checked + label::before,
.form-item-webform-terms-of-service input[type="checkbox"]:checked + label::before {
  border-color: var(--color-accent);
  background-color: var(--color-accent);
}

.form-item input[type="checkbox"]:checked + label::after,
.form-checkboxes input[type="checkbox"]:checked + label::after,
.facet-item input[type="checkbox"]:checked + label::after,
.form-item-webform-terms-of-service input[type="checkbox"]:checked + label::after {
  top: 15px;
  left: 5px;
  width: 13px;
  height: 6px;
  border-width: 0 0 1px 1px;
  border-color: var(--color-white);
}

.form-item input[type="radio"],
.facet-item input[type="radio"] {
  position: absolute;
  z-index: 1;
  top: -2px;
  left: -2px;
  width: var(--spacing-large);
  height: var(--spacing-large);
  margin: 0;
  cursor: pointer;
  opacity: 0;
}

.form-item input[type="radio"]:hover + label,
.facet-item input[type="radio"]:hover + label,
.form-item input[type="radio"]:focus + label,
.facet-item input[type="radio"]:focus + label {
  text-decoration: none;
}

.form-item input[type="radio"] + label,
.facet-item input[type="radio"] + label {
  padding-inline-start: var(--spacing-large);
  font-weight: 400;
}

.form-item input[type="radio"] + label::before,
.facet-item input[type="radio"] + label::before {
  position: relative;
  top: var(--spacing-smaller);
  left: 0;
  display: inline-block;
  width: var(--spacing-large);
  height: var(--spacing-large);
  margin-right: var(--spacing-small);
  content: "";
  border: 1px solid var(--color-accent-hover);
  border-radius: 50%;
}

.facet-item input[type="radio"]:checked + label.option::before {
  border-color: var(--color-accent);
  background-color: var(--color-accent);
}

.form-item input[type="radio"]:checked + label.option::before,
.facet-item input[type="radio"]:checked + label.option::before {
  background-color: var(--color-accent);
  box-shadow: inset 0 0 0 5px var(--color-white);
}

button,
input[type="submit"] {
  padding-block: var(--spacing-smaller);
  padding-inline: var(--spacing);
}

button:hover,
button:focus,
button:focus-within,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="submit"]:focus-within {
  text-decoration: none;
  color: var(--color-white);
  background-color: var(--color-accent-hover);
}
