/* FIX104: course engine pages (sales pages, portal, lesson reader, exam, certificate pages). Scoped .xc- ; style.css is never touched. */
.xc{--xc-navy:var(--navy,#002868);--xc-red:var(--red,#B22234);--xc-gold:var(--gold,#C8A84B);--xc-line:var(--line,#DDE3ED);--xc-paper:var(--paper,#F7F9FC);--xc-ink:var(--ink,#0F1724);--xc-muted:var(--muted,#6B7689)}
.xc *{box-sizing:border-box}
.xc .xc-small{padding:44px 0 36px}
.xc .xc-small .cx-w{display:block}
.xc .xc-small h1{font-size:clamp(38px,5vw,60px)}
.xc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.xc-note{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--xc-muted)}
.xc-note a{color:inherit;text-decoration:underline}
.cx-sec-navy .xc-note{color:rgba(255,255,255,.72)}
.xc-wl{color:var(--cx-gold-lt,#E2C96A);font-weight:700}
.xc-alert{margin:0 0 20px;padding:12px 16px;border-radius:8px;border:2px solid var(--xc-red);background:#FDECEE;color:#7a1522;font-weight:700}
.xc-alert.ok{border-color:#14733E;background:#E3F6EB;color:#0b4a28}
.xc h3.xc-h3{margin:30px 0 10px;font-size:20px;color:var(--xc-ink)}

/* forms */
.xc-signin,.xc-claim{max-width:520px;background:#fff;border:2px solid var(--xc-ink);border-radius:14px;padding:22px}
.xc-signin label,.xc-claim label,.xc-buy>label:first-of-type{display:block;margin:0 0 6px;font-weight:800;font-size:15px}
.xc input[type=email],.xc input[type=text]{width:100%;min-height:48px;padding:11px 13px;font-size:16px;border:2px solid var(--xc-line);border-radius:8px;background:#fff;color:var(--xc-ink)}
.xc input[type=email]:focus,.xc input[type=text]:focus{outline:3px solid var(--cx-gold-lt,#E2C96A);border-color:var(--xc-navy)}
.xc-signin .cx-btn,.xc-claim .cx-btn{margin-top:14px}
.xc-buy{max-width:480px}
.xc-buy .xc-chk{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:14px;line-height:1.45;font-weight:400;cursor:pointer}
.xc-buy .xc-chk input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--xc-navy)}
.xc-buy .cx-btn{width:100%}
.cx-sec-navy .xc-buy label,.cx-sec-navy .xc-buy .xc-chk span{color:#fff}
.cx-sec-navy .xc-buy a{color:var(--cx-gold-lt,#E2C96A)}
.xc-gate .xc-buy{background:#fff}
.xc-buybox{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.xc-bigprice{margin:6px 0 0}
.xc-bigprice .cx-price{font-size:64px;color:#fff}
.xc-bigprice .cx-price s{color:rgba(255,255,255,.6)}
.xc-gate-p{margin:0 0 12px}
.xc-paylist{margin:14px 0 0;padding:0;list-style:none;font-size:15.5px;line-height:1.55}
.xc-paylist li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.xc-paylist b{color:var(--cx-gold-lt,#E2C96A)}

/* sales page lists */
.xc-out{margin:22px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px 28px}
.xc-out li{padding:14px 0 0;border-top:3px solid var(--xc-gold);font-size:17px;font-weight:700;color:var(--xc-ink);line-height:1.4}
.xc-ul{margin:0;padding-left:22px;list-style:disc;font-size:16px;line-height:1.7}
.xc-two{columns:2;column-gap:40px}
.xc-syl{margin:24px 0 0;padding:0;list-style:none;counter-reset:xs;border-top:2px solid var(--xc-ink)}
.xc-syl li{counter-increment:xs;display:grid;grid-template-columns:44px 1fr;column-gap:12px;padding:15px 0;border-bottom:1px solid var(--xc-line)}
.xc-syl li::before{content:counter(xs);grid-row:1/3;font-family:var(--cx-d,'Bebas Neue',Impact,sans-serif);font-size:30px;line-height:1;color:var(--xc-red)}
.xc-syl b{font-size:17px;color:var(--xc-ink)}
.xc-syl span{font-size:13.5px;color:var(--xc-muted)}
.xc-more{border-top-color:var(--xc-line)}
.cx-sec-paper .xc-more a{color:var(--xc-ink)}
.cx-sec-paper .xc-more small{color:var(--xc-muted)}

/* portal */
.xc-who{margin:0 0 18px;font-size:15px;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.xc-inline{display:inline;margin:0}
.xc-link{background:none;border:0;padding:0;font:inherit;color:var(--xc-navy);text-decoration:underline;cursor:pointer}
.xc-grid{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.xc-card{border:2px solid var(--xc-ink);border-radius:14px;padding:20px;background:#fff;display:flex;flex-direction:column;gap:8px}
.xc-card h3{font-size:19px;line-height:1.25;color:var(--xc-ink)}
.xc-meta{margin:0;font-size:13.5px;color:var(--xc-muted)}
.xc-bar{height:10px;border-radius:99px;background:var(--xc-line);overflow:hidden}
.xc-bar i{display:block;height:100%;background:var(--xc-navy)}
.xc-actions{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 0}
.xc-card>.cx-btn{align-self:flex-start;margin-top:4px}

/* lesson reader */
.xc-top{background:var(--xc-paper);padding:30px 0 22px;border-bottom:1px solid var(--xc-line)}
.xc-top .cx-crumb{color:var(--xc-muted)}
.xc-top .cx-crumb a{color:var(--xc-navy)}
.xc-h1{font-family:var(--cx-d,'Bebas Neue',Impact,sans-serif);font-weight:400;font-size:clamp(32px,4.6vw,54px);line-height:1.02;color:var(--xc-ink)}
.xc-learn{padding-top:36px}
.xc-lgrid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:44px;align-items:start}
.xc-side{position:sticky;top:90px;border:1px solid var(--xc-line);border-radius:12px;padding:16px;background:#fff;font-size:14.5px}
.xc-side-t{margin:0 0 10px;font-weight:800;color:var(--xc-ink)}
.xc-side ol{margin:0 0 10px;padding:0;list-style:none}
.xc-side li a,.xc-side-l a{display:flex;gap:10px;align-items:flex-start;padding:8px 6px;border-radius:8px;color:var(--xc-ink);text-decoration:none;line-height:1.35}
.xc-side li a:hover,.xc-side-l a:hover{background:var(--xc-paper)}
.xc-side li.cur a,.xc-side-l.cur a{background:#E8EEF9;font-weight:800}
.xc-tick{flex:none;width:24px;height:24px;border-radius:50%;border:2px solid var(--xc-line);font-size:12px;line-height:20px;text-align:center;font-weight:800;color:var(--xc-muted)}
.xc-side li.done .xc-tick{background:#14733E;border-color:#14733E;color:#fff}
.xc-side-l{margin:0}
.xc-lock{font-style:normal;font-size:11px;font-weight:800;color:#7A5B00;background:#FFF3D1;border-radius:99px;padding:1px 7px;margin-left:4px}
.xc-prose{font-size:17px;line-height:1.75;color:var(--cx-body,#2B3444);max-width:760px}
.xc-prose h2{font-family:var(--cx-d,'Bebas Neue',Impact,sans-serif);font-weight:400;font-size:34px;line-height:1.1;color:var(--xc-ink);margin:38px 0 12px}
.xc-prose h3{font-size:21px;color:var(--xc-ink);margin:28px 0 8px}
.xc-prose h2:first-child{margin-top:8px}
.xc-prose p,.xc-prose ul,.xc-prose ol{margin:0 0 16px}
.xc-prose ul{list-style:disc;padding-left:26px}
.xc-prose ol{list-style:decimal;padding-left:28px}
.xc-prose ul ul{list-style:circle;margin:6px 0}
.xc-prose li{margin-bottom:6px}
.xc-prose blockquote{margin:20px 0;padding:14px 18px;border-left:4px solid var(--xc-gold);background:var(--xc-paper);border-radius:0 8px 8px 0}
.xc-prose blockquote p:last-child{margin:0}
.xc-prose table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px;display:block;overflow-x:auto}
.xc-prose th,.xc-prose td{border:1px solid var(--xc-line);padding:9px 11px;text-align:left;vertical-align:top}
.xc-prose th{background:var(--xc-navy);color:#fff}
.xc-prose code{background:var(--xc-paper);padding:1px 5px;border-radius:4px;font-size:.92em}
.xc-prose hr{border:0;border-top:1px solid var(--xc-line);margin:28px 0}
.xc-nav{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0 0;padding-top:22px;border-top:1px solid var(--xc-line)}
.xc-gate{margin:28px 0;padding:24px;border:2px solid var(--xc-ink);border-radius:14px;background:#fff;max-width:620px}
.xc-gate h2{font-size:26px;line-height:1.15;margin:0 0 10px;color:var(--xc-ink)}

/* exam, results, certificate pages */
.xc-result{margin:0 0 26px;padding:20px 22px;border-radius:12px;border:2px solid;max-width:760px}
.xc-result.pass{border-color:#14733E;background:#E3F6EB}
.xc-result.fail{border-color:var(--xc-red);background:#FDECEE}
.xc-result h2{margin:0 0 8px;font-size:24px;line-height:1.2;color:var(--xc-ink)}
.xc-result p,.xc-result ul{margin:8px 0 0}
.xc-exam{max-width:760px}
.xc-q{border:0;border-top:2px solid var(--xc-ink);margin:0;padding:18px 0 6px}
.xc-q legend{padding:0 0 10px;font-weight:800;font-size:17px;line-height:1.5;color:var(--xc-ink)}
.xc-q legend span{color:var(--xc-red)}
.xc-q label{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;margin:0 0 8px;border:1px solid var(--xc-line);border-radius:8px;cursor:pointer;line-height:1.5;font-size:16px}
.xc-q label:hover{background:var(--xc-paper)}
.xc-q input{margin-top:5px;flex:none;accent-color:var(--xc-navy)}
.xc-exam>.cx-btn{margin-top:18px}
.xc-tbl{margin:14px 0 0;font-size:15px;border-collapse:collapse}
.xc-tbl td{padding:4px 18px 4px 0}
.xc-tbl td:first-child{color:var(--xc-muted)}

@media (max-width:900px){
  .xc-buybox{grid-template-columns:1fr;gap:26px}
  .xc-out{grid-template-columns:1fr}
  .xc-two{columns:1}
  .xc-grid{grid-template-columns:1fr}
  .xc-lgrid{grid-template-columns:minmax(0,1fr);gap:22px}
  .xc-side{position:static}
}
@media (max-width:520px){
  .xc-bigprice .cx-price{font-size:52px}
  .xc-prose{font-size:16.5px}
  .xc-nav .cx-btn{width:100%}
}
.xc .cx-hero h1{font-size:clamp(38px,5.2vw,68px);line-height:1}

.xc-side,.xc-main{min-width:0}
.xc-side li a span:last-child,.xc-side-l a{min-width:0;overflow-wrap:anywhere}
