/* SystemicIQ governed radio/checkbox alignment — v3 */
:root {
  --siq-choice-gap-x: 1rem;
  --siq-choice-gap-y: .75rem;
  --siq-choice-control-size: 1.2rem;
  --siq-choice-row-gap: .75rem;
}

/* The group itself becomes two columns on desktop. */
.siq-choice-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: var(--siq-choice-gap-y) var(--siq-choice-gap-x) !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
}

.siq-choice-grid > legend,
.siq-choice-grid > .legend,
.siq-choice-grid > .form-help,
.siq-choice-grid > .help-text,
.siq-choice-grid > .field-help,
.siq-choice-grid > .field-label,
.siq-choice-grid > .question-title,
.siq-choice-grid > .question-help,
.siq-choice-grid > h1,
.siq-choice-grid > h2,
.siq-choice-grid > h3,
.siq-choice-grid > h4,
.siq-choice-grid > h5,
.siq-choice-grid > p:not(.siq-choice-option-row),
.siq-choice-grid > .siq-choice-full-width {
  grid-column: 1 / -1 !important;
}

/* Every option is a two-cell internal grid: control + content. */
.siq-choice-option-row,
label.siq-choice-option-row,
label.siq-choice-option {
  display: grid !important;
  grid-template-columns: min-content minmax(0, 1fr) !important;
  grid-auto-flow: column !important;
  align-items: center !important;
  justify-items: stretch !important;
  column-gap: var(--siq-choice-row-gap) !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  text-align: start !important;
  line-height: 1.4 !important;
}

.siq-choice-control-cell {
  grid-column: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: stretch !important;
  min-height: 100% !important;
  min-width: var(--siq-choice-control-size) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.siq-choice-content-cell,
.siq-choice-option-row > label:not(.siq-choice-control-cell),
.siq-choice-option-row > span:not(.siq-choice-control-cell),
.siq-choice-option-row > div:not(.siq-choice-control-cell) {
  grid-column: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  align-self: stretch !important;
  min-width: 0 !important;
  min-height: 100% !important;
  margin-block: 0 !important;
  padding-block: 0 !important;
  text-align: start !important;
  line-height: 1.4 !important;
}

.siq-choice-content-cell label,
.siq-choice-content-cell span,
.siq-choice-content-cell p,
.siq-choice-content-cell strong,
.siq-choice-content-cell small,
.siq-choice-option-row label,
.siq-choice-option-row p,
.siq-choice-option-row strong,
.siq-choice-option-row small {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  padding-block-start: 0 !important;
  padding-block-end: 0 !important;
  line-height: 1.4 !important;
  text-align: start !important;
}

.siq-choice-option-row input.siq-choice-input[type="radio"],
.siq-choice-option-row input.siq-choice-input[type="checkbox"],
input.siq-choice-input[type="radio"],
input.siq-choice-input[type="checkbox"] {
  grid-column: 1 !important;
  flex: 0 0 auto !important;
  inline-size: var(--siq-choice-control-size) !important;
  block-size: var(--siq-choice-control-size) !important;
  min-inline-size: var(--siq-choice-control-size) !important;
  min-block-size: var(--siq-choice-control-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
  justify-self: center !important;
  vertical-align: middle !important;
  accent-color: #d7a63c;
}

.siq-choice-option-row label,
label.siq-choice-option-row,
label.siq-choice-option {
  cursor: pointer;
}

html[dir="rtl"] .siq-choice-option-row,
[dir="rtl"] .siq-choice-option-row,
html[dir="rtl"] label.siq-choice-option {
  direction: rtl !important;
}

html[dir="ltr"] .siq-choice-option-row,
[dir="ltr"] .siq-choice-option-row,
html[dir="ltr"] label.siq-choice-option {
  direction: ltr !important;
}

@media (max-width: 720px) {
  .siq-choice-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* v3 hardening: preserve a single visual baseline even when legacy theme CSS uses absolute/inline positioning. */
.siq-choice-option-row .siq-choice-control-cell,
.siq-choice-option-row > input.siq-choice-input {
  position: static !important;
  inset: auto !important;
  transform: none !important;
}

.siq-choice-option-row .siq-choice-content-cell > :first-child {
  margin-block-start: 0 !important;
}

.siq-choice-option-row .siq-choice-content-cell > :last-child {
  margin-block-end: 0 !important;
}

/* Transparent wrapper only when JavaScript proves it contains exactly one option and no extra text. */
.siq-choice-grid > .siq-choice-grid-pass-through {
  display: contents !important;
}
