/* Courses catalog page */
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0; }
.page-head { max-width:720px;margin-bottom:36px; }

.catalog-controls { display:flex;gap:14px;margin-bottom:28px;align-items:center;flex-wrap:wrap; }
.search-box { position:relative;flex:1;min-width:240px; }
.search-box .search-ic { position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-faint); }
.search-box input { width:100%;background:var(--surface-1);border:1px solid var(--border);border-radius:999px;padding:14px 18px 14px 46px;color:#fff;font-family:var(--font-body);font-size:.95rem; }
.search-box input:focus { outline:none;border-color:var(--cyan); }
.sort-box select { background:var(--surface-1);border:1px solid var(--border);border-radius:999px;padding:14px 18px;color:#fff;font-family:var(--font-head);font-size:.9rem;cursor:pointer; }
.sort-box select:focus { outline:none;border-color:var(--cyan); }
.filter-toggle { display:none; }

.catalog-layout { display:grid;grid-template-columns:250px 1fr;gap:32px;align-items:start; }
.catalog-sidebar { position:sticky;top:96px;display:flex;flex-direction:column;gap:24px; }
.filter-group h4 { font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px;font-weight:600; }
.chip-set { display:flex;flex-wrap:wrap;gap:8px; }

.results-bar { display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px; }
.results-count { font-family:var(--font-head);color:var(--text-dim);font-size:.92rem; }
.results-count b { color:#fff; }
.active-chips { display:flex;flex-wrap:wrap;gap:8px; }
.active-chips .chip { cursor:pointer; }
.active-chips .chip:hover { border-color:#f87171;color:#f87171; }

@media (max-width:900px){
  .catalog-layout { grid-template-columns:1fr; }
  .filter-toggle { display:inline-flex; }
  .catalog-sidebar { position:static;display:none;padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--surface-1); }
  .catalog-sidebar.open { display:flex; }
}
