/* Shared discovery UI for Study Materials, Syllabus, PYQ and category pages. */
:root {
  --resource-red: #d62828;
  --resource-ink: #202533;
  --resource-muted: #697386;
  --resource-line: #e6e9ef;
  --resource-surface: #fff;
  --resource-canvas: #f6f7fa;
}

.category-discovery { max-width: 1240px; margin: 0 auto 22px; padding: 0 20px; }
.category-discovery-form { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:14px; border:1px solid var(--resource-line); border-radius:16px; background:var(--resource-surface); box-shadow:0 8px 24px rgba(25,35,55,.055); }
.category-search-field { display:flex; align-items:center; gap:10px; flex:1 1 260px; min-width:190px; min-height:46px; padding:0 14px; border:1px solid var(--resource-line); border-radius:11px; color:var(--resource-muted); background:var(--resource-canvas); }
.category-search-field:focus-within,.category-filter-field select:focus-visible { border-color:var(--resource-red); outline:3px solid rgba(214,40,40,.13); }
.category-search-field input { width:100%; border:0; outline:0; background:transparent; color:var(--resource-ink); font:inherit; }
.category-filter-field select { min-height:46px; padding:0 36px 0 13px; border:1px solid var(--resource-line); border-radius:11px; background:var(--resource-surface); color:var(--resource-ink); font:inherit; cursor:pointer; }
.category-filter-submit,.category-filter-clear { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:46px; padding:0 17px; border:0; border-radius:11px; background:var(--resource-red); color:#fff; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.category-filter-submit:hover { background:#b91c1c; }
.category-filter-clear { border:1px solid var(--resource-line); background:var(--resource-surface); color:var(--resource-ink); }
.category-filter-total { margin-left:auto; color:var(--resource-muted); font-size:.9rem; font-weight:700; white-space:nowrap; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

/* Make the three resource libraries feel like one product while preserving
   their existing hierarchy, content and brand-specific components. */
.syl-wrap { max-width:1240px; padding-top:30px; }
.syl-bc,.pyq-breadcrumb { padding:10px 14px; border:1px solid var(--resource-line); border-radius:12px; background:var(--resource-surface); }
.syl-hero { border-radius:22px; padding:clamp(26px,4vw,44px); background:radial-gradient(circle at 90% 8%,rgba(255,255,255,.2),transparent 28%),linear-gradient(120deg,#b91c1c,#d62828 56%,#ed6b55); box-shadow:0 18px 44px rgba(173,34,34,.18); }
.syl-hero h1 { font-size:clamp(1.65rem,3vw,2.35rem); letter-spacing:-.035em; }
.syl-cat-grid,.syl-sub-grid,.syl-ssub-grid,.syl-topic-grid { gap:16px; }
.syl-cat-card,.syl-sub-card,.syl-ssub-card,.syl-topic-card,.syl-fc,.pyq-cat-card,.pyq-sub-card,.pyq-file-card { border-radius:16px; box-shadow:0 5px 20px rgba(25,35,55,.045); }
.syl-cat-card:hover,.syl-sub-card:hover,.syl-ssub-card:hover,.syl-topic-card:hover,.syl-fc:hover,.pyq-cat-card:hover,.pyq-sub-card:hover,.pyq-file-card:hover { box-shadow:0 14px 32px rgba(25,35,55,.11); }
.syl-toolbar { border-radius:15px; padding:14px; box-shadow:0 5px 20px rgba(25,35,55,.045); }
.syl-search { min-height:42px; }
.syl-toolbar select { min-height:42px; }
.syl-toolbar button,.sfc-dl,.pyq-search button,.pyq-dl-btn { background:var(--resource-red)!important; }
.syl-toolbar button:hover,.sfc-dl:hover,.pyq-search button:hover,.pyq-dl-btn:hover { background:#b91c1c!important; }
.syl-fc { padding:18px; }
.pyq-hero { padding:clamp(26px,4vw,46px) 0 34px; background:radial-gradient(circle at 88% 15%,rgba(214,40,40,.1),transparent 34%),linear-gradient(120deg,#fff,#fff7f7 55%,#f5f7fb); }
.pyq-hero-title { letter-spacing:-.035em; }
.pyq-cat-grid,.pyq-sub-grid,.pyq-files-grid { gap:16px; }
.pyq-toolbar { border:1px solid var(--resource-line); border-radius:15px; padding:14px; background:var(--resource-surface); box-shadow:0 5px 20px rgba(25,35,55,.045); }
.pyq-search input { min-height:46px; }
.pyq-sort-btn.active,.pyq-year-pill.active { background:var(--resource-red)!important; border-color:var(--resource-red)!important; color:#fff!important; }
.pyq-search button,.pyq-dl-btn { color:#fff!important; }
.pyq-file-card { min-height:100%; }
.syl-cat-card:focus-visible,.syl-sub-card:focus-visible,.syl-ssub-card:focus-visible,.syl-topic-card:focus-visible,.pyq-cat-card:focus-visible,.pyq-sub-card:focus-visible,.category-filter-submit:focus-visible,.category-filter-clear:focus-visible { outline:3px solid #f87171; outline-offset:3px; }
.resource-pagination { display:flex; justify-content:center; align-items:center; gap:14px; margin:24px 0; color:var(--resource-muted); font-weight:700; }
.resource-pagination a { display:inline-flex; align-items:center; min-height:42px; padding:0 15px; border:1px solid var(--resource-line); border-radius:11px; background:var(--resource-surface); color:var(--resource-ink); text-decoration:none; }
.resource-pagination a:hover,.resource-pagination a:focus-visible { border-color:var(--resource-red); color:var(--resource-red); outline:3px solid rgba(214,40,40,.12); }
.exam-directory-tools { display:flex; align-items:center; gap:12px; margin:0 0 12px; }
.exam-directory-search { display:flex; align-items:center; gap:10px; width:min(100%,460px); min-height:44px; padding:0 13px; border:1px solid var(--resource-line); border-radius:11px; background:var(--resource-surface); color:var(--resource-muted); }
.exam-directory-search:focus-within { border-color:var(--resource-red); outline:3px solid rgba(214,40,40,.13); }
.exam-directory-search input { width:100%; border:0; outline:0; background:transparent; color:var(--resource-ink); font:inherit; }
.exam-directory-count { color:var(--resource-muted); font-size:.86rem; font-weight:700; }
.exam-directory-empty { margin:8px 0 14px; color:var(--resource-muted); }

@media (prefers-color-scheme:dark) {
  html:not([data-cf-theme="light"]) { --resource-ink:#eef1f7; --resource-muted:#aeb6c4; --resource-line:#343945; --resource-surface:#1b1f28; --resource-canvas:#141820; }
}
html[data-cf-theme="dark"] { --resource-ink:#eef1f7; --resource-muted:#aeb6c4; --resource-line:#343945; --resource-surface:#1b1f28; --resource-canvas:#141820; }
html[data-cf-theme="dark"] .category-discovery-form,html[data-cf-theme="dark"] .category-filter-field select { background:var(--resource-surface); color:var(--resource-ink); }
html[data-cf-theme="dark"] .syl-bc,html[data-cf-theme="dark"] .syl-cat-card,html[data-cf-theme="dark"] .syl-sub-card,html[data-cf-theme="dark"] .syl-ssub-card,html[data-cf-theme="dark"] .syl-topic-card,html[data-cf-theme="dark"] .syl-toolbar,html[data-cf-theme="dark"] .syl-fc,html[data-cf-theme="dark"] .pyq-toolbar,html[data-cf-theme="dark"] .pyq-file-card { background:var(--resource-surface); color:var(--resource-ink); border-color:var(--resource-line); }
@media (max-width:640px) {
  .category-discovery { padding:0 14px; }
  .category-discovery-form { gap:8px; padding:11px; border-radius:14px; }
  .category-search-field { flex-basis:100%; }
  .category-filter-field { flex:1; }
  .category-filter-field select,.category-filter-submit,.category-filter-clear { width:100%; }
  .category-filter-total { width:100%; margin:2px 0 0; }
  .exam-directory-tools { align-items:stretch; flex-direction:column; gap:6px; }
  .exam-directory-search { width:100%; }
  .syl-wrap { padding:18px 14px 44px; }
  .syl-hero { border-radius:18px; }
  .pyq-hero-inner { align-items:flex-start; }
}
