/* ==========================================================================
   Reviorum — pages/directory.css  (directory.html / archive-listing.php)
   Requires pages/listing.css.
   ========================================================================== */

.rv-directory-band__row { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--rv-s-6); flex-wrap: wrap; }
.rv-directory-band__search { width: 420px; max-width: 100%; }
.rv-directory-band__search .rv-search__field { height: 48px; border-width: 1.5px; border-color: #d5d9e3; border-radius: 12px; background: var(--rv-surface); }
.rv-directory-band__search .rv-search__input { font-size: 0.9375rem; }

/* ---------- List / grid view switch: pure CSS (radio + :has), no JS ---------- */
.rv-view-toggle { display: inline-flex; margin: 0; padding: 3px; border: 1px solid var(--rv-line); border-radius: var(--rv-r-md); background: var(--rv-surface); }
.rv-view-toggle__input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rv-view-toggle__label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 10px;
  border-radius: var(--rv-r-sm);
  color: var(--rv-muted);
  font-size: var(--rv-fs-sm);
  font-weight: 500;
  cursor: pointer;
}
.rv-view-toggle__input:checked + .rv-view-toggle__label { background: var(--rv-ink); color: #fff; }
.rv-view-toggle__input:focus-visible + .rv-view-toggle__label { box-shadow: var(--rv-focus); }

.rv-directory:has(#view-grid:checked) .rv-result-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--rv-s-4);
}
.rv-directory:has(#view-grid:checked) .rv-result {
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
}
.rv-directory:has(#view-grid:checked) .rv-result > .rv-logo { width: 52px; height: 52px; font-size: 1.0625rem; border-radius: 12px; }
.rv-directory:has(#view-grid:checked) .rv-result__side {
  width: auto;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding-top: var(--rv-s-3);
  border-top: 1px solid var(--rv-line);
}
.rv-directory:has(#view-grid:checked) .rv-result__cta { display: none; }
.rv-directory:has(#view-grid:checked) .rv-result__desc { flex: 1; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .rv-directory:has(#view-grid:checked) .rv-result-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .rv-directory-band__title-wrap { width: 100%; }
  .rv-directory-band__search { width: 100%; }
  .rv-view-toggle { display: none; }
  .rv-directory:has(#view-grid:checked) .rv-result-list { display: flex; flex-direction: column; gap: var(--rv-s-3); }
  .rv-directory:has(#view-grid:checked) .rv-result { flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: var(--rv-s-3); }
  .rv-directory:has(#view-grid:checked) .rv-result__side { width: 100%; border-top: 0; padding-top: 0; justify-content: flex-start; }
  .rv-listing-toolbar__pills { display: none; }
}
