/* src/radio/src/Radio.css */
.o-ui-radio {
  --o-ui-radio-background-color: var(--hop-neutral-icon-selected);
  --o-ui-radio-border-color: var(--hop-neutral-border);
  --o-ui-radio-size: 1.5rem;
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-start;
  cursor: pointer;
  max-width: 100%;
  width: max-content;
  height: max-content;
  color: var(--hop-neutral-text);
}
.o-ui-radio-button {
  display: inline-block;
  background-color: var(--o-ui-radio-background-color);
  border-radius: var(--hop-shape-circle);
  border: 1px solid var(--o-ui-radio-border-color);
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
}
.o-ui-radio-button::before {
  --o-ui-radio-button-size: 0.75rem;
  content: "";
  display: block;
  background-color: var(--hop-neutral-icon-selected);
  border-radius: var(--hop-shape-circle);
  transform: scale(0) translate(-50%, -50%);
  transform-origin: top left;
  transition: all var(--o-ui-easing-duration-1) var(--o-ui-easing-productive);
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--o-ui-radio-button-size);
  height: var(--o-ui-radio-button-size);
}
.o-ui-radio-sm {
  --o-ui-radio-size: 1rem;
}
.o-ui-radio-sm .o-ui-radio-button {
  width: var(--o-ui-radio-size);
  height: var(--o-ui-radio-size);
}
.o-ui-radio-sm .o-ui-radio-button::before {
  --o-ui-radio-button-size: 0.5rem;
}
.o-ui-radio-label {
  margin-left: var(--hop-space-inline-sm);
}
.o-ui-radio-counter,
.o-ui-radio-label {
  margin-top: calc((var(--o-ui-radio-size) - (var(--hop-body-md-line-height) * var(--hop-body-md-font-size))) / 2);
}
.o-ui-radio-reverse .o-ui-radio-label {
  margin-left: 0;
  margin-right: var(--hop-space-inline-sm);
}
.o-ui-radio-sm .o-ui-radio-label,
.o-ui-radio-sm .o-ui-radio-counter {
  margin-top: calc((var(--o-ui-radio-size) - (var(--hop-body-sm-line-height) * var(--hop-body-sm-font-size))) / 2);
}
.o-ui-radio-icon {
  margin-left: var(--hop-space-inline-sm);
}
.o-ui-radio-reverse .o-ui-radio-icon {
  margin-left: 0;
  margin-right: var(--hop-space-inline-sm);
}
.o-ui-radio-counter {
  margin-left: var(--hop-space-inline-sm);
  color: var(--hop-neutral-text);
}
.o-ui-radio-reverse .o-ui-radio-counter {
  margin-left: 0;
  margin-right: var(--hop-space-inline-sm);
}
.o-ui-radio-button:after {
  opacity: 0;
  content: "";
  inset: -1px;
  display: block;
  position: absolute;
  box-shadow: 0 0 0 0.125rem var(--hop-neutral-surface), 0 0 0 0.25rem var(--hop-primary-border-focus);
  border-radius: var(--hop-shape-circle);
  transition: var(--o-ui-focus-ring-transition);
}
.o-ui-radio input[type=radio]:focus-visible ~ .o-ui-radio-button,
.o-ui-radio-focus:not(.o-ui-radio-disabled) {
  --o-ui-radio-background-color: var(--hop-neutral-surface-hover);
  --o-ui-radio-border-color: var(--hop-neutral-border-hover);
}
.o-ui-radio input[type=radio]:focus-visible ~ .o-ui-radio-button:after,
.o-ui-radio-focus:not(.o-ui-radio-disabled) .o-ui-radio-button:after {
  opacity: 1;
}
.o-ui-radio:hover:not(.o-ui-radio-disabled),
.o-ui-radio-hover:not(.o-ui-radio-disabled) {
  --o-ui-radio-background-color: var(--hop-neutral-surface-hover);
  --o-ui-radio-border-color: var(--hop-neutral-border-hover);
}
.o-ui-radio-checked {
  --o-ui-radio-background-color: var(--hop-neutral-surface-selected);
  --o-ui-radio-border-color: var(--hop-neutral-border-selected);
}
.o-ui-radio-checked .o-ui-radio-button::before {
  transform: scale(1) translate(-50%, -50%);
}
.o-ui-radio-checked.o-ui-radio-invalid {
  --o-ui-radio-background-color: var(--hop-danger-surface-strong);
  --o-ui-radio-border-color: var(--hop-danger-border-strong);
}
.o-ui-radio-checked:not(.o-ui-radio-disabled).o-ui-radio:hover,
.o-ui-radio-checked:not(.o-ui-radio-disabled).o-ui-radio-hover,
.o-ui-radio-checked input[type=radio]:focus-visible ~ .o-ui-radio-button,
.o-ui-radio-checked.o-ui-radio-focus:not(.o-ui-radio-disabled) {
  --o-ui-radio-background-color: var(--hop-neutral-surface-selected);
  --o-ui-radio-border-color: var(--hop-neutral-border-selected);
}
.o-ui-radio-checked:not(.o-ui-radio-disabled).o-ui-radio-invalid.o-ui-radio:hover,
.o-ui-radio-checked:not(.o-ui-radio-disabled).o-ui-radio-invalid.o-ui-radio-hover,
.o-ui-radio-checked.o-ui-radio-invalid input[type=radio]:focus-visible ~ .o-ui-radio-button,
.o-ui-radio-checked.o-ui-radio-focus.o-ui-radio-invalid:not(.o-ui-radio-disabled) {
  --o-ui-radio-background-color: var(--hop-danger-surface-strong);
  --o-ui-radio-border-color: var(--hop-danger-border-strong);
}
.o-ui-radio-checked.o-ui-radio-invalid .o-ui-radio-button::before {
  background-color: var(--hop-neutral-icon-selected);
}
.o-ui-radio-invalid {
  --o-ui-radio-border-color: var(--hop-danger-border-strong);
  color: var(--hop-danger-text-weak);
}
.o-ui-radio-invalid.o-ui-radio:hover:not(.o-ui-radio-disabled),
.o-ui-radio-invalid.o-ui-radio-hover:not(.o-ui-radio-disabled),
.o-ui-radio-invalid input[type=radio]:focus-visible ~ .o-ui-radio-button,
.o-ui-radio-invalid.o-ui-radio-focus:not(.o-ui-radio-disabled) {
  --o-ui-radio-background-color: var(--hop-danger-surface);
  --o-ui-radio-border-color: var(--hop-danger-border-strong);
}
.o-ui-radio.o-ui-radio-invalid .o-ui-radio-button::before {
  background-color: var(--hop-danger-surface);
}
.o-ui-radio-disabled {
  --o-ui-radio-background-color: var(--hop-neutral-surface-disabled);
  --o-ui-radio-border-color: var(--hop-neutral-border-disabled);
  cursor: not-allowed;
}
.o-ui-radio-disabled .o-ui-radio-button::before {
  background-color: var(--hop-neutral-icon-disabled);
}
.o-ui-radio-reverse {
  flex-direction: row-reverse;
}

/* src/radio/src/RadioGroup.css */
.o-ui-radio-group-has-label {
  margin-top: var(--hop-space-stack-xs);
}
.o-ui-radio-group-has-message {
  margin-bottom: var(--hop-space-stack-xs);
}

/* src/radio/src/index.css */
