/* Consent is one explicit native choice with a generous labelled target.
   Keep native checkbox paint, keyboard activation and form validation. The
   surrounding card carries selection/focus; information controls stay outside. */
label.consent-choice:has(> input[type="checkbox"]) {
  display: grid;
  grid-template-columns: var(--space-14) minmax(0, 1fr);
  align-items: center;
  gap: var(--space-6);
  box-sizing: border-box;
  width: 100%; min-width: 0;
  min-height: var(--control-height);
  padding: var(--space-6) var(--space-8);
  border: calc(var(--space-1) / 2) solid var(--border-strong);
  border-radius: var(--radius-sm);
  background: var(--surface-inset);
  color: var(--ink);
  text-align: start;
  font-size: var(--type-h4);
  line-height: var(--type-body-lh);
  cursor: pointer;
}
label.consent-choice > input[type="checkbox"] {
  appearance: auto;
  width: var(--space-14); height: var(--space-14);
  margin: 0; flex: none;
  accent-color: var(--action-ink);
  outline: var(--space-1) solid var(--ink-muted);
  outline-offset: calc(var(--space-1) * -1);
  cursor: inherit;
}
label.consent-choice:not(:has(> input:disabled)):hover { border-color: var(--ink-muted); }
label.consent-choice:has(> input:checked) { border-color: var(--action-ink); background: var(--action-tint); }
label.consent-choice:has(> input:focus-visible) { outline: var(--space-1) solid var(--action-ink); outline-offset: var(--space-2); }
label.consent-choice:has(> input:disabled) { color: var(--ink-muted); border-color: var(--border); cursor: not-allowed; }
label.consent-choice:has(> input[aria-invalid="true"]) { border-color: var(--danger); }
.subscription-consent-row > label.consent-choice { flex: 1 1 0%; }
/* Without JavaScript, the full consent detail remains below its choice. */
.subscription-consent-row > [data-itip-note][data-itip-for] { flex: 1 1 100%; }
/* The footer's permanent navy canvas has its own readable control palette. */
.site-footer label.consent-choice {
  --surface-inset: var(--brand-canvas-bg);
  --border-strong: var(--brand-canvas-muted);
  --action-ink: var(--brand-canvas-ink);
  --action-tint: var(--brand-canvas-glow);
}
/* Native controls remain recognizable when the OS supplies high-contrast paint. */
@media (forced-colors: active) {
  label.consent-choice { --consent-system-border: ButtonText; border-color: var(--consent-system-border); }
  label.consent-choice:has(> input:checked) { --consent-system-selected: Highlight; border-color: var(--consent-system-selected); }
  label.consent-choice:has(> input:disabled) { --consent-system-disabled: GrayText; border-color: var(--consent-system-disabled); color: var(--consent-system-disabled); }
  label.consent-choice:has(> input:focus-visible) { --consent-system-focus: Highlight; outline-color: var(--consent-system-focus); }
  label.consent-choice > input[type="checkbox"] { outline: revert; }
}
