.professional-search { max-width: 1200px; }
.search-site-nav > div { gap: 20px; }
.search-site-links { display: flex; flex-wrap: wrap; gap: 2rem; align-items: center; }
.search-site-links a { color: var(--color-muted); text-decoration: none; font-size: .9rem; }
.search-site-links a[aria-current] { color: var(--color-green-accessible); font-weight: 700; }
.search-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; }
.search-heading h1 { font-size: 2rem; line-height: 1.2; }
.search-heading p { color: var(--color-muted); margin-top: .5rem; }
.search-intro-badge { display: flex; gap: 12px; align-items: center; padding: 1rem 1.25rem; border-radius: .75rem; background: var(--color-green-soft); color: var(--color-green-accessible); }
.search-intro-badge strong { display: block; font-size: .9rem; }
.search-intro-badge span { display: block; font-size: .8rem; margin-top: .25rem; color: var(--color-chocolate); }
.search-intro-badge svg { width: 2.5rem; height: 2.5rem; flex-shrink: 0; }
.search-topbar { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 10rem; gap: 16px; align-items: start; margin-bottom: 28px; }
.search-topbar .form-control { min-height: 3.5rem; border-color: var(--color-surface); }
.search-topbar label { font-size: .85rem; }
.search-topbar button { min-height: 3.5rem; margin-top: 1.75rem; }
.search-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 20px; align-items: start; }
.search-sidebar { padding: 20px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 1.25rem; }
.search-sidebar h2 { margin-bottom: 20px; color: var(--color-green-accessible); font-size: 1.25rem; font-weight: 700; }
.search-sidebar .basic-search-fields,
.search-sidebar .advanced-search-fields { display: flex; flex-direction: column; gap: 20px; }
.search-sidebar label,
.search-sidebar legend { font-size: .9rem; font-weight: 600; }
.search-sidebar .form-control { font-size: .85rem; padding: .65rem .75rem; background: var(--color-cream); }
.search-sidebar fieldset { border: 0; min-width: 0; padding: 0; }
.search-sidebar legend { margin-bottom: .75rem; }
.search-filter-options { display: flex; flex-direction: column; gap: .65rem; }
.search-filter-options label { display: flex; gap: .6rem; align-items: start; font-weight: 400; font-size: .85rem; line-height: 1.4; }
.search-filter-options input { width: 1rem; height: 1rem; margin-top: .1rem; color: var(--color-green-accessible); accent-color: var(--color-green-accessible); flex-shrink: 0; }
.search-filter-options input:focus { --tw-ring-color: var(--color-green-accessible); }
.search-sidebar details { margin-top: 20px; border-top: 1px solid var(--color-border); padding-top: 20px; }
.search-sidebar summary { cursor: pointer; font-weight: 700; color: var(--color-green-accessible); margin-bottom: 16px; }
.search-sidebar #limpiar-filtros { width: 100%; margin-top: 24px; font-size: .9rem; }
.search-sidebar #aviso-filtros-cuenta { font-size: .8rem; line-height: 1.5; }
.search-results-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 0 20px; }
.search-results-header p { margin: 0; }
.search-sort { display: flex; align-items: center; gap: .75rem; font-size: .85rem; }
.search-sort select { width: auto; font-size: .85rem; padding: .6rem .75rem; }
.professional-search #resultados { display: flex; flex-direction: column; gap: 20px; }
.professional-search .search-card { display: grid; grid-template-columns: 7rem minmax(0, 1fr) 11.5rem; align-items: start; gap: 20px; padding: 20px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 1.25rem; box-shadow: 0 2px 6px #0f172a0d; }
.search-card-photo { min-width: 0; }
.search-photo-wrap { position: relative; height: 7rem; border-radius: .75rem; overflow: hidden; background: var(--color-green-soft); }
.professional-search .professional-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: .75rem; }
.search-photo-initials { display: grid; place-items: center; height: 100%; font-size: 2rem; font-weight: 700; color: var(--color-green-accessible); }
.search-card-location { display: flex; gap: .35rem; align-items: start; margin-top: 12px; font-size: .8rem; font-weight: 600; color: var(--color-green-accessible); overflow-wrap: anywhere; }
.search-icon { width: 1.1rem; height: 1.1rem; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; }
.search-card-fact .search-icon { color: var(--color-chocolate); fill: currentColor; fill-rule: evenodd; stroke: none; }
.professional-search .professional-card-content h3 { font-size: 1.35rem; line-height: 1.25; margin-bottom: .35rem; overflow-wrap: anywhere; }
.search-card-specialty { font-size: .85rem; color: var(--color-muted); }
.search-modalities { display: flex; flex-wrap: wrap; gap: .5rem; margin: 12px 0 16px; }
.search-modality { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .65rem; border-radius: 999px; background: var(--color-green-soft); color: var(--color-green-accessible); font-size: .75rem; font-weight: 600; }
.search-card-facts { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 12px; margin-top: 12px; }
.search-card-fact { display: flex; align-items: start; gap: .5rem; font-size: .75rem; overflow-wrap: anywhere; }
.search-card-fact strong { display: block; font-weight: 500; }
.search-card-fact span { display: block; color: var(--color-muted); font-size: .7rem; margin-top: .15rem; }
.search-card-actions { display: flex; flex-direction: column; gap: .65rem; align-self: center; }
.search-card-actions p { margin-bottom: .5rem; font-size: .85rem; }
.search-card-actions button { width: 100%; padding: .65rem .75rem; font-size: .85rem; }
.search-card-actions .search-whatsapp { display: flex; align-items: center; justify-content: center; gap: .35rem; font-size: .75rem; color: var(--color-green-accessible); border-color: var(--color-green-accessible); }
.search-card-actions .search-whatsapp svg { width: 1.1rem; height: 1.1rem; }
.search-hidden { display: none; }
.search-filter-options [hidden] { display: none; }

@media (max-width: 1024px) {
    .search-site-links { gap: 1rem; }
    .search-layout { grid-template-columns: 13rem minmax(0, 1fr); }
    .professional-search .search-card { grid-template-columns: 6rem minmax(0, 1fr); gap: 16px; }
    .search-photo-wrap { height: 6rem; }
    .search-card-actions { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; }
    .search-card-actions p { flex: 1 1 100%; margin: 0; }
    .search-card-actions button { width: auto; flex: 1; }
}

@media (max-width: 860px) {
    .search-heading { align-items: start; flex-direction: column; }
    .search-layout { grid-template-columns: minmax(0, 1fr); }
    .search-sidebar .basic-search-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .search-site-links { display: none; }
    .search-topbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .search-topbar button { grid-column: 1 / -1; margin-top: 0; }
}

@media (max-width: 640px) {
    .search-site-nav > div { flex-wrap: wrap; }
    .search-site-nav [data-account-menu] { flex-wrap: wrap; min-width: 0; }
    .search-heading h1 { font-size: 1.75rem; }
    .search-topbar,
    .search-sidebar .basic-search-fields { grid-template-columns: minmax(0, 1fr); }
    .search-sidebar { padding: 20px; }
    .professional-search .search-card { padding: 16px; gap: 12px; }
    .search-card-facts { grid-template-columns: minmax(0, 1fr); }
    .search-card-actions { flex-direction: column; align-items: stretch; }
    .search-card-actions button { width: 100%; }
}
