/* Homepage-scoped enhancement; no hidden courses before JavaScript initializes. */
#courses .camp-filters{padding:24px 0 10px;border-top:1px solid var(--line)}
#courses .filter-row{display:flex;align-items:flex-start;gap:24px;margin-bottom:16px;min-width:0}
#courses .filter-label{flex:0 0 38px;font-weight:700;padding-top:10px}
#courses .filter-options{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
#courses .filter-options button{border:1px solid transparent;background:var(--paper);color:var(--ink);padding:9px 20px;min-height:44px;white-space:nowrap;border-radius:4px;font-weight:600;line-height:1.5;transition:background-color .16s,color .16s}
#courses .filter-options button:hover{border-color:var(--brand)}
#courses .filter-options button[aria-pressed="true"]{background:var(--brand);color:white}
#courses .filter-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-top:4px;color:var(--muted);font-size:14px}
#courses .filter-reset,#courses .filter-all-topics{color:var(--brand);background:transparent;border:0;min-height:44px;padding:8px 0;font-weight:650;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
#courses .filter-empty{padding:40px 0;border-top:1px solid var(--line)}
#courses .filter-empty h3{font-size:24px;margin-bottom:12px}
#courses .filter-empty p{color:var(--muted);margin-bottom:12px}
@media(max-width:800px){
 #courses .camp-filters{padding-top:18px}
 #courses .filter-row{gap:10px;margin-bottom:12px}
 #courses .filter-label{flex-basis:28px;font-size:13px;padding-top:11px}
 #courses .filter-options{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:0 3px 8px;gap:6px;scroll-padding-inline:3px}
 #courses .filter-options button{padding:10px 13px;font-size:13px;flex-shrink:0}
 #courses [aria-labelledby="filter-season"]{flex:1}
 #courses .filter-options [data-season]{padding-inline:9px;flex:1 0 auto}
 #courses .filter-options button:focus-visible{outline-offset:-3px}
 #courses .filter-summary{font-size:12px;align-items:flex-start}
 #courses .filter-status{padding-block:10px}
 #courses .filter-empty{padding:28px 0}
 #courses .filter-empty h3{font-size:21px}
}
@media(prefers-reduced-motion:reduce){#courses .filter-options button{transition:none}}
