/* Scoped to the new catalog; surrounding Divi content remains unchanged. */
#njsba-program-finder.npf-navigate-results .npf-card{content-visibility:visible}
.npf-areas-promo{box-sizing:border-box;background:#0b3346;color:#fff;border-top:4px solid #dda94f;padding:24px 26px;text-align:left;margin:0 0 30px;box-shadow:0 3px 10px #0b334614}
.npf-areas-promo .npf-promo-new{display:inline-block;background:#dda94f;color:#0b3346;border-radius:2px;padding:3px 9px;margin-bottom:16px;font-size:11px;line-height:1.4;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.npf-areas-promo h2{font-size:28px!important;line-height:1.15!important;font-weight:700;letter-spacing:-.02em;color:#fff!important;padding:0!important;margin:0 0 12px!important}
.npf-areas-promo p{font-size:15px;line-height:1.55;color:#e5edf0;padding:0;margin:0 0 20px}
.npf-areas-promo a{box-sizing:border-box;display:flex;width:100%;align-items:center;justify-content:center;min-height:46px;padding:11px 14px;background:#dda94f;color:#0b3346!important;text-decoration:none!important;font-size:14px;font-weight:800;border-radius:3px}
.npf-areas-promo a:hover{background:#edbc68}
.npf-areas-promo a:focus-visible{outline:3px solid #fff;outline-offset:4px}
.npf-areas-promo .npf-promo-note{font-size:12px;line-height:1.5;text-align:center;color:#cbdbe2;margin:10px 0 0}
.npf-areas-promo .npf-promo-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.npf-areas-promo .npf-promo-heading .npf-promo-new{flex:none;margin:4px 0 0}
.npf-areas-promo .npf-promo-heading h2{font-size:24px!important;margin:0!important;min-width:0}
.npf-areas-promo [hidden]{display:none!important}
.npf-areas-promo .npf-promo-login{margin:12px 0 0;text-align:center}
.npf-areas-promo .npf-promo-login a{display:inline-flex;width:auto;min-height:36px;padding:4px 0;background:transparent;color:#fff!important;text-decoration:underline!important;font-size:12px;font-weight:600}
#njsba-program-finder .npf-login-note a{font-weight:700;text-decoration:underline}
#njsba-program-finder .npf-login-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;background:var(--navy);color:#fff;font-size:14px;font-weight:700;line-height:1.4;border-radius:4px;text-decoration:none}
#njsba-program-finder .npf-dialog-foot [data-apply-areas]{background:#fff;color:var(--navy);border-color:#859aa4}
@media(max-width:600px){#njsba-program-finder .npf-dialog-foot .npf-login-button{flex:1 1 100%}}
@media(max-width:980px){.npf-areas-promo{display:none}}
#njsba-program-finder{container-type:inline-size}
#njsba-program-finder .npf-primary{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#njsba-program-finder .npf-primary .npf-search{flex:1 1 280px;margin:0;min-width:0}
#njsba-program-finder .npf-primary .npf-actions{flex:none}
#njsba-program-finder .npf-primary button{white-space:nowrap}
html:has(#njsba-program-finder .npf-dialog[open]){overflow:hidden}
#njsba-program-finder{--navy:#0b3346;--gold:#dda94f;--red:#8c0e0f;color:#153747;background:#fff;font:inherit;line-height:1.5;scroll-margin-top:160px;min-height:360px}
#njsba-program-finder *{box-sizing:border-box}
#njsba-program-finder [hidden]{display:none!important}
#njsba-program-finder button,#njsba-program-finder input,#njsba-program-finder select{font:inherit;line-height:1.4}
#njsba-program-finder button{cursor:pointer;border:1px solid #b9c7cc;background:#fff;color:var(--navy);border-radius:4px;min-height:44px;padding:8px 13px;font-weight:700}
#njsba-program-finder a{color:var(--navy)}
#njsba-program-finder button:hover{background:#edf3f5}
#njsba-program-finder :is(a,button,input,select):focus-visible{outline:3px solid #147fb1;outline-offset:3px}
#njsba-program-finder .npf-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#fff}
#njsba-program-finder .npf-tabs button{border:0;border-radius:0;background:var(--navy);color:#fff;padding:13px 8px;font-size:14px}
#njsba-program-finder .npf-tabs button[aria-pressed=true]{background:var(--red);box-shadow:inset 0 -4px 0 var(--gold)}
#njsba-program-finder .npf-controls{padding:20px;background:#f4f6f6;border:1px solid #dce3e5}
#njsba-program-finder .npf-search{display:flex;gap:8px;margin:0 0 12px}
#njsba-program-finder input[type=search]{border:1px solid #859aa4;border-radius:4px;min-width:0;width:100%;min-height:46px;background:#fff;color:#143747;padding:10px 12px;font-size:16px}
#njsba-program-finder .npf-search button,#njsba-program-finder [data-apply-areas],#njsba-program-finder [data-save-areas]{background:var(--navy);color:#fff;border-color:var(--navy)}
#njsba-program-finder .npf-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
#njsba-program-finder .npf-actions button{font-size:14px}
#njsba-program-finder .npf-link{border:0;background:transparent;text-decoration:underline}
#njsba-program-finder #npf-more{display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #ced9de}
#njsba-program-finder #npf-more label{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600}
#njsba-program-finder select{padding:9px;border:1px solid #859aa4;background:#fff;border-radius:4px;max-width:100%;color:var(--navy)}
#njsba-program-finder input[type=checkbox]{appearance:auto;width:20px;height:20px;accent-color:var(--navy);flex:none}
#njsba-program-finder .npf-clear{background:var(--red);border-color:var(--red);color:#fff;margin-left:auto;padding-inline:18px}
#njsba-program-finder .npf-clear:hover{background:#690b0c}
#njsba-program-finder .npf-switch{display:inline-flex;align-items:center;gap:8px;background:transparent;border-color:transparent;padding:6px 0;font-size:14px;white-space:nowrap}
#njsba-program-finder .npf-switch-track{width:38px;height:22px;border-radius:20px;background:#627984;position:relative;flex:none}
#njsba-program-finder .npf-switch-track:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .12s}
#njsba-program-finder .npf-switch[aria-checked=true] .npf-switch-track{background:var(--navy)}
#njsba-program-finder .npf-switch[aria-checked=true] .npf-switch-track:after{transform:translateX(16px)}
#njsba-program-finder [data-ethics-state]{min-width:22px;font-size:12px}
#njsba-program-finder .npf-attendance{display:inline-flex;max-width:100%;border:1px solid #859aa4;border-radius:5px;overflow:hidden;background:#fff}
#njsba-program-finder .npf-attendance button{font-size:13px;border:0;border-radius:0;padding:8px 12px;white-space:nowrap}
#njsba-program-finder .npf-attendance button+button{border-left:1px solid #ced9de}
#njsba-program-finder .npf-attendance button[aria-pressed=true]{background:var(--navy);color:#fff}
@media(max-width:600px){#njsba-program-finder #npf-more{gap:8px 12px}#njsba-program-finder #npf-more .npf-credit-select{flex:1;flex-direction:column;align-items:flex-start;gap:2px;font-size:12px}#njsba-program-finder .npf-credit-select select{width:116px}#njsba-program-finder .npf-attendance{width:100%}#njsba-program-finder .npf-attendance button{flex:1}#njsba-program-finder .npf-clear{padding-inline:10px}#njsba-program-finder .npf-actions button{font-size:12px;padding-inline:8px}#njsba-program-finder .npf-switch{font-size:13px;gap:6px}}
@media(prefers-reduced-motion:reduce){#njsba-program-finder .npf-switch-track:after{transition:none}}
@container(min-width:650px){
 #njsba-program-finder .npf-primary{flex-wrap:nowrap}
 #njsba-program-finder .npf-primary .npf-search{flex:1 1 auto}
 #njsba-program-finder .npf-primary .npf-actions{flex-wrap:nowrap}
 #njsba-program-finder #npf-more{flex-wrap:nowrap;gap:10px}
 #njsba-program-finder #npf-more .npf-credit-select{font-size:12px;white-space:nowrap;gap:6px}
 #njsba-program-finder #npf-credits{width:86px;font-size:13px;min-height:44px}
 #njsba-program-finder .npf-switch{font-size:13px;gap:6px}
 #njsba-program-finder .npf-attendance button{font-size:12px;padding:8px 10px}
 #njsba-program-finder .npf-clear{font-size:13px;padding-inline:14px}
}
@media(max-width:600px){
 #njsba-program-finder .npf-primary .npf-search{flex-basis:100%}
 #njsba-program-finder .npf-primary .npf-actions{width:100%}
 #njsba-program-finder .npf-primary .npf-actions button{flex:1}
 #njsba-program-finder .npf-attendance{width:auto;flex:1 1 auto}
 #njsba-program-finder #npf-more .npf-credit-select{flex:1 1 calc(50% - 12px)}
 #njsba-program-finder .npf-switch{flex:1 1 calc(50% - 12px);justify-content:flex-end}
 #njsba-program-finder .npf-clear{font-size:12px;min-height:46px;margin:0}
}
/* Compact program cards, with the two actions retained as real buttons. */
#njsba-program-finder .npf-card{padding:14px 16px;margin-bottom:12px;gap:14px;contain-intrinsic-size:auto 210px}
#njsba-program-finder .npf-card :is(h3,h4){margin-bottom:6px!important;font-size:20px!important}
#njsba-program-finder .npf-type{margin-bottom:4px}
#njsba-program-finder .npf-card p{margin-bottom:4px}
#njsba-program-finder .npf-meta-row{display:flex;justify-content:space-between;align-items:baseline;gap:6px 18px}
#njsba-program-finder .npf-when{flex:1 1 55%}
#njsba-program-finder .npf-where{flex:1 1 45%;text-align:right}
#njsba-program-finder .npf-card .npf-topics{margin-top:4px}
#njsba-program-finder .npf-card-actions{justify-content:flex-start;margin-top:10px;gap:10px}
#njsba-program-finder .npf-info,#njsba-program-finder .npf-purchase{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:126px;padding:9px 16px;border-radius:3px;font-size:13px;font-weight:800;text-decoration:none;text-align:center}
#njsba-program-finder .npf-info{background:var(--navy);color:#fff}
#njsba-program-finder .npf-info:hover{background:#174d64}
@container(max-width:520px){
 #njsba-program-finder .npf-meta-row{display:block}
 #njsba-program-finder .npf-where{text-align:left}
 #njsba-program-finder .npf-card{padding:12px;gap:10px}
 #njsba-program-finder .npf-card :is(h3,h4){font-size:18px!important}
 #njsba-program-finder .npf-card-actions{gap:8px}
 #njsba-program-finder .npf-info,#njsba-program-finder .npf-purchase{min-width:0;flex:1;padding:8px;font-size:12px}
}
#njsba-program-finder .npf-result-tools{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #ced9de}
#njsba-program-finder .npf-result-tools .npf-count{font-size:12px;margin:0;padding:0;flex:1 1 180px}
#njsba-program-finder .npf-result-tools .npf-jumps{margin:0;gap:8px}
#njsba-program-finder .npf-result-tools .npf-jumps a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:5px 9px;border:1px solid #b9c7cc;border-radius:4px;background:#fff;font-size:12px;font-weight:700;text-decoration:none}
#njsba-program-finder .npf-result-tools .npf-jumps a:hover{background:#e5edef}
#njsba-program-finder .npf-jumps span{font-size:11px;background:#eaf0f2;border-radius:10px;padding:0 6px;min-width:22px;text-align:center}
@container(max-width:520px){#njsba-program-finder .npf-result-tools .npf-count{flex-basis:100%}#njsba-program-finder .npf-result-tools .npf-jumps{width:100%}#njsba-program-finder .npf-result-tools .npf-jumps a{flex:1;justify-content:center;min-height:44px}}
#njsba-program-finder .npf-note{font-size:13px;color:#4b626d;margin:8px 0;padding:0}
#njsba-program-finder .npf-note:empty{display:none}
#njsba-program-finder .npf-count{font-weight:700;padding:18px 0 8px;margin:0;font-size:14px}
#njsba-program-finder .npf-jumps{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 24px}
#njsba-program-finder .npf-jumps a{font-size:14px;text-decoration:underline;padding:5px 0;min-height:36px}
#njsba-program-finder h2{font-size:22px!important;line-height:1.3!important;font-weight:700;color:var(--navy);padding:0;margin:20px 0 14px}
#njsba-program-finder :is(#npf-upcoming,#npf-ondemand){scroll-margin-top:160px}
#njsba-program-finder #npf-ondemand{margin-top:28px;padding-top:12px;border-top:3px solid var(--gold)}
#njsba-program-finder .npf-card{display:flex;align-items:flex-start;gap:18px;border:1px solid #d6dfe2;border-radius:6px;margin:0 0 14px;padding:20px;background:#fff;content-visibility:auto;contain-intrinsic-size:auto 230px}
#njsba-program-finder .npf-date{flex:0 0 58px;overflow:hidden;text-align:center;border:1px solid #d4dde1;border-radius:4px;line-height:1.2;color:var(--navy)}
#njsba-program-finder .npf-date strong{display:block;background:var(--navy);color:#fff;font-size:12px;padding:6px}
#njsba-program-finder .npf-date span{display:block;font-size:12px;padding-top:6px}
#njsba-program-finder .npf-date b{display:block;font-size:25px;padding:3px 6px 7px}
#njsba-program-finder .npf-card-body{flex:1;min-width:0}
#njsba-program-finder .npf-type{display:inline-block;font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.05em;color:#4e6570;margin-bottom:6px}
#njsba-program-finder .npf-association{display:inline-block;font-size:11px;background:#f7edda;border-radius:3px;margin:0 0 6px 10px;padding:2px 6px}
#njsba-program-finder .npf-card :is(h3,h4){font-size:21px!important;line-height:1.3!important;padding:0!important;margin:0 0 9px!important;overflow:visible!important}
#njsba-program-finder .npf-card :is(h3,h4) a{font-size:inherit!important;line-height:inherit!important;color:var(--navy);font-weight:700}
#njsba-program-finder .npf-card :is(h3,h4) a:hover{text-decoration:underline}
#njsba-program-finder .npf-card p{font-size:14px;margin:0 0 6px;padding:0}
#njsba-program-finder .npf-card .npf-credit{color:#80520d;font-weight:700}
#njsba-program-finder .npf-card .npf-topics{font-size:12px;color:#526972;margin-top:8px}
#njsba-program-finder .npf-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px}
#njsba-program-finder .npf-info{font-size:14px;font-weight:700;text-decoration:underline;padding:10px 0}
#njsba-program-finder .npf-purchase{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--gold);color:#102f41;font-size:13px;font-weight:800;padding:10px 18px;border-radius:3px;text-align:center}
#njsba-program-finder .npf-purchase:hover{background:#edbc68}
#njsba-program-finder .npf-empty,#njsba-program-finder .npf-error{padding:20px;background:#f4f6f6;border:1px solid #dce3e5}
#njsba-program-finder .npf-dialog{border:0;border-radius:8px;padding:0;width:min(720px,calc(100vw - 32px));max-height:85vh;max-height:85dvh;margin:auto;color:var(--navy);box-shadow:0 12px 60px #0005;overflow:hidden}
#njsba-program-finder .npf-dialog[open]{display:flex;flex-direction:column}
#njsba-program-finder .npf-dialog::backdrop{background:#082536aa}
#njsba-program-finder .npf-dialog-head{padding:22px 24px 14px;flex:none;position:relative;border-bottom:1px solid #d7e0e4}
#njsba-program-finder .npf-dialog h2{font-size:23px!important;margin:0 45px 8px 0}
#njsba-program-finder [data-close-areas]{position:absolute;right:14px;top:14px;width:44px;padding:8px}
#njsba-program-finder .npf-dialog-head p{font-size:14px;margin:0 0 12px;padding:0}
#njsba-program-finder .npf-dialog-head .npf-actions{margin-top:10px}
#njsba-program-finder .npf-area-list{overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:1fr 1fr;gap:2px 14px;padding:12px 24px;min-height:100px}
#njsba-program-finder .npf-area{display:flex;gap:10px;align-items:center;min-height:48px;padding:8px 4px;border-bottom:1px solid #edf0f1;font-size:14px;cursor:pointer}
#njsba-program-finder .npf-area:has(input:checked){background:#eef4f6;font-weight:700}
#njsba-program-finder .npf-dialog-foot{padding:14px 24px;border-top:1px solid #d7e0e4;background:#f6f8f8;flex:none}
#njsba-program-finder [data-guest-remember]{display:flex;gap:10px;align-items:center;font-size:14px}
#njsba-program-finder [data-save-status]{font-size:14px;margin:8px 0 0;padding:0}
#njsba-program-finder [data-save-status]:empty{display:none}
#njsba-program-finder .npf-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.njsba-pf-shortcut a{display:block;padding:14px;border:1px solid #ccd7dc;border-radius:4px;font-size:14px;font-weight:700;color:#0b3346;background:#f4f6f6}
@media(max-width:600px){#njsba-program-finder .npf-tabs{grid-template-columns:repeat(2,1fr)}#njsba-program-finder .npf-tabs button{font-size:13px;padding:12px 6px}#njsba-program-finder .npf-controls{padding:14px}#njsba-program-finder .npf-card{padding:14px;gap:12px}#njsba-program-finder .npf-date{flex-basis:48px}#njsba-program-finder .npf-card :is(h3,h4){font-size:18px!important}#njsba-program-finder .npf-card p{font-size:13px}#njsba-program-finder .npf-card-actions{gap:8px}#njsba-program-finder .npf-purchase{padding:10px 12px;font-size:12px}#njsba-program-finder .npf-dialog{width:100%;max-width:100%;height:100%;max-height:100dvh;border-radius:0;margin:0}#njsba-program-finder .npf-dialog-head{padding:18px 16px 12px}#njsba-program-finder .npf-dialog h2{font-size:21px!important}#njsba-program-finder .npf-area-list{grid-template-columns:1fr;padding:8px 16px}#njsba-program-finder .npf-dialog-foot{padding:12px 16px max(12px,env(safe-area-inset-bottom))}#njsba-program-finder .npf-dialog-foot .npf-actions button{flex:1}#njsba-program-finder .npf-association{margin-left:0;margin-right:8px}}

#njsba-program-finder .npf-area-heading{font-size:21px!important;line-height:1.35!important;font-weight:700;color:#fff!important;background:var(--navy);padding:12px 16px!important;margin:24px 0 14px!important;border:0;overflow:visible!important;overflow-wrap:anywhere}
#njsba-program-finder .npf-area-group:first-child .npf-area-heading{margin-top:8px!important}
/* Active practice areas stay visible next to the results they control. */
#njsba-program-finder .npf-selected-notice{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin:-3px 0 16px;padding:0 0 12px;border-bottom:1px solid #e2d2d2}
#njsba-program-finder .npf-selected-text{flex:1 1 280px;color:var(--red);font-size:14px;line-height:1.55;font-weight:700;margin:0;padding:0;overflow-wrap:anywhere}
#njsba-program-finder .npf-selected-actions{display:flex;gap:8px;flex-wrap:wrap}
#njsba-program-finder .npf-selected-actions button{font-size:13px;min-height:44px;padding:8px 13px;border-color:var(--red);color:var(--red);background:#fff}
#njsba-program-finder .npf-selected-actions button:hover{background:#fff1f1}
#njsba-program-finder .npf-selected-exception{flex-basis:100%;font-size:12px;color:#526972;margin:0;padding:0}
@media(max-width:600px){#njsba-program-finder .npf-selected-text{flex-basis:100%}}
