/* Scoped listing controls; cards continue to use the theme's post-grid styles. */
.vf-listing { --listing-ink: #002a3a; --listing-accent: #215bea; --listing-tint: #f4fbfe; }
.vf-listing--chas { --listing-ink: var(--c-dark, #111827); --listing-accent: var(--c-primary, #581c87); --listing-tint: var(--c-primary-tint, #f7f3fb); }
.vf-listing-announcement {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.vf-listing .vf-listing-filters {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0 0 32px;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--listing-tint);
}
.vf-listing-filter { flex: 1 1 190px; min-width: 0; }
.vf-listing-filter--content { flex: 3 1 400px; }
.vf-listing label { display: block; margin-bottom: 8px; font-size: 16px; font-weight: 600; }
.vf-listing select,
.vf-listing input[type="search"] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 10px 36px 10px 12px;
  border: 1px solid var(--listing-ink);
  border-radius: 4px;
  color: var(--listing-ink);
  background-color: #fff;
  font: inherit;
  font-size: 16px;
}
.vf-listing-tabs { display: flex; flex-wrap: wrap; gap: 4px; min-height: 48px; }
.vf-listing-tabs a {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 8px 14px;
  border-bottom: 3px solid transparent;
  color: var(--listing-ink);
  text-decoration: none;
  font-weight: 600;
}
.vf-listing-tabs a:hover,
.vf-listing-tabs a[aria-current] { color: var(--listing-ink); border-bottom-color: var(--listing-accent); background: var(--listing-tint); }
.vf-listing-filter--content select { display: none; }
.vf-listing--chas .vf-listing-filter--content { flex: 1 1 190px; }
.vf-listing--chas .vf-listing-filter--content select { display: block; }
.vf-listing-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.vf-listing-actions button,
.vf-listing .vf-listing-more {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 0;
  padding: 10px 20px;
  border: 1px solid var(--listing-ink);
  border-radius: 4px;
  background: var(--listing-ink);
  color: #fff;
  font: inherit;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.vf-listing-actions button:hover,
.vf-listing .vf-listing-more:hover { background: var(--listing-accent); border-color: var(--listing-accent); color: #fff; }
.vf-listing-actions a,
.vf-listing .vf-listing-previous,
.vf-listing-error a { color: var(--listing-ink); text-decoration: underline; text-underline-offset: 3px; }
.vf-listing-actions a:hover,
.vf-listing .vf-listing-previous:hover,
.vf-listing-error a:hover { color: var(--listing-accent); }
.vf-listing :is(a, button, select, input):focus-visible { outline: 3px solid var(--listing-accent); outline-offset: 3px; }
.vf-listing .post-more { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin: 24px 0; }
.vf-listing .post-counter { padding: 0; margin: 0; font-size: 16px; text-align: left; }
.vf-listing .post-more-button { display: flex; align-items: center; gap: 20px; margin-left: auto; }
.vf-listing-empty { padding: 32px 0; }
.vf-listing-error { padding: 16px; border-left: 3px solid var(--listing-ink); background: var(--listing-tint); color: var(--listing-ink); }
.vf-listing [hidden] { display: none !important; }
.vf-listing .vf-js-label,
.vf-listing--enhanced .vf-nojs-label { display: none; }
.vf-listing--enhanced .vf-js-label { display: inline; }
.vf-listing--enhanced .vf-listing-filters--automatic .vf-listing-actions button,
.vf-listing--enhanced .vf-listing-filters--automatic .vf-listing-actions--submit-only { display: none; }
/* Safe* dropdowns retain the compact, right-aligned layout of the original listings. */
.vf-listing:not(.vf-listing--chas) .vf-listing-filters {
  justify-content: flex-end;
  margin-bottom: 40px;
  padding-bottom: 0;
  border-bottom: 0;
}
.vf-listing:not(.vf-listing--chas) .vf-listing-filter { flex: 0 1 240px; }
.vf-listing:not(.vf-listing--chas) .vf-listing-filter--content { flex: 1 1 400px; }
.vf-listing:not(.vf-listing--chas) .vf-listing-filter label { font-size: 14px; text-transform: uppercase; }
.vf-listing:not(.vf-listing--chas) select {
  min-height: 44px;
  padding-top: 8px;
  padding-bottom: 8px;
  border-color: #c7d1d6;
  border-radius: 8px;
  background-color: transparent;
}
.vf-listing:not(.vf-listing--chas) .vf-listing-actions { min-height: 44px; font-size: 14px; }
/* CHAS keeps its original compact dropdowns and right-aligned search. */
.vf-listing--chas .vf-listing-filters { padding: 60px 0 40px; margin: 0; border: 0; align-items: center; }
.archive-listing__header ~ .vf-listing--chas .vf-listing-filters { padding-top: 0; }
.vf-listing--chas .vf-listing-filter,
.vf-listing--chas .vf-listing-filter--content { flex: 0 1 150px; }
.vf-listing--chas .vf-listing-filter label {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.vf-listing--chas select,
.vf-listing--chas input[type="search"] {
  min-height: 44px; padding: 8px 32px 8px 14px; border-radius: 8px;
  border-color: var(--c-primary-border-subtle, #d6c9df);
  background-color: var(--c-surface-muted, #f5f9fa);
}
.vf-listing--chas .vf-listing-filter--search { flex: 0 1 260px; margin-left: auto; position: relative; }
.vf-listing--chas input[type="search"] { padding-right: 48px; }
.vf-listing--chas .vf-listing-search-submit {
  position: absolute; top: 0; right: 0; display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; min-width: 44px; padding: 0; margin: 0; border: 0; border-radius: 8px;
  background: transparent; color: var(--listing-accent); cursor: pointer;
}
.vf-listing--chas .vf-listing-search-submit img { display: block; width: 22px; height: 22px; margin: 0; }
.vf-listing--chas .vf-listing-search-submit:hover { background: var(--listing-tint); }
.vf-listing--chas .vf-listing-actions { flex-basis: auto; min-height: 44px; font-size: 14px; }
.vf-listing[aria-busy="true"] [data-vf-results] { opacity: .55; }
.vf-listing[aria-busy="true"] .vf-listing-more { cursor: progress; opacity: .65; }
@media (max-width: 1023px) {
  .vf-listing-filter--content { flex: 1 1 190px; }
  .vf-listing-filter--content select { display: block; }
  .vf-listing-tabs { display: none; }
  .vf-listing-actions { flex-basis: 100%; }
}
@media (max-width: 479px) {
  .vf-listing-filter { flex-basis: 100%; }
  .vf-listing .post-more-button { margin-left: 0; }
}
@media (max-width: 767px) {
  .vf-listing:not(.vf-listing--chas) .vf-listing-filter,
  .vf-listing:not(.vf-listing--chas) .vf-listing-filter--content { flex: 1 1 100%; }
  .vf-listing--chas .vf-listing-filters { padding: 32px 0; gap: 16px; }
  .vf-listing--chas .vf-listing-filter,
  .vf-listing--chas .vf-listing-filter--content { flex: 1 1 calc(50% - 8px); }
  .vf-listing--chas .vf-listing-filter--search { flex-basis: 100%; }
}
