.search-page-shell { background: #f6f6f6; }
.search-page-main { padding-top: 2rem; padding-bottom: 3rem; }
.search-page-hero {
  margin-bottom: 1.5rem;
  padding: 2rem;
  border-left: 5px solid var(--border-action-high-blue-france);
  background: linear-gradient(135deg, #ececfe 0%, #f5f5fe 100%);
  box-shadow: 0 4px 14px rgba(0, 0, 145, .08);
}
.search-page-hero h1 { color: var(--text-title-blue-france); }
.search-filter-card,
.results-panel {
  padding: 1.75rem;
  border: 1px solid #e3e3fd;
  border-radius: .5rem;
  background: #fff;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .06);
}
.search-filter-card .fr-input,
.search-filter-card .fr-select { background-color: #f9f9ff; }
.search-filter-card .fr-label { font-weight: 600; }
.search-filter-card #results { z-index: 10; width: calc(100% - 3.5rem); border-color: #cacafb; box-shadow: 0 4px 10px rgba(0, 0, 0, .12); }
.results-page-heading {
  margin-bottom: 1.5rem;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #cacafb;
  background: linear-gradient(135deg, #ececfe 0%, #f5f5fe 100%);
}
.results-page-heading h1,
.results-page-heading h2,
.results-page-heading h4,
.results-page-heading h6 { color: var(--text-title-blue-france); }
.projects-summary {
  padding: 1.5rem;
  border-left: 4px solid var(--border-action-high-blue-france);
  background: var(--background-alt-blue-france);
}
.projects-summary h5 { color: var(--text-title-blue-france); }
.results-map {
  overflow: hidden;
  border: 1px solid #cacafb;
  border-radius: .5rem;
  background: #fff;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .1);
}
.results-table-card {
  padding: .5rem 1rem 1rem;
  border: 1px solid #e3e3fd;
  border-radius: .5rem;
  background: #fff;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .06);
}
.results-table-card .fr-table { margin-bottom: 0; }

@media (max-width: 48rem) {
  .search-page-main { padding-top: 1rem; }
  .search-page-hero,
  .search-filter-card,
  .results-panel { padding: 1.25rem; }
  .results-page-heading { align-items: flex-start; padding: 1rem; }
  .results-page-heading__actions { width: 100%; }
  .results-page-heading__actions .fr-btn:not(.icon-only),
  .results-page-heading__actions form,
  .results-page-heading__actions form .fr-btn { width: 100%; }
}
