.directory-toolbar { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:28px; padding:22px; border:1px solid var(--line); border-radius:var(--radius); background:var(--cream); }
.directory-search { flex:1; max-width:680px; }
.directory-search label { display:block; margin-bottom:8px; font-size:.82rem; font-weight:800; }
.directory-search input { width:100%; padding:14px 17px; border:1px solid #cbc7bc; border-radius:12px; background:#fff; color:var(--ink); font:inherit; outline:none; }
.directory-search input:focus { border-color:var(--sage-dark); box-shadow:0 0 0 3px rgba(111,143,114,.14); }
.directory-meta { padding-bottom:13px; color:var(--muted); font-size:.9rem; white-space:nowrap; }
.business-area { display:inline-block; margin-top:14px; color:var(--sage-dark); font-size:.78rem; font-weight:700; }
.empty-state { padding:55px 20px; text-align:center; }
.empty-state h2 { margin-bottom:8px; font-family:"Playfair Display",Georgia,serif; font-size:2rem; }
.empty-state p { color:var(--muted); }
@media (max-width:800px) { .directory-toolbar { align-items:stretch; flex-direction:column; } .directory-search { max-width:none; } .directory-meta { padding-bottom:0; } }
