
.sch-hero{
  background:#0f2146;
  color:#fff;
  padding: 42px 0 28px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.sch-hero h1{ margin:0 0 10px; color:#fff; }
.sch-hero__sub{ margin:0 0 16px; color:#dfe6ff; }

.sch-search{
  display:flex; align-items:center; gap:8px;
  width:min(980px,100%); height:56px; margin:0;
  background:#fff; border:1px solid var(--stroke); border-radius:999px;
  padding:6px; box-shadow:var(--shadow-sm);
}
.sch-search input{
  flex:1 1 auto; min-width:0; height:100%; border:0; outline:0;
  padding:0 14px; font-size:16px; border-radius:999px; background:transparent;
}
.sch-search .search__btn{
  width:44px; height:44px; border:0; border-radius:50%;
  background:var(--primary); color:#fff; display:grid; place-items:center; cursor:pointer;
}

/* LAYOUT */
.sch-main{ background:var(--offwhite); padding:24px 0 48px; }
.sch-grid{ display:grid; grid-template-columns:280px 1fr; gap:20px; }

/* FILTERS (sidebar) */
.filters{
  background:#fff; border:1px solid var(--stroke); border-radius:12px;
  padding:14px; position:sticky; top:96px; height:max-content;
}
.filters__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.filters__head h3{ margin:0; font-size:18px; color:var(--primary); }
.filters__reset{ background:none; border:0; color:var(--primary); font-weight:600; cursor:pointer; text-decoration:underline; font-size:12px; }

.filter{ border-top:1px dashed var(--stroke); padding-top:10px; margin-top:10px; }
.filter:first-of-type{ border-top:0; padding-top:0; margin-top:0; }
.filter__title{ width:100%; text-align:left; background:#fff; border:0; cursor:pointer; font-weight:700; color:var(--ink); padding:8px 0; display:flex; align-items:center; gap:8px; }
.filter__body{ padding:6px 0 10px; display:block; }
.filter__group{ display:grid; gap:8px; font-size:14px; color:var(--muted); }
.input{ width:100%; height:40px; border:1px solid var(--stroke); border-radius:10px; padding:0 12px; font-size:14px; outline:0; background:#fff; }

/* RESULTS BAR */
.results__bar{
  background:#fff; border:1px solid var(--stroke); border-radius:12px;
  padding:10px 12px; display:flex; align-items:center; justify-content:space-between;
  margin-bottom:12px;
}
.results__meta{ display:flex; flex-direction:column; gap:2px; }
.results__meta strong{ color:var(--primary); }
.muted{ color:var(--muted); font-size:12px; }
.results__actions{ display:flex; align-items:center; gap:10px; }

.sort-filter-btn{
  display:none; gap:.5rem; align-items:center;
  border:1px solid var(--stroke); background:#fff; color:var(--primary);
  padding:.55rem 1rem; border-radius:999px; box-shadow:var(--shadow-sm);
}
.sort-filter-btn i{ font-size:18px; }
.sort-desktop{ display:inline-block; }

/* CARDS */
.sch-cards{ display:grid; gap:14px; }
.sch-card{
  background:#fff; border:1px solid var(--stroke); border-radius:12px;
  box-shadow:var(--shadow-sm); padding:14px;
}
.sch-card__head{ display:flex; align-items:start; justify-content:space-between; gap:10px; }
.sch-card__title{ margin:0; color:var(--primary); font-size:20px; line-height:1.35; }
.sch-bookmark{
  width:40px; height:40px; border-radius:50%; border:1px solid var(--stroke);
  background:#fff; display:grid; place-items:center; color:var(--primary); cursor:pointer;
}
.sch-card__meta{ margin:8px 0 10px; color:var(--muted); }
.sch-card__meta p{ margin:4px 0 0; color:var(--ink); }

.sch-pillrow{
  list-style:none; margin:0 0 12px; padding:0; display:flex; flex-wrap:wrap; gap:12px;
}
.sch-pillrow li{
  display:flex; align-items:center; gap:8px;
  background:#f5f7fb; border:1px solid #e7ebf3; border-radius:999px; padding:8px 12px;
  font-size:14px; color:#2f3a4d;
}
.sch-pillrow li span{ color:#6b7280; margin-right:2px; }
.sch-pillrow strong{ font-weight:700; color:#10214B; }
.sch-pillrow i{ font-size:18px; color:#10214B; }

.sch-card__actions{ display:flex; gap:8px; flex-wrap:wrap; }

/* ===== RESPONSIVE ===== */
@media (max-width:1200px){
  .sch-grid{ grid-template-columns:1fr; }
  .filters{ display:none !important; }
  .sort-filter-btn{ display:inline-flex; }
  .sort-desktop{ display:none; }
  .results__bar{ flex-wrap:wrap; gap:12px; }
}

.filter-modal{ position:fixed; inset:0; display:none; background:rgba(0,0,0,.35); z-index:1000; }
.filter-modal.is-open{ display:block; }
.filter-sheet{
  position:fixed; left:0; right:0; bottom:0;
  background:#fff; border-top-left-radius:18px; border-top-right-radius:18px;
  box-shadow:0 -18px 40px rgba(16,33,75,.25);
  max-height:92vh; display:flex; flex-direction:column;
  transform:translateY(8%); animation:slideUp .18s ease-out forwards;
}
@keyframes slideUp{ to{ transform:translateY(0); } }
.filter-sheet__head{ display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--stroke); }
.filter-sheet__actions{ display:flex; gap:10px; align-items:center; }
.filter-sheet__actions .link{ background:none; border:0; color:var(--primary); font-weight:700; cursor:pointer; }
.filter-sheet__body{ overflow:auto; padding:14px 16px 18px; display:grid; gap:16px; }
.sheet-sort{ display:grid; gap:8px; }
.sheet-sort label{ font-weight:700; color:var(--primary); }

.filter-sheet .filters{ display:block !important; position:static; border:0; padding:0; box-shadow:none; }
.filter-sheet .filter{ border-top:1px dashed var(--stroke); }
.filter-sheet .filter:first-of-type{ border-top:0; }

@media (min-width:1201px){
  .filters{ display:block !important; }
}
.res-grid__title{ margin-bottom:14px; }
.res-grid{
  display:grid; gap:18px;
  grid-template-columns:repeat(3,1fr);
}
.res-card{
  background:#fff; border:1px solid var(--stroke); border-radius:16px;
  overflow:hidden; box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column;
}
.res-card__media img{ width:100%; height:210px; object-fit:cover; display:block; }
.res-card__content{ padding:16px; }
.res-card__title{ font-size:18px; margin:6px 0 6px; }
.res-card__title a{ color:var(--primary); }
.res-card__text{ margin:0 0 10px; }
.res-card__link{ font-weight:600; color:var(--primary); }
.res-card__link:hover{ text-decoration:underline; }

.tag{
  display:inline-block; font-size:12px; font-weight:700; padding:6px 10px;
  border-radius:999px; margin-bottom:8px; letter-spacing:.2px;
  background:rgba(16,33,75,.08); color:#21335f;
}
.tag--career{ background:#FFF3D8; color:#6E4B00; }
.tag--city{ background:#EAF3FF; color:#0E3C83; }
.tag--student{ background:#EAF8F4; color:#13684A; }

.res-chip.is-active{ outline:2px solid var(--secondary); }

/* ===== Pagination ===== */
.res-pagination{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; margin-top:18px;
}
.res-pagination .pages{
  display:flex; gap:6px; align-items:center; justify-content:center;
}
.res-pagination button{
  height:36px; padding:0 12px;
  border-radius:10px; border:1px solid var(--stroke);
  background:#fff; cursor:pointer;
}
.res-pagination .page-prev[disabled]{ opacity:.45; cursor:not-allowed; }
.res-pagination .is-current{
  background:var(--primary); color:#fff; border-color:var(--primary);
}
.res-pagination .ellipsis{ color:var(--muted); }

/* ===== Responsive ===== */
@media (max-width:1024px){
  .res-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .res-grid{ grid-template-columns:1fr; }
}
