/* CFP Event form: clean, even two-column grid using existing markup (.cfp-grid, .cfp-row-2) */
.cfp-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}
/* Prevent legacy floats from breaking the grid */
.cfp-grid .cfp-field{ float:none !important; }

/* Full-width rows when needed */
.cfp-grid > .span-2,
.cfp-grid > .cfp-field.span-2,
.cfp-grid > .cfp-content-wrap,
.cfp-grid > #cfp-event-fields{
  grid-column:1 / -1;
}

/* Nested row pairs already use .cfp-row-2 → split them evenly */
.cfp-grid > .cfp-row-2{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
  grid-column:1 / -1; /* make pairs span the full grid width */
}
.cfp-grid > .cfp-row-2 > .cfp-field{ float:none !important; }

/* Ensure grouped sections (#cfp-event-fields) adopt grid for their inner .cfp-row-2 blocks */
#cfp-event-fields .cfp-row-2{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}

/* Headings span full width */
.cfp-grid h3.cfp-subtitle{ grid-column:1 / -1; margin-top:8px; padding-top: 20px; }

/* Mobile: stack to one column */
@media (max-width: 768px){
  .cfp-grid{ grid-template-columns:1fr; }
  .cfp-grid > .cfp-row-2{ grid-template-columns:1fr; }
  #cfp-event-fields .cfp-row-2{ grid-template-columns:1fr; }
}