/* Basic styles for the dual search bar and result grid */
.ds-search-form { margin-bottom: 20px; }
.ds-search-wrap {
    display: grid;
    grid-template-columns: 1fr 2fr auto;
    gap: 8px;
    align-items: center;
}
.ds-search-wrap .ds-field select,
.ds-search-wrap .ds-field input[type="search"] {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d0d5dd;
    border-radius: 10px;
    outline: none;
}
.ds-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid #d0d5dd;
    background: #fff;
    cursor: pointer;
}
.ds-submit-btn:hover {
    background: #f5f5f5;
}
.ds-icon { display:block; }

/* Cards */
.ds-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
}
.ds-card {
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
}
.ds-thumb img,
.ds-thumb--placeholder {
    width: 100%;
    height: 160px;
    object-fit: cover;
    background: #f3f4f6;
}
.ds-content { padding: 14px; display:flex; flex-direction: column; gap: 8px; }
.ds-title { margin: 0; font-size: 18px; }
.ds-meta { font-size: 12px; color: #6b7280; }
.ds-location-chip { background: #eef2ff; color: #3730a3; padding: 2px 8px; border-radius: 999px; }
.ds-readmore { align-self: flex-start; font-weight: 600; }
.ds-pagination { margin-top: 16px; }
.ds-pagination ul { list-style:none; padding:0; display:flex; gap:8px; }
.ds-pagination a, .ds-pagination span {
    display:inline-block; padding:6px 10px; border:1px solid #e5e7eb; border-radius:8px; text-decoration:none;
}
.ds-no-results { color:#6b7280; }

/* Responsive */
@media (max-width: 600px) {
    .ds-search-wrap { grid-template-columns: 1fr; }
    .ds-submit-btn { width: 100%; height: 40px; }
}


/* Specialization field */
.ds-specialization select { width: 100%; padding: 12px 14px; border: 1px solid #d0d5dd; border-radius: 10px; }

/* Make 3-4 columns on larger screens for a nicer grid */
@media (min-width: 1024px) {
    .ds-results { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1280px) {
    .ds-results { grid-template-columns: repeat(4, 1fr); }
}
