/* Downloads and activity filter corrections V16 */

/* Downloads: keep the search field the same height as other filters. */

body.public-application form[data-download-filters] {
  align-items: stretch !important;
  gap: 8px !important;
}

body.public-application form[data-download-filters] label {
  min-height: 56px !important;
  margin: 0 !important;
}

body.public-application form[data-download-filters]
  label:has(input[name="q"]) {
  min-height: 56px !important;
  height: 56px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  border-radius: 12px !important;
}

body.public-application form[data-download-filters]
  input[name="q"] {
  min-height: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  padding-block: 4px !important;
  border: 0 !important;
  outline: 0 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  box-shadow: none !important;
}

/* Stop the activity search field growing on hover or focus. */

body.public-application :where(
  .d7-search,
  .d7-global-search,
  .v5-global-search
) {
  width: 100% !important;
  min-height: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  transform: none !important;
  transition:
    border-color 140ms ease,
    box-shadow 140ms ease !important;
}

body.public-application :where(
  .d7-search,
  .d7-global-search,
  .v5-global-search
):hover,
body.public-application :where(
  .d7-search,
  .d7-global-search,
  .v5-global-search
):focus,
body.public-application :where(
  .d7-search,
  .d7-global-search,
  .v5-global-search
):focus-within {
  width: 100% !important;
  min-height: 48px !important;
  height: 48px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  transform: none !important;
}

body.public-application :where(
  .d7-search,
  .d7-global-search,
  .v5-global-search
) input,
body.public-application :where(
  .d7-search,
  .d7-global-search,
  .v5-global-search
) input:hover,
body.public-application :where(
  .d7-search,
  .d7-global-search,
  .v5-global-search
) input:focus {
  min-height: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  transform: none !important;
}

/*
 * Automatically distribute the available filters.
 * If Day or Time is unavailable, the remaining filters fill the row.
 */

body.public-application :where(
  .d7-filter-grid,
  .d7-filters,
  .v5-filter-grid
) {
  display: grid !important;
  grid-template-columns:
    repeat(auto-fit, minmax(145px, 1fr)) !important;
  align-items: stretch !important;
}

/* The mixed compatibility classes must still behave as one grid item. */

body.public-application .d7-filter.v5-filter.px-filter {
  display: flex !important;
  justify-content: center !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 57px !important;
}

/* Prevent filter controls from changing size on interaction. */

body.public-application :where(
  .d7-filter,
  .v5-filter,
  .px-filter
),
body.public-application :where(
  .d7-filter,
  .v5-filter,
  .px-filter
):hover,
body.public-application :where(
  .d7-filter,
  .v5-filter,
  .px-filter
):focus-within {
  transform: none !important;
}

/* Mobile remains compact. */

@media (max-width: 720px) {
  body.public-application form[data-download-filters] {
    grid-template-columns: 1fr !important;
  }

  body.public-application form[data-download-filters] label,
  body.public-application form[data-download-filters]
    label:has(input[name="q"]) {
    min-height: 52px !important;
    height: 52px !important;
  }

  body.public-application :where(
    .d7-filter-grid,
    .d7-filters,
    .v5-filter-grid
  ) {
    grid-template-columns:
      repeat(2, minmax(128px, 1fr)) !important;
  }

  body.public-application :where(
    .d7-search,
    .d7-global-search,
    .v5-global-search
  ),
  body.public-application :where(
    .d7-search,
    .d7-global-search,
    .v5-global-search
  ):hover,
  body.public-application :where(
    .d7-search,
    .d7-global-search,
    .v5-global-search
  ):focus-within {
    min-height: 45px !important;
    height: 45px !important;
  }

  body.public-application :where(
    .d7-search,
    .d7-global-search,
    .v5-global-search
  ) input {
    min-height: 43px !important;
    height: 43px !important;
  }
}

@media (max-width: 390px) {
  body.public-application :where(
    .d7-filter-grid,
    .d7-filters,
    .v5-filter-grid
  ) {
    grid-template-columns: 1fr !important;
  }
}