/* Course Purchase wizard — PDF flow (COURSE PURCHASE.pdf) */
.jsbe-cp-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:999998;
  display:none;align-items:flex-start;justify-content:center;padding:12px;
  overflow-y:auto;box-sizing:border-box;font-family:'Segoe UI',Arial,sans-serif
}
.jsbe-cp-overlay.on{display:flex}
.jsbe-cp-modal{
  background:#f5f5f5;border-radius:14px;width:100%;max-width:980px;margin:auto;
  box-shadow:0 20px 60px rgba(0,0,0,.35);position:relative;overflow:hidden
}
.jsbe-cp-close{
  position:absolute;top:10px;right:12px;z-index:5;width:36px;height:36px;border:none;
  background:rgba(255,255,255,.25);color:#fff;border-radius:50%;font-size:22px;cursor:pointer;line-height:1
}
.jsbe-cp-head{
  background:linear-gradient(135deg,#0a1f5c,#1a237e 55%,#283593);
  color:#fff;padding:16px 18px 14px
}
.jsbe-cp-head h2{margin:8px 0 4px;font-size:22px;font-weight:900}
.jsbe-cp-sub{margin:0;font-size:13px;opacity:.9}
.jsbe-cp-stepbar{display:flex;flex-wrap:wrap;gap:5px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.2px}
.jsbe-cp-stepbar span{padding:4px 7px;border-radius:16px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.7)}
.jsbe-cp-stepbar span.on{background:#ffd600;color:#1a237e}
.jsbe-cp-body{padding:16px 18px 20px;max-height:min(78vh,720px);overflow-y:auto;background:#eceff1}
.jsbe-cp-pane{display:none}
.jsbe-cp-pane.on{display:block}
.jsbe-cp-pane-tag{font-size:13px;font-weight:800;color:#333;margin:0 0 12px}
.jsbe-cp-msg{display:none;font-size:13px;padding:10px 12px;border-radius:8px;margin-bottom:12px;font-weight:700}
.jsbe-cp-msg.err{display:block;background:#ffebee;color:#c62828}
.jsbe-cp-msg.ok{display:block;background:#e8f5e9;color:#2e7d32}

/* Step 1 — course cards (PDF) */
.jsbe-cp-search-wrap{margin-bottom:12px}
.jsbe-cp-search{
  width:100%;padding:11px 14px;border:1.5px solid #cfd8dc;border-radius:10px;
  font-size:14px;font-weight:600;box-sizing:border-box;outline:none;background:#fff
}
.jsbe-cp-course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.jsbe-cp-course-card{
  background:#fff;border-radius:12px;overflow:hidden;border:1px solid #ddd;
  box-shadow:0 2px 10px rgba(0,0,0,.08);display:flex;flex-direction:column;text-align:left
}
.jsbe-cp-cc-thumb{position:relative;height:120px;background:#eee;overflow:hidden}
.jsbe-cp-cc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.jsbe-cp-cc-badge{
  position:absolute;top:8px;left:8px;background:#c62828;color:#fff;font-size:9px;font-weight:900;
  padding:4px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px
}
.jsbe-cp-cc-body{padding:12px 12px 14px;flex:1;display:flex;flex-direction:column}
.jsbe-cp-cc-title{font-size:13px;font-weight:900;color:#1a1a2e;line-height:1.25;margin:0 0 8px;min-height:34px}
.jsbe-cp-cc-dur{font-size:11px;color:#666;margin-bottom:8px;display:flex;align-items:center;gap:4px}
.jsbe-cp-cc-total{font-size:11px;color:#444;margin-bottom:8px}
.jsbe-cp-cc-total strong{color:#111}
.jsbe-cp-cc-discounts{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.jsbe-cp-cc-disc-box{background:#f5f5f5;border-radius:6px;padding:6px 8px;font-size:10px;text-align:center}
.jsbe-cp-cc-disc-box .pct{font-weight:900;color:#c62828;font-size:11px}
.jsbe-cp-cc-disc-box .save{font-size:9px;color:#666}
.jsbe-cp-cc-fees{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}
.jsbe-cp-cc-fee-box{border:2px solid #e0e0e0;border-radius:8px;padding:8px;text-align:center}
.jsbe-cp-cc-fee-box .lbl{font-size:9px;font-weight:800;color:#666;text-transform:uppercase}
.jsbe-cp-cc-fee-box .amt{font-size:14px;font-weight:900;color:#c62828;margin-top:2px}
.jsbe-cp-cc-features{font-size:9px;color:#555;line-height:1.5;margin-bottom:8px}
.jsbe-cp-cc-rating{font-size:10px;color:#f9a825;margin-bottom:10px}
.jsbe-cp-btn-view{
  width:100%;padding:10px;border:none;border-radius:8px;background:#c62828;color:#fff;
  font-size:12px;font-weight:900;cursor:pointer;margin-top:auto
}
.jsbe-cp-btn-view:hover{background:#b71c1c}
.jsbe-cp-loading{text-align:center;padding:24px;color:#888;font-weight:700;grid-column:1/-1}

/* Step 2 — description (PDF) */
.jsbe-cp-desc-wrap{background:#fff;border-radius:12px;border:1px solid #ddd;overflow:hidden}
.jsbe-cp-desc-hero{background:linear-gradient(135deg,#6b0f1a,#8b0000);color:#fff;padding:16px;display:flex;gap:14px;align-items:flex-start}
.jsbe-cp-desc-hero img{width:90px;height:70px;object-fit:cover;border-radius:8px;flex-shrink:0}
.jsbe-cp-desc-hero h3{margin:0 0 6px;font-size:17px;font-weight:900;line-height:1.2}
.jsbe-cp-desc-quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.jsbe-cp-desc-quick span{background:rgba(255,255,255,.15);padding:4px 10px;border-radius:6px;font-size:11px;font-weight:800}
.jsbe-cp-desc-section{padding:14px 16px;border-top:1px solid #eee}
.jsbe-cp-desc-section h4{margin:0 0 8px;font-size:13px;font-weight:900;color:#1a237e;text-transform:uppercase}
.jsbe-cp-desc-text{font-size:13px;color:#444;line-height:1.65;margin:0}
.jsbe-cp-desc-list{margin:0;padding:0 0 0 18px;font-size:12px;color:#334155;line-height:1.6}
.jsbe-cp-syllabus-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 12px;font-size:11px;color:#333}
.jsbe-cp-syllabus-grid span{background:#f8f9fc;padding:6px 8px;border-radius:6px;border:1px solid #e8eaf6}

/* Step 3–5 — form (PDF Course Information) */
.jsbe-cp-section-bar{
  background:#1a237e;color:#fff;text-align:center;padding:10px 14px;font-size:14px;font-weight:900;
  border-radius:8px 8px 0 0;margin:-4px -4px 14px
}
.jsbe-cp-section-pay{background:#1565c0}
.jsbe-cp-form-title{text-align:center;font-size:16px;font-weight:900;color:#1a237e;margin:0 0 14px}
.jsbe-cp-field-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;background:#fff;padding:12px;border-radius:10px;border:1px solid #e0e0e0}
.jsbe-cp-field-icon{
  width:44px;height:44px;border-radius:10px;background:#e8eaf6;display:flex;align-items:center;
  justify-content:center;font-size:22px;flex-shrink:0
}
.jsbe-cp-field-body{flex:1;min-width:0}
.jsbe-cp-label{display:block;font-size:11px;font-weight:800;color:#555;margin:0 0 5px;text-transform:uppercase}
.jsbe-cp-input,.jsbe-cp-select{
  width:100%;padding:10px 12px;border:1.5px solid #cfd8dc;border-radius:8px;
  font-size:14px;box-sizing:border-box;background:#fff
}
.jsbe-cp-mode-row{display:flex;gap:10px}
.jsbe-cp-radio-card{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;
  border:2px solid #cfd8dc;border-radius:10px;background:#fff;cursor:pointer;font-weight:800;font-size:14px;color:#1a237e
}
.jsbe-cp-radio-card input{display:none}
.jsbe-cp-radio-card:has(input:checked){border-color:#157347;background:#e8f5e9;color:#157347}
.jsbe-cp-fee-box{
  display:inline-block;font-size:18px;font-weight:900;color:#c62828;background:#fff8e1;
  padding:10px 16px;border-radius:8px;margin:8px 0 14px;border:1px solid #ffe082
}

/* Payment cards (PDF step 6) */
.jsbe-cp-summary{
  background:#0d1b4d;color:#fff;border-radius:10px;padding:14px 16px;font-size:13px;
  line-height:1.65;margin-bottom:14px;font-weight:700
}
.jsbe-cp-pay-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.jsbe-cp-pay-card{
  display:flex;align-items:center;gap:14px;padding:14px 16px;background:#fff;border:2px solid #ddd;
  border-radius:12px;cursor:pointer;transition:border-color .15s
}
.jsbe-cp-pay-card.on,.jsbe-cp-pay-card:has(input:checked){border-color:#157347;background:#f1f8f4}
.jsbe-cp-pay-card input{display:none}
.jsbe-cp-pay-card-icon{font-size:28px;width:40px;text-align:center}
.jsbe-cp-pay-card-text{display:flex;flex-direction:column;gap:2px}
.jsbe-cp-pay-card-text strong{font-size:14px;color:#111}
.jsbe-cp-pay-card-text small{font-size:12px;color:#666}

/* Step 6 — pending (PDF) */
.jsbe-cp-pending-hero{text-align:center;padding:24px 16px;background:#fff;border-radius:12px;border:1px solid #ddd}
.jsbe-cp-pending-icon{font-size:48px;margin-bottom:10px}
.jsbe-cp-pending-badge{
  display:inline-block;background:#fff8e1;color:#e65100;border:2px solid #ffb74d;
  padding:8px 18px;border-radius:24px;font-weight:900;font-size:14px;margin-bottom:12px
}
.jsbe-cp-pending-hero p{font-size:14px;color:#444;line-height:1.6;margin:0 0 12px}
.jsbe-cp-info-box{background:#e3f2fd;border-left:4px solid #1565c0;padding:12px 14px;border-radius:0 8px 8px 0;font-size:13px;color:#333;text-align:left}

/* Step 7 — success + notifications (PDF) */
.jsbe-cp-success-banner{
  background:#1a237e;color:#fff;text-align:center;padding:12px;font-size:16px;font-weight:900;
  border-radius:8px;margin-bottom:14px;letter-spacing:.5px
}
.jsbe-cp-success-hero{text-align:center;background:#fff;border-radius:12px;padding:20px 16px;border:1px solid #ddd;margin-bottom:16px}
.jsbe-cp-success-icon{
  width:64px;height:64px;border-radius:50%;background:#2e7d32;color:#fff;
  font-size:32px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-weight:900
}
.jsbe-cp-success-hero h3{margin:0 0 8px;font-size:20px;font-weight:900;color:#2e7d32}
.jsbe-cp-success-hero p{margin:0 0 12px;font-size:14px;color:#444;line-height:1.55}
.jsbe-cp-success-details{font-size:13px;color:#333;line-height:1.7;text-align:left;background:#f5f5f5;padding:12px 14px;border-radius:8px}
.jsbe-cp-notify-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.jsbe-cp-notify-col{background:#fff;border-radius:10px;overflow:hidden;border:1px solid #ddd;font-size:11px}
.jsbe-cp-notify-head{padding:8px 10px;font-weight:900;color:#fff;font-size:10px;text-transform:uppercase;text-align:center}
.jsbe-cp-notify-head.email{background:#1565c0}
.jsbe-cp-notify-head.sms{background:#2e7d32}
.jsbe-cp-notify-head.wa{background:#25d366}
.jsbe-cp-notify-body{padding:10px;color:#333;line-height:1.55;min-height:120px;white-space:pre-wrap}

/* Buttons (PDF green CONTINUE + red ENROLL) */
.jsbe-cp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center}
.jsbe-cp-actions-split{justify-content:space-between}
.jsbe-cp-actions-center{justify-content:center}
.jsbe-cp-btn{
  display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border-radius:8px;
  font-size:14px;font-weight:800;cursor:pointer;border:none;text-decoration:none;font-family:inherit
}
.jsbe-cp-btn-continue{background:#157347;color:#fff}
.jsbe-cp-btn-continue:hover{background:#0d5132}
.jsbe-cp-btn-enroll{background:#6a1b9a;color:#fff;padding:12px 28px;font-size:15px}
.jsbe-cp-btn-enroll:hover{background:#4a148c}
.jsbe-cp-btn-outline{background:#fff;color:#1a237e;border:2px solid #1a237e}
.jsbe-cp-btn:disabled{opacity:.6;cursor:wait}

.jsbe-cp-from-course .jsbe-cp-stepbar span[data-step="1"],
.jsbe-cp-from-course .jsbe-cp-stepbar span[data-step="2"]{display:none}
.jsbe-cp-enrol .jd-step{display:none!important}

@media(max-width:768px){
  .jsbe-cp-course-grid{grid-template-columns:1fr}
  .jsbe-cp-notify-grid{grid-template-columns:1fr}
  .jsbe-cp-syllabus-grid{grid-template-columns:1fr}
  .jsbe-cp-desc-hero{flex-direction:column}
  .jsbe-cp-stepbar span{font-size:8px;padding:3px 5px}
}
