/* 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(--color-default);
  --radio-control-bg-hover: var(--color-default-hover);

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

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

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