:root{
  --bs-bg:#fafaf8; --bs-surface:#f4f6f2; --bs-surface-2:#ecefe9;
  --bs-text:#0b1b2e; --bs-text-soft:#1f2a3a; --bs-muted:#4b5868;
  --bs-line:#e2e2dc; --bs-line-strong:#cbcbc4;
  --bs-brand:#1879c8; --bs-brand-strong:#0e5ba0; --bs-brand-soft:#e7f1fb;
  --bs-deep:#0b1b2e;
  --bs-accent:#0e8f66; --bs-accent-strong:#097253; --bs-accent-soft:#e1f4ec;
  --bs-radius:10px; --bs-radius-lg:16px; --bs-radius-pill:999px;
  --bs-shadow-soft:0 1px 2px #0b1b2e0a,0 4px 16px #0b1b2e0d;
  --bs-shadow-hover:0 2px 6px #0b1b2e0f,0 12px 28px #0b1b2e17;
  --bs-serif:'Spectral',Georgia,'Times New Roman',serif;
  --bs-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --bs-wrap:1180px; --bs-read:760px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bs-bg);color:var(--bs-text);
  font-family:var(--bs-sans);font-size:16px;line-height:1.7;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,iframe{max-width:100%}
img{height:auto}
a{color:var(--bs-brand);text-decoration:none;text-underline-offset:3px}
a:hover{color:var(--bs-brand-strong);text-decoration:underline}
h1,h2,h3,h4,h5{font-family:var(--bs-serif);color:var(--bs-deep);
  font-weight:600;line-height:1.2;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,1.4rem + 2.6vw,3.6rem);line-height:1.08}
h2{font-size:clamp(1.6rem,1.2rem + 1.5vw,2.25rem)}
h3{font-size:clamp(1.3rem,1.1rem + .8vw,1.6rem)}
h4{font-size:1.15rem}
h5{font-size:1rem;font-family:var(--bs-sans);font-weight:600}
p{margin:0 0 1.15em}
strong{font-weight:600;color:var(--bs-text)}
hr{border:0;border-top:1px solid var(--bs-line);margin:2.5rem 0}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}
::selection{background:var(--bs-brand-soft);color:var(--bs-deep)}
:focus-visible{outline:2px solid var(--bs-brand);outline-offset:2px;border-radius:4px}
.bsl-wrap{width:100%;max-width:var(--bs-wrap);margin:0 auto;padding:0 24px}
.bsl-read{max-width:var(--bs-read)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.bsl-skip{position:absolute;left:-9999px;top:0;background:var(--bs-deep);color:#fff;padding:12px 18px;z-index:1000;border-radius:0 0 var(--bs-radius) 0}
.bsl-skip:focus{left:0}

/* ---------- Site header ---------- */
.bsl-header{position:sticky;top:0;z-index:100;background:#fffffff2;backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--bs-line)}
.bsl-header-inner{display:flex;align-items:center;gap:28px;min-height:72px}
.bsl-brand{display:flex;align-items:center;gap:10px;font-family:var(--bs-serif);font-weight:600;font-size:1.12rem;color:var(--bs-deep);letter-spacing:-.01em}
.bsl-brand:hover{text-decoration:none;color:var(--bs-brand-strong)}
.bsl-brand img{height:30px;width:auto;display:block}
.bsl-nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.bsl-nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.bsl-nav a{display:inline-block;padding:9px 14px;border-radius:var(--bs-radius);color:var(--bs-text-soft);font-weight:500;font-size:.95rem}
.bsl-nav a:hover{background:var(--bs-surface);color:var(--bs-deep);text-decoration:none}
.bsl-nav .current-menu-item>a{color:var(--bs-brand-strong);background:var(--bs-brand-soft)}

/* ---------- Buttons ---------- */
.bsl-btn,.learndash-wrapper .ld-button,input[type=submit],button.wp-block-button__link{
  display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border:1px solid transparent;
  border-radius:var(--bs-radius-pill);background:var(--bs-brand);color:#fff!important;
  font-family:var(--bs-sans);font-weight:600;font-size:.95rem;line-height:1;cursor:pointer;
  box-shadow:var(--bs-shadow-soft);transition:background .18s ease,box-shadow .18s ease,transform .18s ease}
.bsl-btn:hover,.learndash-wrapper .ld-button:hover,input[type=submit]:hover{
  background:var(--bs-brand-strong);color:#fff!important;text-decoration:none;
  box-shadow:var(--bs-shadow-hover);transform:translateY(-1px)}
.bsl-btn-ghost{background:transparent;color:var(--bs-text)!important;border-color:var(--bs-line-strong);box-shadow:none}
.bsl-btn-ghost:hover{background:var(--bs-surface);color:var(--bs-deep)!important;border-color:var(--bs-line-strong)}

/* ---------- Eyebrow / pill ---------- */
.bsl-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:var(--bs-radius-pill);
  background:var(--bs-brand-soft);color:var(--bs-brand-strong);font-size:.76rem;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase}

/* ---------- Cards & page furniture ---------- */
.bsl-main{padding:56px 0 88px;min-height:60vh}
.bsl-card{background:#fff;border:1px solid var(--bs-line);border-radius:var(--bs-radius-lg);
  padding:28px;box-shadow:var(--bs-shadow-soft)}
.bsl-page-head{margin-bottom:40px;padding-bottom:28px;border-bottom:1px solid var(--bs-line)}
.bsl-page-head p{color:var(--bs-muted);font-size:1.08rem;margin:0}
.bsl-entry blockquote{margin:2rem 0;padding:.4rem 0 .4rem 1.5rem;border-left:3px solid var(--bs-brand);
  color:var(--bs-text-soft);font-family:var(--bs-serif);font-size:1.15rem}
.bsl-entry ul,.bsl-entry ol{padding-left:1.35rem;margin:0 0 1.15em}
.bsl-entry li{margin:.35em 0}
.bsl-entry table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.95rem}
.bsl-entry th,.bsl-entry td{padding:11px 14px;border:1px solid var(--bs-line);text-align:left}
.bsl-entry th{background:var(--bs-surface);font-weight:600}

/* ---------- Footer ---------- */
.bsl-footer{background:var(--bs-deep);color:#cfd8e3;padding:52px 0;margin-top:auto;font-size:.93rem}
.bsl-footer a{color:#fff}
.bsl-footer-inner{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}

/* ---------- LearnDash ---------- */
.learndash-wrapper{font-family:var(--bs-sans);color:var(--bs-text)}
.learndash-wrapper h1,.learndash-wrapper h2,.learndash-wrapper h3,.learndash-wrapper h4{font-family:var(--bs-serif);color:var(--bs-deep)}
.learndash-wrapper .ld-focus{background:var(--bs-bg)}
.learndash-wrapper .ld-focus-header{background:#fff;border-bottom:1px solid var(--bs-line);box-shadow:none}
.learndash-wrapper .ld-focus-sidebar{background:#fff;border-right:1px solid var(--bs-line)}
.learndash-wrapper .ld-focus-sidebar .ld-course-navigation-heading{background:var(--bs-surface);border-bottom:1px solid var(--bs-line);font-family:var(--bs-serif);color:var(--bs-deep)}
.learndash-wrapper .ld-focus-content{max-width:820px;margin:0 auto;padding:44px 28px 88px}
.learndash-wrapper .ld-focus-content>h1,.learndash-wrapper .ld-focus-content>h2:first-child{margin-bottom:1.2rem}
.learndash-wrapper .ld-item-list-item{background:#fff;border:1px solid var(--bs-line);border-radius:var(--bs-radius);margin-bottom:10px;transition:border-color .18s ease,box-shadow .18s ease}
.learndash-wrapper .ld-item-list-item:hover{border-color:var(--bs-brand);box-shadow:var(--bs-shadow-soft)}
.learndash-wrapper .ld-item-list-item .ld-item-title{font-weight:500;color:var(--bs-text)}
.learndash-wrapper .ld-item-list-item-preview{padding:16px 18px}
.learndash-wrapper .ld-progress-bar{background:var(--bs-surface-2);border-radius:var(--bs-radius-pill);height:10px;overflow:hidden;border:0}
.learndash-wrapper .ld-progress-bar .ld-progress-bar-percentage{background:var(--bs-accent);border-radius:var(--bs-radius-pill)}
.learndash-wrapper .ld-progress-heading,.learndash-wrapper .ld-progress-stats{color:var(--bs-muted);font-size:.86rem}
.learndash-wrapper .ld-status-complete,.learndash-wrapper .ld-icon-checkmark{background:var(--bs-accent)!important;color:#fff}
.learndash-wrapper .ld-status-unlocked{background:var(--bs-brand-soft);color:var(--bs-brand-strong)}
.learndash-wrapper .ld-breadcrumbs{background:transparent;border:0;padding:0 0 14px;font-size:.86rem;color:var(--bs-muted)}
.learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab{border:0;border-bottom:2px solid transparent;color:var(--bs-muted);font-weight:500;background:transparent}
.learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab.ld-active{color:var(--bs-deep);border-bottom-color:var(--bs-brand);background:transparent}
.learndash-wrapper .ld-alert{border-radius:var(--bs-radius);border:1px solid var(--bs-line);background:var(--bs-surface);color:var(--bs-text-soft)}
.learndash-wrapper .ld-alert-success{background:var(--bs-accent-soft);border-color:#bfe6d6}

/* ---------- Course content carried from Moodle ---------- */
.bsl-course{max-width:100%!important}
.bsl-vid{position:relative;width:100%;border-radius:var(--bs-radius);overflow:hidden;background:#000;box-shadow:var(--bs-shadow-soft);margin:0 0 6px}
.bsl-vid iframe{display:block;width:100%;border:0}
.bsl-video-caption{margin:0 0 2.2rem;color:var(--bs-muted);font-size:.95rem}
.bsl-video-caption h5{margin:.6rem 0 .2rem;color:var(--bs-deep)}
.course-info-box{background:var(--bs-brand-soft);border:1px solid #cfe3f7;border-left:4px solid var(--bs-brand);border-radius:var(--bs-radius);padding:20px 22px;margin:2rem 0}
.course-info-box h4,.course-info-box h5{margin-top:0;color:var(--bs-brand-strong)}
.course-key-point{background:var(--bs-accent-soft);border:1px solid #bfe6d6;border-left:4px solid var(--bs-accent);border-radius:var(--bs-radius);padding:18px 20px;margin:1.6rem 0}
.course-key-point strong{color:var(--bs-accent-strong)}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .bsl-nav ul{display:none}
  .bsl-header-inner{min-height:64px}
  .bsl-main{padding:36px 0 64px}
  .learndash-wrapper .ld-focus-content{padding:28px 18px 64px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* video sizing before the embed's own resize script runs */
.bsl-vid{height:404px;max-height:404px}
.bsl-vid iframe{height:100%}
@media (max-width:600px){.bsl-vid{height:250px;max-height:250px}}

.bsl-brand img{height:26px;width:auto}
.bsl-brand-tag{display:inline-block;padding:3px 9px;border-radius:var(--bs-radius-pill);background:var(--bs-brand-soft);color:var(--bs-brand-strong);font-family:var(--bs-sans);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}

/* drive LearnDash's own colour variables so its whole UI is on brand */
.learndash-wrapper,body.learndash-cpt,#ld-focus-mode,:root{
  --ld-color-primary:#1879c8;
  --ld-color-primary-dark:#0e5ba0;
  --ld-color-secondary:#0e8f66;
  --ld-color-tertiary:#4b5868;
  --ld-primary-color:#1879c8;
  --ld-secondary-color:#0e8f66;
  --ld-progress-color:#0e8f66;
  --ld-color-greyish:#e2e2dc;
}
.learndash-wrapper .ld-progress-bar .ld-progress-bar-percentage{background:#0e8f66!important}
.learndash-wrapper .ld-progress-stats .ld-progress-percentage{color:#0e8f66!important}
.learndash-wrapper .ld-status.ld-status-progress{background:var(--bs-brand-soft)!important;color:var(--bs-brand-strong)!important}

/* videos are 720x480 (3:2) - respect that instead of a fixed height */
.bsl-vid{aspect-ratio:3/2;height:auto!important;max-height:none!important;max-width:606px!important;min-width:0!important;margin-left:auto;margin-right:auto;overflow:visible}
.bsl-vid iframe{width:100%;height:100%;display:block;border-radius:var(--bs-radius)}
@media (max-width:640px){.bsl-vid{max-width:100%}}
/* beat the Moodle-derived .bsl-course .bsl-vid rules on specificity */
.bsl-course .bsl-vid,.learndash-wrapper .bsl-vid{aspect-ratio:3/2;height:auto!important;max-height:none!important;max-width:606px!important;min-width:0!important;width:100%;margin:0 auto 6px;overflow:visible}
.bsl-course .bsl-vid iframe{width:100%;height:100%;display:block}

/* Feature cards - used on "how to use the course" style pages */
.bsl-lead{ font-size:1.08rem; color:var(--bs-text-soft); margin:0 0 6px; }
.bsl-features{ display:grid; gap:16px; margin:24px 0 8px; }
.bsl-feature{
  display:grid; grid-template-columns:minmax(0,292px) minmax(0,1fr);
  gap:22px; align-items:center;
  padding:22px 26px;
  background:var(--bs-surface);
  border:1px solid var(--bs-line);
  border-radius:var(--bs-radius-lg);
}
.bsl-feature-art{ margin:0; }
.bsl-feature-art img{ display:block; width:100%; height:auto; }
.bsl-feature-body > h3{ margin:0 0 8px; font-size:1.2rem; line-height:1.3; }
.bsl-feature-body > p{ margin:0 0 10px; }
.bsl-feature-body > p:last-child{ margin-bottom:0; }
.bsl-feature-note{ font-size:.94rem; color:var(--bs-muted); }
@media (max-width:720px){
  .bsl-feature{ grid-template-columns:1fr; gap:14px; padding:18px; }
  .bsl-feature-art{ max-width:340px; }
}

/* The Welcome page is the only one of 265 still using Moodle's older .bsltips
   markup; every other page uses .bsl-video-caption. Render it identically. */
.bsltips{
  margin:-4px 0 2rem;
  padding:1rem 1.25rem;
  background:#f7fafd;
  border:0;
  border-radius:0 0 8px 8px;
  color:var(--bs-muted);
  font-size:.95rem;
}
.bsltips .bsltips{ background:none; border:0; padding:0; margin:0; border-radius:0; font-size:inherit; }
.bsltips .bsltips:first-child{ margin-bottom:.35rem; }
.bsltips .bsltips:first-child b{
  display:block; color:var(--bs-deep); font-weight:700;
  font-size:1.05rem; letter-spacing:0; text-transform:none;
}
.bsltips b{ color:var(--bs-deep); font-weight:700; text-transform:none; }
.bsltips i{ font-style:normal!important; font-weight:400!important; color:inherit; }

/* Inline action button used by ported resource / link topics */
.bsl-course a.bsl-btn,.learndash-wrapper a.bsl-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 20px; border-radius:var(--bs-radius-pill);
  background:var(--bs-brand); color:#fff; font-weight:600; font-size:.95rem;
  text-decoration:none; box-shadow:var(--bs-shadow-soft);
  transition:background .15s ease;
}
.bsl-course a.bsl-btn:hover,.learndash-wrapper a.bsl-btn:hover{ background:var(--bs-brand-strong); color:#fff; }

/* ---- Course welcome card: the learner's name in fingerspelling ---- */
.bsl-namecard{margin:0 0 2rem;padding:1.6rem 1.5rem 1.4rem;background:#fff;
  border:1px solid #e3e8ef;border-radius:12px;text-align:center}
.bsl-namecard-hello{margin:0 0 1rem;font-family:Spectral,Georgia,'Times New Roman',serif;
  font-size:1.6rem;line-height:1.2;color:var(--bs-deep)}
.bsl-namecard-sub{margin:0 0 1.2rem;color:var(--bs-muted);font-size:.95rem}
.bsl-namecard-strip{line-height:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.bsl-namecard-strip img{max-width:100%;min-width:0;height:auto;max-height:124px;display:inline-block}
.bsl-namecard-note{margin:1.1rem 0 0;color:var(--bs-muted);font-size:.9rem}
@media (max-width:640px){.bsl-namecard{padding:1.25rem 1rem}.bsl-namecard-hello{font-size:1.35rem}}

/* ---- Embedded tools from the main site ---- */
.bsl-embed-frame{margin:0 0 1.25rem;border:1px solid #d7eaf8;border-radius:10px;overflow:hidden;background:#fff}
.bsl-embed-frame iframe{display:block;width:100%;border:0}
.bsl-btn-row{margin:0 0 1.5rem}

/* ---- Name strip (main-site fingerspell widget) + skin tone picker ---- */
.bsl-namestrip{margin:0 auto;max-width:100%}
.bsl-namestrip[data-hand="left"] .bsl-fs-w__hand{transform:scaleX(-1)}
.bsl-tones{display:flex;align-items:center;justify-content:center;gap:8px;margin:1.1rem 0 0}
.bsl-tones__label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;color:var(--bs-muted);margin-right:4px}
.bsl-tone{width:26px;height:26px;border-radius:50%;padding:0;cursor:pointer;
  border:2px solid transparent;box-shadow:inset 0 0 0 1px rgba(11,27,46,.18);
  transition:border-color .16s ease,transform .16s ease}
.bsl-tone:hover{transform:scale(1.08)}
.bsl-tone--original{background:#e9c9a2}
.bsl-tone--medium{background:#b3773f}
.bsl-tone--deep{background:#5c3520}
.bsl-tone.is-on{border-color:#0b1b2e}
/* Sit the widget cleanly on the welcome card: no panel chrome, and no
   attribution bar back to british-sign.co.uk (we are on their own site). */
.bsl-namecard .bsl-namestrip .bsl-fs-w__panel{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.bsl-namecard .bsl-namestrip .bsl-fs-w__foot{display:none}
.bsl-namecard .bsl-namestrip .bsl-fs-w__strip{justify-content:center}
.bsl-namecard .bsl-namestrip .bsl-fs-w__panel,
.bsl-namecard .bsl-namestrip .bsl-fs-w__stage,
.bsl-namecard .bsl-namestrip .bsl-fs-w__group{background:transparent!important;border:0!important;box-shadow:none!important}
.bsl-namecard .bsl-namestrip .bsl-fs-w{background:transparent!important;border:0!important;box-shadow:none!important}
/* Static mode draws 56px handshapes; give the welcome banner bigger ones. */
.bsl-namecard .bsl-namestrip .bsl-fs-w__hand{width:104px!important;height:104px!important}
@media (max-width:640px){.bsl-namecard .bsl-namestrip .bsl-fs-w__hand{width:64px!important;height:64px!important}}

/* ============================================================
   Course rail - persistent navigation beside every course page
   ============================================================ */
.bsl-col{min-width:0}
.bsl-read{margin-left:auto;margin-right:auto}
.bsl-rail{margin:0 0 26px}
.bsl-rail-box{border:1px solid var(--bs-line);border-radius:var(--bs-radius);background:#fff}
.bsl-rail-toggle{cursor:pointer;list-style:none;padding:12px 16px;font-weight:600;
  font-size:.92rem;color:var(--bs-deep);display:flex;align-items:center;gap:10px}
.bsl-rail-toggle::-webkit-details-marker{display:none}
.bsl-rail-toggle::before{content:"";width:15px;height:1.5px;background:currentColor;
  box-shadow:0 5px 0 currentColor,0 -5px 0 currentColor;flex:0 0 auto}
.bsl-rail-inner{padding:0 16px 16px}

@media (min-width:960px){
  .bsl-wrap.bsl-has-rail{display:grid;grid-template-columns:242px minmax(0,1fr);
    gap:40px;align-items:start}
  .bsl-rail{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow-y:auto;
    margin:0;padding:2px 6px 24px 0}
  .bsl-rail-box{border:0;background:none;border-radius:0}
  .bsl-rail-toggle{display:none}
  .bsl-rail-inner{padding:0}
}

.bsl-rail-home{display:block;font-family:var(--bs-serif);font-size:1.02rem;font-weight:600;
  color:var(--bs-deep);text-decoration:none;line-height:1.25;margin-bottom:13px}
.bsl-rail-home:hover{color:var(--bs-brand);text-decoration:none}
.bsl-rail-meter{height:5px;border-radius:999px;background:var(--bs-surface-2);overflow:hidden}
.bsl-rail-meter span{display:block;height:100%;background:var(--bs-accent);border-radius:999px}
.bsl-rail-pct{margin:7px 0 16px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  font-weight:600;color:var(--bs-muted)}

.bsl-sec{border-top:1px solid var(--bs-line)}
.bsl-sec > summary{cursor:pointer;list-style:none;padding:9px 20px 9px 0;position:relative;
  font-size:.83rem;font-weight:600;line-height:1.35;color:var(--bs-muted)}
.bsl-sec > summary::-webkit-details-marker{display:none}
.bsl-sec > summary::after{content:"";position:absolute;right:5px;top:14px;width:6px;height:6px;
  border-right:1.5px solid var(--bs-line-strong);border-bottom:1.5px solid var(--bs-line-strong);
  transform:rotate(45deg);transition:transform .16s ease}
.bsl-sec[open] > summary::after{transform:rotate(-135deg);top:16px}
.bsl-sec.is-here > summary{color:var(--bs-deep)}
.bsl-sec > summary:hover{color:var(--bs-brand)}

.bsl-les,.bsl-steps{list-style:none;margin:0;padding:0 0 8px}
.bsl-les a,.bsl-steps a{display:flex;gap:9px;align-items:flex-start;padding:5px 0 5px 2px;
  font-size:.84rem;line-height:1.4;color:var(--bs-text-soft);text-decoration:none}
.bsl-les a:hover,.bsl-steps a:hover{color:var(--bs-brand);text-decoration:none}
.bsl-les > li.is-here > a{color:var(--bs-deep);font-weight:600}
.bsl-steps{padding:2px 0 6px 20px;border-left:1px solid var(--bs-line);margin:1px 0 7px 6px}
.bsl-steps a{font-size:.8rem;color:var(--bs-muted)}
.bsl-steps > li.is-here > a{color:var(--bs-brand-strong);font-weight:600}

.bsl-tick{flex:0 0 auto;width:13px;height:13px;margin-top:3px;border-radius:50%;
  border:1.5px solid var(--bs-line-strong);position:relative}
li.is-done > a .bsl-tick{background:var(--bs-accent);border-color:var(--bs-accent)}
li.is-done > a .bsl-tick::after{content:"";position:absolute;left:3.5px;top:1px;width:3px;height:6px;
  border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(45deg)}
li.is-here > a .bsl-tick{border-color:var(--bs-brand)}

/* keep the footer clear of the fixed signing-hand toolbar */
.bsl-footer{padding-bottom:92px}
/* A start-aligned grid item is only as tall as its content, so sticky has
   nowhere to travel. Let the rail column stretch and stick the box inside it. */
@media (min-width:960px){
  .bsl-wrap.bsl-has-rail{align-items:stretch}
  .bsl-rail{position:static;max-height:none;overflow:visible;margin:0;padding:0}
  .bsl-rail-box{position:sticky;top:22px;max-height:calc(100vh - 44px);
    overflow-y:auto;padding:2px 8px 24px 0}
}

/* ---- Page title on course pages ----
   LearnDash focus mode never engages in this theme, so nothing was printing a
   title: 82 pages had none at all and 80 more led with their first sign name,
   which read as the title. The theme prints it now. */
.bsl-page-head{margin:0 0 1.2rem}
.bsl-page-head h1{font-size:clamp(1.7rem,1.2rem + 1.3vw,2.35rem);line-height:1.15;margin:0}
.bsl-course .bsl-page-head h1{margin:0}
@media (max-width:640px){.bsl-page-head h1{font-size:1.55rem}}

/* ---- Header buttons ------------------------------------------------------
   The button styling in ui.css is all scoped to .bsl-course / .bsl-complete,
   and the header sits inside neither, so header buttons were falling back to
   a base rule with no background of its own. Give the header its own,
   self-sufficient set so it never depends on a page-level wrapper. */
.bsl-header .bsl-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;
  border:1px solid transparent;border-radius:var(--bs-radius-pill);background:var(--bs-brand);
  color:#fff!important;font-weight:600;font-size:.95rem;line-height:1.2;text-decoration:none;
  transition:background .15s ease,color .15s ease,border-color .15s ease}
.bsl-header .bsl-btn:hover{background:var(--bs-brand-strong);color:#fff!important}
.bsl-header .bsl-btn.bsl-btn-ghost{background:transparent;color:var(--bs-text)!important;
  border-color:var(--bs-line-strong);box-shadow:none}
.bsl-header .bsl-btn.bsl-btn-ghost:hover{background:var(--bs-surface);
  color:var(--bs-deep)!important;border-color:var(--bs-deep)}
.bsl-header .bsl-btn:focus-visible{outline:3px solid var(--bs-brand-strong);outline-offset:2px}
