e7cf756b7ca8283e86d6cef92289b26831391c15
gperez2
  Tue May 5 11:48:51 2026 -0700
Reduce gap between superTrack Filters heading and first filter row. refs #37426

diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c
index c6c9dceaf55..449e7aa5054 100644
--- src/hg/hgTrackUi/hgTrackUi.c
+++ src/hg/hgTrackUi/hgTrackUi.c
@@ -2930,39 +2930,46 @@
   "}"
   "});");
 // * Hide all subtrack dropdowns from the user. They are used so the CGI arguments
 // are sent to hgTracks, but are not necessary as UI elements anymore
 jsInline("$('#superTrackTable .vizSelect').hide();");
 
 // --- Supertrack-level filters ---
 // If the supertrack's trackDb declares any filter.*, filterValues.*,
 // filterByRange.*, etc. settings, render the standard filter UI here.
 // The cart variables are stored under the supertrack's name
 // (e.g. "lrSv.filter.svLen.min"). Subtracks inherit these values via
 // cartOptionalStringClosestToHome() during hgTracks rendering; a cart
 // value set on a subtrack always overrides the supertrack's.
 if (bedHasFilters(superTdb))
     {
+    // scoreCfgUi (called below with title==NULL) emits a <br> and an empty <p>
+    // before the filter table; the wrapper + scoped style below hides them
+    // without touching shared code other callers rely on.
+    puts("<div class='superTrackFiltersWrap'>");
+    puts("<style>.superTrackFiltersWrap > br:first-of-type, "
+         ".superTrackFiltersWrap > p:empty { display:none; }</style>");
     puts("<h3 style='margin-top:1em'>Filters: ");
     printInfoIcon("Filter values set here apply to every track in this "
                   "container. A filter set directly on an individual track "
                   "overrides the value here for that track only.");
     puts("</h3>");
     // Pass title=NULL so scoreCfgUi does not emit its "<p><B>title</B>"
     // banner. The container <h3> above is already the section label.
     scoreCfgUi(database, cart, superTdb, superTdb->track,
                NULL, 1000, /*boxed=*/FALSE);
+    puts("</div>");
     }
 }
 
 #ifdef USE_HAL
 static void cfgHalSnake(struct trackDb *tdb, char *name)
 {
 boolean parentLevel = isNameAtParentLevel(tdb, name);
 if (parentLevel)
     return;
 char *fileName = trackDbSetting(tdb, "bigDataUrl");
 if (fileName == NULL)
      return;
 char *errString;
 int handle = halOpenLOD(fileName, &errString);
 if (handle < 0)