/* Busca de profissionais */

.search-page-header { margin-bottom: 1.5rem; }
.search-page-header h1 { font-size: 1.5rem; font-weight: 700; color: var(--gray-900); margin-bottom: 0.5rem; }
.search-page-header p { color: var(--gray-500); font-size: 0.875rem; }

.search-bar { display: flex; gap: 0.5rem; margin-bottom: 1.5rem; }
.search-bar-field { flex: 1; position: relative; }
.search-bar-field .icon-sm { position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%); color: var(--gray-400); }
.search-bar-field input { width: 100%; padding: 0.75rem 1rem 0.75rem 2.5rem; border: 1px solid var(--gray-300); border-radius: var(--radius-lg); font-size: 0.875rem; }
.search-bar-field input:focus { outline: none; box-shadow: 0 0 0 2px var(--primary-500); border-color: var(--primary-500); }
.search-bar .btn { padding-top: 0.75rem; padding-bottom: 0.75rem; border-radius: var(--radius-lg); }
.filters-toggle-btn { display: none; background: var(--gray-100); color: var(--gray-700); padding: 0.75rem 1rem; border-radius: var(--radius-lg); border: none; }
@media (max-width: 767px) { .filters-toggle-btn { display: inline-flex; } }

.search-layout { display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 768px) { .search-layout { flex-direction: row; } }

.filters-sidebar { width: 100%; flex-shrink: 0; }
@media (min-width: 768px) { .filters-sidebar { width: 18rem; } }
.filters-sidebar.hidden-mobile { display: none; }
@media (min-width: 768px) { .filters-sidebar.hidden-mobile { display: block; } }
.filters-card { background: #fff; border: 1px solid var(--gray-200); border-radius: var(--radius-lg); padding: 1.25rem; box-shadow: var(--shadow-sm); position: sticky; top: 5rem; display: flex; flex-direction: column; gap: 1.25rem; }
.filters-card-header { display: flex; align-items: center; justify-content: space-between; }
.filters-card-header h2 { font-size: 0.875rem; font-weight: 600; color: var(--gray-900); }
.filter-group label { display: block; font-size: 0.75rem; font-weight: 500; color: var(--gray-700); margin-bottom: 0.375rem; }
.price-range { display: flex; align-items: center; gap: 0.5rem; }
.price-range span { color: var(--gray-400); }

.results-area { flex: 1; }
