.radio-container {
  align-items: center;
  display: flex;

  &:not(:last-child) {
    margin-block-end: var(--spacing-8);
  }

  .radio-input {
    align-items: center;
    appearance: none;
    block-size: var(--spacing-16);
    border-radius: 50%;
    display: grid;
    inline-size: var(--spacing-16);
    justify-content: center;
    margin: 0;
    margin-block-start: 2px;
    transform: translateY(-0.075em);
  }

  .radio-input::before {
    border-radius: 50%;
    content: '';
    transform: scale(0);
    transition: 120ms transform ease-in-out;
  }

  .radio-input:checked::before {
    transform: scale(1);
  }

  .radio-input:focus-within {
    outline: none;
  }

  .radio-label {
    color: var(--df-secondary);
    cursor: pointer;
    margin-inline-start: var(--spacing-8);
  }
}

[data-theme='dark'] {
  .radio-input {
    background-color: var(--db-quaternary);
    border: 1px solid var(--df-secondary);
  }

  .radio-input::before {
    border: 5px solid var(--db-primary);
  }

  .radio-input:checked {
    background-color: var(--da-primary);
    border: 1px solid var(--da-primary);
  }

  .radio-input:hover {
    border: 1px solid var(--da-primary-muted);
  }

  .radio-input:focus {
    border: 1px solid var(--da-primary);
  }
}

[data-theme='light'] {
  .radio-input {
    background-color: var(--lb-quaternary);
    border: 1px solid var(--lf-secondary);
  }

  .radio-input::before {
    border: 5px solid var(--lb-primary);
  }

  .radio-input:checked {
    background-color: var(--la-primary);
    border: 1px solid var(--la-primary);
  }

  .radio-input:hover {
    border: 1px solid var(--la-primary-muted);
  }

  .radio-input:focus {
    border: 1px solid var(--la-primary);
  }
}
