/* Shared radio labels: natural content width by default; equal widths are opt-in. */
:root {
  --ui-radio-padding-x: 30px;
  --ui-radio-padding-y: 14px;
  --ui-radio-gap: 12px;
  --ui-radio-height: 56px;
  --ui-radio-font-size: 16px;
  --ui-radio-control-size: 22px;
  --ui-radio-radius: var(--ui-field-radius);
}
.ui-radio-group { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--ui-radio-gap); padding: 0; margin: 0; min-width: 0; border: 0; }
.ui-radio-option { display: inline-flex; flex: 0 1 auto; align-items: center; justify-content: center; gap: 10px; min-height: var(--ui-radio-height); max-width: 100%; padding: var(--ui-radio-padding-y) var(--ui-radio-padding-x); box-sizing: border-box; border: 1px solid var(--ui-field-border); border-radius: var(--ui-radio-radius); background: var(--ui-box-bg); color: var(--ui-text); font-family: inherit; font-size: var(--ui-radio-font-size); line-height: 1.5; cursor: pointer; }
.ui-radio-option input[type=radio] { position: static; appearance: auto; display: inline-block; flex: 0 0 auto; width: var(--ui-radio-control-size); height: var(--ui-radio-control-size); margin: 0; opacity: 1; accent-color: var(--ui-primary); }
.ui-radio-option:has(input:checked) { border-color: var(--ui-primary); background: var(--ui-primary-soft); color: var(--ui-primary); }
.ui-radio-option:focus-within { outline: 3px solid var(--ui-button-focus); outline-offset: 3px; }
.ui-radio-group-equal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ui-radio-group-equal .ui-radio-option { min-width: 0; }
