.registration .cf-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  vertical-align: -0.2em;
  color: currentColor;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

.registration h2 > .cf-icon,
.registration legend > .cf-icon {
  width: 24px;
  height: 24px;
  margin-right: 0.45em;
}

.registration button:has(> .cf-icon) {
  min-height: 44px;
}

.registration .vol-area-choices button > .cf-icon {
  margin-right: 0.55rem;
}

.registration .vol-progress-nav button > .cf-icon,
.registration .reg-progress button > .cf-icon {
  width: 20px;
  height: 20px;
}

.registration .vol-emergency label > .cf-icon {
  margin-right: 0.45em;
}
.registration .vol-area-choices button { grid-template-columns: 1.8rem minmax(0,1fr); align-content: center; column-gap: .9rem; }
.registration .vol-area-choices button > .cf-icon { grid-column: 1; grid-row: 1 / 3; align-self: center; width: 1.8rem; height: 1.8rem; margin: 0; color: var(--accent); }
.registration .vol-area-title { grid-column: 2; }.registration .vol-area-caption { grid-column: 2; }
.registration h2:has(> .cf-icon) { display:flex; align-items:center; gap:.6rem; }
.registration h2 > .cf-icon { margin:0; vertical-align:initial; }
.registration .vol-food-options strong { display:inline-flex; align-items:center; gap:.65rem; }
.registration .vol-food-options strong > .cf-icon { width:1.4rem; height:1.4rem; color:var(--text-dim); }
.registration .vol-food-options label:has(input:checked) strong > .cf-icon { color:var(--accent); }
