/* Radio Group base styles */
.radio-group {
  @apply flex flex-col;

  /* Default orientation */
  &[data-orientation="vertical"] {
    [data-slot="radio"] {
      @apply mt-4;
    }
  }

  &[data-orientation="horizontal"] {
    @apply flex-row flex-wrap gap-4;
  }
}

/* Variant property definitions */
.radio-group--primary {
  /* Default styles */
}

.radio-group--secondary .radio__control {
  @apply shadow-none;
  background-color: var(--radio-control-bg);

  --radio-control-bg: var(--default);
  --radio-control-bg-hover: var(--default-hover);

  /* Hover state */
  .radio:has([data-slot="radio-content"][data-hovered="true"]) &,
  .radio [data-slot="radio-content"][data-hovered="true"] & {
    @apply border-field-border-hover;
  }

  /* Default indicator color (unselected) */
  .radio:not([data-selected]):not(:has(input:checked)) & .radio__indicator:empty::before {
    background-color: var(--radio-control-bg);
  }

  /* Hover indicator color (unselected) */
  .radio:has([data-slot="radio-content"][data-hovered="true"]):not([data-selected]):not(
      :has(input:checked)
    )
    & {
    .radio__indicator:empty::before {
      background-color: var(--radio-control-bg-hover);
    }
  }
}
