.mwlms-box{border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;margin:12px 0;font-size:15px;line-height:1.8}
.mwlms-note{background:#fff7ed;border-color:#fed7aa;color:#9a3412}

/* ---- "My courses" dashboard: full-width course rows ---- */
.mwlms-app{margin:16px 0}
.mwlms-courses-title{margin:0 0 14px;font-size:21px;font-weight:700;color:#0f172a}
.mwlms-course-cards{display:flex;flex-direction:column;gap:14px}
.mwlms-course-card{display:flex;align-items:stretch;gap:0;width:100%;min-height:184px;text-align:start;padding:0;border:1px solid #e5e7eb;border-radius:18px;background:#fff;cursor:pointer;overflow:hidden;transition:box-shadow .16s,border-color .16s,transform .05s}
.mwlms-course-card:hover{border-color:#c7d2fe;box-shadow:0 12px 32px rgba(30,41,59,.12)}
.mwlms-course-card:hover .mwlms-card-thumb{transform:scale(1.04)}
.mwlms-course-card:active{transform:translateY(1px)}
/* Square (1:1) thumbnail — WooCommerce product images are 1:1, so a square
   container shows the whole image without cropping. Width is explicit so the
   1:1 height is derived from a definite dimension (an align-self:stretch height
   is indefinite and would collapse the width to 0). */
.mwlms-card-thumb{position:relative;flex:none;width:190px;aspect-ratio:1/1;align-self:center;margin:16px;border-radius:14px;overflow:hidden;background:#eef2ff;background-size:cover;background-position:center;transition:transform .3s ease}
.mwlms-card-thumb--empty{display:flex;align-items:center;justify-content:center;font-size:44px}
.mwlms-card-complete{position:absolute;top:10px;inset-inline-start:10px;background:#16a34a;color:#fff;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:20px;box-shadow:0 2px 8px rgba(22,163,74,.4)}
.mwlms-card-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:9px;padding:20px 22px}
.mwlms-card-label{align-self:flex-start;font-size:11.5px;font-weight:800;color:#3730a3;background:#eef2ff;border-radius:20px;padding:3px 11px;margin-bottom:2px}
.mwlms-card-title{font-size:18.5px;font-weight:700;color:#111827;line-height:1.6}
.mwlms-card-desc{font-size:13.5px;color:#64748b;line-height:1.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mwlms-card-stats{display:flex;flex-wrap:wrap;gap:8px}
.mwlms-card-stat{font-size:12.5px;color:#3730a3;background:#eef2ff;border-radius:20px;padding:4px 11px;font-weight:600}
.mwlms-card-stat--done{color:#166534;background:#dcfce7}
.mwlms-card-stat--time{color:#9a3412;background:#fff7ed}
.mwlms-card-stat--chap{color:#0f766e;background:#ccfbf1}

/* ---- "Continue watching" banner ---- */
.mwlms-resume{display:flex;align-items:center;gap:14px;width:100%;text-align:start;margin:0 0 18px;padding:14px 16px;border:none;border-radius:16px;background:linear-gradient(120deg,#4338ca,#6d28d9);color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(67,56,202,.28);transition:transform .05s,box-shadow .16s}
.mwlms-resume:hover{box-shadow:0 12px 30px rgba(67,56,202,.36)}
.mwlms-resume:active{transform:translateY(1px)}
.mwlms-resume-thumb{flex:none;width:70px;height:70px;border-radius:12px;background:rgba(255,255,255,.15);background-size:cover;background-position:center}
.mwlms-resume-thumb--empty{display:flex;align-items:center;justify-content:center;font-size:24px}
.mwlms-resume-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.mwlms-resume-eyebrow{font-size:11.5px;font-weight:800;opacity:.85}
.mwlms-resume-title{font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mwlms-resume-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.25);overflow:hidden}
.mwlms-resume-fill{display:block;height:100%;border-radius:99px;background:#fff}
.mwlms-resume-cta{flex:none;font-size:13.5px;font-weight:800;white-space:nowrap}
.mwlms-card-progress{display:flex;align-items:center;gap:10px;margin-top:2px;padding-top:6px}
.mwlms-card-progress-track{flex:1;height:8px;border-radius:99px;background:#eef2f7;overflow:hidden}
.mwlms-card-progress-fill{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#6366f1,#8b5cf6);transition:width .4s ease}
.mwlms-card-progress-label{flex:none;font-size:12px;font-weight:700;color:#4338ca;font-variant-numeric:tabular-nums}
.mwlms-card-cta{flex:none;align-self:center;display:flex;align-items:center;gap:6px;padding:0 22px;color:#4338ca;font-size:14.5px;font-weight:700;white-space:nowrap}
/* Theme chevron (Ahura arrow-btn.svg) used via CSS mask so it tints to the
   current text colour. Base points ‹ (left); --fwd flips it to › (right). */
.mwlms-arrow{display:inline-block;width:12px;height:12px;flex:none;vertical-align:middle;background-color:currentColor;-webkit-mask:url('/wp-content/plugins/mihanwp-lms-bridge/arrow.svg') center/contain no-repeat;mask:url('/wp-content/plugins/mihanwp-lms-bridge/arrow.svg') center/contain no-repeat}
.mwlms-arrow--fwd{transform:scaleX(-1)}
.mwlms-card-cta-arrow{transition:transform .16s}
.mwlms-course-card:hover .mwlms-card-cta-arrow{transform:translateX(-4px)}
.mwlms-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 14px;padding:9px 15px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;color:#334155;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}
.mwlms-back:hover{background:#eef2f7}

/* Logo preloader while a course loads (greyscale, breathing). */
.mwlms-preloader{display:flex;align-items:center;justify-content:center;min-height:220px;padding:50px 20px}
.mwlms-preloader img{width:190px;max-width:60%;height:auto;filter:grayscale(1);opacity:.5;animation:mwlms-breathe 1.3s ease-in-out infinite}
@keyframes mwlms-breathe{0%,100%{opacity:.3}50%{opacity:.75}}

/* ---- Empty-state promo: flagship course + coupon ---- */
.mwlms-promo{display:flex;align-items:center;gap:24px;padding:24px 26px;border-radius:20px;background:linear-gradient(120deg,#4338ca,#7c3aed);color:#fff;box-shadow:0 20px 48px -22px rgba(67,56,202,.65);flex-wrap:wrap}
.mwlms-promo-thumb{flex:none;width:160px;height:160px;border-radius:16px;background-size:cover;background-position:center;box-shadow:0 12px 32px -12px rgba(0,0,0,.5)}
.mwlms-promo-body{flex:1;min-width:230px;display:flex;flex-direction:column;gap:11px}
.mwlms-promo-eyebrow{font-size:13px;font-weight:800;opacity:.9}
.mwlms-promo-title{font-size:23px;font-weight:800;line-height:1.5}
.mwlms-promo-price{display:flex;align-items:baseline;gap:10px;font-size:15px;flex-wrap:wrap}
.mwlms-promo-price del{opacity:.7}
.mwlms-promo-price ins{text-decoration:none;font-weight:800;font-size:21px}
.mwlms-promo-code{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:rgba(255,255,255,.15);border:1px dashed rgba(255,255,255,.55);border-radius:10px;padding:8px 13px;font-size:14px;letter-spacing:.03em}
.mwlms-promo-code b{font-size:15.5px;letter-spacing:.08em}
.mwlms-promo-cta{align-self:flex-start;margin-top:4px;background:#fff;color:#4338ca;font-weight:800;font-size:15.5px;padding:13px 28px;border-radius:13px;text-decoration:none;transition:transform .1s,box-shadow .16s}
.mwlms-promo-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(0,0,0,.45)}
@media(max-width:560px){.mwlms-promo{padding:20px}.mwlms-promo-thumb{width:100%;height:190px}}

/* ---- Upsell: complementary courses at a discount (under the list) ---- */
.mwlms-upsells{margin-top:26px;padding-top:20px;border-top:1px dashed #e5e7eb}
.mwlms-upsells-title{margin:0 0 14px;font-size:19px;font-weight:700;color:#0f172a}
.mwlms-upsell-list{display:grid;grid-template-columns:1fr;gap:12px}
.mwlms-upsell{display:flex;align-items:center;gap:18px;padding:20px 22px;border:1px solid #fde68a;border-radius:14px;background:linear-gradient(180deg,#fffbeb,#fff);text-decoration:none;transition:box-shadow .16s,border-color .16s}
.mwlms-upsell:hover{border-color:#fcd34d;box-shadow:0 8px 22px rgba(180,120,10,.12)}
.mwlms-upsell-thumb{flex:none;width:92px;height:92px;border-radius:14px;background:#fef3c7;background-size:cover;background-position:center}
.mwlms-upsell-thumb--empty{display:flex;align-items:center;justify-content:center;font-size:38px}
.mwlms-upsell-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.mwlms-upsell-badge{align-self:flex-start;font-size:12.5px;font-weight:800;color:#fff;background:#f59e0b;border-radius:20px;padding:2px 9px}
.mwlms-upsell-eyebrow{font-size:13.5px;font-weight:800;color:#b45309;line-height:1.6}
.mwlms-upsell-title{font-size:18px;font-weight:700;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mwlms-upsell-price{font-size:14.5px;color:#64748b}
.mwlms-upsell-price del{opacity:.6;margin-inline-end:6px}
.mwlms-upsell-price ins{text-decoration:none;font-weight:800;color:#b45309}
.mwlms-upsell-cta{flex:none;font-size:15px;font-weight:800;color:#b45309;white-space:nowrap}
@media(max-width:560px){
    .mwlms-course-card{flex-wrap:wrap;min-height:0}
    .mwlms-card-thumb{width:100%;aspect-ratio:1/1;align-self:auto;margin:0;border-radius:0}
    .mwlms-card-cta{align-self:flex-start;padding:0 22px 18px}
}
.mwlms-debug{background:#f8fafc;border-color:#e2e8f0;color:#334155;font-size:13px}
.mwlms-debug ul{margin:8px 0 0;padding-inline-start:18px}
.mwlms-debug code{background:#e2e8f0;border-radius:4px;padding:1px 5px}

/* Player and the course-list panel are two separate rounded boxes (17px). */
.mwlms-course{display:flex;flex-direction:column;gap:14px;border:none;margin:16px 0;background:none}
.mwlms-panel{border:1px solid #e5e7eb;border-radius:17px;overflow:hidden;background:#fff}
.mwlms-player{background:#0b1220;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-radius:17px;transition:background .2s ease}
/* Empty player = nescafé (coffee-with-milk) tone, with a friendly prompt. */
.mwlms-player.is-empty{background:radial-gradient(120% 120% at 50% 0%,#e9dccb 0%,#d3b68f 70%)}
.mwlms-player.is-empty .mwlms-player-empty{color:#5b4227}
.mwlms-watermark{position:absolute;z-index:5;pointer-events:none;color:rgba(255,255,255,.55);font-size:14px;font-weight:600;letter-spacing:.02em;text-shadow:0 1px 4px rgba(0,0,0,.7);white-space:nowrap;user-select:none}
.mwlms-player video{width:100%;height:100%;display:block;background:#000;border-radius:17px !important}
.mwlms-player-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;padding:24px;color:#5b4227}
.mwlms-empty-ico{display:flex;width:64px;height:64px;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.45);color:#8a5a2c;box-shadow:0 6px 18px rgba(120,80,40,.18)}
.mwlms-empty-title{font-size:16.5px;font-weight:800}
.mwlms-empty-sub{font-size:12.5px;font-weight:500;color:#7c5a3c;opacity:.9}
.mwlms-head{padding:14px 18px;border-bottom:1px solid #eef2f7}
.mwlms-head h3{margin:0 0 4px;font-size:20px}
.mwlms-head p{margin:0;color:#64748b;font-size:14px}
.mwlms-curriculum{padding:10px 12px}
.mwlms-section{margin:6px 0}
.mwlms-section h4{margin:8px 6px;font-size:15px;color:#0f172a}
.mwlms-section ul{list-style:none;margin:0;padding:0}
.mwlms-lesson{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;cursor:pointer;transition:background .12s}
.mwlms-lesson:hover{background:#f1f5f9}
.mwlms-lesson.is-active{background:#eef2ff}
.mwlms-lesson.is-locked{opacity:.6;cursor:default}
/* The lesson the user left off at last time. */
.mwlms-lesson.is-last{background:#fff7ed;border:1px solid #fed7aa;box-shadow:0 2px 10px rgba(234,88,12,.10)}
.mwlms-lesson.is-last:hover{background:#ffedd5}
.mwlms-lesson.is-last .mwlms-play{background:#fdba74;color:#7c2d12}
.mwlms-lesson-last{flex:none;font-size:10.5px;font-weight:800;color:#fff;background:#f97316;border-radius:20px;padding:2px 9px;margin-inline-start:8px}
.mwlms-play{width:22px;height:22px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e0e7ff;color:#4338ca;font-size:10px}
.mwlms-lesson.is-played .mwlms-play{background:#dcfce7;color:#16a34a}
.mwlms-lesson-title{flex:1;font-size:14.5px;color:#1f2937}
.mwlms-lesson.is-played .mwlms-lesson-title{color:#4b5563}
.mwlms-lesson-badge-wrap{flex:none;display:inline-flex;align-items:center;margin-inline-start:auto}
.mwlms-lesson-badge{flex:none;font-size:11.5px;font-weight:700;border-radius:20px;padding:2px 9px;line-height:1.7}
.mwlms-lesson-badge.is-done{background:#dcfce7;color:#166534}
.mwlms-lesson-badge.is-resume{background:#eef2ff;color:#4338ca;font-variant-numeric:tabular-nums}
.mwlms-lesson-clip{flex:none;font-size:11px;color:#475569;background:#f1f5f9;border-radius:20px;padding:2px 8px;margin-inline-start:8px;font-variant-numeric:tabular-nums}
.mwlms-lesson-dur{flex:none;font-size:11.5px;color:#64748b;margin-inline-start:8px;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.mwlms-lesson.is-played .mwlms-lesson-dur{color:#94a3b8}
.mwlms-pending{font-size:11px;color:#b45309;background:#fef3c7;border-radius:20px;padding:2px 8px;flex:none;margin-inline-start:6px}

/* ---- Lesson attachments panel (below the player) ---- */
.mwlms-attachments{padding:14px 16px;border-bottom:1px solid #eef2f7;background:#fbfcfe;display:flex;flex-direction:column;gap:10px}
.mwlms-attachments-title{font-size:13.5px;font-weight:700;color:#0f172a}
.mwlms-att{border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.mwlms-att-file,.mwlms-att-note{display:flex;align-items:center;gap:11px;padding:11px 13px}
.mwlms-att-ic{flex:none;font-size:20px}
.mwlms-att-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.mwlms-att-title{font-size:13.5px;font-weight:600;color:#1f2937}
.mwlms-att-file-name{font-size:11.5px;color:#64748b;word-break:break-word}
.mwlms-att-size{color:#94a3b8}
.mwlms-att-dl{flex:none;border:none;cursor:pointer;background:#4338ca;color:#fff;font-size:12.5px;font-weight:700;border-radius:9px;padding:7px 14px;transition:background .15s}
.mwlms-att-dl:hover{background:#3730a3}
.mwlms-att-dl:disabled{opacity:.6;cursor:default}
.mwlms-att-note{align-items:flex-start}
.mwlms-att-note-body{font-size:12.5px;color:#475569;line-height:1.9}
.mwlms-att-code{overflow:hidden}
.mwlms-att-code-head{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#f8fafc;border-bottom:1px solid #eef2f7}
.mwlms-att-lang{font-size:10.5px;font-weight:700;color:#4338ca;background:#eef2ff;border-radius:6px;padding:2px 7px;text-transform:uppercase}
.mwlms-att-copy{margin-inline-start:auto;flex:none;border:1px solid #e5e7eb;background:#fff;color:#334155;font-size:11.5px;font-weight:600;border-radius:7px;padding:4px 10px;cursor:pointer}
.mwlms-att-copy:hover{background:#f1f5f9}
.mwlms-att-pre{margin:0;padding:13px 15px;overflow-x:auto;background:#0f172a;color:#e2e8f0;font-size:12.5px;line-height:1.7;direction:ltr;text-align:left}
.mwlms-att-pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre}
