.adf-directory {
  --adf-accent: #176b5b;
  --adf-border: #d9e1df;
  --adf-surface: #fff;
  --adf-muted: #5b6663;
  color: #202725;
  direction: rtl;
  font: inherit;
}
.adf-directory *, .adf-directory *::before, .adf-directory *::after { box-sizing: border-box; }
.adf-filters {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 14px;
  align-items: end;
  padding: 18px;
  border: 1px solid var(--adf-border);
  border-radius: 12px;
  background: var(--adf-surface);
}
.adf-filters label { display: grid; gap: 7px; font-size: .95rem; font-weight: 600; }
.adf-filters select, .adf-filters input {
  width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--adf-border);
  border-radius: 7px; background: #fff; color: inherit; font: inherit;
}
.adf-filters select:disabled { background: #f2f4f3; color: #77807e; }
.adf-actions { display: flex; gap: 8px; }
.adf-actions button, .adf-pagination button {
  min-height: 42px; padding: 8px 16px; border: 1px solid var(--adf-accent); border-radius: 7px;
  background: var(--adf-accent); color: #fff; font: inherit; cursor: pointer;
}
.adf-actions .adf-reset { background: transparent; color: var(--adf-accent); }
.adf-status { min-height: 1.8em; margin: 14px 2px 8px; color: var(--adf-muted); }
.adf-results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; align-items: stretch; gap: 20px; }
.adf-results > * { width: 100%; min-width: 0; height: 100%; }
.adf-results .elementor, .adf-results .e-con, .adf-results .elementor-section { height: 100%; }
.adf-card { overflow: hidden; border: 1px solid var(--adf-border); border-radius: 12px; background: var(--adf-surface); }
.adf-card-media { aspect-ratio: 16 / 9; background: #f2f4f3; }
.adf-card-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.adf-card-body { padding: 16px; }
.adf-card h3 { margin: 0 0 9px; font-size: 1.12rem; line-height: 1.5; }
.adf-card p { margin: 8px 0; line-height: 1.7; }
.adf-address { color: var(--adf-muted); }
.adf-badge { display: inline-block; margin: 6px 0; padding: 4px 9px; border-radius: 20px; background: #e7f3f0; color: var(--adf-accent); font-size: .85rem; }
.adf-website { display: inline-block; margin-inline-start: 8px; color: var(--adf-accent); }
.adf-empty { grid-column: 1 / -1; padding: 22px; border: 1px dashed var(--adf-border); border-radius: 10px; text-align: center; }
.adf-pagination { display: flex; flex-wrap: wrap; gap: 7px; justify-content: center; margin-top: 20px; }
.adf-pagination button { min-width: 42px; }
.adf-pagination button.is-current { background: #fff; color: var(--adf-accent); }
@media (max-width: 900px) { .adf-results { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 600px) { .adf-filters { grid-template-columns: 1fr; padding: 14px; } .adf-actions button { flex: 1; } .adf-results { grid-template-columns: 1fr; gap: 14px; } }
