/* Directory search and review cards. Colors, radius and shadows come from styles.css. */
.directory-h2{font-family:var(--serif);font-size:1.48rem;font-weight:600;letter-spacing:-.01em;margin:2.4rem 0 .95rem;scroll-margin-top:6rem}
.directory-tools[hidden],.directory-card[hidden],.directory-empty[hidden]{display:none}

.directory-tools{
  display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,.9fr) auto;gap:.9rem;align-items:end;
  background:var(--panel-raised);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow-sm);padding:1.1rem 1.2rem;margin:0 0 .4rem;
}
.directory-field{min-width:0}
.directory-field label{display:block;font-weight:650;font-size:.84rem;margin-bottom:.35rem}
.directory-field input,.directory-field select{
  width:100%;min-height:2.75rem;border:1px solid var(--border-strong);border-radius:11px;
  background:#fff;color:var(--text);font:inherit;font-size:.92rem;padding:.55rem .8rem;
}
.directory-field input:focus-visible,.directory-field select:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--text)}
.directory-reset{min-height:2.75rem;background:var(--panel-raised);border-color:var(--border-strong);color:var(--text);cursor:pointer;font-family:inherit}
.directory-reset:hover{border-color:var(--text)}
.directory-search-help{grid-column:1/-1;margin:0;color:var(--muted);font-size:.84rem}

.directory-results-heading{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;flex-wrap:wrap;margin:1.6rem 0 .95rem}
.directory-results-heading .directory-h2{margin:0}
.directory-status{margin:0;color:var(--muted);font-size:.9rem}
.directory-empty{margin:0 0 1rem}
.directory-empty h3{margin:0 0 .4rem}
.directory-empty .btn{margin-top:.9rem}

.directory-results{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.directory-card{position:relative;display:flex;flex-direction:column;gap:.65rem;min-width:0}
.directory-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}
.directory-card-title{min-width:0}
.directory-card h3{margin:0;font-size:1.04rem;letter-spacing:-.01em;overflow-wrap:anywhere}
.directory-card h3 a{color:inherit;text-decoration:none}
.directory-card h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--radius)}
.directory-card h3 a:focus-visible{outline:none}
.directory-card h3 a:focus-visible::after{outline:2px solid var(--gold);outline-offset:3px}
.card.directory-card .directory-card-category{margin:.12rem 0 0;font-size:.8rem}
.directory-card-category a{position:relative;z-index:1;color:var(--muted)}
.card.directory-card .directory-card-foot{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:auto;padding-top:.15rem}
.directory-score{font-size:.84rem;color:var(--muted)}
.directory-score strong{font-size:1.02rem;color:var(--text)}

@media (max-width:980px){
  .directory-results{grid-template-columns:repeat(2,minmax(0,1fr))}
  .directory-tools{grid-template-columns:1fr 1fr}
  .directory-tools .directory-field:first-child{grid-column:1/-1}
  .directory-reset{justify-self:start}
}
@media (max-width:640px){
  .directory-results{grid-template-columns:1fr}
  .directory-tools{gap:.7rem;padding:.9rem}
  .directory-reset{grid-column:1/-1;width:100%;min-height:2.5rem}
  .directory-search-help{display:none}
}
