:host {
  display: block;
}

.form-control {
  position: relative;
  border: none;
  padding: 0;
  margin: 0;
}

.label {
  padding: 0;
}

.radio-group--required .label::after {
  content: var(--wa-form-control-required-content);
  margin-inline-start: var(--wa-form-control-required-content-offset);
}

.wa-button-group {
  display: flex;
}

[part~='form-control-input'] {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: var(--wa-space-s);
  margin-block-end: var(--wa-space-xs);
}

/* Horizontal */
:host([orientation='horizontal']) [part~='form-control-input'] {
  flex-direction: row;
  gap: var(--wa-space-m);
}

/* When radio buttons are slotted */
:host([orientation]) .form-control--has-radio-buttons [part~='form-control-input'] {
  gap: 0;
  flex-wrap: nowrap;
}

/* Help text */
[part~='hint'] {
  margin-block-start: var(--wa-space-2xs);
}
