.aq-directory-page {
  margin: 0 auto;
  padding-block: 2rem 4rem;
}
.aq-directory-page .aq-empty-state {
  padding: 2rem;
  border: 1px dashed currentColor;
  border-radius: .75rem;
}
.aq-directory-search {
  display: grid;
  gap: 1rem;
  margin: 1.5rem 0 2rem;
  padding: 1.5rem;
  border: 1px solid var(--aq-border);
  border-radius: var(--aq-radius);
  background: var(--aq-surface-soft);
  color: var(--aq-text);
}
.aq-directory-search h1 {
  margin: .15rem 0;
}
.aq-directory-search p {
  margin: .25rem 0;
}
.aq-directory-search form {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.aq-directory-search input {
  flex: none;
  min-width: 0;
  min-height: var(--ug-button-height);
  padding: 0 1rem;
  border: 1px solid var(--ug-border-accessible, #557b71);
  border-radius: var(--ug-control-radius);
  font: inherit;
}
.aq-directory-search button {
  width: 100%;
  min-height: var(--ug-button-height);
  padding: var(--ug-button-padding);
  border: 1px solid transparent;
  border-radius: var(--ug-control-radius);
  background: var(--ug-button-primary-bg);
  color: var(--ug-button-primary-text);
  font: var(--ug-button-font);
  cursor: pointer;
}
.aq-directory-search button:hover {
  background: var(--ug-button-primary-hover-bg);
  color: var(--ug-button-primary-hover-text);
}
.aq-directory-search-status {
  min-height: 1.5rem;
}
/* Until a search reports something, the status line takes no room; it stays rendered, so screen readers still hear it. */
.aq-directory-search-status:empty {
  position: absolute;
  min-height: 0;
  margin: 0;
}
