:root{
  --lrmnav-blue:#123f76;
  --lrmnav-blue-2:#0c315e;
  --lrmnav-gold:#d9aa28;
  --lrmnav-text:#17345b;
  --lrmnav-muted:#60708a;
  --lrmnav-line:#d9e2ee;
  --lrmnav-soft:#f4f7fb;
  --lrmnav-active:#eaf2ff;
  --lrmnav-width:280px;
}

/* Make the lesson page itself wide enough for a platform-style left rail + lesson. */
body.single-lrm_lesson.lrmnav-page-enabled .content-container.site-container,
body.single-lrm_lesson.lrmnav-page-enabled .site-container.content-container,
body.single-lrm_lesson.lrmnav-page-enabled #primary.content-area,
body.single-lrm_lesson.lrmnav-page-enabled .site-main{
  max-width:1480px!important;
}
body.single-lrm_lesson.lrmnav-page-enabled .content-container.site-container,
body.single-lrm_lesson.lrmnav-page-enabled .site-container.content-container{
  width:min(1480px, calc(100% - 24px))!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.single-lrm_lesson.lrmnav-page-enabled #primary.content-area{
  width:100%!important;
}
body.single-lrm_lesson.lrmnav-page-enabled article.entry,
body.single-lrm_lesson.lrmnav-page-enabled .site-main>article{
  background:transparent!important;
  box-shadow:none!important;
}
body.single-lrm_lesson.lrmnav-page-enabled .entry-content-wrap{
  padding:0!important;
  background:transparent!important;
}
body.single-lrm_lesson.lrmnav-page-enabled .entry-header{
  display:none!important;
}

.lrm-page-shell{
  display:grid;
  grid-template-columns:var(--lrmnav-width) minmax(0,1fr);
  gap:24px;
  align-items:start;
  width:100%;
  max-width:1480px;
  margin:0 auto;
}
.lrm-page-lesson{min-width:0;width:100%;}
.lrm-page-lesson .lrmce{max-width:none!important;margin:0!important;}

.lrmnav-sidebar{
  position:sticky;
  top:88px;
  overflow:hidden;
  border:1px solid #ccd9e9;
  border-radius:11px;
  background:#fff;
  box-shadow:0 8px 24px rgba(16,53,96,.08);
  color:var(--lrmnav-text);
  z-index:25;
}
.lrmnav-sidebar-head{
  position:relative;
  padding:24px 20px 22px;
  color:#fff;
  background:linear-gradient(145deg,var(--lrmnav-blue),#174b84);
}
.lrmnav-brand-kicker{
  margin-bottom:5px;
  color:#f0c747;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.lrmnav-sidebar-head strong{
  display:block;
  font-size:18px;
  line-height:1.3;
}
.lrmnav-course-secondary{
  display:block;
  margin-top:4px;
  color:#f3f7fc;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
}
.lrmnav-sidebar-head small{
  display:block;
  margin-top:5px;
  color:#dce9f8;
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
}
.lrmnav-close{display:none;}

.lrmnav-main{padding:8px 0;}
.lrmnav-top-link,
.lrmnav-group summary{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:68px;
  margin:0;
  padding:13px 18px;
  border:0;
  color:var(--lrmnav-text);
  text-decoration:none!important;
  cursor:pointer;
  transition:background .16s ease,color .16s ease;
}
.lrmnav-top-link{grid-template-columns:24px minmax(0,1fr);}
.lrmnav-top-link:hover,
.lrmnav-group summary:hover{background:var(--lrmnav-soft);}
.lrmnav-group summary::-webkit-details-marker{display:none;}
.lrmnav-group summary{list-style:none;}
.lrmnav-icon{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;color:var(--lrmnav-blue);}
.lrmnav-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.lrmnav-top-link strong,
.lrmnav-group summary strong{display:block;font-size:16px;line-height:1.25;}
.lrmnav-top-link small,
.lrmnav-group summary small{display:block;margin-top:4px;color:var(--lrmnav-muted);font-size:11px;line-height:1.3;}
.lrmnav-chevron{font-size:17px;color:#6e7d90;transition:transform .16s ease;}
.lrmnav-group[open] .lrmnav-chevron{transform:rotate(180deg);}

.lrmnav-submenu{
  padding:0 14px 14px 56px;
}
.lrmnav-submenu a{
  display:flex;
  align-items:flex-start;
  gap:7px;
  margin:1px 0;
  padding:10px 10px;
  border-radius:7px;
  color:#365170;
  font-size:13.5px;
  line-height:1.4;
  text-decoration:none!important;
}
.lrmnav-submenu a:hover{background:#f3f7fc;color:var(--lrmnav-blue);}
.lrmnav-submenu a.is-current,
.lrmnav-submenu a.is-current-course{background:var(--lrmnav-active);color:#0f437a;font-weight:800;}
.lrmnav-lesson-number{flex:0 0 auto;min-width:28px;color:#8a6610;font-weight:900;}
.lrmnav-courses-list a{display:block;}
.lrmnav-courses-list strong,.lrmnav-courses-list small{display:block;}
.lrmnav-courses-list small{margin-top:3px;color:#7b8797;font-size:11px;font-weight:500;}
.lrmnav-empty{display:block;padding:10px;color:#788696;font-size:12px;}

.lrmnav-divider{height:1px;margin:7px 18px 16px;background:var(--lrmnav-line);}
.lrmnav-contents-head{padding:0 18px 11px;}
.lrmnav-contents-head strong{display:block;color:#66758a;font-size:11.5px;line-height:1.25;letter-spacing:.08em;}
.lrmnav-contents-head span{display:block;margin-top:3px;color:#7a8798;font-size:10.5px;line-height:1.25;font-weight:700;}
.lrmnav-contents{padding:0 11px 18px;}
.lrmnav-contents a{
  display:block;
  margin:2px 0;
  padding:11px 12px 11px 14px;
  border-left:3px solid transparent;
  border-radius:7px;
  color:#3c536f;
  text-decoration:none!important;
  transition:background .14s ease,border-color .14s ease,color .14s ease;
}
.lrmnav-contents a strong{display:block;font-size:14px;line-height:1.35;font-weight:800;}
.lrmnav-contents a small{display:block;margin-top:3px;color:#7a8797;font-size:10.5px;line-height:1.3;}
.lrmnav-contents a:hover{background:#f4f7fb;}
.lrmnav-contents a.is-active{border-left-color:#2c6fbb;background:var(--lrmnav-active);color:#123f76;}

.lrmnav-mobile-toggle,.lrmnav-backdrop{display:none;}

@media (max-width:1100px){
  :root{--lrmnav-width:250px;}
  .lrm-page-shell{gap:20px;}
}

@media (max-width:900px){
  body.single-lrm_lesson.lrmnav-page-enabled .content-container.site-container,
  body.single-lrm_lesson.lrmnav-page-enabled .site-container.content-container{
    width:min(100% - 22px, 1040px)!important;
  }
  .lrm-page-shell{display:block;}
  .lrmnav-mobile-toggle{
    display:inline-flex;
    position:sticky;
    top:10px;
    z-index:99990;
    align-items:center;
    gap:8px;
    margin:0 0 14px;
    padding:10px 14px;
    border:1px solid #c9d7e7;
    border-radius:8px;
    background:#fff;
    color:var(--lrmnav-blue);
    box-shadow:0 4px 14px rgba(18,63,118,.07);
    cursor:pointer;
  }
  .lrmnav-mobile-toggle strong{display:block;font-size:14px;line-height:1.15;}
  .lrmnav-mobile-toggle small{display:block;margin-top:2px;color:#6c7b8d;font-size:10px;line-height:1.15;}
  .lrmnav-sidebar{
    position:fixed;
    z-index:100002;
    top:0;
    left:0;
    width:min(370px,calc(100vw - 28px));
    height:100vh;
    height:100dvh;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    border:0;
    border-radius:0;
    overflow-y:auto;
    transform:translateX(-105%);
    transition:transform .22s ease;
    box-shadow:10px 0 30px rgba(7,35,67,.22);
  }
  body.lrmnav-open .lrmnav-sidebar{transform:translateX(0);}
  .lrmnav-close{
    display:inline-flex;
    position:absolute;
    top:max(10px,env(safe-area-inset-top));
    right:10px;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:7px;
    background:rgba(255,255,255,.12);
    color:#fff;
    cursor:pointer;
  }
  .lrmnav-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;}
  .lrmnav-backdrop{
    display:block;
    position:fixed;
    z-index:100001;
    inset:0;
    background:rgba(6,28,52,.42);
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease;
  }
  body.lrmnav-open .lrmnav-backdrop{opacity:1;pointer-events:auto;}
  body.lrmnav-open{overflow:hidden;}

  /* Phone/tablet readability and touch targets. */
  .lrmnav-sidebar-head{
    padding-top:max(24px,calc(18px + env(safe-area-inset-top)));
  }
  .lrmnav-top-link,
  .lrmnav-group summary{
    min-height:70px;
    padding-top:14px;
    padding-bottom:14px;
  }
  .lrmnav-top-link strong,
  .lrmnav-group summary strong{font-size:16px;}
  .lrmnav-top-link small,
  .lrmnav-group summary small{font-size:11.5px;}
  .lrmnav-contents a{
    min-height:48px;
    padding-top:10px;
    padding-bottom:10px;
  }
  .lrmnav-contents a strong{font-size:15px;}
  .lrmnav-contents a small{font-size:11px;}
  .lrmnav-contents{padding-bottom:max(24px,calc(16px + env(safe-area-inset-bottom)));}
}

@media (max-width:480px){
  body.single-lrm_lesson.lrmnav-page-enabled .content-container.site-container,
  body.single-lrm_lesson.lrmnav-page-enabled .site-container.content-container{
    width:calc(100% - 14px)!important;
  }
  .lrmnav-mobile-toggle{
    min-height:48px;
    padding:10px 13px;
  }
  .lrmnav-sidebar{
    width:min(350px,calc(100vw - 20px));
  }
  .lrmnav-sidebar-head strong{font-size:18px;}
  .lrmnav-course-secondary{font-size:13px;}
}

