/* Directory pages: search controls and mobile-first layout */
.directory-search{
  position:relative;
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:54px;
  margin:0 0 20px;
  padding:6px 7px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 6px 20px rgba(16,43,61,.05);
}
.directory-search-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  color:var(--green);
  font-size:27px;
  line-height:1;
}
.directory-search input{
  min-width:0;
  flex:1 1 auto;
  height:42px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font-size:14px;
}
.directory-search input::placeholder{color:#93a0a8}
.directory-search-submit{
  flex:0 0 auto;
  min-width:82px;
  height:42px;
  border:0;
  border-radius:10px;
  background:var(--green);
  color:#fff;
  font:700 13px inherit;
  padding:0 18px;
}
.directory-search-clear{
  width:32px;
  height:32px;
  flex:0 0 32px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:9px;
  background:#f1f5f6;
  color:#71808a;
  font-size:20px;
  line-height:1;
}
.directory-result-info{
  margin:-5px 0 15px;
  color:var(--muted);
  font-size:13px;
}
.directory-result-info strong{color:var(--ink)}
.directory-result-info span{margin-right:5px}
.directory-empty{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:35px 20px;
  margin-bottom:18px;
  text-align:center;
  color:var(--muted);
}
.all-category img{object-fit:contain}

@media(max-width:760px){
  .directory-search{
    min-height:52px;
    margin-bottom:16px;
    padding:5px 6px;
    border-radius:12px;
    gap:5px;
  }
  .directory-search-icon{
    width:34px;height:34px;flex-basis:34px;font-size:24px;
  }
  .directory-search input{height:40px;font-size:13px}
  .directory-search-submit{
    min-width:68px;
    height:40px;
    padding:0 12px;
    font-size:12px;
  }
  .directory-search-clear{width:30px;height:30px;flex-basis:30px}
  .category-directory-search .directory-search-clear{
    display:grid;
  }
  .all-categories{
    grid-template-columns:repeat(2,1fr)!important;
    gap:10px!important;
  }
  .all-category{
    padding:16px 10px!important;
    min-width:0;
  }
  .all-category img{
    width:52px!important;
    height:52px!important;
  }
  .all-category strong{
    font-size:15px!important;
  }
  .all-category span{font-size:11px!important}
}

@media(max-width:360px){
  .directory-search-submit{min-width:62px;padding:0 9px}
  .directory-search-icon{width:30px;flex-basis:30px}
  .directory-search input{font-size:12px}
}
