.directory-filters {
    display: grid;
    grid-template-columns: minmax(280px, 1.5fr) minmax(190px, .8fr) minmax(190px, .8fr) auto;
    align-items: end;
    gap: 12px;
    margin: 0 0 18px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15, 61, 70, .05);
}
.directory-filters label { display: grid; gap: 7px; color: #49636a; font-size: 12px; font-weight: 750; }
.directory-filters input, .directory-filters select { width: 100%; height: 48px; border: 1px solid #cedfe1; border-radius: 12px; background: #f9fcfc; color: var(--ink); font: inherit; outline: none; }
.directory-filters input { padding: 0 14px 0 43px; }
.directory-filters select { padding: 0 38px 0 14px; }
.directory-filters input:focus, .directory-filters select:focus { border-color: #32a89d; box-shadow: 0 0 0 3px rgba(11, 128, 120, .1); }
.directory-search > div { position: relative; }
.directory-search svg { position: absolute; z-index: 1; left: 14px; top: 14px; width: 20px; height: 20px; fill: none; stroke: #587177; stroke-width: 1.8; }
.directory-filters button { height: 48px; padding: 0 20px; border: 0; border-radius: 12px; background: linear-gradient(145deg, var(--deep), var(--teal)); color: #fff; font-weight: 750; cursor: pointer; }
.directory-filters > a { grid-column: 1 / -1; width: max-content; color: var(--teal); font-size: 13px; font-weight: 750; }
.directory-result-count { margin: 0 0 18px; color: var(--muted); font-size: 13px; font-weight: 650; }
.doctor-card { align-items: start; }
.doctor-photo { width: 100%; height: 330px; min-height: 0; align-self: start; }
.doctor-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.doctor-heading .doctor-profession { margin: 5px 0 0; color: #176c72; font-size: 15px; font-weight: 750; letter-spacing: .01em; }
.doctor-meta { gap: 18px; }
.doctor-meta .doctor-meta-item { min-width: 210px; display: flex; flex-direction: row; align-items: center; gap: 11px; padding: 11px 14px; border: 1px solid #dce9ea; border-radius: 13px; background: #f8fbfb; color: #48636a; }
.doctor-meta .doctor-meta-item > span { display: flex; flex-direction: column; }
.doctor-meta .doctor-meta-icon { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border-radius: 10px; background: #e5f5f2; color: #087b72; }
.doctor-meta .doctor-meta-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.doctor-meta a.doctor-meta-item:hover { border-color: #83c9c2; background: #eff9f7; }
@media (max-width: 900px) {
    .directory-filters { grid-template-columns: 1fr 1fr; }
    .directory-search { grid-column: 1 / -1; }
    .directory-filters button { width: 100%; }
}
@media (max-width: 850px) {
    .doctor-photo { height: auto; min-height: 0; background: #edf5f5; }
    .doctor-photo img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; object-position: center; }
}
@media (max-width: 600px) {
    .directory-filters { grid-template-columns: 1fr; }
    .directory-search, .directory-filters > a { grid-column: auto; }
}
