/**
 * NuroSparx LMS — course catalog.
 *
 * Ported 1:1 from the approved design reference. Shared pieces (header,
 * footer, cards, chips, empty state) live in front.css.
 */

.nslms-catalog-hero{background:var(--nsf-ink);color:#fff;padding:76px 0 64px}
.nslms-catalog-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.04;letter-spacing:0;margin:0;max-width:760px}
.nslms-catalog-lede,.nslms-catalog-lede p{font-size:18px;color:#bfc4cd;max-width:650px;line-height:1.65}
.nslms-hero-search{margin-top:32px;background:#fff;border-radius:12px;padding:6px 6px 6px 18px;max-width:760px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;color:var(--nsf-muted);box-shadow:0 14px 40px rgb(1 2 5/.25)}
.nslms-skin .nslms-hero-search input{border:0;outline:0;padding:13px;background:transparent;min-width:0;color:var(--nsf-fg);font-size:14px;height:auto;box-shadow:none;-webkit-appearance:none;appearance:none}
.nslms-hero-search input::-webkit-search-cancel-button{display:none}
.nslms-hero-extras{max-width:760px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;color:#d1d5db}
.nslms-hero-extras p{font-size:12px;margin:0}
.nslms-popular-links{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:12px}
.nslms-popular-links a{border:1px solid rgb(255 255 255/.25);background:rgb(255 255 255/.08);color:#fff;padding:7px 10px;border-radius:99px;line-height:1.5}
.nslms-popular-links a:hover{background:rgb(255 255 255/.16)}

.nslms-catalog-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;padding-block:48px 80px}
.nslms-filters{border-right:1px solid var(--nsf-line);padding-right:28px;align-self:stretch}
.nslms-filters-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.nslms-filters-head h2{font-size:18px}
.nslms-filters-clear{border:0;background:none;color:var(--nsf-accent);font-size:12px}
.nslms-skin .nslms-filters-close,.nslms-filters-foot{display:none}
.nslms-facet{padding:18px 0;border-top:1px solid var(--nsf-line)}
.nslms-filters-head+.nslms-filters-body>.nslms-facet:first-child{margin-top:18px}
.nslms-facet-toggle{width:100%;border:0;background:none;display:flex;justify-content:space-between;align-items:center;padding:0 0 14px;font-size:14px;text-align:left}
.nslms-facet-toggle .nslms-icon{transition:transform .18s;transform:rotate(180deg)}
.nslms-facet-toggle[aria-expanded=false] .nslms-icon{transform:none}
.nslms-facet-toggle[aria-expanded=false]{padding-bottom:0}
.nslms-skin .nslms-facet .nslms-check{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13px;margin:11px 0;color:var(--nsf-muted);cursor:pointer;min-height:0;padding:0}
.nslms-skin .nslms-facet .nslms-check input{margin:0}
.nslms-skin .nslms-check-count{color:inherit;font-size:80%;font-weight:inherit}

.nslms-toolbar{height:48px;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}
.nslms-toolbar-count{color:var(--nsf-muted);font-size:14px}
.nslms-toolbar-count strong{color:var(--nsf-muted)}
.nslms-toolbar-sort{font-size:12px;color:var(--nsf-muted);display:flex;align-items:center}
.nslms-toolbar-sort select{margin-left:8px;font-size:14px;font-weight:650}
.nslms-skin .nslms-filters-open{display:none}

#nslms-results[aria-busy=true]{opacity:.55;transition:opacity .2s}

.nslms-pages{display:flex;justify-content:center;gap:8px;margin-top:42px;flex-wrap:wrap}
.nslms-pages .page-numbers{min-width:44px;min-height:44px;padding:0 14px;border:1px solid var(--nsf-line);background:#fff;color:var(--nsf-fg);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:750}
.nslms-pages a.page-numbers:hover{background:var(--nsf-line-soft)}
.nslms-pages .page-numbers.current{background:var(--nsf-accent);border-color:var(--nsf-accent);color:#fff}
.nslms-pages .page-numbers.dots{border:0;background:none}

.nslms-sheet-scrim{display:none}

@media (max-width:760px){
	.nslms-catalog-hero{padding:46px 0}
	.nslms-catalog-hero h1{font-size:40px}
	.nslms-hero-search{grid-template-columns:auto minmax(0,1fr);padding:6px 10px}
	.nslms-hero-search .nslms-btn{grid-column:1/-1;margin-top:4px}
	.nslms-hero-extras{align-items:flex-start;flex-direction:column}
	.nslms-catalog-layout{display:block;padding-top:22px}
	.nslms-skin .nslms-filters-open{display:inline-flex}
	.nslms-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);height:auto;gap:12px}
	.nslms-toolbar-count{margin-left:auto}
	.nslms-toolbar-sort{grid-column:1/-1}
	.nslms-toolbar-sort select{flex:1}

	/* Filters become a bottom sheet. */
	.nslms-filters{position:fixed;left:0;right:0;bottom:0;z-index:101;max-height:85vh;overflow:auto;background:#fff;padding:0 22px 22px;border:0;border-radius:14px 14px 0 0;transform:translateY(100%);visibility:hidden;transition:transform .25s,visibility .25s}
	.nslms-filters.is-open{transform:none;visibility:visible}
	.nslms-filters-head{padding:22px;margin:0 -22px;border-bottom:1px solid var(--nsf-line)}
	.nslms-filters-head h2{font-size:inherit}
	.nslms-skin .nslms-filters-close{display:inline-flex}
	.nslms-filters-clear{margin-left:auto}
	.nslms-filters-foot{display:block}
	.nslms-catalog:has(.nslms-filters.is-open) .nslms-sheet-scrim{display:block;position:fixed;inset:0;z-index:100;background:rgb(1 2 5/.56)}
}
@media (max-width:420px){
	.nslms-catalog-hero h1{font-size:34px}
}
