html[dir="ltr"] body { direction: ltr; text-align: left; }
html[dir="ltr"] .text-start { text-align: left !important; }
html[dir="ltr"] .navbar-nav { margin-left: auto !important; margin-right: 0 !important; }

.logo-mark { width: 46px; height: 46px; object-fit: contain; background: transparent; }
.course-card-bg-pattern { height: 210px; background: linear-gradient(135deg, #181820 0%, #0d0d11 100%); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.course-card-bg-pattern::before, .course-card-bg-pattern::after { content: ''; position: absolute; border: 1px solid rgba(255,122,0,.14); border-radius: 50%; }
.course-card-bg-pattern::before { width: 260px; height: 260px; }
.course-card-bg-pattern::after { width: 150px; height: 150px; }
.course-card-icon-circle { width: 95px; height: 95px; border-radius: 30px; display:flex; align-items:center; justify-content:center; font-size:3.2rem; background:rgba(255,122,0,.12); border:1px solid rgba(255,122,0,.3); transform:rotate(-4deg); position:relative; z-index:2; }
.top-3 { top: 1rem; }
.right-3 { right: 1rem; }
html[dir="ltr"] .right-3 { right: auto; left: 1rem; }

.flash-stack { position: fixed; z-index: 1090; top: 90px; left: 50%; transform: translateX(-50%); width: min(92vw, 720px); }
.avatar-circle { width: 38px; height: 38px; border-radius: 50%; display:flex; align-items:center; justify-content:center; background:var(--neerd-orange); color:#fff; font-weight:800; }
.empty-state { background:#fff; border:1px dashed #d8dde7; border-radius:20px; padding:3rem 1rem; text-align:center; }

.purchase-upload { border:2px dashed rgba(255,122,0,.35); border-radius:16px; padding:1.25rem; background:rgba(255,122,0,.02); cursor:pointer; transition:var(--transition-smooth); }
.purchase-upload:hover, .purchase-upload.dragging { border-color:var(--neerd-orange); background:rgba(255,122,0,.08); }
.receipt-preview img { max-height:180px; max-width:100%; object-fit:contain; }

.cinema-shell { background:#0a0a0e; border:1px solid rgba(255,255,255,.08); border-radius:22px; overflow:hidden; box-shadow:0 25px 60px rgba(0,0,0,.28); }
.video-stage { position:relative; aspect-ratio:16/9; background:#000; overflow:hidden; }
.video-stage iframe { width:100%; height:100%; border:0; }
.video-watermark { position:absolute; z-index:5; color:rgba(255,255,255,.22); font-size:.85rem; font-weight:700; letter-spacing:.02em; pointer-events:none; user-select:none; text-shadow:0 1px 2px rgba(0,0,0,.45); animation:watermarkMove 18s ease-in-out infinite alternate; white-space:nowrap; }
@keyframes watermarkMove { 0%{top:9%;right:8%} 27%{top:70%;right:55%} 55%{top:18%;right:65%} 78%{top:75%;right:9%} 100%{top:45%;right:38%} }
.playlist-sidebar-container { background:#15151d; max-height:760px; }
.cinema-lesson-item { padding:1rem; border-bottom:1px solid rgba(255,255,255,.08); cursor:pointer; transition:.2s ease; color:#fff; text-decoration:none; }
.cinema-lesson-item:hover, .cinema-lesson-item.active { background:rgba(255,122,0,.13); }
.cinema-lesson-item.locked { opacity:.62; cursor:not-allowed; }
.chapter-strip { padding:.55rem 1rem; background:rgba(255,255,255,.06); color:rgba(255,255,255,.58); font-size:.82rem; text-align:center; }

.code-input-char { width:58px; height:68px; text-align:center; font-size:1.8rem; font-weight:800; border:2px solid #e5e7eb; border-radius:14px; text-transform:uppercase; }
.code-input-char:focus { border-color:var(--neerd-orange); box-shadow:0 0 0 .2rem rgba(255,122,0,.15); outline:0; }

.account-sidebar { background:#111118; border-radius:18px; padding:1rem; }
.account-sidebar a { display:block; color:#d7d9df; text-decoration:none; padding:.8rem 1rem; border-radius:12px; margin-bottom:.35rem; }
.account-sidebar a:hover, .account-sidebar a.active { background:rgba(255,122,0,.14); color:var(--neerd-orange); }

.material-viewer { position:relative; min-height:75vh; background:#25252d; border-radius:18px; overflow:hidden; }
.material-viewer iframe { width:100%; min-height:75vh; border:0; }
.material-watermark { position:absolute; inset:0; z-index:4; pointer-events:none; overflow:hidden; opacity:.16; display:grid; grid-template-columns:repeat(3,1fr); align-content:space-around; transform:rotate(-18deg) scale(1.25); }
.material-watermark span { color:#111; font-size:1rem; font-weight:800; text-align:center; white-space:nowrap; }

.pagination .page-link { color:var(--neerd-dark); }
.pagination .active .page-link { background:var(--neerd-orange); border-color:var(--neerd-orange); }

@media (max-width: 991.98px) {
  .playlist-sidebar-container { max-height:520px; }
  .code-input-char { width:44px; height:56px; font-size:1.35rem; }
  .floating-whatsapp-widget span:last-child { display:none; }
}

/* Learning progress, exams, and protected playback */
.video-stage video.neerd-native-player { width:100%; height:100%; object-fit:contain; background:#000; }
.lesson-progress-shell { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:.8rem 1rem; }
.lesson-progress-track, .course-progress-track { height:8px; background:rgba(255,255,255,.12); border-radius:999px; overflow:hidden; }
.course-progress-track { background:#e9edf3; }
.lesson-progress-fill, .course-progress-fill { height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,var(--neerd-orange),#ffb14a); transition:width .35s ease; }
.lesson-progress-label { color:rgba(255,255,255,.72); font-size:.82rem; }
.cinema-lesson-progress { height:4px; background:rgba(255,255,255,.12); border-radius:999px; overflow:hidden; margin-top:.55rem; }
.cinema-lesson-progress span { display:block; height:100%; background:var(--neerd-orange); border-radius:inherit; }
.lesson-completed-badge { color:#8ee5a8; font-size:.8rem; font-weight:800; }
.playback-blocked-card { min-height:100%; display:flex; align-items:center; justify-content:center; padding:2rem; text-align:center; color:#fff; background:radial-gradient(circle at center,rgba(255,122,0,.16),transparent 55%); }
.playback-blocked-card .blocked-icon { width:74px; height:74px; display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; border-radius:22px; background:rgba(255,122,0,.14); border:1px solid rgba(255,122,0,.3); font-size:2rem; }
.playback-device-list { margin:1rem 0; padding:0; list-style:none; color:rgba(255,255,255,.72); }
.playback-device-list li { padding:.35rem 0; }
.playback-security-note { font-size:.82rem; color:rgba(255,255,255,.55); }
.course-exam-link { border:1px solid rgba(255,122,0,.24); background:rgba(255,122,0,.07); border-radius:14px; padding:.85rem 1rem; color:inherit; text-decoration:none; transition:.2s ease; }
.course-exam-link:hover { transform:translateY(-1px); border-color:var(--neerd-orange); color:inherit; }

.exam-card { background:#fff; border:1px solid #eceef3; border-radius:20px; padding:1.35rem; height:100%; box-shadow:0 8px 28px rgba(13,13,17,.05); transition:.22s ease; }
.exam-card:hover { transform:translateY(-3px); box-shadow:0 14px 35px rgba(13,13,17,.08); }
.exam-meta { display:flex; flex-wrap:wrap; gap:.55rem; }
.exam-meta span { display:inline-flex; align-items:center; gap:.35rem; border-radius:999px; background:#f2f4f8; padding:.38rem .72rem; font-size:.8rem; color:#555b68; }
.exam-info-panel { background:linear-gradient(135deg,#111118,#20202b); color:#fff; border-radius:24px; padding:1.6rem; }
.exam-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.exam-info-item { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:.85rem; }
.exam-info-item small { display:block; color:rgba(255,255,255,.58); margin-bottom:.2rem; }
.exam-status-pill { display:inline-flex; align-items:center; border-radius:999px; padding:.45rem .8rem; font-weight:800; font-size:.82rem; }
.exam-status-pill.open { background:rgba(25,135,84,.12); color:#137a4b; }
.exam-status-pill.closed { background:rgba(108,117,125,.12); color:#606874; }

.exam-taking-shell { max-width:980px; margin-inline:auto; }
.exam-sticky-bar { position:sticky; top:76px; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:1rem; background:#111118; color:#fff; border-radius:18px; padding:1rem 1.2rem; box-shadow:0 12px 34px rgba(13,13,17,.16); margin-bottom:1.2rem; }
.exam-countdown { min-width:116px; text-align:center; font-weight:900; font-variant-numeric:tabular-nums; border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:.55rem .75rem; }
.exam-countdown.warning { color:#ffd166; border-color:rgba(255,209,102,.45); }
.exam-countdown.danger { color:#ff7676; border-color:rgba(255,118,118,.45); animation:countdownPulse 1s infinite; }
@keyframes countdownPulse { 50% { opacity:.55; } }
.exam-question-card { background:#fff; border:1px solid #e9ecf2; border-radius:20px; padding:1.35rem; margin-bottom:1rem; scroll-margin-top:165px; }
.exam-question-number { width:38px; height:38px; flex:0 0 38px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(255,122,0,.12); color:var(--neerd-orange); font-weight:900; }
.exam-option { position:relative; display:flex; align-items:flex-start; gap:.7rem; width:100%; border:1px solid #e3e7ee; border-radius:14px; padding:.85rem 1rem; cursor:pointer; transition:.18s ease; margin-bottom:.65rem; }
.exam-option:hover { border-color:rgba(255,122,0,.55); background:rgba(255,122,0,.035); }
.exam-option:has(input:checked) { border-color:var(--neerd-orange); background:rgba(255,122,0,.08); box-shadow:0 0 0 2px rgba(255,122,0,.08); }
.exam-option input { margin-top:.23rem; accent-color:var(--neerd-orange); }
.exam-question-nav { display:flex; flex-wrap:wrap; gap:.45rem; }
.exam-question-nav a { width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; text-decoration:none; background:#f0f2f6; color:#555b68; font-weight:800; }
.exam-question-nav a.answered { background:rgba(25,135,84,.13); color:#137a4b; }
.exam-submit-bar { position:sticky; bottom:1rem; z-index:15; background:rgba(255,255,255,.94); backdrop-filter:blur(10px); border:1px solid #e7eaf0; border-radius:18px; padding:1rem; box-shadow:0 12px 34px rgba(13,13,17,.12); }

.exam-result-hero { background:linear-gradient(135deg,#111118,#20202b); color:#fff; border-radius:24px; padding:2rem; text-align:center; }
.result-ring { --score:0; width:150px; height:150px; margin:0 auto 1rem; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--neerd-orange) calc(var(--score) * 1%),rgba(255,255,255,.12) 0); position:relative; }
.result-ring::before { content:''; position:absolute; inset:12px; border-radius:50%; background:#17171f; }
.result-ring strong { position:relative; z-index:1; font-size:1.65rem; }
.result-question { background:#fff; border:1px solid #e8ebf1; border-radius:18px; padding:1.2rem; margin-bottom:1rem; }
.result-option { border-radius:12px; padding:.7rem .85rem; margin-top:.5rem; background:#f4f5f8; }
.result-option.correct { background:rgba(25,135,84,.12); border:1px solid rgba(25,135,84,.28); color:#116a41; }
.result-option.wrong-selected { background:rgba(220,53,69,.1); border:1px solid rgba(220,53,69,.24); color:#a62735; }

@media (max-width: 767.98px) {
  .exam-sticky-bar { top:64px; align-items:flex-start; flex-direction:column; }
  .exam-countdown { width:100%; }
  .exam-info-grid { grid-template-columns:1fr; }
  .exam-question-card { padding:1rem; scroll-margin-top:205px; }
  .result-ring { width:128px; height:128px; }
}

/* Compatibility aliases used by the PHP templates */
.course-progress-summary { min-width:180px; }
.course-progress-summary .progress, .lesson-progress-bar { height:8px; background:rgba(255,255,255,.13); }
.course-progress-summary .progress-bar, .lesson-progress-bar .progress-bar { background:linear-gradient(90deg,var(--neerd-orange),#ffb14a); }
.playlist-progress { height:4px; min-width:115px; margin-top:.45rem; background:rgba(255,255,255,.13); border-radius:999px; overflow:hidden; }
.playlist-progress span { display:block; height:100%; background:var(--neerd-orange); border-radius:inherit; }
.exam-taking-bar { position:sticky; top:0; z-index:1030; background:#111118; color:#fff; padding:1rem 0; box-shadow:0 8px 28px rgba(0,0,0,.22); }
.question-number { width:38px; height:38px; flex:0 0 38px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(255,122,0,.12); color:var(--neerd-orange); font-weight:900; }
.exam-nav-sticky { position:sticky; top:92px; }
.exam-info-tile { display:flex; align-items:center; gap:.85rem; min-height:82px; padding:1rem; border:1px solid #e8ebf1; border-radius:16px; background:#fafbfc; }
.exam-info-tile > span { font-size:1.55rem; }
.exam-info-tile strong, .exam-info-tile small { display:block; }
.exam-info-tile small { color:#747b87; margin-top:.15rem; }
.exam-instructions { padding-inline-start:1.25rem; color:#5d6470; line-height:2; }
.attempt-row { display:flex; justify-content:space-between; gap:1rem; padding-bottom:1rem; border-bottom:1px solid #eceef3; }
.attempt-row:last-child { border-bottom:0; padding-bottom:0; }
.exam-meta-box { background:#f4f5f8; border-radius:12px; padding:.65rem .75rem; height:100%; }
.result-score-ring { width:155px; height:155px; margin:auto; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; border:10px solid rgba(255,255,255,.15); background:#17171f; }
.result-score-ring.passed { border-color:#20c67a; }
.result-score-ring.failed { border-color:#df5360; }
.result-score-ring strong { font-size:1.8rem; }
.result-score-ring span { color:rgba(255,255,255,.62); font-size:.8rem; }
.result-question.correct { border-inline-start:5px solid #198754; }
.result-question.incorrect { border-inline-start:5px solid #dc3545; }
.result-option.selected-answer { font-weight:800; }
.result-option.correct-answer { background:rgba(25,135,84,.12); border:1px solid rgba(25,135,84,.28); color:#116a41; }
.course-exam-link { display:flex; justify-content:space-between; align-items:center; gap:1rem; color:#fff; }
.course-exam-link small { color:rgba(255,255,255,.55); }
.course-exam-link.locked { opacity:.6; cursor:not-allowed; }
@media (max-width: 991.98px) { .exam-nav-sticky { position:static; } }

/* Commerce, bundles, and SEO landing pages */
.course-image { width:100%; height:220px; object-fit:cover; background:#15151d; }
.bundle-price-old { color:#7b8190; text-decoration:line-through; }
.commerce-summary { position:sticky; top:100px; }
.notification-channel-badge { min-width:76px; text-align:center; }
@media (max-width: 991.98px) { .commerce-summary { position:static; } }
.category-home-icon { min-height:84px; display:flex; align-items:center; justify-content:center; }
.category-home-icon-media { width:76px; height:76px; object-fit:contain; font-size:3.2rem; line-height:1; }
.category-heading-icon { width:64px; height:64px; object-fit:contain; font-size:3.2rem; line-height:1; }
.course-category-icon { width:72px; height:72px; object-fit:contain; font-size:3.2rem; line-height:1; }
.admin-category-icon { width:42px; height:42px; object-fit:contain; font-size:1.8rem; line-height:1; }

/* Category icons */
.category-icon-media{width:76px;height:76px;object-fit:cover;border-radius:22px;display:block}.category-icon-emoji{display:inline-grid;place-items:center;min-width:1.25em;line-height:1}.category-card .category-icon-media{margin-inline:auto}.category-heading-icon{width:44px;height:44px;border-radius:13px;object-fit:cover;vertical-align:middle}

/* Context-aware AI tutor */
.ai-tutor-launcher{position:fixed;inset-inline-end:22px;bottom:24px;z-index:1040;border:0;border-radius:999px;background:linear-gradient(135deg,var(--neerd-orange),#ff9f43);color:#101014;font-weight:800;padding:13px 18px;box-shadow:0 14px 38px rgba(0,0,0,.28);display:flex;align-items:center;gap:9px}.ai-tutor-launcher:hover{transform:translateY(-2px)}.ai-tutor-launcher-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#11131a;color:#fff}.ai-tutor-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.52);backdrop-filter:blur(2px);z-index:1050}.ai-tutor-panel{position:fixed;z-index:1060;top:0;bottom:0;inset-inline-end:0;width:min(460px,100%);background:#151611;color:#f8f8f2;display:flex;flex-direction:column;box-shadow:-18px 0 44px rgba(0,0,0,.35);transform:translateX(calc(100% + 30px));transition:transform .25s ease;visibility:hidden}.ai-tutor-panel.is-open{transform:translateX(0);visibility:visible}.ai-tutor-header{display:flex;align-items:center;gap:12px;padding:18px;background:linear-gradient(135deg,#0e4f2a,#08753f);border-bottom:1px solid rgba(255,255,255,.12)}html[dir="rtl"] .ai-tutor-panel{transform:translateX(calc(-100% - 30px));box-shadow:18px 0 44px rgba(0,0,0,.35)}html[dir="rtl"] .ai-tutor-panel.is-open{transform:translateX(0)}.ai-tutor-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:1.45rem}.ai-tutor-header p{color:rgba(255,255,255,.72)}.ai-tutor-close{border:0;background:transparent;color:#fff;font-size:2rem;line-height:1;padding:4px 8px}.ai-tutor-notice{padding:9px 16px;background:#35270c;color:#f7d88d;font-size:.78rem;border-bottom:1px solid #50431f}.ai-tutor-messages{flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px}.ai-message{display:flex}.ai-message-user{justify-content:flex-start}.ai-message-assistant{justify-content:flex-end}.ai-message-bubble{max-width:88%;padding:12px 14px;border-radius:18px;white-space:pre-wrap;line-height:1.75;overflow-wrap:anywhere}.ai-message-user .ai-message-bubble{background:#0e6636;color:#fff;border-end-start-radius:5px}.ai-message-assistant .ai-message-bubble{background:#25251f;border:1px solid #4b4b40;color:#f5f2e8;border-end-end-radius:5px}.ai-tutor-composer{padding:14px 16px 18px;border-top:1px solid #37382f;background:#10110e}.ai-tutor-composer textarea{width:100%;resize:none;border:1px solid #5a5949;border-radius:17px;background:#1c1d18;color:#fff;padding:12px 14px;min-height:58px;max-height:150px}.ai-tutor-composer textarea:focus{outline:2px solid var(--neerd-orange);border-color:transparent}.ai-tutor-status{min-height:1.3rem;color:#ffb6b6;font-size:.82rem;margin-top:7px}.ai-tutor-open{overflow:hidden}@media (max-width:575.98px){.ai-tutor-launcher{inset-inline-end:14px;bottom:15px;padding:11px 14px}.ai-tutor-panel{width:100%}.ai-tutor-header{padding-top:max(18px,env(safe-area-inset-top))}.ai-tutor-composer{padding-bottom:max(18px,env(safe-area-inset-bottom))}}

/* Managed content pages */
.content-page-hero{background:linear-gradient(135deg,#121319,#242017);color:#fff;padding:70px 0 54px}.managed-content{font-size:1.06rem;line-height:1.9}.managed-content h2,.managed-content h3,.managed-content h4{font-family:var(--font-display,inherit);font-weight:800;margin-top:1.7em;margin-bottom:.7em}.managed-content blockquote{border-inline-start:4px solid var(--neerd-orange);padding:12px 18px;background:#fff7e8;border-radius:8px}.managed-content code{background:#ececec;padding:2px 6px;border-radius:5px}.social-links{display:flex;gap:10px;flex-wrap:wrap}.social-link{width:42px;height:42px;border-radius:50%;display:grid!important;place-items:center;background:rgba(255,255,255,.1);color:#fff!important;text-decoration:none;transition:.2s}.social-link:hover{background:var(--neerd-orange);color:#121212!important;transform:translateY(-2px)}.pwa-install-button[hidden]{display:none!important}

/* Content-protection deterrence */
.protected-content{position:relative;-webkit-user-select:none;user-select:none}.capture-shield{display:none;position:absolute;inset:0;z-index:50;background:#0b0c0f;color:#fff;align-items:center;justify-content:center;text-align:center;padding:2rem}.protected-content.is-privacy-shielded .capture-shield{display:flex}@media print{body>*{display:none!important}.protected-content,.protected-content *{display:none!important}body::after{content:'Protected educational content — printing is disabled.';display:block!important;padding:3rem;font-size:20px}}
.cms-page{min-height:55vh}.cms-hero{max-width:850px}.cms-content{font-size:1.05rem;line-height:1.9}.cms-content h2,.cms-content h3,.cms-content h4{font-weight:800;margin-top:1.6em;margin-bottom:.65em}.cms-content p:last-child{margin-bottom:0}.cms-content blockquote{border-inline-start:4px solid var(--neerd-orange);background:#fff7e8;padding:12px 18px;border-radius:8px}.cms-content li{margin-bottom:.35rem}.contact-message-body{white-space:normal;line-height:1.9;background:#f7f7f8;border-radius:14px;padding:18px;overflow-wrap:anywhere}
.category-home-icon-media,.course-category-icon,.admin-category-icon{width:64px;height:64px;object-fit:cover;border-radius:18px;display:inline-grid;place-items:center;font-size:2.5rem}.course-category-icon{width:58px;height:58px}.admin-category-icon{width:46px;height:46px;border-radius:12px;font-size:1.8rem}.category-heading-icon{display:inline-grid;place-items:center;font-size:2.2rem}
.social-link svg{width:21px;height:21px;fill:currentColor;display:block}
