/* CLL Courses 2.0 — brand colours come from inline :root vars (Settings → Courses). Theme-agnostic, mobile first. */
.cllc { --cllc-ink: #0b1220; --cllc-ink-2: #3b4457; --cllc-muted: #6b7280; --cllc-line: #e6e9f0; --cllc-bg: #fff; --cllc-bg-2: #f5f7fb; --cllc-ok: #15803d; --cllc-bad: #b91c1c; --cllc-r: 14px; color: var(--cllc-ink); font-size: 16px; line-height: 1.6; max-width: 1180px; margin: 0 auto; box-sizing: border-box; }
.cllc *, .cllc *::before, .cllc *::after { box-sizing: border-box; }
.cllc a { color: var(--cllc-primary); }
.cllc h1, .cllc h2, .cllc h3 { line-height: 1.15; letter-spacing: -.015em; margin: 0 0 .5em; }
.cllc h2 { font-size: 1.5rem; }
.cllc-section { margin: 32px 0; }
.cllc-h-meta { font-size: .85rem; font-weight: 500; color: var(--cllc-muted); margin-left: 10px; }

/* buttons & pills */
.cllc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font: inherit; font-weight: 700; font-size: 1rem; padding: 13px 20px; border-radius: 12px; border: 1px solid transparent; cursor: pointer; text-decoration: none !important; transition: transform .08s, box-shadow .15s, background .15s; min-height: 48px; }
.cllc-btn:active { transform: translateY(1px); }
.cllc-btn-primary { background: var(--cllc-primary); color: #fff !important; box-shadow: 0 6px 18px color-mix(in srgb, var(--cllc-primary) 30%, transparent); }
.cllc-btn-primary:hover { background: var(--cllc-deep); }
.cllc-btn-gold { background: var(--cllc-accent); color: #1a1200 !important; }
.cllc-btn-ghost { background: var(--cllc-bg); color: var(--cllc-ink) !important; border-color: var(--cllc-line); }
.cllc-btn-ghost:hover { border-color: var(--cllc-primary); }
.cllc-btn[disabled] { opacity: .6; cursor: default; }
.cllc-btn.done { background: var(--cllc-ok); color: #fff !important; }
.cllc-link { font-size: .9rem; }
.cllc-pill { display: inline-block; font-size: .8rem; font-weight: 600; padding: 5px 12px; border-radius: 999px; background: var(--cllc-bg-2); color: var(--cllc-ink-2); border: 1px solid var(--cllc-line); }
.cllc-pill-gold { background: #fff7e0; color: #7a4d00; border-color: #f3dca0; }
.cllc-ribbon { display: inline-block; font-style: normal; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 3px 9px; border-radius: 6px; background: var(--cllc-accent); color: #1a1200; }
.cllc-free { font-weight: 800; color: var(--cllc-ok); }

/* ---------- course hero ---------- */
.cllc-hero { display: grid; gap: 28px; padding: 36px 28px; border-radius: 20px; color: #fff; background: radial-gradient(1200px 400px at 10% 0%, color-mix(in srgb, var(--cllc-primary) 85%, #fff 15%) 0%, var(--cllc-deep) 60%, #061a5c 100%); position: relative; overflow: hidden; }
.cllc-hero::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 48px 48px; pointer-events: none; mask-image: linear-gradient(to bottom, rgba(0,0,0,.6), transparent); }
.cllc-hero > * { position: relative; z-index: 1; }
.cllc-kicker { display: flex; align-items: center; gap: 10px; font-size: .78rem; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: rgba(255,255,255,.85); margin-bottom: 14px; }
.cllc-kicker-logo { height: 22px; width: auto; filter: brightness(0) invert(1); }
.cllc-title { font-size: clamp(1.7rem, 4.2vw, 2.6rem); font-weight: 800; color: #fff; text-wrap: balance; }
.cllc-promise { font-size: 1.1rem; color: rgba(255,255,255,.9); max-width: 60ch; margin: 0 0 18px; }
.cllc-hero .cllc-facts { display: flex; flex-wrap: wrap; gap: 8px; }
.cllc-hero .cllc-pill { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.25); backdrop-filter: blur(4px); }
.cllc-hero .cllc-pill-gold { background: var(--cllc-accent); color: #1a1200; border-color: transparent; }
.cllc-hero-media img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 14px; box-shadow: 0 18px 50px rgba(0,0,0,.35); display: block; }
@media (min-width: 900px) { .cllc-hero { grid-template-columns: 1.15fr .85fr; align-items: center; padding: 48px 44px; } }

/* ---------- course layout ---------- */
.cllc-layout { display: grid; gap: 28px; margin-top: 28px; }
@media (min-width: 900px) { .cllc-layout { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; } .cllc-side { position: sticky; top: 96px; } }
.cllc-desc > *:not(h2) { font-size: 1.02rem; }
.cllc-outcomes { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px 22px; }
@media (min-width: 700px) { .cllc-outcomes { grid-template-columns: 1fr 1fr; } }
.cllc-outcomes li { padding-left: 30px; position: relative; }
.cllc-outcomes li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 22px; height: 22px; border-radius: 50%; background: color-mix(in srgb, var(--cllc-primary) 12%, #fff); color: var(--cllc-primary); font-weight: 800; font-size: .8rem; display: grid; place-items: center; }

/* curriculum */
.cllc-module { border: 1px solid var(--cllc-line); border-radius: var(--cllc-r); background: var(--cllc-bg); margin-bottom: 10px; overflow: hidden; }
.cllc-module summary { list-style: none; display: flex; align-items: center; gap: 12px; padding: 14px 16px; cursor: pointer; font-weight: 700; font-size: 1.05rem; }
.cllc-module summary::-webkit-details-marker { display: none; }
.cllc-module summary::after { content: "⌄"; margin-left: auto; color: var(--cllc-muted); transition: transform .15s; }
.cllc-module[open] summary::after { transform: rotate(180deg); }
.cllc-module[open] summary { border-bottom: 1px solid var(--cllc-line); }
.cllc-module-title { flex: 1; }
.cllc-module-meta { font-size: .8rem; font-weight: 500; color: var(--cllc-muted); }
.cllc-num { width: 28px; height: 28px; border-radius: 50%; background: var(--cllc-bg-2); color: var(--cllc-ink-2); font-size: .8rem; font-weight: 700; display: inline-grid; place-items: center; flex: none; }
.cllc-module ol { list-style: none; margin: 0; padding: 6px 8px; }
.cllc-module li { display: flex; align-items: center; gap: 10px; padding: 10px 10px 10px 42px; border-radius: 8px; position: relative; }
.cllc-module li::before { content: ""; position: absolute; left: 12px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border-radius: 50%; border: 2px solid var(--cllc-line); }
.cllc-module li.done::before { content: "✓"; background: var(--cllc-ok); border-color: var(--cllc-ok); color: #fff; font-size: .7rem; display: grid; place-items: center; }
.cllc-module li.locked::before { content: "🔒"; border: 0; font-size: .75rem; display: grid; place-items: center; }
.cllc-module li a { color: var(--cllc-ink); text-decoration: none; }
.cllc-module li a:hover { color: var(--cllc-primary); }
.cllc-module li.locked span { color: var(--cllc-muted); }
.cllc-lesson-meta { margin-left: auto; display: flex; gap: 8px; align-items: center; font-size: .82rem; color: var(--cllc-muted); white-space: nowrap; }
.cllc-lesson-meta em { font-style: normal; }
.cllc-preview { color: var(--cllc-primary); font-weight: 700; }
.cllc-quizrow span { color: var(--cllc-muted); font-size: .9rem; }

/* taught by */
.cllc-taught { display: flex; gap: 18px; align-items: center; padding: 22px; border: 1px solid var(--cllc-line); border-radius: var(--cllc-r); background: var(--cllc-bg-2); }
.cllc-taught img { width: 56px; height: 56px; object-fit: contain; }
.cllc-taught h2 { font-size: 1.15rem; margin-bottom: 4px; }
.cllc-taught p { margin: 0; color: var(--cllc-ink-2); }

/* price card */
.cllc-pricecard { border: 1px solid var(--cllc-line); border-radius: 18px; background: var(--cllc-bg); box-shadow: 0 10px 30px rgba(10, 20, 60, .08); overflow: hidden; }
.cllc-pricecard-cover { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.cllc-pricecard-body { padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.cllc-pricecard .cllc-price { font-size: 1.8rem; font-weight: 800; letter-spacing: -.02em; }
.cllc-pricecard .cllc-price del { color: var(--cllc-muted); font-weight: 500; font-size: 1.1rem; margin-right: 6px; }
.cllc-pricecard .cllc-btn { width: 100%; }
.cllc-nextup { color: var(--cllc-muted); font-size: .85rem; text-align: center; margin-top: -4px; }
.cllc-included { list-style: none; margin: 6px 0 0; padding: 14px 0 0; border-top: 1px solid var(--cllc-line); font-size: .92rem; color: var(--cllc-ink-2); display: grid; gap: 7px; }
.cllc-included li { padding-left: 24px; position: relative; }
.cllc-included li::before { content: "✓"; position: absolute; left: 0; color: var(--cllc-primary); font-weight: 800; }
.cllc-smallprint { font-size: .78rem; color: var(--cllc-muted); margin: 0; }
.cllc-progress { display: flex; align-items: center; gap: 10px; font-size: .9rem; color: var(--cllc-ink-2); }
.cllc-bar { flex: 1; height: 8px; border-radius: 99px; background: var(--cllc-bg-2); overflow: hidden; }
.cllc-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--cllc-primary), var(--cllc-deep)); border-radius: 99px; transition: width .3s; }

/* cards & grid */
.cllc-grid { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.cllc-card { display: flex; flex-direction: column; border: 1px solid var(--cllc-line); border-radius: 16px; overflow: hidden; background: var(--cllc-bg); text-decoration: none !important; color: var(--cllc-ink); transition: transform .12s, box-shadow .15s; }
.cllc-card:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(10, 20, 60, .1); }
.cllc-card-media { position: relative; aspect-ratio: 16 / 9; background: var(--cllc-deep); display: block; }
.cllc-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cllc-card-ph { position: absolute; inset: 0; background: radial-gradient(600px 200px at 20% 0%, var(--cllc-primary), var(--cllc-deep)); }
.cllc-card .cllc-ribbon { position: absolute; top: 12px; left: 12px; }
.cllc-card-body { display: flex; flex-direction: column; gap: 6px; padding: 16px; flex: 1; }
.cllc-card-meta { font-size: .78rem; color: var(--cllc-muted); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.cllc-card strong { font-size: 1.05rem; line-height: 1.25; }
.cllc-card-desc { font-size: .92rem; color: var(--cllc-ink-2); }
.cllc-card-foot { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 10px; font-weight: 700; }
.cllc-card-cta { color: var(--cllc-primary); font-size: .9rem; }
.cllc-more { text-align: right; font-weight: 600; }
.cllc-related { padding-top: 24px; border-top: 1px solid var(--cllc-line); }

/* ---------- lesson page ---------- */
.cllc-lesson { display: grid; gap: 24px; }
@media (min-width: 980px) { .cllc-lesson { grid-template-columns: 300px minmax(0, 1fr); align-items: start; } .cllc-sidebar { position: sticky; top: 96px; max-height: calc(100vh - 120px); overflow: auto; } .cllc-side-toggle { display: none; } }
.cllc-side-toggle { font: inherit; font-weight: 700; padding: 12px 16px; border-radius: 12px; border: 1px solid var(--cllc-line); background: var(--cllc-bg); width: 100%; text-align: left; cursor: pointer; }
@media (max-width: 979px) { .cllc-sidebar { display: none; } .cllc-sidebar.open { display: block; } }
.cllc-sidebar { border: 1px solid var(--cllc-line); border-radius: 16px; padding: 16px; background: var(--cllc-bg); }
.cllc-side-course { display: block; font-weight: 700; text-decoration: none; margin-bottom: 12px; }
.cllc-ring { --p: 0; width: 72px; height: 72px; border-radius: 50%; background: conic-gradient(var(--cllc-primary) calc(var(--p) * 1%), var(--cllc-bg-2) 0); display: grid; place-items: center; margin: 0 0 14px; }
.cllc-ring span { width: 56px; height: 56px; border-radius: 50%; background: var(--cllc-bg); display: grid; place-items: center; font-weight: 800; font-size: .95rem; }
.cllc-side-nav details { border-top: 1px solid var(--cllc-line); }
.cllc-side-nav summary { list-style: none; display: flex; align-items: center; gap: 10px; padding: 10px 0; font-weight: 700; font-size: .95rem; cursor: pointer; }
.cllc-side-nav summary::-webkit-details-marker { display: none; }
.cllc-side-nav ol { list-style: none; margin: 0 0 8px; padding: 0; }
.cllc-side-nav li { position: relative; padding: 7px 8px 7px 30px; border-radius: 8px; font-size: .92rem; }
.cllc-side-nav li::before { content: ""; position: absolute; left: 8px; top: 50%; width: 14px; height: 14px; margin-top: -7px; border-radius: 50%; border: 2px solid var(--cllc-line); }
.cllc-side-nav li.done::before { content: "✓"; background: var(--cllc-ok); border-color: var(--cllc-ok); color: #fff; font-size: .6rem; display: grid; place-items: center; }
.cllc-side-nav li.current { background: color-mix(in srgb, var(--cllc-primary) 10%, #fff); font-weight: 700; }
.cllc-side-nav li.current::before { border-color: var(--cllc-primary); }
.cllc-side-nav li a { color: var(--cllc-ink); text-decoration: none; }
.cllc-side-nav li.locked span { color: var(--cllc-muted); }
.cllc-lesson-head .cllc-crumb { display: flex; gap: 8px; flex-wrap: wrap; font-size: .82rem; color: var(--cllc-muted); text-transform: uppercase; letter-spacing: .08em; font-weight: 600; margin-bottom: 8px; }
.cllc-lesson-head h1 { font-size: clamp(1.5rem, 3.4vw, 2.2rem); font-weight: 800; }
.cllc-lesson-main .cllc-body { font-size: 1.05rem; }
.cllc-lesson-main .cllc-body pre { background: #0b1220; color: #e6edf3; padding: 16px 18px; border-radius: 12px; overflow: auto; font-size: .9rem; line-height: 1.55; }
.cllc-lesson-main .cllc-body code { font-size: .92em; }
.cllc-lesson-main .cllc-body h2 { margin-top: 1.6em; font-size: 1.35rem; }
.cllc-lesson-main .cllc-body h3 { margin-top: 1.3em; font-size: 1.1rem; }
.cllc-lesson-main .cllc-body img { max-width: 100%; height: auto; border-radius: 10px; }
.cllc-lesson-main .cllc-body blockquote { border-left: 4px solid var(--cllc-primary); margin: 1.2em 0; padding: 8px 18px; background: var(--cllc-bg-2); border-radius: 0 10px 10px 0; }
.cllc-gate { padding: 26px; border: 1px solid var(--cllc-line); border-radius: var(--cllc-r); background: var(--cllc-bg-2); display: grid; gap: 12px; justify-items: start; }
.cllc-gate p { margin: 0; color: var(--cllc-ink-2); }
.cllc-actions { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--cllc-line); }
@media (min-width: 700px) { .cllc-actions { grid-template-columns: 1fr auto 1fr; align-items: center; } .cllc-actions > a:last-child { justify-self: end; } }
.cllc-actions .cllc-btn-ghost span { max-width: 26ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* quiz */
.cllc-quiz { margin-top: 36px; padding: 24px; border: 1px solid var(--cllc-line); border-radius: var(--cllc-r); background: var(--cllc-bg-2); }
.cllc-quiz-intro { color: var(--cllc-muted); font-size: .9rem; margin-top: -4px; }
.cllc-q { border: 1px solid var(--cllc-line); border-radius: 12px; padding: 14px 16px; margin: 0 0 12px; background: var(--cllc-bg); }
.cllc-q legend { font-weight: 700; padding: 0 6px; }
.cllc-q label { display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; border-radius: 8px; cursor: pointer; }
.cllc-q label:hover { background: var(--cllc-bg-2); }
.cllc-q input { margin-top: 5px; accent-color: var(--cllc-primary); }
.cllc-q.ok { border-color: var(--cllc-ok); } .cllc-q.bad { border-color: var(--cllc-bad); }
.cllc-explain { margin-top: 8px; padding: 10px 12px; border-radius: 8px; background: var(--cllc-bg-2); font-size: .92rem; }
.cllc-q.ok .cllc-explain { background: #ecfdf3; } .cllc-q.bad .cllc-explain { background: #fef2f2; }
.cllc-quiz-result { margin-top: 14px; font-weight: 700; }
.cllc-done { margin-top: 32px; padding: 28px; border-radius: 18px; color: #fff; background: linear-gradient(135deg, var(--cllc-primary), var(--cllc-deep)); }
.cllc-done h2, .cllc-done h3 { color: #fff; }
.cllc-done .cllc-grid { margin-top: 10px; }
.cllc-done .cllc-card { color: var(--cllc-ink); }

/* my courses */
.cllc-my { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.cllc-my li { display: grid; grid-template-columns: 1fr 140px auto; gap: 12px; align-items: center; padding: 12px 14px; border: 1px solid var(--cllc-line); border-radius: 12px; }
.cllc-my a { font-weight: 700; text-decoration: none; }

/* theme sidebars tend to crowd the lesson layout — give the lesson the width when the theme allows it */
body.cllc-lesson-page .sidebar, body.cllc-lesson-page #secondary, body.cllc-lesson-page aside.widget-area { display: none; }
body.cllc-lesson-page .content-area, body.cllc-lesson-page #primary, body.cllc-lesson-page .site-main { width: 100%; max-width: 100%; }

/* ---------- 2.1 Academy landing + learner dashboard ---------- */
.cllc-academy, .cllc-dash { padding: 8px 16px 48px; }
.cllc-ahero { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.2fr .8fr; gap: 32px; align-items: center; padding: 56px 48px; border-radius: 24px; color: #fff; background: radial-gradient(1200px 500px at 85% -10%, color-mix(in srgb, var(--cllc-accent) 35%, transparent), transparent 60%), linear-gradient(135deg, var(--cllc-deep), var(--cllc-primary)); margin: 8px 0 40px; }
.cllc-ahero .cllc-kicker { color: rgba(255,255,255,.85); }
.cllc-ahero h1 { font-size: clamp(2rem, 4.2vw, 3.4rem); line-height: 1.05; letter-spacing: -.02em; margin: 12px 0 14px; color: #fff; }
.cllc-ahero p { font-size: 1.15rem; color: rgba(255,255,255,.88); max-width: 56ch; margin: 0 0 22px; }
.cllc-ahero-cta { display: flex; gap: 12px; flex-wrap: wrap; }
.cllc-on-dark { background: rgba(255,255,255,.14) !important; color: #fff !important; border-color: rgba(255,255,255,.35) !important; backdrop-filter: blur(6px); }
.cllc-on-dark:hover { background: rgba(255,255,255,.24) !important; }
.cllc-astats { display: flex; gap: 28px; list-style: none; padding: 0; margin: 28px 0 0; flex-wrap: wrap; }
.cllc-astats li { display: flex; flex-direction: column; }
.cllc-astats b { font-size: 1.6rem; line-height: 1; }
.cllc-astats span { font-size: .85rem; opacity: .8; }
.cllc-ahero-art { position: relative; height: 320px; }
.cllc-ahero-art img { position: absolute; width: 62%; aspect-ratio: 16/9; object-fit: cover; border-radius: 14px; box-shadow: 0 30px 60px rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.2); }
.cllc-ahero-art .cllc-art-0 { right: 0; top: 0; z-index: 3; }
.cllc-ahero-art .cllc-art-1 { right: 18%; top: 34%; z-index: 2; transform: rotate(-3deg); }
.cllc-ahero-art .cllc-art-2 { right: 36%; top: 64%; z-index: 1; transform: rotate(3deg); opacity: .9; }
.cllc-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.cllc-how .cllc-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; counter-reset: s; }
.cllc-how .cllc-steps li { counter-increment: s; background: var(--cllc-bg-2); border: 1px solid var(--cllc-line); border-radius: var(--cllc-r); padding: 22px 22px 22px 64px; position: relative; display: flex; flex-direction: column; gap: 6px; }
.cllc-how .cllc-steps li::before { content: counter(s); position: absolute; left: 20px; top: 20px; width: 30px; height: 30px; border-radius: 50%; background: var(--cllc-primary); color: #fff; font-weight: 800; display: grid; place-items: center; font-size: .95rem; }
.cllc-how .cllc-steps b { font-size: 1.05rem; }
.cllc-how .cllc-steps span { color: var(--cllc-ink-2); font-size: .95rem; }
.cllc-filter { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 18px; }
.cllc-filter button { font: inherit; font-weight: 600; font-size: .9rem; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--cllc-line); background: var(--cllc-bg); color: var(--cllc-ink-2); cursor: pointer; }
.cllc-filter button.on { background: var(--cllc-primary); border-color: var(--cllc-primary); color: #fff; }
.cllc-cardwrap[hidden] { display: none; }
.cllc-empty { color: var(--cllc-muted); padding: 24px 0; }
.cllc-cert-promo { display: grid; grid-template-columns: 1fr; border-radius: 20px; padding: 36px 40px; background: linear-gradient(135deg, color-mix(in srgb, var(--cllc-accent) 22%, #fff), var(--cllc-bg-2)); border: 1px solid var(--cllc-line); }
.cllc-cert-promo h2 { margin-top: 0; }
.cllc-verify { display: flex; gap: 10px; max-width: 520px; margin-top: 12px; }
.cllc-verify input { flex: 1; font: inherit; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--cllc-line); text-transform: uppercase; letter-spacing: .08em; }
/* progress cards (continue / dashboard) */
.cllc-pcard { display: flex; flex-direction: column; background: var(--cllc-bg); border: 1px solid var(--cllc-line); border-radius: var(--cllc-r); overflow: hidden; text-decoration: none !important; color: inherit !important; transition: transform .12s, box-shadow .15s; }
.cllc-pcard:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(10,20,50,.1); }
.cllc-pcard-media { aspect-ratio: 16/9; background: linear-gradient(135deg, var(--cllc-deep), var(--cllc-primary)); }
.cllc-pcard-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cllc-pcard-body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 8px; }
.cllc-pcard-body h3 { margin: 0; font-size: 1.05rem; line-height: 1.3; }
.cllc-pcard .cllc-progress { height: 8px; border-radius: 999px; background: var(--cllc-bg-2); overflow: hidden; }
.cllc-pcard .cllc-bar { height: 100%; background: var(--cllc-primary); border-radius: 999px; }
.cllc-pcard .cllc-sm { font-size: .85rem; color: var(--cllc-muted); }
.cllc-pcard .cllc-sm.light { color: var(--cllc-ok); font-weight: 600; }
/* dashboard */
.cllc-dash-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 28px 0 8px; border-bottom: 1px solid var(--cllc-line); margin-bottom: 8px; }
.cllc-dash-head h1 { margin: 6px 0 4px; font-size: clamp(1.6rem, 3vw, 2.4rem); letter-spacing: -.01em; }
.cllc-dash-head p { margin: 0; color: var(--cllc-muted); }
.cllc-dash .cllc-astats { margin: 0; }
.cllc-dash .cllc-astats b { color: var(--cllc-primary); }
.cllc-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.cllc-table th, .cllc-table td { text-align: left; padding: 12px 10px; border-bottom: 1px solid var(--cllc-line); vertical-align: middle; }
.cllc-table th { font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--cllc-muted); }
.cllc-table code { background: var(--cllc-bg-2); padding: 3px 7px; border-radius: 6px; }
.cllc-gate { text-align: center; padding: 64px 24px; background: var(--cllc-bg-2); border-radius: 20px; border: 1px solid var(--cllc-line); }
.cllc-gate h2 { margin-top: 0; }
.cllc-dash-foot, .cllc-more { color: var(--cllc-muted); font-size: .9rem; }
@media (max-width: 980px) { .cllc-ahero { grid-template-columns: 1fr; padding: 40px 28px; } .cllc-ahero-art { display: none; } .cllc-grid.cols-3, .cllc-how .cllc-steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .cllc-ahero { padding: 32px 20px; border-radius: 18px; } .cllc-grid.cols-3, .cllc-how .cllc-steps { grid-template-columns: 1fr; } .cllc-verify { flex-direction: column; } .cllc-cert-promo { padding: 24px 20px; } .cllc-table th:nth-child(3), .cllc-table td:nth-child(3) { display: none; } }

/* ---------- 2.2 full-bleed heroes (course template + academy) ---------- */
.cllc-course-template .cllc-course-wrap { padding: 0 0 48px; }
.cllc-course-template .cllc-course { max-width: none; margin: 0; }
.cllc-course-template .cllc-hero { border-radius: 0; padding: 72px max(24px, calc((100% - 1180px) / 2)) 56px; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); min-height: 380px; align-items: center; }
.cllc-course-template .cllc-hero.has-cover { background-image: linear-gradient(100deg, rgba(6,26,92,.96) 0%, rgba(10,42,138,.88) 45%, rgba(30,91,255,.55) 100%), var(--cllc-cover); background-size: cover; background-position: center; }
.cllc-course-template .cllc-hero.has-cover::after { opacity: .5; }
.cllc-course-template .cllc-hero-media img { box-shadow: 0 30px 80px rgba(0,0,0,.45); border: 1px solid rgba(255,255,255,.18); border-radius: 18px; transform: rotate(-1.5deg); }
.cllc-course-template .cllc-layout, .cllc-course-template .cllc-related { max-width: 1180px; margin-left: auto; margin-right: auto; padding-left: 16px; padding-right: 16px; }
.cllc-course-template .cllc-layout { margin-top: -40px; position: relative; z-index: 2; }
.cllc-course-template .cllc-pricecard { box-shadow: 0 24px 60px rgba(10,20,50,.18); }
.cllc-ahero.has-bg { background-image: linear-gradient(120deg, rgba(10,42,138,.94), rgba(30,91,255,.72)), var(--cllc-cover); background-size: cover; background-position: center; }
@media (max-width: 980px) { .cllc-course-template .cllc-hero { grid-template-columns: 1fr; padding: 48px 20px 40px; min-height: 0; } .cllc-course-template .cllc-hero-media { display: none; } .cllc-course-template .cllc-layout { margin-top: 24px; } }
.cllc-dash-head .cllc-kicker { color: var(--cllc-primary); }
