/* NextGen Learning course explorer - scoped styles */
:root {
    --ng-ink: #111111;
    --ng-deep: #191919;
    --ng-gold: #ffbd00;
    --ng-gold-dark: #a86f00;
    --ng-paper: #f7f5f0;
    --ng-muted: #6d685f;
    --ng-line: #e7e0d4;
}
.ng-course-hero, .ng-detail-hero {
    position: relative; overflow: hidden; isolation: isolate;
    color: #f8f5ed; background: radial-gradient(circle at 80% 20%,rgba(255,189,0,.15),transparent 28%),linear-gradient(130deg,#101010,#202020 60%,#111);
    padding: 145px 0 90px;
}
.ng-hero-glow { position:absolute; border-radius:50%; pointer-events:none; z-index:-1; }
.ng-hero-glow-one { width:360px;height:360px;right:-100px;top:-130px;border:1px solid rgba(255,189,0,.25);box-shadow:0 0 0 35px rgba(255,189,0,.025),0 0 0 75px rgba(255,189,0,.02); }
.ng-hero-glow-two { width:220px;height:220px;left:38%;bottom:-150px;background:rgba(255,189,0,.08);filter:blur(45px); }
.ng-kicker,.ng-eyebrow { display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1.8px;font-weight:800;color:var(--ng-gold-dark);margin-bottom:15px;text-transform:uppercase; }
.ng-course-hero .ng-kicker,.ng-detail-hero .ng-kicker,.ng-eyebrow-light { color:var(--ng-gold); }
.ng-pulse { width:7px;height:7px;border-radius:50%;background:var(--ng-gold);box-shadow:0 0 0 5px rgba(255,189,0,.1); }
.ng-course-hero h1,.ng-detail-title { max-width:800px;margin:0;color:#fff!important;font-size:clamp(40px,5.4vw,72px);line-height:1.02;letter-spacing:-2px;font-weight:900; }
.ng-course-hero h1 span,.ng-detail-title span,.ng-section-heading h2 span,.ng-path-copy h2 span,.ng-detail-panel h2 span,.ng-detail-cta h2 span { color:var(--ng-gold)!important; }
.ng-hero-copy { max-width:680px;color:#d0cbc1;font-size:17px;line-height:1.8;margin:23px 0 28px; }
.ng-hero-actions { display:flex;gap:12px;flex-wrap:wrap; }
.ng-btn { display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 21px;border-radius:8px;text-decoration:none!important;font-size:13px;font-weight:800;transition:.25s;border:1px solid transparent; }
.ng-btn-primary { background:var(--ng-gold);color:#17130a!important; }
.ng-btn-primary:hover { background:#ffd04b;color:#17130a!important;transform:translateY(-2px); }
.ng-btn-outline { border-color:rgba(255,255,255,.25);color:#fff!important;background:rgba(255,255,255,.03); }
.ng-btn-outline:hover { border-color:var(--ng-gold);color:var(--ng-gold)!important; }
.ng-hero-panel { padding:25px;border:1px solid rgba(255,189,0,.25);border-radius:16px;background:rgba(255,255,255,.045);box-shadow:0 25px 65px rgba(0,0,0,.2); }
.ng-panel-label { color:#b9b2a6;font-size:10px;font-weight:800;letter-spacing:1.7px; }
.ng-stat-grid { display:grid;grid-template-columns:1fr 1fr;margin:18px 0;border-top:1px solid rgba(255,255,255,.1);border-left:1px solid rgba(255,255,255,.1); }
.ng-stat-grid>div { padding:18px 13px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1); }
.ng-stat-grid strong { display:block;font-size:28px;line-height:1;color:var(--ng-gold); }
.ng-stat-grid span { display:block;margin-top:7px;font-size:10px;color:#c3bdb2;text-transform:uppercase;letter-spacing:.7px; }
.ng-hero-panel p { margin:0;color:#aaa49a;font-size:12px;line-height:1.7; }
.ng-course-section { background:var(--ng-paper);padding:85px 0 95px; }
.ng-section-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:30px; }
.ng-section-heading h2,.ng-path-copy h2,.ng-detail-cta h2 { margin:0;color:#171717;font-size:clamp(30px,3.6vw,47px);font-weight:900;line-height:1.12;letter-spacing:-1.2px; }
.ng-section-heading p { margin:11px 0 0;color:var(--ng-muted);font-size:14px; }
.ng-result-count { flex-shrink:0;padding:11px 15px;border:1px solid var(--ng-line);background:#fff;border-radius:50px;color:#716b61;font-size:12px; }
.ng-result-count strong { color:#a86f00;font-size:17px; }
.ng-controls { display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:27px; }
.ng-search { position:relative;flex:1;max-width:420px; }
.ng-search>i { position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#8e877b; }
.ng-search input { width:100%;height:49px;padding:0 44px;border:1px solid #e2dbcf;border-radius:9px;background:#fff;color:#222;outline:none;font-size:13px; }
.ng-search input:focus { border-color:var(--ng-gold);box-shadow:0 0 0 3px rgba(255,189,0,.12); }
.ng-search button { display:none;position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:none;color:#777; }
.ng-filters { display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end; }
.ng-filters button { border:1px solid #ded7ca;background:#fff;color:#5e584f;border-radius:50px;padding:10px 13px;font-size:11px;font-weight:800; }
.ng-filters button:hover,.ng-filters button.active { background:#171717;border-color:#171717;color:var(--ng-gold); }
.ng-course-card { display:flex;flex-direction:column;height:100%;min-height:320px;padding:26px;border:1px solid #e7e0d4;border-radius:17px;background:#fff;box-shadow:0 12px 32px rgba(28,23,14,.035);transition:transform .25s,border-color .25s,box-shadow .25s; }
.ng-course-card:hover { transform:translateY(-5px);border-color:rgba(255,189,0,.8);box-shadow:0 20px 40px rgba(28,23,14,.08); }
.ng-card-head { display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px; }
.ng-course-icon { width:49px;height:49px;display:grid;place-items:center;border-radius:12px;background:var(--ng-gold);color:#171717;font-size:20px; }
.ng-module-number { color:#9c9385;font-size:12px;letter-spacing:1.3px;font-weight:900; }
.ng-course-card h3 { margin:0 0 12px;color:#171717;font-size:22px;font-weight:900;line-height:1.2; }
.ng-course-card p { color:#6b655c;font-size:13px;line-height:1.75;margin:0 0 20px; }
.ng-card-meta { display:flex;gap:12px;flex-wrap:wrap;margin-top:auto;padding:15px 0;border-top:1px solid #eee8dd; }
.ng-card-meta span { display:inline-flex;gap:6px;align-items:center;color:#696257;font-size:11px; }
.ng-card-meta i { color:#a86f00; }
.ng-course-link { display:inline-flex;align-items:center;gap:8px;align-self:flex-start;color:#9c6800!important;text-decoration:none!important;font-size:12px;font-weight:900;margin-top:4px; }
.ng-course-link i { transition:transform .2s; }
.ng-course-link:hover { color:#171717!important; }
.ng-course-link:hover i { transform:translateX(4px); }
.ng-empty-state { text-align:center;padding:55px 20px;color:#625c52; }
.ng-empty-state>i { color:#b77c00;font-size:35px; }
.ng-empty-state h3 { color:#171717;margin:12px 0 5px; }
.ng-path-section { background:#111;padding:80px 0;color:#fff; }
.ng-path-shell { display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px; }
.ng-path-copy h2 { color:#fff; }
.ng-path-copy p,.ng-detail-cta p { color:#b5afa4;line-height:1.8;font-size:14px;margin:16px 0 24px;max-width:540px; }
.ng-path-steps { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.ng-path-steps>div { padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.025); }
.ng-path-steps span { display:block;color:var(--ng-gold);font-size:12px;font-weight:900;margin-bottom:17px; }
.ng-path-steps strong { display:block;color:#fff;font-size:16px; }
.ng-path-steps small { display:block;color:#a9a398;font-size:11px;margin-top:5px; }
.ng-detail-hero { padding:120px 0 70px; }
.ng-back-link { display:inline-flex;gap:9px;align-items:center;color:#e0d9ce!important;text-decoration:none!important;font-size:13px;font-weight:700;margin-bottom:35px; }
.ng-back-link:hover { color:var(--ng-gold)!important; }
.ng-detail-summary { max-width:790px;color:#d0cbc1;font-size:17px;line-height:1.8;margin:20px 0 24px; }
.ng-detail-meta { display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px; }
.ng-detail-meta span { display:inline-flex;gap:7px;align-items:center;padding:10px 13px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:rgba(255,255,255,.035);color:#e4ded3;font-size:12px; }
.ng-detail-meta i { color:var(--ng-gold); }
.ng-detail-section { padding:75px 0 95px;background:var(--ng-paper); }
.ng-detail-grid { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.65fr);gap:26px; }
.ng-detail-panel { background:#fff;border:1px solid var(--ng-line);border-radius:15px;padding:27px;margin-bottom:20px; }
.ng-detail-panel h2 { margin:0 0 15px;color:#171717;font-size:27px;font-weight:900; }
.ng-detail-panel h3 { margin:23px 0 8px;color:#222;font-size:16px;font-weight:800; }
.ng-detail-panel p { margin:0;color:#625d54;font-size:14px;line-height:1.8; }
.ng-panel-intro { margin-bottom:18px!important; }
.ng-syllabus-list,.ng-outcome-list { list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:9px; }
.ng-syllabus-list li,.ng-outcome-list li { display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid #eee8dd;border-radius:8px;color:#514b43;font-size:12px;line-height:1.5; }
.ng-syllabus-list i,.ng-outcome-list i { color:#b77c00;margin-top:3px;font-size:11px; }
.ng-detail-sidebar { align-self:start; }
.ng-sidebar-panel { background:#191919;color:#fff;border-radius:14px;padding:23px;margin-bottom:16px; }
.ng-sidebar-panel h3 { color:#fff;font-size:17px;font-weight:900;margin:0 0 17px; }
.ng-sidebar-panel h3 i { color:var(--ng-gold);margin-right:7px; }
.ng-tag-list { display:flex;gap:7px;flex-wrap:wrap; }
.ng-tag-list span { padding:7px 9px;border:1px solid rgba(255,189,0,.2);border-radius:6px;background:rgba(255,189,0,.08);color:#f1d17a;font-size:11px; }
.ng-list-clean { list-style:none;margin:0;padding:0; }
.ng-list-clean li { display:flex;gap:9px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.09);color:#d0c9bd;font-size:12px;line-height:1.5; }
.ng-list-clean li:last-child { border-bottom:0; }
.ng-list-clean i { color:var(--ng-gold);margin-top:3px; }
.ng-sidebar-cta { width:100%; }
.ng-detail-cta { display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:30px;padding:35px;border-radius:16px;background:linear-gradient(130deg,#171717,#272727); }
.ng-detail-cta h2 { color:#fff; }
.ng-detail-cta p { margin-bottom:0; }
.ng-detail-actions { margin-top:5px; }
.ng-loading { color:#ddd;font-size:14px; }
@media(max-width:991px) {
    .ng-course-hero { padding-top:120px; }
    .ng-section-heading,.ng-controls { align-items:flex-start;flex-direction:column; }
    .ng-search { max-width:none;width:100%; }
    .ng-filters { justify-content:flex-start; }
    .ng-path-shell,.ng-detail-grid { grid-template-columns:1fr; }
    .ng-detail-cta { align-items:flex-start;flex-direction:column; }
}
@media(max-width:767px) {
    .ng-course-hero,.ng-detail-hero { padding:100px 0 60px; }
    .ng-course-hero h1,.ng-detail-title { letter-spacing:-1.3px; }
    .ng-course-section,.ng-detail-section,.ng-path-section { padding:60px 0; }
    .ng-syllabus-list,.ng-outcome-list,.ng-path-steps { grid-template-columns:1fr; }
    .ng-detail-panel { padding:20px; }
    .ng-detail-cta { padding:25px 21px; }
    .ng-course-card { padding:22px; }
}
