:host {
  display: block;
  user-select: none;
  box-sizing: border-box;
  font-family: var(--r-font-family-text);
  font-size: var(--r-font-size-400);
  text-align: left;
  color: var(--r-text-regular);
  cursor: pointer;
}
:host ::slotted(a),
:host ::slotted(a:visited),
:host ::slotted(a:hover),
:host ::slotted(a:focus),
:host ::slotted(a:active) {
  color: var(--r-text-regular);
}
:host slot {
  display: contents;
}

:host(:hover:not([disabled]:not([disabled=false]))) {
  --r-checkbox--box--background-color: var(--r-background-interactive-hovered);
}

:host(:focus-within:not(:active)) {
  box-shadow: 0 0 0 3px var(--r-border-focused-outlined, #fff), inset 0 0 0 1px var(--r-border-focused-outlined, #fff);
  outline: 2px solid var(--r-border-focused, #0071e3);
  outline-offset: 2px;
  --r-checkbox--box--box-shadow: 0 0 0 3px var(--r-border-focused-outlined, #fff), inset 0 0 0 1px var(--r-border-focused-outlined, #fff);
  --r-checkbox--box--outline: 2px solid var(--r-border-focused, #0071e3);
  --r-checkbox--box--outline-offset: 2px;
}

:host(:active:not([disabled]:not([disabled=false]))) {
  --r-checkbox--box--background-color: var(--r-background-interactive-pressed);
}

:host([invalid]:not([invalid=false])) {
  --r-checkbox--box--border-color: var(--r-status-error-regular);
  --r-checkbox--box--background-color: var(--r-status-error-soft);
  --r-checkbox--marker--color: var(--r-status-error-regular);
}

:host([disabled]:not([disabled=false])) {
  --r-checkbox--box--opacity: 0.4;
  --r-checkbox--cursor: not-allowed;
  --r-checkbox--label-container--cursor: not-allowed;
  --r-checkbox--label--cursor: not-allowed;
  cursor: not-allowed;
}

.r-checkbox {
  position: var(--r-checkbox--position, relative);
  display: var(--r-checkbox--display, flex);
  gap: var(--r-checkbox--gap, var(--r-spacing-100, 1rem));
  cursor: var(--r-checkbox--cursor, pointer);
  padding: var(--r-checkbox--padding, var(--r-spacing-100, 1rem));
  min-height: var(--r-checkbox--min-height, var(--r-spacing-150, 1.5rem));
}
.r-checkbox--input {
  position: var(--r-checkbox--input--position, absolute);
  top: var(--r-checkbox--input--top, var(--r-checkbox--padding));
  left: var(--r-checkbox--input--left, var(--r-checkbox--padding));
  opacity: var(--r-checkbox--input--opacity, 0);
  width: var(--r-checkbox--input--width, 1.5rem);
  height: var(--r-checkbox--input--height, 1.5rem);
  box-sizing: var(--r-checkbox--input--box-sizing, border-box);
  padding: var(--r-checkbox--input--padding, 0);
  margin: var(--r-checkbox--input--margin, 0);
}
.r-checkbox--box {
  position: var(--r-checkbox--box--position, relative);
  display: var(--r-checkbox--box--display, flex);
  align-items: var(--r-checkbox--box--align-items, center);
  justify-content: var(--r-checkbox--box--justify-content, center);
  left: var(--r-checkbox--box--left, 0);
  top: var(--r-checkbox--box--top, 0);
  height: var(--r-checkbox--box--height, 1.5rem);
  width: var(--r-checkbox--box--width, 1.5rem);
  min-width: var(--r-checkbox--box--min-width, 1.5rem);
  background-color: var(--r-checkbox--box--background-color, var(--r-background-interactive-softest, #fff));
  border-width: var(--r-checkbox--box--border-width, 0.0625rem);
  border-style: var(--r-checkbox--box--border-style, solid);
  border-color: var(--r-checkbox--box--border-color, var(--r-border-soft, #686868));
  outline: var(--r-checkbox--box--outline, none);
  outline-offset: var(--r-checkbox--box--outline-offset, 0);
  box-sizing: var(--r-checkbox--box--box-sizing, border-box);
  box-shadow: var(--r-checkbox--box--box-shadow, none);
  opacity: var(--r-checkbox--box--opacity, 1);
}
.r-checkbox--description {
  cursor: var(--r-checkbox--label-container--cursor, pointer);
  flex: var(--r-checkbox--label-container--flex, 1);
  line-height: var(--r-checkbox--label-container--line-height, 1.5);
  display: var(--r-checkbox--label-container--display, flex);
  flex-direction: var(--r-checkbox--label-container--flex-direction, column);
  gap: var(--r-checkbox--label-container--gap, var(--r-spacing-025, 0.25rem));
}
.r-checkbox--label {
  cursor: var(--r-checkbox--label--cursor, pointer);
}
.r-checkbox--message {
  margin-top: var(--r-checkbox--message--margin-top, var(--r-spacing-025, 0.25rem));
}

:host(.visually-hidden),
.visually-hidden {
  position: absolute;
  width: 0.0625rem;
  height: 0.0625rem;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}
