.search-page { padding-top:2rem; }
.search-page > h1 { margin:.35rem 0 .65rem; }
.search-intro { max-width:75ch; color:var(--muted); margin-bottom:1.5rem; }
.search-filters { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.4fr) auto; align-items:end; gap:1rem; padding:1.25rem; background:var(--panel); border:1px solid var(--line); border-top:3px solid var(--accent); }
.search-filters label { display:grid; gap:.4rem; min-width:0; font-size:.86rem; font-weight:650; }
.search-filters input,.search-filters select { width:100%; min-width:0; min-height:48px; font-size:1rem; background:var(--page); }
.search-filters button { min-height:48px; padding:.7rem 1rem; cursor:pointer; }
.search-filter-note { grid-column:1/-1; margin:0; max-width:105ch; color:var(--muted); font-size:.77rem; line-height:1.6; }
.search-results-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem 1rem; margin:1.75rem 0 .7rem; }
.search-results-heading h2 { margin:0; font:700 1.35rem/1.4 system-ui,sans-serif; }
.search-reset { display:inline-flex; align-items:center; min-height:44px; font-size:.85rem; }
.search-active { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1.3rem; padding:0; list-style:none; }
.search-active li { padding:.35rem .65rem; background:var(--raised); border:1px solid var(--line); border-radius:3px; color:var(--muted); font-size:.78rem; overflow-wrap:anywhere; }
.search-active strong { color:var(--text); }
.search-empty { padding:1.5rem; background:var(--panel); border:1px solid var(--line); }
.search-empty h3 { margin-top:0; }
.search-filter-error { padding:1rem; border-left:3px solid var(--accent); background:var(--panel); }
.search-page .story-card,.search-page .story-body { min-width:0; overflow-wrap:anywhere; }
.site-nav-search { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.site-nav-row .site-nav-filter-link,.site-nav-filter-link { grid-column:1/-1; justify-content:flex-start; min-height:0; padding:0; border:0; color:var(--accent); font-size:.72rem; font-weight:500; line-height:1.4; text-decoration:underline; white-space:normal; }
@media(max-width:1000px) { .search-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.search-filters button { width:100%; } }
@media(max-width:560px) { .search-page { padding-top:1.4rem; }.search-filters { grid-template-columns:1fr; gap:.9rem; padding:1rem; }.search-filters button { margin-top:.15rem; }.search-filter-note { font-size:.75rem; }.search-results-heading { margin-top:1.25rem; } }
