/* ============================================================================
   BioCode lesson player — field-guide redesign over Tutor "spotlight" mode.
   Pure CSS overlay (scoped to body.bcd-lesson): no template/JS changes, so the
   video tracking, completion AJAX and Q&A keep working. Matches the dashboard.
   ========================================================================== */
body.bcd-lesson{
	--g-deep:#154d37; --g:#1d6b4f; --g-soft:#2f8a67; --mint:#9fe0c0;
	--clay:#bd6a36; --clay-dk:#9a5125;
	--ink:#1a1c16; --ink-2:#33372c; --muted:#6a6f60; --faint:#9a9e8d;
	--bone:#f6f2e9; --paper:#fffdf8; --cream:#f3eee2; --line:#e6e0d2; --line-2:#efeadd;
	--ease:cubic-bezier(.22,.61,.36,1);
	--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
	/* Recolour Tutor's primary (defaults to blue on lesson pages) to our green —
	   fixes the header bar, toggles, links, progress accents in one shot. */
	--tutor-color-primary:#154d37;
	--tutor-color-primary-rgb:21,77,55;
	--tutor-color-primary-hover:#1d6b4f;
	--tutor-color-primary-60:#9fe0c0;
	background:var(--bone) !important;
	font-family:"Hanken Grotesk",system-ui,-apple-system,sans-serif !important;
	color:var(--ink);
}
body.bcd-lesson #tutor-page-wrap{ background:var(--bone); }

/* ── App shell ───────────────────────────────────────────────────────────── */
body.bcd-lesson .tutor-course-single-content-wrapper.tutor-spotlight-mode{
	display:flex; align-items:flex-start; gap:0; background:var(--bone);
}
body.bcd-lesson .tutor-course-single-sidebar-wrapper{
	flex:0 0 350px; width:350px; align-self:stretch;
	background:var(--paper); border-right:1px solid var(--line);
	position:sticky; top:0; height:100vh; overflow-y:auto; scrollbar-width:thin;
}
body.bcd-lesson #tutor-single-entry-content{ flex:1 1 auto; min-width:0; }

/* ── Sidebar: course / curriculum ───────────────────────────────────────── */
body.bcd-lesson .tutor-course-single-sidebar-title{
	position:sticky; top:0; z-index:5; background:var(--paper);
	padding:20px 20px 16px !important; border-bottom:1px solid var(--line);
	font-family:"Newsreader",Georgia,serif !important; font-weight:600 !important;
	font-size:17px !important; color:var(--ink) !important; align-items:center;
}
body.bcd-lesson .tutor-course-single-sidebar-title .tutor-iconic-btn{ color:var(--muted) !important; }

body.bcd-lesson .tutor-course-topic{ border:0 !important; }
body.bcd-lesson .tutor-accordion-item-header,
body.bcd-lesson .tutor-course-topic-title{
	background:var(--cream) !important; border:0 !important;
	padding:13px 18px !important; font-weight:700 !important; font-size:13.5px !important;
	color:var(--ink-2) !important; letter-spacing:.01em;
	border-top:1px solid var(--line-2) !important;
}
body.bcd-lesson .tutor-accordion-item-header.is-active{ background:var(--cream) !important; color:var(--g-deep) !important; }

body.bcd-lesson .tutor-course-topic-item{
	padding:11px 18px !important; border-top:1px solid var(--line-2) !important;
	transition:background .14s var(--ease); position:relative;
}
body.bcd-lesson .tutor-course-topic-item:hover{ background:var(--cream); }
body.bcd-lesson .tutor-course-topic-item.is-active{
	background:rgba(29,107,79,.08) !important; box-shadow:inset 3px 0 0 var(--g-deep);
}
body.bcd-lesson .tutor-course-topic-item.is-active .tutor-course-topic-item-title{ color:var(--g-deep) !important; font-weight:700 !important; }
body.bcd-lesson .tutor-course-topic-item-title{ font-size:13.5px !important; color:var(--ink-2) !important; line-height:1.4; }
body.bcd-lesson .tutor-course-topic-item-icon{ color:var(--g-soft) !important; }
body.bcd-lesson .tutor-course-topic-item.is-active .tutor-course-topic-item-icon{ color:var(--g-deep) !important; }
body.bcd-lesson .tutor-course-topic-item-duration{ font-size:11.5px !important; color:var(--faint) !important; font-family:var(--mono); }

/* completion check circle → green when done */
body.bcd-lesson .tutor-form-check-circle{ border-color:var(--line) !important; }
body.bcd-lesson .tutor-form-check-circle:checked,
body.bcd-lesson .tutor-form-check-circle.tutor-is-checked,
body.bcd-lesson .tutor-form-check-circle.tutor-success{
	background-color:var(--g) !important; border-color:var(--g) !important;
}

/* ── Top bar — refined branded green header ──────────────────────────────── */
body.bcd-lesson .tutor-single-page-top-bar,
body.bcd-lesson .tutor-course-topic-single-header{
	position:sticky; top:0; z-index:20; min-height:66px;
	background:linear-gradient(135deg,var(--g-deep),var(--g)) !important;
	color:#eef5ef !important; border-bottom:1px solid rgba(0,0,0,.12) !important;
	padding:12px 24px !important; box-shadow:0 10px 30px -22px rgba(13,40,28,.9);
	gap:6px;
}
body.bcd-lesson .tutor-course-topic-single-header-title{
	font-family:"Newsreader",Georgia,serif !important; font-weight:600 !important;
	font-size:18px !important; line-height:1.2 !important; color:#fff !important;
}
body.bcd-lesson .tutor-progress-content,
body.bcd-lesson .tutor-single-page-top-bar .tutor-fs-7{ color:#cfe6d8 !important; font-weight:600; }
body.bcd-lesson .tutor-single-page-top-bar .tutor-fw-bold{ color:#fff !important; }

/* sidebar toggle + close buttons (ghost-on-green) */
body.bcd-lesson .tutor-single-page-top-bar .tutor-iconic-btn{
	width:38px; height:38px; border-radius:10px; border:1px solid rgba(255,255,255,.28) !important;
	background:rgba(255,255,255,.1) !important; color:#fff !important; display:inline-grid; place-items:center;
	transition:background .15s var(--ease),border-color .15s var(--ease);
}
body.bcd-lesson .tutor-single-page-top-bar .tutor-iconic-btn:hover{ background:rgba(255,255,255,.2) !important; border-color:rgba(255,255,255,.5) !important; }

/* mark-complete button — light pill on the green header */
body.bcd-lesson .tutor-topbar-mark-btn,
body.bcd-lesson .tutor-topbar-complete-btn .tutor-btn{
	background:#fff !important; border:0 !important; color:var(--g-deep) !important;
	border-radius:11px !important; font-weight:700 !important; padding:11px 18px !important;
	box-shadow:0 12px 24px -14px rgba(0,0,0,.5); transition:transform .15s var(--ease),background .15s var(--ease);
}
body.bcd-lesson .tutor-topbar-mark-btn:hover{ background:#eef5ef !important; transform:translateY(-1px); }
body.bcd-lesson .tutor-topbar-mark-btn i,
body.bcd-lesson .tutor-topbar-mark-btn .tutor-icon-circle-mark-line{ color:var(--g) !important; }

/* ── Lesson body: video + reader ─────────────────────────────────────────── */
body.bcd-lesson .tutor-course-topic-single-body{ padding:30px 26px 0; }
body.bcd-lesson .tutor-video-player-wrapper{
	max-width:920px; margin:0 auto 6px; border-radius:18px; overflow:hidden;
	box-shadow:0 30px 60px -38px rgba(26,28,22,.6); background:#0d140f; border:1px solid var(--line);
}
body.bcd-lesson .tutor-video-player-wrapper .plyr,
body.bcd-lesson .tutor-video-player-wrapper video,
body.bcd-lesson .tutor-video-player-wrapper iframe{ border-radius:18px; }
body.bcd-lesson .plyr--full-ui input[type=range]{ color:var(--g-soft); }
body.bcd-lesson .plyr__control--overlaid,
body.bcd-lesson .plyr__controls .plyr__control[aria-expanded=true]{ background:var(--g); }

/* spotlight tabs (Overview / Comments / Files) */
body.bcd-lesson .tutor-course-spotlight-wrapper{ max-width:820px; margin:26px auto 0; }
body.bcd-lesson .tutor-course-spotlight-nav{
	border-bottom:1px solid var(--line) !important; gap:6px; margin-bottom:24px !important; justify-content:flex-start !important;
}
body.bcd-lesson .tutor-course-spotlight-nav .tutor-nav-link{
	border:0 !important; padding:12px 6px !important; margin-right:18px; font-weight:600 !important;
	color:var(--muted) !important; position:relative;
}
body.bcd-lesson .tutor-course-spotlight-nav .tutor-nav-link.is-active{ color:var(--g-deep) !important; }
body.bcd-lesson .tutor-course-spotlight-nav .tutor-nav-link.is-active:after{
	content:""; position:absolute; left:0; right:0; bottom:-1px; height:2.5px; background:var(--g-deep); border-radius:3px 3px 0 0;
}

/* lesson text content typography */
body.bcd-lesson .tutor-course-spotlight-tab{ font-size:16.5px; line-height:1.72; color:var(--ink-2); }
body.bcd-lesson .tutor-course-spotlight-tab h1,
body.bcd-lesson .tutor-course-spotlight-tab h2,
body.bcd-lesson .tutor-course-spotlight-tab h3,
body.bcd-lesson .tutor-course-spotlight-tab h4{
	font-family:"Newsreader",Georgia,serif; font-weight:600; color:var(--ink); line-height:1.2;
	margin:1.6em 0 .5em; letter-spacing:-.01em;
}
body.bcd-lesson .tutor-course-spotlight-tab h2{ font-size:25px; }
body.bcd-lesson .tutor-course-spotlight-tab h3{ font-size:20px; }
body.bcd-lesson .tutor-course-spotlight-tab p{ margin:0 0 1.1em; }
body.bcd-lesson .tutor-course-spotlight-tab a{ color:var(--g-deep); text-decoration:underline; text-underline-offset:2px; }
body.bcd-lesson .tutor-course-spotlight-tab ul,
body.bcd-lesson .tutor-course-spotlight-tab ol{ margin:0 0 1.1em; padding-left:1.3em; }
body.bcd-lesson .tutor-course-spotlight-tab li{ margin:.3em 0; }
body.bcd-lesson .tutor-course-spotlight-tab img{ border-radius:12px; max-width:100%; height:auto; }
body.bcd-lesson .tutor-course-spotlight-tab pre,
body.bcd-lesson .tutor-course-spotlight-tab code{
	font-family:var(--mono); font-size:.92em; background:var(--cream); border:1px solid var(--line); border-radius:8px;
}
body.bcd-lesson .tutor-course-spotlight-tab pre{ padding:16px 18px; overflow:auto; }
body.bcd-lesson .tutor-course-spotlight-tab code{ padding:2px 6px; }
body.bcd-lesson .tutor-course-spotlight-tab blockquote{
	border-left:3px solid var(--g); background:var(--cream); margin:1.2em 0; padding:14px 20px; border-radius:0 10px 10px 0;
	font-style:italic; color:var(--ink-2);
}

/* ── Comments / Q&A ──────────────────────────────────────────────────────── */
body.bcd-lesson .tutor-course-spotlight-tab textarea,
body.bcd-lesson .tutor-course-spotlight-tab input[type="text"]{
	border:1px solid var(--line) !important; border-radius:11px !important; background:var(--paper) !important; padding:12px 14px !important;
}
body.bcd-lesson .tutor-course-spotlight-tab textarea:focus,
body.bcd-lesson .tutor-course-spotlight-tab input[type="text"]:focus{
	border-color:var(--g) !important; box-shadow:0 0 0 3px rgba(29,107,79,.13) !important; outline:none !important;
}
body.bcd-lesson .tutor-btn-primary{ background:var(--g-deep) !important; border-color:var(--g-deep) !important; border-radius:10px !important; font-weight:700 !important; }
body.bcd-lesson .tutor-btn-primary:hover{ background:var(--g) !important; border-color:var(--g) !important; }

/* ── Footer prev / next ──────────────────────────────────────────────────── */
body.bcd-lesson .tutor-course-topic-single-footer{
	max-width:820px; margin:36px auto 0; padding:20px 26px 40px !important;
	border-top:1px solid var(--line); display:flex; justify-content:space-between;
}
body.bcd-lesson .tutor-course-topic-single-footer .tutor-btn{
	background:var(--paper) !important; border:1px solid var(--line) !important; color:var(--ink-2) !important;
	border-radius:11px !important; font-weight:700 !important; padding:11px 18px !important; transition:border-color .15s var(--ease),color .15s var(--ease);
}
body.bcd-lesson .tutor-course-topic-single-footer .tutor-btn:hover{ border-color:var(--g) !important; color:var(--g-deep) !important; }
body.bcd-lesson .tutor-course-topic-single-footer .tutor-btn[disabled]{ opacity:.45; }

/* mobile progress bar (bottom) */
body.bcd-lesson .tutor-spotlight-mobile-progress-complete{ background:var(--paper); border-top:1px solid var(--line); }
body.bcd-lesson .tutor-progress-bar{ background:var(--line) !important; border-radius:999px !important; }
body.bcd-lesson .tutor-progress-value{ background:var(--g) !important; border-radius:999px !important; }

/* ── Code blocks: copy button ────────────────────────────────────────────── */
body.bcd-lesson .tutor-course-spotlight-tab pre.bcd-has-copy{ position:relative; padding-top:40px; }
body.bcd-lesson .bcd-lang{ position:absolute; top:9px; left:14px; font:600 10px/1 var(--mono); letter-spacing:.07em; text-transform:uppercase; color:var(--g-soft); background:var(--cream); border:1px solid var(--line); border-radius:6px; padding:4px 8px; }
body.bcd-lesson .bcd-copy{
	position:absolute; top:10px; right:10px; font:600 11px/1 "Hanken Grotesk"; letter-spacing:.03em;
	color:var(--ink-2); background:var(--paper); border:1px solid var(--line); border-radius:7px; padding:6px 10px; cursor:pointer;
	opacity:0; transition:opacity .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease);
}
body.bcd-lesson pre.bcd-has-copy:hover .bcd-copy{ opacity:1; }
body.bcd-lesson .bcd-copy:hover{ border-color:var(--g); color:var(--g-deep); }

/* ── Focus / distraction-free mode ───────────────────────────────────────── */
body.bcd-lesson .bcd-focus-btn{ margin-left:6px; }
body.bcd-lesson.bcd-focus .tutor-course-single-sidebar-wrapper,
body.bcd-lesson.bcd-focus .bcd-lesson-sitenav{ display:none !important; }
body.bcd-lesson.bcd-focus .tutor-video-player-wrapper{ max-width:1180px; }

/* ── Picture-in-picture mini-player ──────────────────────────────────────── */
body.bcd-lesson .tutor-video-player-wrapper.bcd-pip{
	position:fixed; right:20px; bottom:20px; width:340px; max-width:46vw; z-index:80; margin:0 !important;
	box-shadow:0 26px 54px -16px rgba(0,0,0,.65); border-radius:14px;
}
body.bcd-lesson .bcd-pip-x{ position:absolute; top:6px; right:6px; z-index:2; width:26px; height:26px; border-radius:50%; background:rgba(0,0,0,.62); color:#fff; border:0; cursor:pointer; font-size:16px; line-height:1; display:none; }
body.bcd-lesson .tutor-video-player-wrapper.bcd-pip .bcd-pip-x{ display:grid; place-items:center; }
@media (max-width:600px){ body.bcd-lesson .tutor-video-player-wrapper.bcd-pip{ width:210px; right:10px; bottom:10px; } }

/* ── Shortcuts help overlay ──────────────────────────────────────────────── */
body.bcd-lesson .bcd-help[hidden]{ display:none; }
body.bcd-lesson .bcd-help{ position:fixed; inset:0; z-index:9600; display:flex; align-items:center; justify-content:center; background:rgba(13,20,15,.55); padding:20px; }
body.bcd-lesson .bcd-help-box{ background:var(--paper); border:1px solid var(--line); border-radius:18px; padding:28px 32px; max-width:390px; width:100%; box-shadow:0 40px 80px -30px rgba(0,0,0,.55); }
body.bcd-lesson .bcd-help-box h3{ font-family:"Newsreader",Georgia,serif; font-weight:600; font-size:20px; margin:0 0 16px; }
body.bcd-lesson .bcd-help-box dl{ display:grid; grid-template-columns:auto 1fr; gap:10px 16px; margin:0 0 20px; }
body.bcd-lesson .bcd-help-box dt{ font:600 12px/1.3 var(--mono); color:var(--g-deep); background:var(--cream); border:1px solid var(--line); border-radius:6px; padding:5px 9px; justify-self:start; }
body.bcd-lesson .bcd-help-box dd{ font-size:14px; color:var(--ink-2); align-self:center; margin:0; }
body.bcd-lesson .bcd-help-close{ width:100%; background:var(--g-deep); color:#fff; border:0; border-radius:10px; padding:11px 18px; font-weight:700; cursor:pointer; }

/* ── "Was this helpful?" ─────────────────────────────────────────────────── */
body.bcd-lesson .bcd-rate{ max-width:820px; margin:28px auto 0; display:flex; align-items:center; gap:12px; padding:14px 20px; background:var(--cream); border:1px solid var(--line); border-radius:14px; }
body.bcd-lesson .bcd-rate-q{ font-weight:700; font-size:14px; color:var(--ink-2); }
body.bcd-lesson .bcd-rate-b{ width:40px; height:40px; border-radius:10px; border:1px solid var(--line); background:var(--paper); color:var(--muted); cursor:pointer; display:grid; place-items:center; transition:border-color .14s var(--ease),background .14s var(--ease),color .14s var(--ease); }
body.bcd-lesson .bcd-rate-b:hover{ border-color:var(--g); color:var(--g-deep); }
body.bcd-lesson .bcd-rate-b.is-on{ background:var(--g-deep); color:#fff; border-color:var(--g-deep); }
body.bcd-lesson .bcd-rate-thanks{ font-weight:600; font-size:13.5px; color:var(--g-deep); margin-left:auto; }

/* ── Download-all resources button (Files tab) ───────────────────────────── */
body.bcd-lesson .bcd-zip-btn{ display:inline-flex; align-items:center; gap:8px; margin:0 0 18px; background:var(--paper); border:1px solid var(--line); color:var(--g-deep); font-weight:700; font-size:13px; padding:9px 14px; border-radius:10px; transition:border-color .15s var(--ease),background .15s var(--ease); }
body.bcd-lesson .bcd-zip-btn:hover{ border-color:var(--g); background:rgba(29,107,79,.05); }

/* ── Inline knowledge-check CTA ──────────────────────────────────────────── */
body.bcd-lesson .bcd-quiz-cta{ display:flex; align-items:center; gap:14px; max-width:820px; margin:24px auto 0; padding:15px 20px; background:linear-gradient(150deg,var(--g-deep),var(--g)); color:#fff; border-radius:16px; box-shadow:0 22px 44px -26px rgba(21,77,55,.8); transition:transform .15s var(--ease); }
body.bcd-lesson .bcd-quiz-cta:hover{ transform:translateY(-2px); }
body.bcd-lesson .bcd-quiz-ic{ flex:0 0 auto; width:42px; height:42px; border-radius:11px; background:rgba(255,255,255,.16); display:grid; place-items:center; }
body.bcd-lesson .bcd-quiz-b{ flex:1; min-width:0; display:flex; flex-direction:column; }
body.bcd-lesson .bcd-quiz-k{ font:700 10px/1 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--mint); }
body.bcd-lesson .bcd-quiz-t{ font-weight:700; font-size:15px; margin-top:3px; }
body.bcd-lesson .bcd-quiz-go{ flex:0 0 auto; font-weight:700; font-size:13.5px; background:#fff; color:var(--g-deep); padding:8px 14px; border-radius:9px; }

/* ── In-video bookmarks ──────────────────────────────────────────────────── */
body.bcd-lesson .bcd-bm{ max-width:920px; margin:10px auto 4px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
body.bcd-lesson .bcd-bm-add{ display:inline-flex; align-items:center; gap:7px; background:var(--g-deep); color:#fff; border:0; border-radius:10px; padding:9px 14px; font:700 13px/1 "Hanken Grotesk"; cursor:pointer; transition:background .15s var(--ease),transform .15s var(--ease); }
body.bcd-lesson .bcd-bm-add:hover{ background:var(--g); transform:translateY(-1px); }
body.bcd-lesson .bcd-bm-list{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
body.bcd-lesson .bcd-bm-empty{ font-size:12.5px; color:var(--faint); }
body.bcd-lesson .bcd-bm-chip{ display:inline-flex; align-items:center; background:var(--cream); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
body.bcd-lesson .bcd-bm-go{ background:none; border:0; color:var(--g-deep); font:600 12px/1 var(--mono); padding:7px 10px; cursor:pointer; }
body.bcd-lesson .bcd-bm-go:hover{ color:var(--g); }
body.bcd-lesson .bcd-bm-x{ background:none; border:0; border-left:1px solid var(--line); color:var(--muted); padding:6px 9px; cursor:pointer; font-size:14px; line-height:1; }
body.bcd-lesson .bcd-bm-x:hover{ color:var(--clay); }

/* ── Auto-advance "Up next" overlay ──────────────────────────────────────── */
body.bcd-lesson .bcd-upnext{
	position:absolute; inset:0; display:none; align-items:center; justify-content:center;
	background:rgba(13,20,15,.78); backdrop-filter:blur(3px); z-index:8;
}
body.bcd-lesson .bcd-upnext.is-on{ display:flex; }
body.bcd-lesson .bcd-upnext-card{ text-align:center; color:#fff; padding:24px; max-width:380px; }
body.bcd-lesson .bcd-upnext-k{ display:block; font:700 11px/1 var(--mono); letter-spacing:.16em; text-transform:uppercase; color:var(--mint); margin-bottom:10px; }
body.bcd-lesson .bcd-upnext-t{ display:block; font-family:"Newsreader",Georgia,serif; font-weight:600; font-size:21px; line-height:1.25; margin-bottom:20px; }
body.bcd-lesson .bcd-upnext-actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
body.bcd-lesson .bcd-upnext-go{ background:#fff; color:var(--g-deep); border:0; border-radius:11px; font-weight:700; font-size:14px; padding:12px 20px; cursor:pointer; }
body.bcd-lesson .bcd-upnext-cancel{ background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.3); border-radius:11px; font-weight:700; font-size:14px; padding:12px 18px; cursor:pointer; }

/* ── Files / resources tab ───────────────────────────────────────────────── */
body.bcd-lesson .tutor-course-spotlight-tab .tutor-lesson-attachments a,
body.bcd-lesson .tutor-course-spotlight-tab .tutor-instructor-list-item{ border-radius:12px !important; }
body.bcd-lesson .tutor-course-spotlight-tab [class*="attachment"]{
	border:1px solid var(--line); border-radius:12px; padding:14px 16px; margin-bottom:10px; background:var(--paper);
	display:flex; align-items:center; gap:12px; transition:border-color .15s var(--ease);
}
body.bcd-lesson .tutor-course-spotlight-tab [class*="attachment"]:hover{ border-color:var(--g); }

/* ── Sidebar progress ring (top of curriculum) ───────────────────────────── */
body.bcd-lesson .tutor-course-single-sidebar-title{ gap:12px; }

/* ── Site navbar injected at top of the lesson ───────────────────────────── */
body.bcd-lesson .bcd-lesson-sitenav{ position:relative; z-index:30; background:var(--paper); border-bottom:1px solid var(--line); }
body.bcd-lesson .bcd-lesson-sitenav .header-default{ position:static !important; box-shadow:none !important; }

/* ── Collapsible curriculum sidebar ──────────────────────────────────────── */
body.bcd-lesson .tutor-course-single-sidebar-wrapper{ transition:width .2s var(--ease); }
body.bcd-lesson .tutor-course-single-sidebar-hidden .tutor-course-single-sidebar-wrapper{ display:none !important; }

/* ── Exercise Files — redesign ───────────────────────────────────────────── */
body.bcd-lesson #tutor-course-spotlight-files .tutor-fs-5{
	font-family:"Newsreader",Georgia,serif !important; font-weight:600 !important; font-size:21px !important;
	color:var(--ink) !important; margin-bottom:16px !important;
}
body.bcd-lesson .bcd-att-list{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px; margin-top:14px; }
body.bcd-lesson .bcd-att{ display:flex; align-items:center; gap:13px; background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:13px 15px; text-decoration:none; overflow:hidden; transition:border-color .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease); }
body.bcd-lesson .bcd-att:hover{ border-color:var(--g); transform:translateY(-2px); box-shadow:0 18px 34px -26px rgba(26,28,22,.4); }
body.bcd-lesson .bcd-att-ic{ position:relative; flex:0 0 auto; width:44px; height:44px; border-radius:11px; background:var(--cream); color:var(--g); display:grid; place-items:center; }
body.bcd-lesson .bcd-att-ext{ position:absolute; bottom:-5px; right:-6px; font:700 7.5px/1 var(--mono); letter-spacing:.02em; color:#fff; background:var(--clay); border-radius:4px; padding:2px 4px; }
body.bcd-lesson .bcd-att-b{ flex:1; min-width:0; display:flex; flex-direction:column; }
body.bcd-lesson .bcd-att-name{ font-weight:700; font-size:13.5px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.bcd-lesson .bcd-att-size{ font:600 11.5px var(--mono); color:var(--faint); margin-top:2px; }
body.bcd-lesson .bcd-att-dl{ flex:0 0 auto; width:38px; height:38px; border-radius:10px; background:var(--g-deep); color:#fff; display:grid; place-items:center; transition:background .15s var(--ease); }
body.bcd-lesson .bcd-att:hover .bcd-att-dl{ background:var(--g); }

/* ── Lesson outline (auto TOC) ───────────────────────────────────────────── */
body.bcd-lesson .bcd-toc{ max-width:820px; margin:0 auto 22px; background:var(--cream); border:1px solid var(--line); border-radius:14px; padding:16px 20px; }
body.bcd-lesson .bcd-toc-k{ display:block; font:700 10px/1 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--clay); margin-bottom:10px; }
body.bcd-lesson .bcd-toc ul{ list-style:none; margin:0; padding:0; }
body.bcd-lesson .bcd-toc a{ display:block; padding:5px 0 5px 11px; border-left:2px solid transparent; font-weight:600; font-size:14px; color:var(--ink-2); text-decoration:none; transition:color .15s var(--ease),border-color .15s var(--ease); }
body.bcd-lesson .bcd-toc a:hover{ color:var(--g-deep); border-color:var(--g); }
body.bcd-lesson .bcd-toc-sub a{ padding-left:24px; font-weight:500; font-size:13.5px; color:var(--muted); }

/* ── Sidebar overall-progress ring ───────────────────────────────────────── */
body.bcd-lesson .bcd-side-ring{ --v:0; flex:0 0 auto; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--g) calc(var(--v)*1%), var(--line) 0); }
body.bcd-lesson .bcd-side-ring b{ width:31px; height:31px; border-radius:50%; background:var(--paper); display:grid; place-items:center; font:700 9.5px/1 "Hanken Grotesk"; color:var(--g-deep); }

/* ── Locked-content gate (logged-out login / not-enrolled enroll) ────────── */
body.bcd-lesson .bcd-gate-wrap{ display:flex; align-items:center; justify-content:center; min-height:64vh; padding:60px 20px; }
body.bcd-lesson .bcd-gate{
	position:relative; overflow:hidden; width:100%; max-width:560px; text-align:center;
	background:var(--paper); border:1px solid var(--line); border-radius:22px;
	padding:48px 44px 40px; box-shadow:0 36px 70px -44px rgba(26,28,22,.55);
}
body.bcd-lesson .bcd-gate-helix{ position:absolute; right:-26px; top:-44px; width:200px; opacity:.1; color:var(--g); pointer-events:none; }
body.bcd-lesson .bcd-gate-lock{
	display:inline-grid; place-items:center; width:64px; height:64px; border-radius:18px;
	background:linear-gradient(155deg,var(--g-deep),var(--g)); color:var(--mint); margin-bottom:22px;
	box-shadow:0 18px 34px -18px rgba(21,77,55,.7);
}
body.bcd-lesson .bcd-gate-eyebrow{ font:700 11px/1 var(--mono); letter-spacing:.18em; text-transform:uppercase; color:var(--clay); margin:0 0 12px; }
body.bcd-lesson .bcd-gate-title{ font-family:"Newsreader",Georgia,serif; font-weight:600; font-size:clamp(24px,3.2vw,32px); line-height:1.12; color:var(--ink); margin:0 0 12px; }
body.bcd-lesson .bcd-gate-sub{ font-size:15.5px; line-height:1.6; color:var(--muted); margin:0 auto 26px; max-width:42ch; }
body.bcd-lesson .bcd-gate-sub strong{ color:var(--ink-2); font-weight:700; }
body.bcd-lesson .bcd-gate-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
body.bcd-lesson .bcd-gate-btn{ display:inline-flex; align-items:center; gap:9px; border-radius:12px; font-weight:700; font-size:14.5px; padding:13px 24px; border:1px solid transparent; transition:transform .15s var(--ease),background .15s var(--ease),border-color .15s var(--ease); }
body.bcd-lesson .bcd-gate-btn-primary{ background:var(--g-deep); color:#fff; }
body.bcd-lesson .bcd-gate-btn-primary:hover{ background:var(--g); transform:translateY(-2px); }
body.bcd-lesson .bcd-gate-btn-ghost{ background:var(--paper); color:var(--g-deep); border-color:var(--line); }
body.bcd-lesson .bcd-gate-btn-ghost:hover{ border-color:var(--g); background:rgba(29,107,79,.05); }
body.bcd-lesson .bcd-gate-link{ display:inline-block; margin-top:22px; font-weight:700; font-size:13.5px; color:var(--g); }
body.bcd-lesson .bcd-gate-link:hover{ text-decoration:underline; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width:1200px){
	body.bcd-lesson .tutor-course-single-sidebar-wrapper{ flex-basis:300px; width:300px; }
}
@media (max-width:991px){
	body.bcd-lesson .tutor-course-single-sidebar-wrapper{ position:fixed; left:0; top:0; z-index:60; }
	body.bcd-lesson .tutor-course-topic-single-body{ padding:20px 16px 0; }
	body.bcd-lesson .tutor-single-page-top-bar{ padding:11px 16px !important; }
}
