/* ===== xuekao school beautify (P1+P2) ===== */
/* primary follows the school body color template; red template renders red */
.xk-clearfix:after{content:"";display:block;clear:both;}
.xk-hide{display:none !important;}

/* ---- per-template primary tokens (default blue) ---- */
body{
  --xk-p:#3592e2; --xk-pd:#2a7bc0; --xk-pl:#1f6fb2;
  --xk-ps:#eaf3fb; --xk-pb:#d3e6f6; --xk-rgb:31,111,178;
}
body.red{--xk-p:#ED232F;--xk-pd:#cf1d27;--xk-pl:#d61f29;--xk-ps:#fdecec;--xk-pb:#f5d2d4;--xk-rgb:237,35,47;}
body.green{--xk-p:#42b712;--xk-pd:#349a0d;--xk-pl:#349a0d;--xk-ps:#ecf9e6;--xk-pb:#d2efc4;--xk-rgb:52,154,13;}
body.orange{--xk-p:#ff8a00;--xk-pd:#e67400;--xk-pl:#e67400;--xk-ps:#fff3e6;--xk-pb:#fbdcb8;--xk-rgb:230,116,0;}
body.purple{--xk-p:#a037c2;--xk-pd:#852ba3;--xk-pl:#852ba3;--xk-ps:#f6ebfa;--xk-pb:#e5cdf0;--xk-rgb:133,43,163;}
body.pink{--xk-p:#f06292;--xk-pd:#dd4d7e;--xk-pl:#dd4d7e;--xk-ps:#fdebf2;--xk-pb:#f8d0df;--xk-rgb:221,77,126;}

/* ---------- hero overview card ---------- */
.xk-hero{background:#fff;border-radius:10px;padding:30px 24px;margin:18px auto 22px;
  box-shadow:0 2px 12px rgba(var(--xk-rgb),.10);border:1px solid #eef2f6;overflow:hidden;}
.xk-hero-left{float:left;width:380px;}
.xk-hero-left img{width:380px;height:252px;object-fit:contain;border-radius:8px;display:block;
  border:1px solid #eef2f6;background:#f6f9fc;padding:12px;box-sizing:border-box;}
.xk-hero-right{margin-left:424px;}
.xk-hero-name{font-size:26px;font-weight:bold;color:#1f2d3d;line-height:1.3;margin:2px 0 12px;}
.xk-chips{margin:0 0 14px;}
.xk-chip{display:inline-block;font-size:13px;color:var(--xk-pl);background:var(--xk-ps);
  border:1px solid var(--xk-pb);border-radius:14px;padding:3px 14px;margin:0 8px 8px 0;}
.xk-hero-desc{font-size:14px;color:#666;line-height:26px;margin:0 0 16px;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;}
.xk-stats{border-top:1px dashed #e5eaf0;padding:16px 0 18px;margin-bottom:18px;}
.xk-stat{display:inline-block;min-width:120px;margin-right:34px;vertical-align:top;}
.xk-stat .num{display:block;font-size:24px;font-weight:bold;color:var(--xk-pl);line-height:1.1;}
.xk-stat .lab{display:block;font-size:13px;color:#999;margin-top:5px;}
.xk-btns .xk-btn{margin-right:14px;}

/* ---------- buttons ---------- */
.xk-btn{display:inline-block;height:42px;line-height:42px;padding:0 28px;font-size:15px;
  text-align:center;border-radius:6px;cursor:pointer;border:1px solid var(--xk-p);
  text-decoration:none;box-sizing:border-box;}
.xk-btn-primary{background:var(--xk-p);color:#fff;}
.xk-btn-primary:hover{background:var(--xk-pd);border-color:var(--xk-pd);color:#fff;}
.xk-btn-ghost{background:#fff;color:var(--xk-p);}
.xk-btn-ghost:hover{background:var(--xk-ps);color:var(--xk-pd);}

/* ---------- section title ---------- */
.course-recmd .c-title h2,.thr-container .shool-info h2,.new-dynamic-box h2{
  font-size:21px;font-weight:bold;color:#1f2d3d;}
.xk-sec-title{position:relative;padding-left:14px;font-size:21px;font-weight:bold;color:#1f2d3d;}
.xk-sec-title:before{content:"";position:absolute;left:0;top:3px;width:5px;height:22px;
  background:var(--xk-p);border-radius:2px;}

/* ---------- course card enhance ---------- */
.course-recmd .classes-ul li{border-radius:8px;overflow:hidden;padding-bottom:0;
  border:1px solid #e8edf2;transition:box-shadow .25s,transform .25s;}
.course-recmd .classes-ul li:hover{box-shadow:0 8px 22px rgba(var(--xk-rgb),.18);transform:translateY(-3px);}
.course-recmd .classes-ul li img{border-radius:0;}
.course-recmd .classes-ul li a.a1{font-size:15px;font-weight:600;line-height:22px;
  height:44px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;margin:12px 14px 8px;}
.xk-card-body{padding:0 14px 14px;text-align:left;}
.xk-card-price{font-size:18px;font-weight:bold;color:#f93d3d;line-height:26px;margin-bottom:8px;}
.xk-card-price.free{color:var(--xk-pl);}
.xk-card-price .old{font-size:13px;color:#aaa;font-weight:normal;text-decoration:line-through;margin-left:8px;}
.xk-card-meta{font-size:12.5px;color:#999;margin-bottom:10px;}
.xk-card-cta{display:block;height:34px;line-height:34px;text-align:center;font-size:14px;
  background:var(--xk-p);color:#fff;border-radius:6px;}
.xk-card-cta:hover{background:var(--xk-pd);color:#fff;}

/* ---------- new dynamic list ---------- */
.new-dynamic-box .public-ul-box ul li{border-top:1px dashed #e5eaf0;}
.new-dynamic-box .public-ul-box ul li a:hover{color:var(--xk-p);}

/* ---------- contact: hide-when-empty helper ---------- */
.xk-contact-empty{display:none !important;}

/* ===== responsive (P2): tablet & narrow PC windows ===== */
/* ===== desktop: 4-col course grid ===== */
.course-recmd .classes-ul{margin-right:0 !important;}
.course-recmd .classes-ul li{box-sizing:border-box;width:calc((100% - 90px)/4) !important;margin-right:30px !important;}
.course-recmd .classes-ul li:nth-child(4n){margin-right:0 !important;}
.course-recmd .classes-ul li img{width:100% !important;height:auto !important;display:block;}

@media screen and (max-width:1260px){
  .xk-hero{padding:24px 22px;}
  .xk-hero-left{float:none;width:100%;}
  .xk-hero-left img{width:100%;height:220px;}
  .xk-hero-right{margin-left:0;}
  .course-recmd .classes-ul li{width:calc((100% - 30px)/2) !important;margin-right:30px !important;}
  .course-recmd .classes-ul li:nth-child(2n){margin-right:0 !important;}
}
@media screen and (max-width:680px){
  .xk-hero-name{font-size:21px;}
  .xk-stat{min-width:90px;margin-right:18px;}
  .course-recmd .classes-ul li{width:100% !important;margin-right:0 !important;}
  .xk-btn{padding:0 18px;}
}

/* ===== P2: floating consult bar ===== */
.xk-float{position:fixed;right:14px;top:50%;transform:translateY(-50%);width:96px;z-index:99;
  background:#fff;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.12);overflow:hidden;}
.xk-f-item{display:block;padding:11px 8px 10px;text-align:center;font-size:13px;color:#555;
  border-bottom:1px solid #f0f2f5;text-decoration:none;line-height:1.4;}
.xk-f-item:last-child{border-bottom:none;}
.xk-f-item em{display:block;font-style:normal;font-size:11.5px;color:var(--xk-pl);margin-top:3px;word-break:break-all;}
.xk-f-item:hover{background:var(--xk-ps);color:var(--xk-pl);}
.xk-f-item .xk-fi{display:inline-block;width:22px;height:22px;margin-bottom:2px;}
.xk-f-item .xk-fi svg{width:100%;height:100%;display:block;}
/* ===== P2: banner CTA overlay ===== */
.xk-banner{position:relative;}
.banner a.xk-banner-cta{position:absolute;right:126px;bottom:24px;width:auto;height:auto;display:inline-block;
  background:var(--xk-p);color:#fff;padding:11px 26px;border-radius:24px;font-size:16px;line-height:1.4;
  box-shadow:0 6px 16px rgba(var(--xk-rgb),.35);}
.banner a.xk-banner-cta:hover{background:var(--xk-pd);color:#fff;}
@media screen and (max-width:1260px){.xk-float{display:none;}}
/* XK_ALIGN_GRID: unify banner/hero/content to centered 1230 grid (178-1408) */
.xk-banner{width:1230px;margin:0 auto;}
.xk-banner > a:first-child{width:100%;margin:0;background-size:100% auto;}
.banner.xk-banner a.xk-banner-cta{right:48px;}
.xk-hero{width:1230px;box-sizing:border-box;padding-left:0;padding-right:0;}
