/* Strict .sal-* scope: do not override WordPress, Elementor or Sensei globally. */
.sal-app,.sal-navigation{--sal-bg:#f7f5fb;--sal-white:#fff;--sal-accent:#5e5094;--sal-hover:#4c407d;--sal-faint:#eeeaf8;--sal-ink:#241f38;--sal-muted:#756e88;--sal-line:#e0d9ec;--sal-cyan:#23a7d8;--sal-green:#2e7d5e;--sal-font:'Inter Tight',Inter,system-ui,sans-serif;--sal-display:'Bricolage Grotesque',system-ui,sans-serif;--sal-mono:'JetBrains Mono',ui-monospace,monospace;color:var(--sal-ink);font:500 15px/1.5 var(--sal-font)}
.sal-app *,.sal-navigation *{box-sizing:border-box}
.sal-app [hidden],.sal-navigation [hidden]{display:none!important}
.sal-app button,.sal-navigation a{font:inherit}
.sal-app button{cursor:pointer}
.sal-app a,.sal-navigation a{text-decoration:none}
.sal-app button:focus-visible,.sal-app a:focus-visible,.sal-navigation a:focus-visible{outline:3px solid var(--sal-cyan);outline-offset:3px}
.sal-app{background:var(--sal-bg);border:1px solid #ebe6f3;border-radius:18px;overflow:hidden;max-width:1450px;margin:0 auto 28px;width:100%;isolation:isolate;scroll-margin-top:90px}
.sal-app--with-sidebar{display:grid;grid-template-columns:minmax(212px,245px) minmax(0,1fr);min-height:650px}
.sal-sidebar{background:#fbfafe;border-right:1px solid var(--sal-line);padding:20px 14px;min-width:0}
.sal-nav-top{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--sal-line);padding:2px 5px 18px;margin-bottom:12px;color:var(--sal-ink)}
.sal-logo{display:grid;place-items:center;width:29px;height:29px;transform:rotate(-8deg);border-radius:8px;color:white;background:var(--sal-accent);font:900 17px var(--sal-display)}
.sal-nav-top strong{font:850 21px var(--sal-display)}
.sal-nav-top-note{margin-left:auto;color:#a49cb2;font:700 9px var(--sal-mono);letter-spacing:.7px}
.sal-nav-details{width:100%}
.sal-nav-summary{list-style:none;cursor:pointer;color:var(--sal-cyan);font:800 19px var(--sal-display);padding:9px 8px 11px;display:flex;justify-content:space-between}
.sal-nav-summary::-webkit-details-marker{display:none}
.sal-nav-summary span{font-size:17px;transition:transform .15s}
.sal-nav-details:not([open]) .sal-nav-summary span{transform:rotate(-90deg)}
.sal-nav-items{display:grid;gap:2px}
.sal-nav-link{min-height:41px;padding:8px 9px;border:1px solid transparent;border-radius:9px;display:flex;align-items:center;gap:10px;color:#635a74!important;white-space:nowrap;font-size:13px;transition:background .15s;position:relative}
.sal-nav-link:hover{background:#f0edf8}
.sal-nav-link.is-active{background:#eeeaf8;border-color:#e1d9f1;color:#413569!important;font-weight:800}
.sal-nav-link.is-active:before{content:'';position:absolute;left:-4px;width:3px;top:9px;bottom:9px;background:var(--sal-accent);border-radius:5px}
.sal-nav-bullet{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#f7f5fb;border:1px solid #d5cfe0;color:#8c819d;font:700 11px var(--sal-mono)}
.sal-nav-link.is-active .sal-nav-bullet{background:var(--sal-accent);border-color:var(--sal-accent);color:#fff}
.sal-nav-link.is-done .sal-nav-bullet{color:var(--sal-green);background:#eaf6ed;border-color:#c7e8d7}
.sal-nav-name{min-width:0;overflow:hidden;text-overflow:ellipsis}
.sal-nav-check{margin-left:auto;color:var(--sal-green);display:none}
.sal-nav-link.is-done .sal-nav-check{display:inline}
.sal-nav-foot{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin:24px 7px 8px;border-top:1px solid var(--sal-line);padding-top:18px}
.sal-nav-foot strong{font:850 25px var(--sal-display);color:var(--sal-accent)}
.sal-nav-mini{font:700 9px var(--sal-mono);letter-spacing:.6px;color:#9890a7}
.sal-main{padding:29px clamp(16px,3.6vw,48px) 34px;min-width:0}
.sal-eyebrow{font:700 10px var(--sal-mono);letter-spacing:1.5px;color:#8d839e;display:flex;align-items:center;gap:10px;margin-bottom:21px}
.sal-eyebrow-line{display:inline-block;width:17px;height:2px;background:var(--sal-accent)}
.sal-header{display:flex;align-items:start;justify-content:space-between;gap:12px}
.sal-kicker{font:700 10px var(--sal-mono);letter-spacing:1.3px;color:var(--sal-accent)}
.sal-main h2[data-sal-title]{font:850 clamp(29px,3.8vw,48px)/1.07 var(--sal-display)!important;letter-spacing:-1.8px;margin:8px 0 12px!important;color:var(--sal-ink)!important}
.sal-header p{color:var(--sal-muted);font-size:14px;margin:0}
.sal-header-badge{flex:0 0 auto;border:1px solid #ded6ef;background:#ede8f7;border-radius:6px;color:var(--sal-accent);padding:6px 9px;font:700 9px var(--sal-mono);letter-spacing:.6px}
.sal-overall{margin:25px 0 19px}
.sal-progress-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}
.sal-progress-heading strong{font-weight:750;font-size:13px}
.sal-progress-heading span{color:var(--sal-muted);font:650 11px var(--sal-mono)}
.sal-progress-track{height:9px;border-radius:15px;background:#e7e0f0;overflow:hidden}
.sal-progress-track span{display:block;height:100%;width:0;background:var(--sal-accent);border-radius:15px;transition:width .3s ease}
.sal-workcard{background:#fff;border:1px solid #ded6ed;border-radius:15px;padding:17px 17px 14px;box-shadow:0 2px 0 #eadcc4,0 10px 25px -15px rgba(80,55,25,.35)}
.sal-workcard-head{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #e2dcef;border-radius:7px;padding:10px 12px;margin-bottom:12px;font:700 10px var(--sal-mono);letter-spacing:1.3px;color:var(--sal-accent)}
.sal-card-head-right{display:flex;align-items:center;gap:6px;font-size:9px;color:#a29aaf;letter-spacing:.45px}
.sal-status-dot{width:6px;height:6px;border-radius:50%;background:var(--sal-cyan)}
.sal-figure-area{position:relative;min-height:0;aspect-ratio:1 / 1;background-color:#fcfcfd;background-image:linear-gradient(to right,rgba(73,154,222,.095) 1px,transparent 1px),linear-gradient(to bottom,rgba(73,154,222,.095) 1px,transparent 1px);background-size:40px 40px;display:grid;place-items:center;overflow:hidden;border-radius:3px}
.sal-illustration{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:absolute;inset:0}
.sal-image{display:block;max-width:100%;width:100%;height:100%;object-fit:contain;object-position:center}
.sal-missing-image{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;max-width:80%;font-size:14px;color:var(--sal-muted)}
.sal-missing-image code{font:12px var(--sal-mono);white-space:normal;word-break:break-all}
.sal-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 0 2px}
.sal-controls{display:flex;align-items:center;gap:8px}
.sal-btn{border-radius:9px!important;padding:11px 19px!important;min-height:43px;border:1px solid transparent!important;font-weight:750!important;font-size:13px!important;display:inline-flex;gap:9px;align-items:center;justify-content:center;line-height:1.2;white-space:nowrap}
.sal-btn--back{background:white!important;color:#807991!important;border-color:#e0d9e8!important}
.sal-btn--back:hover:not(:disabled){background:#f4f0fa!important}
.sal-btn--back:disabled{opacity:.42;cursor:not-allowed}
.sal-btn--next,.sal-btn--complete{background:var(--sal-accent)!important;color:white!important}
.sal-btn--next:hover,.sal-btn--complete:hover{background:var(--sal-hover)!important}
.sal-slide-dots{display:flex;gap:6px;align-items:center}
.sal-dot{display:block!important;width:8px!important;height:8px!important;min-width:8px!important;min-height:8px!important;padding:0!important;border-radius:20px!important;background:#d6d0e3!important;border:0!important;transition:width .2s}
.sal-dot.is-current{background:var(--sal-accent)!important;width:21px!important}
.sal-bottom-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;margin:17px 2px 0;font-size:11px;color:#90869e}
.sal-bottom-row code{color:var(--sal-accent);background:transparent;font:600 11px var(--sal-mono)}
.sal-legend-circle{display:inline-block;width:7px;height:7px;border-radius:100%;border:1.5px solid var(--sal-accent);margin-right:4px}
.sal-success{border:1px solid #afdcc3;border-radius:10px;background:#ebf7f0;color:#256a4c;margin-top:15px;padding:14px;font-size:13px}
.sal-success strong{display:block;margin-bottom:3px}
.sal-app--content-only{max-width:1100px}
.sal-app--content-only .sal-main{padding:29px clamp(14px,3vw,38px) 34px}
.sal-navigation:not(.sal-app .sal-navigation){border:1px solid #ebe6f3;border-radius:15px;overflow:hidden}
@media(max-width:760px){
 .sal-app--with-sidebar{display:flex;flex-direction:column}
 .sal-app--with-sidebar .sal-sidebar{border-right:0;border-bottom:1px solid var(--sal-line);padding:12px 14px}
 .sal-nav-top{padding-bottom:10px;margin-bottom:3px}
 .sal-nav-details:not([open]) .sal-nav-items{display:none}
 .sal-nav-summary{padding:9px 4px}
 .sal-nav-items{grid-template-columns:1fr 1fr;gap:4px}
 .sal-nav-link{font-size:12px;min-width:0}
 .sal-nav-foot{display:none}
 .sal-main{padding:22px 15px 26px}
 .sal-header-badge{display:none}
 .sal-figure-area{aspect-ratio:1 / 1;min-height:0}
 .sal-workcard{padding:10px}
 .sal-workcard-head{font-size:9px;padding:8px 9px}
 .sal-card-head-right{display:none}
 .sal-bottom-row span:first-child{display:none}
}
@media(max-width:440px){
 .sal-nav-items{grid-template-columns:1fr}
 .sal-card-footer{flex-wrap:wrap}
 .sal-slide-dots{margin-left:auto}
 .sal-btn{padding:10px 13px!important}
 .sal-workcard-head{letter-spacing:.3px}
}
@media(prefers-reduced-motion:reduce){.sal-app *,.sal-navigation *{transition:none!important;scroll-behavior:auto!important}}

/* Nested virtual sections within Sensei's native Course Navigation block. */
.sensei-lms-course-navigation .sal-sensei-subsections{list-style:none;margin:2px 0 10px 17px!important;padding:0 0 0 12px!important;border-left:1px solid #ddd6ec;display:grid;gap:1px}
.sensei-lms-course-navigation .sal-sensei-section{list-style:none;margin:0;padding:0}
.sensei-lms-course-navigation .sal-sensei-link{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;color:#655d79;text-decoration:none;font:600 13px/1.35 'Inter Tight',system-ui,sans-serif;transition:background-color .15s,color .15s}
.sensei-lms-course-navigation .sal-sensei-link:hover{background:#f0edf8;color:#413569}
.sensei-lms-course-navigation .sal-sensei-link.is-active{background:#eeeaf8;color:#413569;font-weight:800}
.sensei-lms-course-navigation .sal-sensei-indicator{display:grid;place-items:center;flex:0 0 16px;width:16px;height:16px;border:1.5px solid #b5adc7;border-radius:50%;font-size:10px;color:transparent}
.sensei-lms-course-navigation .sal-sensei-link.is-active .sal-sensei-indicator{background:#5e5094;border-color:#5e5094}
.sensei-lms-course-navigation .sal-sensei-link.is-done .sal-sensei-indicator{color:#fff;background:#2e7d5e;border-color:#2e7d5e}
.sensei-lms-course-navigation .sal-sensei-link:focus-visible{outline:2px solid #23a7d8;outline-offset:2px}
