.service-filters { padding: 1.25rem; border: 1px solid var(--border, #d2d2d7); border-radius: 1.25rem; background: #fff; }
.service-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: 1rem; }
.service-filter-grid label { display: flex; flex-direction: column; gap: .45rem; font-size: .875rem; font-weight: 600; }
.service-filter-grid select { width: 100%; min-width: 0; min-height: 2.75rem; font: inherit; padding: .65rem .8rem; border: 1px solid #c7c7cc; border-radius: .7rem; background: #fff; color: #1d1d1f; }
.service-filter-grid select:focus-visible { outline: 3px solid #2f3031; outline-offset: 2px; }
.service-filter-footer, .service-context { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.service-filter-footer { margin-top: 1rem; }
.service-filter-footer p, .service-context p { margin: 0; }
.service-context { margin-bottom: 1.25rem; }
.service-context p + p { margin-top: .35rem; }
.service-context a { text-underline-offset: .2em; }
.service-context > .text-link, .service-filter-footer > .text-link { flex-shrink: 0; min-height: 2.75rem; display: inline-flex; align-items: center; }
.service-no-results { grid-column: 1 / -1; }
.service-no-results .text-link { margin-left: 1rem; }
.highContrast .service-filters, .highContrast .service-filter-grid select { border-color: #1d1d1f; }
@media (max-width: 700px) { .service-filter-grid { grid-template-columns: 1fr; } .service-context, .service-filter-footer { align-items: flex-start; flex-direction: column; } .service-no-results .text-link { display: inline-flex; min-height: 2.75rem; margin: .75rem 0 0; } }
@media (prefers-contrast: more) { .service-filters, .service-filter-grid select { border-color: #1d1d1f; } }
@media print { .service-filters, .service-context, .results-heading { display: none; } }
