Skip to content

TUI renders blank when project has node_modules without .gitignore exclusion #27072

Closed as not planned

Description

@litown

Environment

  • opencode: v1.14.48
  • OS: macOS 15.4.1 (Build 24E263), Apple Silicon (arm64)
  • Terminal: Ghostty 1.3.2 / Terminal.app / iTerm2 (all affected)
  • Shell: zsh 5.9
  • Install method: npm (npm i -g opencode-ai)

Problem

When running opencode in a project directory that contains node_modules (or other large generated directories) without a .gitignore excluding them, the TUI renders blank. The file.watcher scans all files recursively, triggering ENAMETOOLONG errors that crash the TUI.

Root Cause

The file.watcher's default ignore list is hardcoded to only [".git", ".DS_Store"]. It does NOT include node_modules or other common generated directories. When the project lacks a .gitignore file (or .gitignore doesn't exclude node_modules), the watcher attempts to scan all files, triggering errors that prevent TUI rendering.

Reproduction

  1. Create a project: mkdir test && cd test && git init
  2. Add node_modules: mkdir -p node_modules/pkg && echo "test" > node_modules/pkg/index.js
  3. Run opencode → blank TUI
  4. Add .gitignore: echo "node_modules/" > .gitignore
  5. Run opencode → TUI renders correctly

Log Evidence (without .gitignore)

INFO  service=file.watcher directory=/path/to/project init
ERROR service=default e=ENAMETOOLONG: name too long, open rejection (x3)
INFO  service=default worker shutting down  (user quit - blank screen)

Log Evidence (with .gitignore)

INFO  service=file.watcher directory=/path/to/project init
(no ENAMETOOLONG errors)
(TUI renders successfully)

Suggested Fix

  • Add node_modules to the default ignore list alongside .git and .DS_Store
  • Consider adding other common generated directories: .venv, __pycache__, dist, build, .next, .cache
  • Handle ENAMETOOLONG gracefully — don't let file scanning errors crash the entire TUI

Activity

  1. github-actions commented on May 12, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

  2. fayezawad commented on May 13, 2026

    @fayezawad
    <!-- This site is optimized with the Yoast SEO plugin v27.4 - https://yoast.com/product/yoast-seo-wordpress/ -->
    <title>برنامج شرح متون طالب العلم – شرح د. عبد المحسن القاسم</title>
    <meta name="description" content="انضم مجانا إلى دورات شرح متون طالب العلم د. عبد المحسن القاسم وتعلّم مختلف علوم الشريعة عبر برامج تعليمية مميزة، مع شهادات للمتفوقين وإجازات متصلة السند." />
    <link rel="canonical" href="https://sharh.qm.edu.sa/" />
    <meta property="og:locale" content="ar_AR" />
    <meta property="og:type" content="website" />
    <meta property="og:title" content="برنامج شرح متون طالب العلم – شرح د. عبد المحسن القاسم" />
    <meta property="og:description" content="انضم مجانا إلى دورات شرح متون طالب العلم د. عبد المحسن القاسم وتعلّم مختلف علوم الشريعة عبر برامج تعليمية مميزة، مع شهادات للمتفوقين وإجازات متصلة السند." />
    <meta property="og:url" content="https://sharh.qm.edu.sa/" />
    <meta property="og:site_name" content="برنامج شرح متون طالب العلم" />
    <meta property="article:modified_time" content="2026-03-11T10:24:03+00:00" />
    <meta property="og:image" content="https://sharh.qm.edu.sa/wp-content/uploads/2025/02/برنامج-شروح-متون-طالب-العلم.jpg" />
    <meta property="og:image:width" content="1920" />
    <meta property="og:image:height" content="1080" />
    <meta property="og:image:type" content="image/jpeg" />
    <meta name="twitter:card" content="summary_large_image" />
    <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sharh.qm.edu.sa\/","url":"https:\/\/sharh.qm.edu.sa\/","name":"برنامج شرح متون طالب العلم – شرح د. عبد المحسن القاسم","isPartOf":{"@id":"https:\/\/sharh.qm.edu.sa\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sharh.qm.edu.sa\/#primaryimage"},"image":{"@id":"https:\/\/sharh.qm.edu.sa\/#primaryimage"},"thumbnailUrl":"https:\/\/sharh.qm.edu.sa\/wp-content\/uploads\/2025\/02\/برنامج-شروح-متون-طالب-العلم.jpg","datePublished":"2024-11-27T05:46:33+00:00","dateModified":"2026-03-11T10:24:03+00:00","description":"انضم مجانا إلى دورات شرح متون طالب العلم د. عبد المحسن القاسم وتعلّم مختلف علوم الشريعة عبر برامج تعليمية مميزة، مع شهادات للمتفوقين وإجازات متصلة السند.","breadcrumb":{"@id":"https:\/\/sharh.qm.edu.sa\/#breadcrumb"},"inLanguage":"ar","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sharh.qm.edu.sa\/"]}]},{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/sharh.qm.edu.sa\/#primaryimage","url":"https:\/\/sharh.qm.edu.sa\/wp-content\/uploads\/2025\/02\/برنامج-شروح-متون-طالب-العلم.jpg","contentUrl":"https:\/\/sharh.qm.edu.sa\/wp-content\/uploads\/2025\/02\/برنامج-شروح-متون-طالب-العلم.jpg","width":1920,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/sharh.qm.edu.sa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"الرئيسية"}]},{"@type":"WebSite","@id":"https:\/\/sharh.qm.edu.sa\/#website","url":"https:\/\/sharh.qm.edu.sa\/","name":"برنامج شروح متون طالب العلم","description":"شرح د. عبد المحسن القاسم","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sharh.qm.edu.sa\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ar"}]}</script>
    <meta name="google-site-verification" content="hj8rQLzL84qAKFAXngZRgVv2_GuqTwQlqhS0bsI4d3k" />
    <!-- / Yoast SEO plugin. -->
    
    <style id='wp-img-auto-sizes-contain-inline-css' type='text/css'> img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} /*# sourceURL=wp-img-auto-sizes-contain-inline-css */ </style> <style id='wp-emoji-styles-inline-css' type='text/css'>
    img.wp-smiley, img.emoji {
    	display: inline !important;
    	border: none !important;
    	box-shadow: none !important;
    	height: 1em !important;
    	width: 1em !important;
    	margin: 0 0.07em !important;
    	vertical-align: -0.1em !important;
    	background: none !important;
    	padding: 0 !important;
    }
    

    /*# sourceURL=wp-emoji-styles-inline-css */
    </style>

    <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} /*# sourceURL=/wp-includes/css/classic-themes.min.css */ </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--medium-blue: #175CFF;--wp--preset--color--deep-navyblue: #0A083B;--wp--preset--color--off-white: #F7F9FA;--wp--preset--color--bluish-dark-grey: #57586E;--wp--preset--color--light-grey: #EAF1F8;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 16px;--wp--preset--font-size--normal-plus: 18px;--wp--preset--font-size--medium-plus: 26px;--wp--preset--font-size--big: 32px;--wp--preset--font-size--huge: 48px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-term-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-term-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} /*# sourceURL=global-styles-inline-css */ </style> <style id='tutor-frontend-inline-css' type='text/css'> .mce-notification.mce-notification-error{display: none !important;} :root{--tutor-color-primary:#06605e;--tutor-color-primary-rgb:6, 96, 94;--tutor-color-primary-hover:#91dad8;--tutor-color-primary-hover-rgb:145, 218, 216;--tutor-body-color:#000000;--tutor-body-color-rgb:0, 0, 0;--tutor-border-color:#000000;--tutor-border-color-rgb:0, 0, 0;--tutor-color-gray:#ff0000;--tutor-color-gray-rgb:255, 0, 0;} /*# sourceURL=tutor-frontend-inline-css */ </style> <style id='main-inline-css' type='text/css'>
    		:root {
    			--default-color: #ffffff;
    			--body-font: Inter;
    			--heading-font: Sora;
    			--link-color: #1950D1;
    			--body-bg-color: #ffffff;
    			--cart-color: #1950D1;
    			--cart-color-trans: #ffffff;
    			--cta-text-color: #1539e9;
    			--cta-text-color-trans: #ffffff;
    			--body-text-color: #57586E;
    			--cta-font-weight: 400;
    			--cta-font-transform: none;
    			--cta-font-lineheight: 1.2em;
    			--cta-font-lineheight-tablet: 1.2em;
    			--cta-font-lineheight-mobile: 1.2em;
    			--menu-link-color: #57586E;
    			--menu-link-color-trans: #ffffff;
    			--body-font-weight: 400;
    			--h1-font-weight: 700;
    			--h2-font-weight: 700;
    			--h3-font-weight: 700;
    			--h4-font-weight: 700;
    			--h5-font-weight: 700;
    			--h6-font-weight: 700;
    			--h1-text-transform: none;
    			--h2-text-transform: none;
    			--h3-text-transform: none;
    			--h4-text-transform: none;
    			--h5-text-transform: none;
    			--h6-text-transform: none;
    			--primary-menu-bg-color: #ffffff;
    			--sticky-menu-bg-color: rgba(4, 42, 132, 0.7);
    			--cta-background-color: #ffffff;
    			--cta-background-color-trans: rgba(61,130,141,1);
    			--cta-border-color: #1539e9;
    			--cta-border-color-trans: #ffffff;
    			--cta-border-width: 1px;
    			--cta-border-radius: 50px;
    			--cta-font-size: 16px;
    			--header-font-weight: 400;
    			--header-font-transform: none;
    			--header-font-lineheight: 1.2em;
    			--header-font-lineheight-tablet: 1.2em;
    			--header-font-lineheight-mobile: 1.2em;
    			--body-text-transform: none;
    			--body-font-size: 16px;
    			--h1-font-size: 68px;
    			--h1-font-size-tablet: 48px;
    			--h1-font-size-mobile: 48px;
    			--h2-font-size: 48px;
    			--h2-font-size-tablet: 32px;
    			--h2-font-size-mobile: 32px;
    			--h3-font-size: 36px;
    			--h3-font-size-tablet: 28px;
    			--h3-font-size-mobile: 28px;
    			--h4-font-size: 26px;
    			--h4-font-size-tablet: 24px;
    			--h4-font-size-mobile: 24px;
    			--h5-font-size: 20px;
    			--h5-font-size-tablet: 18px;
    			--h5-font-size-mobile: 18px;
    			--h6-font-size: 18px;
    			--h6-font-size-tablet: 17px;
    			--h6-font-size-mobile: 17px;
    			--active-menu-color: #175cff;
    			--active-menu-color-trans: #d6f4fa;
    			--cta-font-size-tablet: 13px;
    			--cta-font-size-mobile: 13px;
    			--header-font-size: 16px;
    			--body-font-size-mobile: 13px;
    			--body-font-size-tablet: 13px;
    			--footer-bottom-bg-color: #1E1E2C;
    			--footer-widget-bg-color: #1E1E2C;
    			--header-font-size-tablet: 13px;
    			--header-font-size-mobile: 13px;
    			--footer-bottom-text-color: #ffffff;
    			--widget-title-font-weight: 700;
    			--widget-title-text-transform: none;
    			--footer-widget-text-color: #ffffff;
    			--body-font-lineheight: 1.7em;
    			--h1-font-lineheight: 2.5em;
    			--h1-font-lineheight-tablet: 2.5em;
    			--h1-font-lineheight-mobile: 2.5em;
    			--h2-font-lineheight: 2em;
    			--h2-font-lineheight-tablet: 2em;
    			--h2-font-lineheight-mobile: 2em;
    			--h3-font-lineheight: 1.8em;
    			--h3-font-lineheight-tablet: 1.8em;
    			--h3-font-lineheight-mobile: 1.8em;
    			--h4-font-lineheight: 1.7em;
    			--h4-font-lineheight-tablet: 1.7em;
    			--h4-font-lineheight-mobile: 1.7em;
    			--h5-font-lineheight: 1.6em;
    			--h5-font-lineheight-tablet: 1.6em;
    			--h5-font-lineheight-mobile: 1.6em;
    			--h6-font-lineheight: 1.5em;
    			--h6-font-lineheight-tablet: 1.5em;
    			--h6-font-lineheight-mobile: 1.5em;
    			--body-font-lineheight-tablet: 1.5em;
    			--body-font-lineheight-mobile: 1.5em;
    			--widget-title-font-size: 18px;
    			--widget-title-font-size-tablet: 16px;
    			--widget-title-font-size-mobile: 16px;
    			--widget-title-line-height: 1.78em;
    			--widget-title-line-height-tablet: 1.78em;
    			--widget-title-line-height-mobile: 1.78em;
    			--widget-text-font-weight: 400;
    			--widget-text-transform: none;
    			--widget-text-font-size: 16px;
    			--widget-text-font-size-tablet: 16px;
    			--widget-text-font-size-mobile: 16px;
    			--widget-text-line-height: 1.78em;
    			--widget-text-line-height-tablet: 1.78em;
    			--widget-text-line-height-mobile: 1.78em;
    		}
    

    /*# sourceURL=main-inline-css */
    </style>

    <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" id="tutor-reset-script-js-after"> /* span:last-child'); if (errorTextSpan && errorTextSpan.textContent.includes('اسم المستخدم أو عنوان البريد الإلكتروني غير صحيح')) { return true; } } return false; } function updateButtonAndMessage() { const currentLoginValue = userLoginInput.value; const timerStorageKey = getTimerStorageKey(currentLoginValue); let lastTryTimestamp = timerStorageKey ? localStorage.getItem(timerStorageKey) : null; if (countdownInterval) { clearInterval(countdownInterval); countdownInterval = null; } if (lastTryTimestamp) { const timePassed = Date.now() - parseInt(lastTryTimestamp, 10); if (timePassed < fiveMinutesInMs) { submitButton.disabled = true; let timeLeftMs = fiveMinutesInMs - timePassed; function displayCountdown() { const currentSecondsLeft = Math.ceil(timeLeftMs / 1000); messageDiv.innerHTML = `
    يرجى الانتظار ثانية قبل المحاولة مرة أخرى.
    `; messageDiv.className = 'tutor-alert tutor-alert-info tutor-mb-12'; messageDiv.style.display = 'flex'; countdownInterval = setInterval(() => { timeLeftMs -= 1000; const secondsLeftInInterval = Math.ceil(timeLeftMs / 1000); if (secondsLeftInInterval > 0) { const timerSpan = messageDiv.querySelector('.countdown-timer'); if (timerSpan) timerSpan.textContent = secondsLeftInInterval; } else { clearInterval(countdownInterval); countdownInterval = null; messageDiv.style.display = 'none'; submitButton.disabled = false; submitButton.innerHTML = 'إعادة تعيين كلمة المرور'; if (timerStorageKey) localStorage.removeItem(timerStorageKey); } }, 1000); } displayCountdown(); return false; } else { if (timerStorageKey) localStorage.removeItem(timerStorageKey); } } submitButton.disabled = false; submitButton.innerHTML = 'إعادة تعيين كلمة المرور'; messageDiv.style.display = 'none'; return true; } const urlParams = new URLSearchParams(window.location.search); const isServerRateLimited = urlParams.get('reset_error') === 'too_many_requests'; const lastSubmittedLogin = localStorage.getItem(lastSubmittedLoginKey); if (isWrongUserInfoErrorVisible() && lastSubmittedLogin) { const timerKeyForLastSubmitted = getTimerStorageKey(lastSubmittedLogin); if (timerKeyForLastSubmitted) { localStorage.removeItem(timerKeyForLastSubmitted); } localStorage.removeItem(lastSubmittedLoginKey); } else if (isServerRateLimited) { const loginForRateLimit = userLoginInput.value.trim() || lastSubmittedLogin; if (loginForRateLimit) { const timerKeyForRateLimit = getTimerStorageKey(loginForRateLimit); if (timerKeyForRateLimit) { if (!localStorage.getItem(timerKeyForRateLimit) || (Date.now() - parseInt(localStorage.getItem(timerKeyForRateLimit), 10)) > fiveMinutesInMs) { localStorage.setItem(timerKeyForRateLimit, Date.now().toString()); } } } } updateButtonAndMessage(); form.addEventListener('submit', function(event) { const currentLoginOnSubmit = userLoginInput.value; if (!currentLoginOnSubmit.trim()) { event.preventDefault(); return; } localStorage.setItem(lastSubmittedLoginKey, currentLoginOnSubmit.trim().toLowerCase()); if (!updateButtonAndMessage()) { event.preventDefault(); } else { const timerStorageKeyOnSubmit = getTimerStorageKey(currentLoginOnSubmit); if (timerStorageKeyOnSubmit) { localStorage.setItem(timerStorageKeyOnSubmit, Date.now().toString()); } submitButton.disabled = true; submitButton.innerHTML = 'جاري الإرسال...'; } }); userLoginInput.addEventListener('input', function() { if (countdownInterval) { clearInterval(countdownInterval); countdownInterval = null; messageDiv.style.display = 'none'; } updateButtonAndMessage(); }); });

    //# sourceURL=tutor-reset-script-js-after
    /* ]]> */
    </script>

    <script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=GT-5NTRTZD9" id="google_gtagjs-js" async></script> <script type="text/javascript" id="google_gtagjs-js-after"> /* { var key = JSON.stringify( { name, data } ); if ( !! window._googlesitekit.throttledEvents[ key ] ) { return; } window._googlesitekit.throttledEvents[ key ] = true; setTimeout( () => { delete window._googlesitekit.throttledEvents[ key ]; }, 5 ); gtag( "event", name, { ...data, event_source: "site-kit" } ); }; //# sourceURL=google_gtagjs-js-after /* ]]> */ </script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-content/plugins/tutor-lms-elementor-addons/assets/js/slick.min.js?ver=3.0.0" id="etlms-slick-library-js"></script> <script type="text/javascript" id="tutor-elementor-js-js-extra"> /* */ </script> <script type="text/javascript" id="tutor-elementor-js-js-before"> /* */ </script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-content/plugins/tutor-lms-elementor-addons/assets/js/tutor-elementor.js?ver=3.0.0" id="tutor-elementor-js-js"></script> <style> .student-progress-indicator { background: #28a745; color: white; padding: 2px 8px; border-radius: 12px; font-size: 12px; font-weight: bold; }
    /* تحسينات للصفحة الجديدة */
    .tutor-quiz-sidebar .lesson-completed {
        position: relative;
    }
    
    .tutor-quiz-sidebar .lesson-completed::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background: #28a745;
        border-radius: 0 3px 3px 0;
    }
    
    /* تحسين مظهر الحاوي الجانبي */
    .tutor-course-single-sidebar-wrapper {
        border-right: 1px solid #e9ecef;
    }
    </style>
        <style>
        .tutor-alert {
            padding: 20px;
            margin-bottom: 20px;
            border-radius: 6px;
        }
        .tutor-alert-success {
            background-color: #e7f6ed;
            border: 1px solid #c3e6d1;
            color: #0a3622;
        }
        .tutor-alert-title {
            display: block;
            font-weight: bold;
            margin-bottom: 5px;
        }
        .tutor-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 20px;
        }
        .tutor-table th,
        .tutor-table td {
            padding: 12px;
            border: 1px solid #ddd;
            text-align: right;
        }
        .tutor-table th {
            background-color: #f8f9fa;
            font-weight: bold;
        }
    </style>
    <meta name="google-site-verification" content="g2G63VnMqQxDE_EVR25uy_TeAQ9O0O0JFW1dBoDKGxw"><meta name="generator" content="Elementor 3.35.5; features: e_font_icon_svg, additional_custom_breakpoints; settings: css_print_method-external, google_font-enabled, font_display-swap">
    
    <style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style> <style>
    			.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
    			.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
    				background-image: none !important;
    			}
    			@media screen and (max-height: 1024px) {
    				.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),
    				.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {
    					background-image: none !important;
    				}
    			}
    			@media screen and (max-height: 640px) {
    				.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),
    				.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {
    					background-image: none !important;
    				}
    			}
    		</style>
    		<link rel="icon" href="https://sharh.qm.edu.sa/wp-content/uploads/2025/03/cropped-شروح-القاسم-2-03-32x32.png" sizes="32x32" />
    
    <style type="text/css" id="wp-custom-css"> :root { color-scheme: light; }

    /* Reset styles for all paragraph elements within classes starting with 'elementor-' */
    [class^="elementor-"] p {
    color: unset;
    font-size: unset;
    font-weight: unset;
    text-transform: unset;
    line-height: unset;
    }

    /* Ensure container within specific Elementor element spans full width */
    .elementor-287 .elementor-element.elementor-element-d67d62b > .elementor-container {
    max-width: 100%;
    }

    /* Center align the last container in the footer and remove padding */
    footer#colophon .container:last-of-type {
    display: flex;
    justify-content: center;
    padding: 0;
    }

    /* Adjust padding for specific div within section #block-6 */
    section#block-6 div {
    padding-right: 32px;
    }

    /* Responsive styles for screen widths below 992px /
    @media (max-width: 992px) {
    /
    Center-align text for footer widgets */
    section.footer-widgets {
    text-align: center;
    }

    /* Add margin between menu items */
    .navbar-nav > .menu-item {
        margin-right: 30px;
    }
    
    /* Remove padding for footer menu */
    ul#menu-footer-1 {
        padding: 0;
    }
    
    /* Center content for specific section */
    section#block-3 {
        display: flex;
        justify-content: center;
    }
    
    /* Reset padding for specific div within section #block-6 */
    section#block-6 div {
        padding: 0;
    }
    
    /* Remove left padding for links inside specific div */
    section#block-6 div a {
        padding-left: 0px !important;
    }
    

    }

    /* Responsive styles for screen widths below 767px /
    @media (max-width: 767px) {
    /
    Add bottom padding for specific Elementor widgets */
    .e-con > .e-con-inner > .elementor-widget > .elementor-widget-container,
    .e-con > .elementor-widget > .elementor-widget-container {
    padding-bottom: 80px;
    }
    }

    /* Adjust top padding for section #block-6 */
    section#block-6 {
    padding-top: 4px;
    }

    /* Adjust margins for navigation menu items */
    .navbar-nav > .menu-item {
    margin-right: 30px;
    }

    /* Adjust padding for footer menu on larger screens */
    @media (min-width: 992px) {
    ul#menu-footer-1 {
    padding-right: 32px;
    }
    }

    /* Align password strength checker fields to the right */
    .tutor-password-strength-checker .tutor-password-field {
    text-align: right;
    }

    /* Adjust position of show/hide password button */
    .tutor-password-strength-checker .show-hide-btn {
    left: 3px;
    right: auto;
    }

    /* Adjust icon position in reversed form layouts */
    .tutor-form-icon-reverse {
    right: auto;
    left: 0;
    }

    /* Add background color for non-home pages with transparent header */
    body:not(.home) header.header-transparent {
    background: #5595aa;
    position: static;
    background: url(https://test.a-alqasim.com/wp-content/uploads/2025/02/خلفية2.jpg);
    background-position-x: center;
    background-position-y: bottom;
    }

    /* Remove margin for a specific menu item on larger screens */
    @media (min-width: 992px) {
    li#menu-item-8558 {
    margin-right: 0;
    }
    }

    /* Add transition effect to a 'Get Started' button */
    header.header-transparent .navbar .navbar-utils a.btn-getstarted {
    transition: all 0.3s;
    }

    /* Change background color on hover for 'Get Started' button */
    header.header-transparent .navbar .navbar-utils a.btn-getstarted:hover {
    background: #5595aa;
    }

    /* Adjust margin for copyright text in footer */
    .footer-bottom-container span.copyright {
    margin-left: 0px;
    }

    /* Hide site info section in footer */
    .site-info {
    display: none;
    }

    /* Add padding to the footer */
    footer#colophon {
    padding: 20px;
    }

    /* Adjust header layout for smaller screens */
    @media (max-width: 991px) {
    header.header-transparent .navbar.navbar-left .navbar-brand {
    grid-area: col1;
    justify-self: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    }
    button.navbar-toggler {
    padding: 0;
    margin: 0;
    grid-area: col2;
    }
    }

    /* Style for large footer area */
    section.footer-widgets {
    background:none;
    color: #FFFFFF;
    padding: 20px 20px 0px;
    position: relative;
    }

    /* Style for footer widget titles */
    section.footer-widgets h2.widget-title {
    color: #ffffff;
    font-size: 18px;
    margin-bottom: 20px;
    text-align: center;
    text-transform: uppercase;
    }

    /* Style for footer widget menus */
    section.footer-widgets ul.menu {
    list-style: none;
    padding: 0;
    margin: 0;
    }

    /* Style for footer widget menu items */
    section.footer-widgets ul.menu li {
    margin-bottom: 10px;
    }

    /* Style for footer widget links */
    section.footer-widgets ul.menu li a {
    color: #ffffff;
    text-decoration: none;
    font-size: 16px;
    transition: color 0.3s ease;
    }

    /* Add hover effect for footer widget links */
    section.footer-widgets ul.menu li a:hover {
    text-decoration: underline;
    }

    /* Style for icons in footer widgets */
    section.footer-widgets a i {
    margin-right: 10px;
    transition: transform 0.3s ease, color 0.3s ease;
    }

    /* Add hover effect for footer widget icons */
    section.footer-widgets a:hover i {
    transform: scale(1.2);
    color: #7fa9bb;
    }

    /* Add decorative SVG wave below large footer */
    section.footer-widgets::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px;
    background: none;
    background-size: cover;
    display:none;
    }

    /* Style for small footer area */
    .site-footer {
    background: none;
    color: #ffffff;
    text-align: center;
    padding: 20px 10px;
    font-size: 14px;
    }

    /* Fix horizontal scrolling issues on mobile */
    html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
    margin: 0;
    padding: 0;
    }

    /* Ensure full-width layout on mobile /
    @media screen and (max-width: 768px) {
    .container, .site, .site-content, .container-fluid, main, .main-content {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    }
    .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    }
    [class
    ="col-"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
    }
    img, video, iframe, table {
    max-width: 100% !important;
    height: auto !important;
    }
    }

    /* Adjust nationality input model */
    span.select2-container .select2-selection__clear {
    display: none !important;
    }

    /* Adjust width of select2 dropdowns */
    span.select2.select2-container.select2-container--default.select2-container--above.select2-container--focus {
    width: 100% !important;
    }

    /* Prevent flex-wrap for specific flexbox containers */
    .e-con.e-flex > .e-con-inner {
    flex-wrap: nowrap;
    }

    /* Remove bottom padding for footer container */
    section.footer-widgets .container {
    padding-bottom: 0;
    }

    /* Adjust rotation for sidebar toggle icons */
    .tutor-course-single-content-wrapper.tutor-course-single-sidebar-hidden .tutor-course-topics-sidebar-toggler .tutor-icon-left {
    transform: rotate(360deg);
    }

    /* Reverse rotation for left icons */
    span.tutor-icon-left {
    transform: rotate(180deg);
    }

    /* Adjust padding for specific Elementor element */
    .elementor-element.elementor-element-d67c44c.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded {
    padding: 0 20px;
    }

    /* Adjust button group layout for smaller screens */
    @media (max-width: 856px) {
    .tutor-dc-button-group.tutor-mt-72 {
    position: static;
    display: flex;
    gap: 10px;
    margin: 10px;
    }
    }

    /* Hide meta details for search results in RTL layout */
    body.rtl.archive.search.search-results.post-type-archive.post-type-archive-courses.tutor-lms.tutor-frontend.hfeed.elementor-default.elementor-kit-9 .tutor-meta.tutor-mt-auto {
    display: none;
    }

    /* Hide course instructor details */
    .tutor-course-details-instructors {
    display: none;
    }

    /* Hide specific SVG icons */
    svg#tutor_svg_font_id {
    display: none;
    }

    /* Adjust grid layout for section #block-6 on larger screens */
    @media (min-width: 992px) {
    section#block-6 div {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    }
    }

    /* Hide purchase mark icons */
    span.tutor-fs-6.tutor-color-success.tutor-icon-purchase-mark.tutor-mr-8 {
    display: none;
    }

    /* Style primary buttons */
    .tutor-btn-primary {
    background-color: #8cc4d8 !important;
    color: white !important;
    border-color: var(--tutor-color-white);
    transition: all 0.3s ease !important;
    }

    /* Add hover effect for primary buttons */
    .tutor-btn-primary:hover {
    transform: translateY(-2px);
    }

    /* Remove bottom padding for specific screen width */
    @media (max-width: 767px) {
    .tutor-screen-frontend-dashboard {
    padding-bottom: 0;
    }
    }

    /* Adjust right padding for specific section */
    .tutor-mt-80.tutor-pb-80 {
    padding-right: 20px;
    }

    /* Reset margins for course topic footer */
    .tutor-course-topic-single-footer.tutor-px-32.tutor-py-12.tutor-mt-auto {
    margin-bottom: auto;
    margin-top: unset;
    }

    header.header-transparent .navbar.navbar-left .navbar-brand {
    visibility: hidden;
    }

    li.tutor-dashboard-menu-item.tutor-dashboard-menu-purchase_history {
    display: none;
    }

    .tutor-submenu-links ul .profile-name {
    text-align: right;
    }

    .tutor-password-strength-hint .indicator {
    max-width:100%;
    }

    .text.tutor-fs-7.tutor-color-muted {
    display: none !important;
    }

    .llar_notification_login_page {
    top: 85% !important;
    }

    /* تعديل الازرار للتسجيل في الدورات */
    .tutor-btn-primary, a.tutor-btn.tutor-btn-outline-primary.tutor-btn-md.tutor-btn-block, a.tutor-btn.tutor-btn-outline-primary.tutor-btn-sm{
    color: #fff !important;
    font-weight: 400 !important;
    display: inline-block !important;
    border-radius: 6px !important;
    background-color: #06605e !important;
    transition: all 0.3s ease-in-out !important;
    }

    .tutor-btn-primary:hover, a.tutor-btn.tutor-btn-outline-primary.tutor-btn-md.tutor-btn-block:hover, a.tutor-btn.tutor-btn-outline-primary.tutor-btn-sm:hover {
    background-color: #91dad8 !important;
    color: #000 !important;
    }

    .tutor-avatar {
    box-shadow: 0px 0px 0px 1px #d3d3d3;
    }

    .tutor-avatar-text {
    background-color: #06605ec9;
    }

    .tutor-btn-secondary:hover, .tutor-btn-secondary:focus, .tutor-btn-secondary:active {
    color: #fff;
    background-color: #06605e;
    }

    /تعديل الدروس/
    .lesson-container {
    background: white;
    border-radius: 12px;
    padding: 20px;
    margin: 15px;
    box-shadow: 0 2px 4px #3;
    max-width: 600px;
    border: 1px solid #eee;
    }

    .lesson-header {
    text-align: center;
    margin-bottom: 20px;
    }

    .lesson-title, .lesson-footer {
    color: #666;
    font-size: 14px;
    margin-bottom: 5px;
    }

    .lesson-main-title, .lesson-subtitle {
    color: #4d9aaa;
    margin: 10px 0;
    font-size: 18px;
    font-weight: bold;
    }

    .lesson-footer {
    margin-top: 5px;
    }

    .lesson-subtitle {
    margin-top: 10px;
    }

    a#button-inside-lesson, .download-button {
    padding: 12px 15px;
    background-color: #06605e;
    border-radius: 8px;
    text-decoration: none;
    color: white;
    text-align: center;
    display: block;
    transition: all 0.3s ease-in-out;

    }

    a#button-inside-lesson:hover, .download-button:hover {
    color: #000;
    background-color: #91dad8;
    transform: translateY(-2px);

    }

    a.tutor-btn.tutor-btn-outline-primary.tutor-btn-sm:hover{
    transform: translatey(-2px);
    }

    /تاثير شريط التقدم/
    .tutor-progress-bar {
    position: relative;
    height: 20px;
    background: #f0f0f0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
    }

    .tutor-progress-value {
    position: absolute;
    width: var(--tutor-progress-value);
    height: 100%;
    background: linear-gradient(45deg, #2196F3, #00BCD4);
    border-radius: 10px;
    animation: shimmer 2s infinite linear;
    background-size: 200% 100%;
    }

    .tutor-progress-value::after {
    content: attr(data-value);
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-weight: bold;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
    }

    /* تأثير التموج */
    @Keyframes shimmer {
    100% {
    background-position: 200% 0;
    }
    0% {
    background-position: -200% 0;
    }
    }

    /* إضافة تأثير عند التحويم */
    .tutor-progress-bar:hover .tutor-progress-value {
    filter: brightness(1.1);
    transition: all 0.3s ease;
    }

    /* تأثير النبض */
    @Keyframes pulse {
    0% {
    box-shadow: 0 0 0 0 rgba(33, 150, 243, 0.4);
    }
    70% {
    box-shadow: 0 0 0 10px rgba(33, 150, 243, 0);
    }
    100% {
    box-shadow: 0 0 0 0 rgba(33, 150, 243, 0);
    }
    }

    .tutor-progress-bar {
    margin-top: 12px;
    animation: pulse 2s infinite;
    }

    @media (max-width: 480px) {
    body.rtl .tutor-toast-parent {
    right: auto;
    left: auto;
    }
    }

    .tutor-review-summary .tutor-progress-bar {
    animation:none;
    }

    .tutor-review-summary .tutor-progress-value{
    background: #ed9700;
    animation:none;
    }

    @media (min-width: 575px) {
    .tutor-table tr th:not(.tutor-text-left):not(.tutor-text-center):not(.tutor-text-right) {
    text-align: right;
    }

    .tutor-table tr td:not(.tutor-text-left):not(.tutor-text-center):not(.tutor-text-right) {
    text-align: right;
    }

    }

    @media only screen and (max-width: 575px) {
    .tutor-table-mobile td[data-title] {
    justify-items: end;
    }
    }

    a.tutor-btn-primary {
    padding: 6px 15px;
    }

    .FiqhAsSiyaam1446__container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 12px;
    max-width: 600px;
    margin: 0 auto;
    }

    .FiqhAsSiyaam1446__audio-player {
    width: 100%;
    margin-bottom: 10px;
    }

    /* تحسين مظهر مشغل WordPress الافتراضي */
    .FiqhAsSiyaam1446__audio-player .wp-audio-shortcode {
    width: 100% !important;
    margin: 0;
    }

    .FiqhAsSiyaam1446__buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    width: 100%;
    }

    .FiqhAsSiyaam1446__download-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    font-family: 'Arial', sans-serif;
    font-size: 16px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .FiqhAsSiyaam1446__pdf-btn {
    background-color: #e74c3c;
    color: white;
    }

    .FiqhAsSiyaam1446__audio-btn {
    background-color: #3498db;
    color: white;
    }

    .FiqhAsSiyaam1446__download-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }

    .FiqhAsSiyaam1446__icons {
    font-size: 20px;
    }

    .FiqhAsSiyaam1446__text {
    font-weight: bold;
    }

    body.rtl.archive.tax-course-category.term-64.logged-in.tutor-lms.hfeed.elementor-default.elementor-kit-9 .tutor-meta.tutor-mt-auto {
    display: none;
    }

    @media (max-width: 991px) {
    .navbar-nav.active {
    right: -300px;
    transform: translateX(-300px);
    }
    }

    @media (max-width: 991px) {
    .navbar-nav {
    left: -300px;
    transform: translateX(-300px);
    }
    }
    /* .nav-close .btn-nav-close .close-btn {
    transform: rotate(45deg);
    margin-top: -4px;
    margin-left: 4px;
    } */

    .nav-close {
    margin-right: auto;
    margin-top: 10px;
    margin-left: unset;
    display: none;
    }

    .rc-info-container {
    direction: rtl;
    line-height: 1.6;
    color: #333;
    margin: 1rem 0;
    }

    .rc-info-container > div {
    margin-bottom: 1rem;
    }

    .rc-info-container p {
    margin: 0.3rem 0;
    }

    .rc-links {
    margin-top: 0.3rem;
    }

    .rc-link {
    color: #3E64DE;
    text-decoration: none;
    margin-left: 1rem;
    }

    .rc-link:hover {
    color: #395BCA;
    text-decoration: underline;
    }

    .rc-material {
    margin-bottom: 0.8rem;
    }

    section.footer-widgets .container {
    border-bottom: none;
    }

    .footer-wrapper {
    background: url(https://test.a-alqasim.com/wp-content/uploads/2025/02/خلفية2-e1740376641303.jpg);
    background-size: cover;
    background-position: bottom;
    }

    body {
    background: linear-gradient(
    135deg,
    #ffffff 0%,
    #f8f9ff 25%,
    #f0f3ff 50%,
    #f8f9ff 75%,
    #ffffff 100%
    );
    background-attachment: fixed;
    position: relative;
    overflow-x: hidden;
    }

    body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-image:
    radial-gradient(circle at 20% 20%, rgba(62, 100, 222, 0.03) 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(57, 91, 202, 0.03) 0%, transparent 50%),
    radial-gradient(circle at 50% 50%, rgba(62, 100, 222, 0.02) 0%, transparent 70%);
    z-index: -1;
    }

    /* Optional subtle pattern overlay */
    body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54.627 0l.83.828-1.415 1.415L51.8 0h2.827zM5.373 0l-.83.828L5.96 2.243 8.2 0H5.374zM48.97 0l3.657 3.657-1.414 1.414L46.143 0h2.828zM11.03 0L7.372 3.657 8.787 5.07 13.857 0H11.03zm32.284 0L49.8 6.485 48.384 7.9l-7.9-7.9h2.83zM16.686 0L10.2 6.485 11.616 7.9l7.9-7.9h-2.83zM22.344 0L13.858 8.485 15.272 9.9l9.9-9.9h-2.828zM32 0l-9.9 9.9 1.414 1.414L33.414 1.414 32 0zm-3.172 0L19.757 9.071l1.415 1.414L31.243 0h-2.415zm-5.656 0L15.1 8.071l1.414 1.414L26.586 0h-3.414zm8.486 0L23.1 8.071l1.414 1.414L34.586 0h-3.414zM32 0l-3.657 3.657 1.414 1.414L33.414 1.414 32 0zm-6.485 0L21.9 3.657l1.414 1.414L27.886 0h-2.371zm2.828 0l-2.828 2.828 1.414 1.414L30.414 1.414 28.343 0zm6.485 0l-2.828 2.828 1.414 1.414L36.9 0h-2.072zm-9.9 0l-.828.828L25.272 2.243 28.2 0h-3.342zM32 0l-.828.828L32.414 2.243 35.343 0H32zm3.657 0l-.828.828L36.1 2.243 39.03 0h-3.373zm-8.486 0L26.343.828 27.8 2.243 30.686 0h-3.515zm3.515 0l-.828.828 1.414 1.415L34.828 0h-4.142z' fill='%233E64DE' fill-opacity='0.03' fill-rule='evenodd'/%3E%3C/svg%3E");
    z-index: -1;
    }

    @media (max-width: 1199px) {
    .tutor-course-topic-single-header .tutor-icon-previous{

    transform: rotate(180deg);
    }
    

    }

    .tutor-quiz-btn-group.tutor-mt-60.tutor-d-flex .tutor-icon-previous.tutor-mr-8 {

    transform: rotate(180deg);
    }
    

    .rtl .tutor-header-profile-menu-items .tutor-header-submenu {
    position: absolute;
    z-index: 999;
    width: 698px;
    top: 50px;
    right: -150%;
    }

    @media (max-width: 767px) {
    .rtl .tutor-header-profile-menu-items .tutor-header-submenu {
    top: 50px;
    right: -15px;
    padding-top: 20px;
    }
    }

    span.FiqhAsSiyaam1446__icon {
    display: none;
    }

    .tutor-course-topic-single-footer.tutor-px-32.tutor-py-12.tutor-mt-auto {
    display: none !important;
    }

    button.tutor-btn.tutor-btn-ghost.tutor-btn-md.skip-quiz-btn.tutor-ml-24 {
    display: none;
    }

    @media (min-width: 1200px) {
    div#progres-in-course-page {
    display: none;
    }
    }
    @media (max-width: 1199px) {
    aside#progres-in-course-page-aside {
    display:none;

    }
    }

    .tutor-certificate-info-table {
    min-width: 0;
    }

    .tutor-certificate-info-table th, .tutor-certificate-info-table td
    {
    text-align: right !important;
    }

    .tutor-mb-20 {
    line-height: 1.4;
    }

    /* .tutor-course-single-content-wrapper .tutor-course-single-sidebar-wrapper.tutor-quiz-sidebar {
    display: none;
    }

    .tutor-course-single-content-wrapper .tutor-course-single-sidebar-wrapper.tutor-lesson-sidebar {
    display: none;
    }

    .tutor-course-topic-single-header a.tutor-iconic-btn {
    display: none;
    }
    */

    @media (max-width: 767px) {
    .navbar-nav .menu-item a {
    font-size: large;
    font-weight: bold;
    }
    }

    .gt_switcher-popup {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #0044cc;
    font-weight: bold;
    padding: 8px;
    border: 1px solid transparent;
    border-radius: 5px;
    background-color: #f4f4f4;
    cursor: pointer;
    }

    .gt_switcher-popup:hover {
    background-color: #27c2c4;
    color: #ffffff;
    }

    .gt_languages a {
    display: flex;
    align-items: center;
    color: #333333;
    margin: auto;
    text-decoration: none;
    }

    a.glink img {
    margin-right: 5px;
    width: revert-layer;
    }

    .gt_languages a:hover {
    color: #27c2c4;
    }

    	</style>
    	</head>
    
    Skip to content
    +
    <style> .carousel-container { width: 100%; position: relative; background-color: transparent; border-radius: 12px; margin: auto; max-width: 1200px; }
        .owl-carousel {
            position: relative;
            border-radius: 12px;
            overflow: hidden;
        }
    
        .owl-carousel .item img {
            width: 100%;
            height: auto;
            max-height: 500px;
            object-fit: cover;
            transition: transform 0.3s ease;
            display: block;
            border-radius: 12px;
        }
    
        /* تنسيق منطقة النقاط */
        .owl-theme .owl-nav.disabled+.owl-dots {
            position: relative;
            width: 100%;
            text-align: center;
            padding: 15px 0;
            margin-top: 0;
            border-radius: 0 0 12px 12px;
        }
    
        /* التنسيق الجديد للنقاط */
        .owl-dot {
            width: 35px !important;
            height: 4px !important;
            display: inline-block;
            margin-right: 6px !important;
            opacity: 0.7;
            transition: all 0.3s ease;
            border-radius: 2px;
        }
    
        .owl-dot span {
            display: none !important; /* إخفاء الشكل الافتراضي */
        }
    
        .owl-dot {
            background-color: #06605e !important;
            border: 0 !important;
        }
    
        .owl-dot.active {
            opacity: 1 !important;
            border: 0 !important;
        }
    
        /* الظل على الصور فقط */
        .owl-stage-outer {
            border-radius: 12px;
        }
    
        /* تحسين الاستجابة للشاشات المختلفة */
        @media (max-width: 768px) {
            .owl-carousel .item img {
                min-height: 180px;
                max-height: 250px;
            }
    
            .owl-dot {
                width: 25px !important;
                height: 3px !important;
                margin-right: 4px !important;
            }
    
            .owl-dots {
                padding: 12px 0;
            }
        }
    </style>
    <div class="carousel-container">
        <div class="owl-carousel owl-theme">
                                            <div class="item">
                                            <a href="https://sharh.qm.edu.sa/Courses/1447fiqhassiyaam/" target="_self">
                                        <img decoding="async" src="https://sharh.qm.edu.sa/wp-content/uploads/2026/03/400-225.jpg.jpeg" alt="Banner Image">
                                            </a>
                                    </div>
                                            <div class="item">
                                            <a href="https://sharh.qm.edu.sa/Courses/alqawaidalarba/" target="_self">
                                        <img decoding="async" src="https://sharh.qm.edu.sa/wp-content/uploads/2026/03/دورة-في-شرح-القواعد-الاربع-225-400.jpg.jpeg" alt="Banner Image">
                                            </a>
                                    </div>
                    </div>
    </div>
    </div>
    					</div>
    			</div>
    				</div>
    			</div>
    	<div class="elementor-element elementor-element-14de0f3 e-flex e-con-boxed e-con e-parent" data-id="14de0f3" data-element_type="container" data-e-type="container">
    				<div class="e-con-inner">
    			<div class="elementor-element elementor-element-05a7550 elementor-widget elementor-widget-shortcode" data-id="05a7550" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
    			<div class="elementor-widget-container">
    						<div class="elementor-shortcode">    <style>
    .courses-display-wrapper {
        direction: rtl;
    }
    
    .courses-display-wrapper .section-heading {
        margin: 0 0 1rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }
    
    .courses-display-wrapper .heading-icon {
        line-height: 1;
    }
    
    .courses-in-progress-section {
        margin-bottom: 2rem;
    }
    
    .category-filter {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
        margin-bottom: 1.25rem;
    }
    
    .category-filter .filter-btn {
        cursor: pointer;
    }
    
    /* شبكة الدورات - layout فقط */
    .courses-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.25rem;
        position: relative;
        min-height: 120px;
    }
    
    .courses-display-card {
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
    
    .courses-display-card-body {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        flex: 1;
    }
    
    .courses-display-title {
        margin: 0;
    }
    
    .courses-display-title-link {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-align: right;
        text-decoration: none;
        color: #000;
    }
    
    .courses-display-card-body > .tutor-btn {
        margin-top: auto;
    }
    
    .courses-display-card .tutor-ratio {
        background: rgba(0, 0, 0, 0.03);
    }
    
    .courses-display-card .tutor-card-image-top {
        width: 100%;
        height: 100%;
        object-fit: contain !important;
    }
    
    .courses-display-progress-meta {
        margin-top: 0.25rem;
    }
    
    .courses-display-category {
        margin-bottom: -0.25rem;
    }
    
    .courses-display-meta {
        margin-top: 0.25rem;
    }
    
    /* مؤشر التحميل */
    .loading-indicator {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(255, 255, 255, 0.9);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        z-index: 10;
        border-radius: 8px;
    }
    
    .spinner {
        width: 40px;
        height: 40px;
        border: 3px solid rgba(0, 0, 0, 0.15);
        border-top-color: rgba(0, 0, 0, 0.6);
        border-radius: 50%;
        animation: spin 0.8s linear infinite;
    }
    
    @keyframes spin {
        to {
            transform: rotate(360deg);
        }
    }
    
    /* رسالة عدم وجود دورات */
    .no-courses-message {
        grid-column: 1 / -1;
        text-align: center;
        padding: 2.5rem 1rem;
    }
    
    /* ===================================
       التصميم المتجاوب
    =================================== */
    @media (max-width: 1024px) {
        .courses-grid {
            grid-template-columns: repeat(2, 1fr);
        }
    }
    
    @media (max-width: 768px) {
        .courses-grid {
            grid-template-columns: 1fr;
            gap: 1rem;
        }
    }
    
    @media (prefers-reduced-motion: reduce) {
        .courses-display-card,
        .filter-btn {
            transition: none;
        }
    
        .spinner {
            animation: none;
        }
    }
    
    .courses-display-card:focus-within {
        outline: 2px solid currentColor;
        outline-offset: 2px;
    }
    </style>
        <div class="courses-display-wrapper" dir="rtl">
            <section class="available-courses-section" aria-label="الدورات المتاحة">
        <h2 class="section-heading">
            <span class="heading-icon">🎓</span>
            الدورات المتاحة
        </h2>
        
        <!-- فلتر التصنيفات -->
        <div class="category-filter" role="tablist" aria-label="تصفية الدورات حسب المستوى">
            <button class="filter-btn tutor-btn tutor-btn-sm tutor-btn-primary active" 
                    data-category="all"
                    role="tab"
                    aria-selected="true"
                    aria-controls="courses-grid">
                الكل
            </button>
                            <button class="filter-btn tutor-btn tutor-btn-sm tutor-btn-outline-primary" 
                        data-category="sub_1773229716125_840"
                        role="tab"
                        aria-selected="false"
                        aria-controls="courses-grid">
                    المستوى الثاني                </button>
                            <button class="filter-btn tutor-btn tutor-btn-sm tutor-btn-outline-primary" 
                        data-category="sub_1773229743282_776"
                        role="tab"
                        aria-selected="false"
                        aria-controls="courses-grid">
                    المستوى الثالث                </button>
                            <button class="filter-btn tutor-btn tutor-btn-sm tutor-btn-outline-primary" 
                        data-category="sub_1773229767079_454"
                        role="tab"
                        aria-selected="false"
                        aria-controls="courses-grid">
                    المستوى الرابع                </button>
                            <button class="filter-btn tutor-btn tutor-btn-sm tutor-btn-outline-primary" 
                        data-category="sub_1773229785330_36"
                        role="tab"
                        aria-selected="false"
                        aria-controls="courses-grid">
                    المستوى الخامس                </button>
                            <button class="filter-btn tutor-btn tutor-btn-sm tutor-btn-outline-primary" 
                        data-category="sub_1773229803678_361"
                        role="tab"
                        aria-selected="false"
                        aria-controls="courses-grid">
                    المستوى السادس                </button>
                            <button class="filter-btn tutor-btn tutor-btn-sm tutor-btn-outline-primary" 
                        data-category="sub_1773582804765_915"
                        role="tab"
                        aria-selected="false"
                        aria-controls="courses-grid">
                    المتون الإضافية                </button>
                            <button class="filter-btn tutor-btn tutor-btn-sm tutor-btn-outline-primary" 
                        data-category="sub_1773229821647_993"
                        role="tab"
                        aria-selected="false"
                        aria-controls="courses-grid">
                    دورات متفرقة                </button>
                    </div>
        
        <!-- حاوية الدورات -->
        <div id="courses-grid" 
             class="courses-grid available-courses-grid" 
             role="tabpanel"
             aria-live="polite">
            
            <!-- مؤشر التحميل -->
            <div class="loading-indicator" style="display: none;" aria-hidden="true">
                <div class="spinner"></div>
                <span>جاري التحميل...</span>
            </div>
            
                <article class="tutor-card courses-display-card courses-display-available" aria-label="شرح القواعد الأربع">
        <div class="tutor-course-thumbnail">
            <a href="https://sharh.qm.edu.sa/Courses/alqawaidalarba/" class="tutor-d-block">
                <div class="tutor-ratio tutor-ratio-16x9">
                    <img decoding="async" class="tutor-card-image-top" src="https://sharh.qm.edu.sa/wp-content/uploads/2026/05/دورة-في-شرح-القواعد-الأربع.jpg.jpeg" 
                         alt="شرح القواعد الأربع"
                         loading="lazy">
                </div>
            </a>
        </div>
    
        <div class="tutor-card-body courses-display-card-body">
            <!-- التصنيف -->
                            <div class="tutor-fs-7 tutor-color-muted courses-display-category" aria-label="مستوى الدورة">
                    المستوى الثاني                </div>
            
            <h3 class="tutor-fs-5 tutor-fw-medium courses-display-title">
                <a href="https://sharh.qm.edu.sa/Courses/alqawaidalarba/" class="courses-display-title-link">
                    شرح القواعد الأربع                </a>
            </h3>
    
            <!-- التقييم وعدد المسجلين -->
            <div class="tutor-row tutor-align-center tutor-justify-between tutor-mt-12 courses-display-meta">
                <div class="tutor-col">
                    <div class="tutor-course-ratings tutor-mb-0" aria-label="تقييم الدورة 5 من 5">
                        <div class="tutor-ratings">
                            <div class="tutor-ratings-stars">
                                <span class="tutor-icon-star-bold" data-rating-value="1"></span><span class="tutor-icon-star-bold" data-rating-value="2"></span><span class="tutor-icon-star-bold" data-rating-value="3"></span><span class="tutor-icon-star-bold" data-rating-value="4"></span><span class="tutor-icon-star-bold" data-rating-value="5"></span>                            </div>
                            <div class="tutor-ratings-average">5</div>
                            <div class="tutor-ratings-count">(2955)</div>
                        </div>
                    </div>
                </div>
    
                <div class="tutor-col-auto tutor-fs-7 tutor-color-muted courses-display-enrolled" aria-label="عدد المسجلين">
                    <span class="tutor-fw-medium tutor-color-black">9283</span>
                    <span>طالب</span>
                </div>
            </div>
    
            
            <!-- زر الإجراء -->
                            <a href="https://sharh.qm.edu.sa/Courses/alqawaidalarba/" 
                   class="tutor-btn tutor-btn-primary tutor-btn-block tutor-mt-20"
                   aria-label="التسجيل في دورة شرح القواعد الأربع">
                    التسجيل في الدورة                </a>
                    </div>
    </article>
        <article class="tutor-card courses-display-card courses-display-available" aria-label="شرح منظومة البيقوني في مصطلح الحديث">
        <div class="tutor-course-thumbnail">
            <a href="https://sharh.qm.edu.sa/Courses/albayqooniyyah/" class="tutor-d-block">
                <div class="tutor-ratio tutor-ratio-16x9">
                    <img decoding="async" class="tutor-card-image-top" src="https://sharh.qm.edu.sa/wp-content/uploads/2026/05/دورة-في-منظومة-البيقوني.jpg.jpeg" 
                         alt="شرح منظومة البيقوني في مصطلح الحديث"
                         loading="lazy">
                </div>
            </a>
        </div>
    
        <div class="tutor-card-body courses-display-card-body">
            <!-- التصنيف -->
                            <div class="tutor-fs-7 tutor-color-muted courses-display-category" aria-label="مستوى الدورة">
                    المستوى الرابع                </div>
            
            <h3 class="tutor-fs-5 tutor-fw-medium courses-display-title">
                <a href="https://sharh.qm.edu.sa/Courses/albayqooniyyah/" class="courses-display-title-link">
                    شرح منظومة البيقوني في مصطلح الحديث                </a>
            </h3>
    
            <!-- التقييم وعدد المسجلين -->
            <div class="tutor-row tutor-align-center tutor-justify-between tutor-mt-12 courses-display-meta">
                <div class="tutor-col">
                    <div class="tutor-course-ratings tutor-mb-0" aria-label="تقييم الدورة 4.9 من 5">
                        <div class="tutor-ratings">
                            <div class="tutor-ratings-stars">
                                <span class="tutor-icon-star-bold" data-rating-value="1"></span><span class="tutor-icon-star-bold" data-rating-value="2"></span><span class="tutor-icon-star-bold" data-rating-value="3"></span><span class="tutor-icon-star-bold" data-rating-value="4"></span><span class="tutor-icon-star-half-bold" data-rating-value="5"></span>                            </div>
                            <div class="tutor-ratings-average">4.9</div>
                            <div class="tutor-ratings-count">(2290)</div>
                        </div>
                    </div>
                </div>
    
                <div class="tutor-col-auto tutor-fs-7 tutor-color-muted courses-display-enrolled" aria-label="عدد المسجلين">
                    <span class="tutor-fw-medium tutor-color-black">6370</span>
                    <span>طالب</span>
                </div>
            </div>
    
            
            <!-- زر الإجراء -->
                            <a href="https://sharh.qm.edu.sa/Courses/albayqooniyyah/" 
                   class="tutor-btn tutor-btn-primary tutor-btn-block tutor-mt-20"
                   aria-label="التسجيل في دورة شرح منظومة البيقوني في مصطلح الحديث">
                    التسجيل في الدورة                </a>
                    </div>
    </article>
        <article class="tutor-card courses-display-card courses-display-available" aria-label="شرح قصيدة أبي إسحاق الإلبيري في الزهد والحث على طلب العلم">
        <div class="tutor-course-thumbnail">
            <a href="https://sharh.qm.edu.sa/Courses/alilbiri/" class="tutor-d-block">
                <div class="tutor-ratio tutor-ratio-16x9">
                    <img decoding="async" class="tutor-card-image-top" src="https://sharh.qm.edu.sa/wp-content/uploads/2026/05/دورة-في-شرح-الإلبيري.jpg.jpeg" 
                         alt="شرح قصيدة أبي إسحاق الإلبيري في الزهد والحث على طلب العلم"
                         loading="lazy">
                </div>
            </a>
        </div>
    
        <div class="tutor-card-body courses-display-card-body">
            <!-- التصنيف -->
                            <div class="tutor-fs-7 tutor-color-muted courses-display-category" aria-label="مستوى الدورة">
                    المستوى الرابع                </div>
            
            <h3 class="tutor-fs-5 tutor-fw-medium courses-display-title">
                <a href="https://sharh.qm.edu.sa/Courses/alilbiri/" class="courses-display-title-link">
                    شرح قصيدة أبي إسحاق الإلبيري في الزهد والحث على طلب العلم                </a>
            </h3>
    
            <!-- التقييم وعدد المسجلين -->
            <div class="tutor-row tutor-align-center tutor-justify-between tutor-mt-12 courses-display-meta">
                <div class="tutor-col">
                    <div class="tutor-course-ratings tutor-mb-0" aria-label="تقييم الدورة 4.9 من 5">
                        <div class="tutor-ratings">
                            <div class="tutor-ratings-stars">
                                <span class="tutor-icon-star-bold" data-rating-value="1"></span><span class="tutor-icon-star-bold" data-rating-value="2"></span><span class="tutor-icon-star-bold" data-rating-value="3"></span><span class="tutor-icon-star-bold" data-rating-value="4"></span><span class="tutor-icon-star-half-bold" data-rating-value="5"></span>                            </div>
                            <div class="tutor-ratings-average">4.9</div>
                            <div class="tutor-ratings-count">(1390)</div>
                        </div>
                    </div>
                </div>
    
                <div class="tutor-col-auto tutor-fs-7 tutor-color-muted courses-display-enrolled" aria-label="عدد المسجلين">
                    <span class="tutor-fw-medium tutor-color-black">5209</span>
                    <span>طالب</span>
                </div>
            </div>
    
            
            <!-- زر الإجراء -->
                            <a href="https://sharh.qm.edu.sa/Courses/alilbiri/" 
                   class="tutor-btn tutor-btn-primary tutor-btn-block tutor-mt-20"
                   aria-label="التسجيل في دورة شرح قصيدة أبي إسحاق الإلبيري في الزهد والحث على طلب العلم">
                    التسجيل في الدورة                </a>
                    </div>
    </article>
        <article class="tutor-card courses-display-card courses-display-available" aria-label="شرح تحفة الأطفال في تجويد القرآن">
        <div class="tutor-course-thumbnail">
            <a href="https://sharh.qm.edu.sa/Courses/thufatulatfaal/" class="tutor-d-block">
                <div class="tutor-ratio tutor-ratio-16x9">
                    <img decoding="async" class="tutor-card-image-top" src="https://sharh.qm.edu.sa/wp-content/uploads/2026/05/دورة-في-تحفة-الإطفال.jpg.jpeg" 
                         alt="شرح تحفة الأطفال في تجويد القرآن"
                         loading="lazy">
                </div>
            </a>
        </div>
    
        <div class="tutor-card-body courses-display-card-body">
            <!-- التصنيف -->
                            <div class="tutor-fs-7 tutor-color-muted courses-display-category" aria-label="مستوى الدورة">
                    المستوى الثالث                </div>
            
            <h3 class="tutor-fs-5 tutor-fw-medium courses-display-title">
                <a href="https://sharh.qm.edu.sa/Courses/thufatulatfaal/" class="courses-display-title-link">
                    شرح تحفة الأطفال في تجويد القرآن                </a>
            </h3>
    
            <!-- التقييم وعدد المسجلين -->
            <div class="tutor-row tutor-align-center tutor-justify-between tutor-mt-12 courses-display-meta">
                <div class="tutor-col">
                    <div class="tutor-course-ratings tutor-mb-0" aria-label="تقييم الدورة 4.9 من 5">
                        <div class="tutor-ratings">
                            <div class="tutor-ratings-stars">
                                <span class="tutor-icon-star-bold" data-rating-value="1"></span><span class="tutor-icon-star-bold" data-rating-value="2"></span><span class="tutor-icon-star-bold" data-rating-value="3"></span><span class="tutor-icon-star-bold" data-rating-value="4"></span><span class="tutor-icon-star-half-bold" data-rating-value="5"></span>                            </div>
                            <div class="tutor-ratings-average">4.9</div>
                            <div class="tutor-ratings-count">(2296)</div>
                        </div>
                    </div>
                </div>
    
                <div class="tutor-col-auto tutor-fs-7 tutor-color-muted courses-display-enrolled" aria-label="عدد المسجلين">
                    <span class="tutor-fw-medium tutor-color-black">8501</span>
                    <span>طالب</span>
                </div>
            </div>
    
            
            <!-- زر الإجراء -->
                            <a href="https://sharh.qm.edu.sa/Courses/thufatulatfaal/" 
                   class="tutor-btn tutor-btn-primary tutor-btn-block tutor-mt-20"
                   aria-label="التسجيل في دورة شرح تحفة الأطفال في تجويد القرآن">
                    التسجيل في الدورة                </a>
                    </div>
    </article>
        <article class="tutor-card courses-display-card courses-display-available" aria-label="دورة في آداب طالب العلم">
        <div class="tutor-course-thumbnail">
            <a href="https://sharh.qm.edu.sa/Courses/adabtalibalilm/" class="tutor-d-block">
                <div class="tutor-ratio tutor-ratio-16x9">
                    <img decoding="async" class="tutor-card-image-top" src="https://sharh.qm.edu.sa/wp-content/uploads/2026/05/دورة-في-آداب-طالب-العلم.jpg.jpeg" 
                         alt="دورة في آداب طالب العلم"
                         loading="lazy">
                </div>
            </a>
        </div>
    
        <div class="tutor-card-body courses-display-card-body">
            <!-- التصنيف -->
                            <div class="tutor-fs-7 tutor-color-muted courses-display-category" aria-label="مستوى الدورة">
                    دورات متفرقة                </div>
            
            <h3 class="tutor-fs-5 tutor-fw-medium courses-display-title">
                <a href="https://sharh.qm.edu.sa/Courses/adabtalibalilm/" class="courses-display-title-link">
                    دورة في آداب طالب العلم                </a>
            </h3>
    
            <!-- التقييم وعدد المسجلين -->
            <div class="tutor-row tutor-align-center tutor-justify-between tutor-mt-12 courses-display-meta">
                <div class="tutor-col">
                    <div class="tutor-course-ratings tutor-mb-0" aria-label="تقييم الدورة 4.9 من 5">
                        <div class="tutor-ratings">
                            <div class="tutor-ratings-stars">
                                <span class="tutor-icon-star-bold" data-rating-value="1"></span><span class="tutor-icon-star-bold" data-rating-value="2"></span><span class="tutor-icon-star-bold" data-rating-value="3"></span><span class="tutor-icon-star-bold" data-rating-value="4"></span><span class="tutor-icon-star-half-bold" data-rating-value="5"></span>                            </div>
                            <div class="tutor-ratings-average">4.9</div>
                            <div class="tutor-ratings-count">(2545)</div>
                        </div>
                    </div>
                </div>
    
                <div class="tutor-col-auto tutor-fs-7 tutor-color-muted courses-display-enrolled" aria-label="عدد المسجلين">
                    <span class="tutor-fw-medium tutor-color-black">9441</span>
                    <span>طالب</span>
                </div>
            </div>
    
            
            <!-- زر الإجراء -->
                            <a href="https://sharh.qm.edu.sa/Courses/adabtalibalilm/" 
                   class="tutor-btn tutor-btn-primary tutor-btn-block tutor-mt-20"
                   aria-label="التسجيل في دورة دورة في آداب طالب العلم">
                    التسجيل في الدورة                </a>
                    </div>
    </article>
        <article class="tutor-card courses-display-card courses-display-available" aria-label="شرح الورقات">
        <div class="tutor-course-thumbnail">
            <a href="https://sharh.qm.edu.sa/Courses/sharhalwaraqat/" class="tutor-d-block">
                <div class="tutor-ratio tutor-ratio-16x9">
                    <img decoding="async" class="tutor-card-image-top" src="https://sharh.qm.edu.sa/wp-content/uploads/2026/05/إعلان-دورة-في-الورقات.jpg.jpeg" 
                         alt="شرح الورقات"
                         loading="lazy">
                </div>
            </a>
        </div>
    
        <div class="tutor-card-body courses-display-card-body">
            <!-- التصنيف -->
                            <div class="tutor-fs-7 tutor-color-muted courses-display-category" aria-label="مستوى الدورة">
                    المستوى الخامس                </div>
            
            <h3 class="tutor-fs-5 tutor-fw-medium courses-display-title">
                <a href="https://sharh.qm.edu.sa/Courses/sharhalwaraqat/" class="courses-display-title-link">
                    شرح الورقات                </a>
            </h3>
    
            <!-- التقييم وعدد المسجلين -->
            <div class="tutor-row tutor-align-center tutor-justify-between tutor-mt-12 courses-display-meta">
                <div class="tutor-col">
                    <div class="tutor-course-ratings tutor-mb-0" aria-label="تقييم الدورة 4.9 من 5">
                        <div class="tutor-ratings">
                            <div class="tutor-ratings-stars">
                                <span class="tutor-icon-star-bold" data-rating-value="1"></span><span class="tutor-icon-star-bold" data-rating-value="2"></span><span class="tutor-icon-star-bold" data-rating-value="3"></span><span class="tutor-icon-star-bold" data-rating-value="4"></span><span class="tutor-icon-star-half-bold" data-rating-value="5"></span>                            </div>
                            <div class="tutor-ratings-average">4.9</div>
                            <div class="tutor-ratings-count">(1105)</div>
                        </div>
                    </div>
                </div>
    
                <div class="tutor-col-auto tutor-fs-7 tutor-color-muted courses-display-enrolled" aria-label="عدد المسجلين">
                    <span class="tutor-fw-medium tutor-color-black">6420</span>
                    <span>طالب</span>
                </div>
            </div>
    
            
            <!-- زر الإجراء -->
                            <a href="https://sharh.qm.edu.sa/Courses/sharhalwaraqat/" 
                   class="tutor-btn tutor-btn-primary tutor-btn-block tutor-mt-20"
                   aria-label="التسجيل في دورة شرح الورقات">
                    التسجيل في الدورة                </a>
                    </div>
    </article>
        <article class="tutor-card courses-display-card courses-display-available" aria-label="شرح الأربعين النووية">
        <div class="tutor-course-thumbnail">
            <a href="https://sharh.qm.edu.sa/Courses/alarbaunannawawiyah/" class="tutor-d-block">
                <div class="tutor-ratio tutor-ratio-16x9">
                    <img decoding="async" class="tutor-card-image-top" src="https://sharh.qm.edu.sa/wp-content/uploads/2026/04/دورة-في-شرح-الأربعين-النووية.jpg-1.jpeg" 
                         alt="شرح الأربعين النووية"
                         loading="lazy">
                </div>
            </a>
        </div>
    
        <div class="tutor-card-body courses-display-card-body">
            <!-- التصنيف -->
                            <div class="tutor-fs-7 tutor-color-muted courses-display-category" aria-label="مستوى الدورة">
                    المستوى الثاني                </div>
            
            <h3 class="tutor-fs-5 tutor-fw-medium courses-display-title">
                <a href="https://sharh.qm.edu.sa/Courses/alarbaunannawawiyah/" class="courses-display-title-link">
                    شرح الأربعين النووية                </a>
            </h3>
    
            <!-- التقييم وعدد المسجلين -->
            <div class="tutor-row tutor-align-center tutor-justify-between tutor-mt-12 courses-display-meta">
                <div class="tutor-col">
                    <div class="tutor-course-ratings tutor-mb-0" aria-label="تقييم الدورة 4.9 من 5">
                        <div class="tutor-ratings">
                            <div class="tutor-ratings-stars">
                                <span class="tutor-icon-star-bold" data-rating-value="1"></span><span class="tutor-icon-star-bold" data-rating-value="2"></span><span class="tutor-icon-star-bold" data-rating-value="3"></span><span class="tutor-icon-star-bold" data-rating-value="4"></span><span class="tutor-icon-star-half-bold" data-rating-value="5"></span>                            </div>
                            <div class="tutor-ratings-average">4.9</div>
                            <div class="tutor-ratings-count">(12)</div>
                        </div>
                    </div>
                </div>
    
                <div class="tutor-col-auto tutor-fs-7 tutor-color-muted courses-display-enrolled" aria-label="عدد المسجلين">
                    <span class="tutor-fw-medium tutor-color-black">5309</span>
                    <span>طالب</span>
                </div>
            </div>
    
            
            <!-- زر الإجراء -->
                            <a href="https://sharh.qm.edu.sa/Courses/alarbaunannawawiyah/" 
                   class="tutor-btn tutor-btn-primary tutor-btn-block tutor-mt-20"
                   aria-label="التسجيل في دورة شرح الأربعين النووية">
                    التسجيل في الدورة                </a>
                    </div>
    </article>
        <article class="tutor-card courses-display-card courses-display-available" aria-label="دورة في فقه الحج">
        <div class="tutor-course-thumbnail">
            <a href="https://sharh.qm.edu.sa/Courses/1446fiqhalhajj/" class="tutor-d-block">
                <div class="tutor-ratio tutor-ratio-16x9">
                    <img decoding="async" class="tutor-card-image-top" src="https://sharh.qm.edu.sa/wp-content/uploads/2025/08/إعلان-دورة-في-فقه-الحج-للموقع-1446-2.jpg" 
                         alt="دورة في فقه الحج"
                         loading="lazy">
                </div>
            </a>
        </div>
    
        <div class="tutor-card-body courses-display-card-body">
            <!-- التصنيف -->
                            <div class="tutor-fs-7 tutor-color-muted courses-display-category" aria-label="مستوى الدورة">
                    المستوى السادس                </div>
            
            <h3 class="tutor-fs-5 tutor-fw-medium courses-display-title">
                <a href="https://sharh.qm.edu.sa/Courses/1446fiqhalhajj/" class="courses-display-title-link">
                    دورة في فقه الحج                </a>
            </h3>
    
            <!-- التقييم وعدد المسجلين -->
            <div class="tutor-row tutor-align-center tutor-justify-between tutor-mt-12 courses-display-meta">
                <div class="tutor-col">
                    <div class="tutor-course-ratings tutor-mb-0" aria-label="تقييم الدورة 4.9 من 5">
                        <div class="tutor-ratings">
                            <div class="tutor-ratings-stars">
                                <span class="tutor-icon-star-bold" data-rating-value="1"></span><span class="tutor-icon-star-bold" data-rating-value="2"></span><span class="tutor-icon-star-bold" data-rating-value="3"></span><span class="tutor-icon-star-bold" data-rating-value="4"></span><span class="tutor-icon-star-half-bold" data-rating-value="5"></span>                            </div>
                            <div class="tutor-ratings-average">4.9</div>
                            <div class="tutor-ratings-count">(1441)</div>
                        </div>
                    </div>
                </div>
    
                <div class="tutor-col-auto tutor-fs-7 tutor-color-muted courses-display-enrolled" aria-label="عدد المسجلين">
                    <span class="tutor-fw-medium tutor-color-black">8073</span>
                    <span>طالب</span>
                </div>
            </div>
    
            
            <!-- زر الإجراء -->
                            <a href="https://sharh.qm.edu.sa/Courses/1446fiqhalhajj/" 
                   class="tutor-btn tutor-btn-primary tutor-btn-block tutor-mt-20"
                   aria-label="التسجيل في دورة دورة في فقه الحج">
                    التسجيل في الدورة                </a>
                    </div>
    </article>
        <article class="tutor-card courses-display-card courses-display-available" aria-label="دورة في فقه الصيام">
        <div class="tutor-course-thumbnail">
            <a href="https://sharh.qm.edu.sa/Courses/1447fiqhassiyaam/" class="tutor-d-block">
                <div class="tutor-ratio tutor-ratio-16x9">
                    <img decoding="async" class="tutor-card-image-top" src="https://sharh.qm.edu.sa/wp-content/uploads/2026/02/دورة-في-فقه-الصيام1447.jpg.jpeg" 
                         alt="دورة في فقه الصيام"
                         loading="lazy">
                </div>
            </a>
        </div>
    
        <div class="tutor-card-body courses-display-card-body">
            <!-- التصنيف -->
                            <div class="tutor-fs-7 tutor-color-muted courses-display-category" aria-label="مستوى الدورة">
                    المستوى السادس                </div>
            
            <h3 class="tutor-fs-5 tutor-fw-medium courses-display-title">
                <a href="https://sharh.qm.edu.sa/Courses/1447fiqhassiyaam/" class="courses-display-title-link">
                    دورة في فقه الصيام                </a>
            </h3>
    
            <!-- التقييم وعدد المسجلين -->
            <div class="tutor-row tutor-align-center tutor-justify-between tutor-mt-12 courses-display-meta">
                <div class="tutor-col">
                    <div class="tutor-course-ratings tutor-mb-0" aria-label="تقييم الدورة 4.9 من 5">
                        <div class="tutor-ratings">
                            <div class="tutor-ratings-stars">
                                <span class="tutor-icon-star-bold" data-rating-value="1"></span><span class="tutor-icon-star-bold" data-rating-value="2"></span><span class="tutor-icon-star-bold" data-rating-value="3"></span><span class="tutor-icon-star-bold" data-rating-value="4"></span><span class="tutor-icon-star-half-bold" data-rating-value="5"></span>                            </div>
                            <div class="tutor-ratings-average">4.9</div>
                            <div class="tutor-ratings-count">(1186)</div>
                        </div>
                    </div>
                </div>
    
                <div class="tutor-col-auto tutor-fs-7 tutor-color-muted courses-display-enrolled" aria-label="عدد المسجلين">
                    <span class="tutor-fw-medium tutor-color-black">6737</span>
                    <span>طالب</span>
                </div>
            </div>
    
            
            <!-- زر الإجراء -->
                            <a href="https://sharh.qm.edu.sa/Courses/1447fiqhassiyaam/" 
                   class="tutor-btn tutor-btn-primary tutor-btn-block tutor-mt-20"
                   aria-label="التسجيل في دورة دورة في فقه الصيام">
                    التسجيل في الدورة                </a>
                    </div>
    </article>
        <article class="tutor-card courses-display-card courses-display-available" aria-label="دورة في قواعد الأسماء والصفات مع بيان أسماء الله الحسنى ومعانيها">
        <div class="tutor-course-thumbnail">
            <a href="https://sharh.qm.edu.sa/Courses/qawaaidalasmawassifaat/" class="tutor-d-block">
                <div class="tutor-ratio tutor-ratio-16x9">
                    <img decoding="async" class="tutor-card-image-top" src="https://sharh.qm.edu.sa/wp-content/uploads/2026/01/دورة-في-قواعد-الأسماء-للموقع.jpg" 
                         alt="دورة في قواعد الأسماء والصفات مع بيان أسماء الله الحسنى ومعانيها"
                         loading="lazy">
                </div>
            </a>
        </div>
    
        <div class="tutor-card-body courses-display-card-body">
            <!-- التصنيف -->
                            <div class="tutor-fs-7 tutor-color-muted courses-display-category" aria-label="مستوى الدورة">
                    المتون الإضافية                </div>
            
            <h3 class="tutor-fs-5 tutor-fw-medium courses-display-title">
                <a href="https://sharh.qm.edu.sa/Courses/qawaaidalasmawassifaat/" class="courses-display-title-link">
                    دورة في قواعد الأسماء والصفات مع بيان أسماء الله الحسنى ومعانيها                </a>
            </h3>
    
            <!-- التقييم وعدد المسجلين -->
            <div class="tutor-row tutor-align-center tutor-justify-between tutor-mt-12 courses-display-meta">
                <div class="tutor-col">
                    <div class="tutor-course-ratings tutor-mb-0" aria-label="تقييم الدورة 4.9 من 5">
                        <div class="tutor-ratings">
                            <div class="tutor-ratings-stars">
                                <span class="tutor-icon-star-bold" data-rating-value="1"></span><span class="tutor-icon-star-bold" data-rating-value="2"></span><span class="tutor-icon-star-bold" data-rating-value="3"></span><span class="tutor-icon-star-bold" data-rating-value="4"></span><span class="tutor-icon-star-half-bold" data-rating-value="5"></span>                            </div>
                            <div class="tutor-ratings-average">4.9</div>
                            <div class="tutor-ratings-count">(1098)</div>
                        </div>
                    </div>
                </div>
    
                <div class="tutor-col-auto tutor-fs-7 tutor-color-muted courses-display-enrolled" aria-label="عدد المسجلين">
                    <span class="tutor-fw-medium tutor-color-black">6415</span>
                    <span>طالب</span>
                </div>
            </div>
    
            
            <!-- زر الإجراء -->
                            <a href="https://sharh.qm.edu.sa/Courses/qawaaidalasmawassifaat/" 
                   class="tutor-btn tutor-btn-primary tutor-btn-block tutor-mt-20"
                   aria-label="التسجيل في دورة دورة في قواعد الأسماء والصفات مع بيان أسماء الله الحسنى ومعانيها">
                    التسجيل في الدورة                </a>
                    </div>
    </article>
        <article class="tutor-card courses-display-card courses-display-available" aria-label="دورة في علم الفرائض">
        <div class="tutor-course-thumbnail">
            <a href="https://sharh.qm.edu.sa/Courses/1446inheritance/" class="tutor-d-block">
                <div class="tutor-ratio tutor-ratio-16x9">
                    <img decoding="async" class="tutor-card-image-top" src="https://sharh.qm.edu.sa/wp-content/uploads/2025/04/إعلان-دورة-في-علم-الفرائض2.jpg" 
                         alt="دورة في علم الفرائض"
                         loading="lazy">
                </div>
            </a>
        </div>
    
        <div class="tutor-card-body courses-display-card-body">
            <!-- التصنيف -->
                            <div class="tutor-fs-7 tutor-color-muted courses-display-category" aria-label="مستوى الدورة">
                    المستوى الخامس                </div>
            
            <h3 class="tutor-fs-5 tutor-fw-medium courses-display-title">
                <a href="https://sharh.qm.edu.sa/Courses/1446inheritance/" class="courses-display-title-link">
                    دورة في علم الفرائض                </a>
            </h3>
    
            <!-- التقييم وعدد المسجلين -->
            <div class="tutor-row tutor-align-center tutor-justify-between tutor-mt-12 courses-display-meta">
                <div class="tutor-col">
                    <div class="tutor-course-ratings tutor-mb-0" aria-label="تقييم الدورة 4.9 من 5">
                        <div class="tutor-ratings">
                            <div class="tutor-ratings-stars">
                                <span class="tutor-icon-star-bold" data-rating-value="1"></span><span class="tutor-icon-star-bold" data-rating-value="2"></span><span class="tutor-icon-star-bold" data-rating-value="3"></span><span class="tutor-icon-star-bold" data-rating-value="4"></span><span class="tutor-icon-star-half-bold" data-rating-value="5"></span>                            </div>
                            <div class="tutor-ratings-average">4.9</div>
                            <div class="tutor-ratings-count">(988)</div>
                        </div>
                    </div>
                </div>
    
                <div class="tutor-col-auto tutor-fs-7 tutor-color-muted courses-display-enrolled" aria-label="عدد المسجلين">
                    <span class="tutor-fw-medium tutor-color-black">11426</span>
                    <span>طالب</span>
                </div>
            </div>
    
            
            <!-- زر الإجراء -->
                            <a href="https://sharh.qm.edu.sa/Courses/1446inheritance/" 
                   class="tutor-btn tutor-btn-primary tutor-btn-block tutor-mt-20"
                   aria-label="التسجيل في دورة دورة في علم الفرائض">
                    التسجيل في الدورة                </a>
                    </div>
    </article>
        <article class="tutor-card courses-display-card courses-display-available" aria-label="تيسير الوصول شرح ثلاثة الأصول">
        <div class="tutor-course-thumbnail">
            <a href="https://sharh.qm.edu.sa/Courses/tayseeralwusool/" class="tutor-d-block">
                <div class="tutor-ratio tutor-ratio-16x9">
                    <img decoding="async" class="tutor-card-image-top" src="https://sharh.qm.edu.sa/wp-content/uploads/2025/11/إعلان-دورة-الأصول-الثلاثة.jpg" 
                         alt="تيسير الوصول شرح ثلاثة الأصول"
                         loading="lazy">
                </div>
            </a>
        </div>
    
        <div class="tutor-card-body courses-display-card-body">
            <!-- التصنيف -->
                            <div class="tutor-fs-7 tutor-color-muted courses-display-category" aria-label="مستوى الدورة">
                    المستوى الثاني                </div>
            
            <h3 class="tutor-fs-5 tutor-fw-medium courses-display-title">
                <a href="https://sharh.qm.edu.sa/Courses/tayseeralwusool/" class="courses-display-title-link">
                    تيسير الوصول شرح ثلاثة الأصول                </a>
            </h3>
    
            <!-- التقييم وعدد المسجلين -->
            <div class="tutor-row tutor-align-center tutor-justify-between tutor-mt-12 courses-display-meta">
                <div class="tutor-col">
                    <div class="tutor-course-ratings tutor-mb-0" aria-label="تقييم الدورة 4.9 من 5">
                        <div class="tutor-ratings">
                            <div class="tutor-ratings-stars">
                                <span class="tutor-icon-star-bold" data-rating-value="1"></span><span class="tutor-icon-star-bold" data-rating-value="2"></span><span class="tutor-icon-star-bold" data-rating-value="3"></span><span class="tutor-icon-star-bold" data-rating-value="4"></span><span class="tutor-icon-star-half-bold" data-rating-value="5"></span>                            </div>
                            <div class="tutor-ratings-average">4.9</div>
                            <div class="tutor-ratings-count">(2296)</div>
                        </div>
                    </div>
                </div>
    
                <div class="tutor-col-auto tutor-fs-7 tutor-color-muted courses-display-enrolled" aria-label="عدد المسجلين">
                    <span class="tutor-fw-medium tutor-color-black">13559</span>
                    <span>طالب</span>
                </div>
            </div>
    
            
            <!-- زر الإجراء -->
                            <a href="https://sharh.qm.edu.sa/Courses/tayseeralwusool/" 
                   class="tutor-btn tutor-btn-primary tutor-btn-block tutor-mt-20"
                   aria-label="التسجيل في دورة تيسير الوصول شرح ثلاثة الأصول">
                    التسجيل في الدورة                </a>
                    </div>
    </article>
            </div>
        
        <input type="hidden" id="courses_filter_nonce_field" name="courses_filter_nonce_field" value="b8c09b5901" /><input type="hidden" name="_wp_http_referer" value="/" />    </section>
        </div>
        <script>
    (function() {
        'use strict';
    
        // انتظار تحميل DOM
        document.addEventListener('DOMContentLoaded', function() {
            initCoursesFilter();
        });
    
        /**
         * تهيئة فلتر التصنيفات
         */
        function initCoursesFilter() {
            const filterButtons = document.querySelectorAll('.category-filter .filter-btn');
            const coursesGrid = document.getElementById('courses-grid');
            const nonceField = document.getElementById('courses_filter_nonce_field');
    
            if (!filterButtons.length || !coursesGrid) {
                return;
            }
    
            function setButtonActiveState(activeButton) {
                filterButtons.forEach(function(btn) {
                    btn.classList.remove('active');
                    btn.setAttribute('aria-selected', 'false');
    
                    // إعادة نمط Tutor الافتراضي للأزرار غير النشطة
                    btn.classList.remove('tutor-btn-primary');
                    if (!btn.classList.contains('tutor-btn-outline-primary')) {
                        btn.classList.add('tutor-btn-outline-primary');
                    }
                });
    
                activeButton.classList.add('active');
                activeButton.setAttribute('aria-selected', 'true');
    
                // الزر النشط يأخذ لون primary
                activeButton.classList.remove('tutor-btn-outline-primary');
                activeButton.classList.add('tutor-btn-primary');
            }
    
            function showLoading() {
                const indicator = coursesGrid.querySelector('.loading-indicator');
                if (indicator) {
                    indicator.style.display = 'flex';
                    indicator.setAttribute('aria-hidden', 'false');
                }
            }
    
            function hideLoading() {
                const indicator = coursesGrid.querySelector('.loading-indicator');
                if (indicator) {
                    indicator.style.display = 'none';
                    indicator.setAttribute('aria-hidden', 'true');
                }
            }
    
            filterButtons.forEach(function(button) {
                button.addEventListener('click', function(e) {
                    e.preventDefault();
                    
                    // تحديث حالة الأزرار
                    setButtonActiveState(this);
    
                    // جلب التصنيف المحدد
                    const categoryId = this.getAttribute('data-category');
                    
                    // إظهار مؤشر التحميل
                    showLoading();
    
                    // إرسال طلب AJAX
                    const formData = new FormData();
                    formData.append('action', 'filter_courses_by_category');
                    formData.append('category', categoryId);
                    formData.append('limit', '12');
                    formData.append('nonce', nonceField ? nonceField.value : '');
    
                    fetch('https://sharh.qm.edu.sa/wp-admin/admin-ajax.php', {
                        method: 'POST',
                        body: formData,
                        credentials: 'same-origin'
                    })
                    .then(function(response) {
                        return response.json().then(function(data) {
                            return { ok: response.ok, data: data };
                        }).catch(function() {
                            return { ok: response.ok, data: null };
                        });
                    })
                    .then(function(result) {
                        const data = result.data;
                        if (result.ok && data && data.success && data.data && data.data.html) {
                            // تحديث محتوى الشبكة
                            coursesGrid.innerHTML = data.data.html;
                            
                            // إعادة إضافة مؤشر التحميل
                            const newLoading = document.createElement('div');
                            newLoading.className = 'loading-indicator';
                            newLoading.style.display = 'none';
                            newLoading.setAttribute('aria-hidden', 'true');
                            newLoading.innerHTML = '<div class="spinner"></div><span>جاري التحميل...</span>';
                            coursesGrid.appendChild(newLoading);
                            
                            // إعلان للقارئات الصوتية
                            announceToScreenReader('تم تحديث قائمة الدورات، ' + data.data.count + ' دورة معروضة');
                        } else {
                            const message = (data && data.data && data.data.message) ? data.data.message : 'حدث خطأ أثناء تحميل الدورات. يرجى المحاولة مرة أخرى.';
                            throw new Error(message);
                        }
                    })
                    .catch(function(error) {
                        console.error('Error filtering courses:', error);
                        coursesGrid.innerHTML = '<p class="no-courses-message">حدث خطأ أثناء تحميل الدورات. يرجى المحاولة مرة أخرى.</p>';
                    })
                    .finally(function() {
                        // إخفاء مؤشر التحميل
                        hideLoading();
                    });
                });
    
                // دعم التنقل بلوحة المفاتيح
                button.addEventListener('keydown', function(e) {
                    if (e.key === 'Enter' || e.key === ' ') {
                        e.preventDefault();
                        this.click();
                    }
                });
            });
        }
    
        /**
         * إعلان للقارئات الصوتية
         */
        function announceToScreenReader(message) {
            const announcement = document.createElement('div');
            announcement.setAttribute('role', 'status');
            announcement.setAttribute('aria-live', 'polite');
            announcement.setAttribute('aria-atomic', 'true');
            announcement.className = 'sr-only';
            announcement.style.cssText = 'position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;';
            announcement.textContent = message;
            
            document.body.appendChild(announcement);
            
            setTimeout(function() {
                document.body.removeChild(announcement);
            }, 1000);
        }
    })();
    </script>
    </div>
    					</div>
    			</div>
    				</div>
    			</div>
    	<div class="elementor-element elementor-element-d650918 e-flex e-con-boxed e-con e-parent" data-id="d650918" data-element_type="container" data-e-type="container">
    				<div class="e-con-inner">
    			<div class="elementor-element elementor-element-36530e9 elementor-widget elementor-widget-spacer" data-id="36530e9" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
    			<div class="elementor-widget-container">
    						<div class="elementor-spacer">
    		<div class="elementor-spacer-inner"></div>
    	</div>
    					</div>
    			</div>
    				</div>
    			</div>
    	<div class="elementor-element elementor-element-0265be2 e-flex e-con-boxed e-con e-parent" data-id="0265be2" data-element_type="container" data-e-type="container">
    				<div class="e-con-inner">
    			<div class="elementor-element elementor-element-8b9d6bf elementor-widget elementor-widget-shortcode" data-id="8b9d6bf" data-element_type="widget" data-e-type="widget" data-widget_type="shortcode.default">
    			<div class="elementor-widget-container">
    						<div class="elementor-shortcode"><style>
            .stats-container {
                display: flex;
                justify-content: space-around;
                padding: 30px;
                background-color: #62aac2;
                border-radius: 15px;
                margin: 20px auto;
                color: #ffffff;
                font-family: Arial, sans-serif;
                text-align: center;
                flex-wrap: wrap;
            }
            .stat-box {
                padding: 20px;
                border: 2px solid #ffffff;
                border-radius: 10px;
                background-color: #4d9aaa;
                width: 22%;
                margin: 10px;
            }
            .stat-box h2 {
                font-size: 2.5rem;
                margin: 0;
            }
            .stat-box p {
                font-size: 1.2rem;
            }
            /* Media Queries for Responsiveness */
            @media (max-width: 1200px) {
                .stat-box {
                    width: 30%;
                }
            }
            @media (max-width: 768px) {
                .stat-box {
                    width: 45%;
                }
            }
            @media (max-width: 480px) {
                .stat-box {
                    width: 100%;
                    margin-bottom: 20px;
                }
                .stats-container {
                    padding: 15px;
                }
            }
        </style><div class="stats-container">
            <div class="stat-box">
                <h2>12</h2>
                <p>الدورات المتاحة</p>
            </div>
            <div class="stat-box">
                <h2>105003</h2>
                <p>عدد المسجلين</p>
            </div>
        </div></div>
    					</div>
    			</div>
    				</div>
    			</div>
    	<div class="elementor-element elementor-element-9b8b898 e-flex e-con-boxed e-con e-parent" data-id="9b8b898" data-element_type="container" data-e-type="container">
    				<div class="e-con-inner">
    				</div>
    			</div>
    			</div>
    
    © جميع الحقوق محفوظة لموقع شروح متون طالب العلم.
    <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/tutorstarter-child/*","/wp-content/themes/tutorstarter/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script>
    <script> document.addEventListener("DOMContentLoaded", function () { const observer = new MutationObserver(function (mutationsList) { for (let mutation of mutationsList) { if (mutation.type === "childList") { const toast = document.querySelector(".tutor-toast-parent .tutor-notification");z if (toast) { const title = toast.querySelector("h5"); const message = toast.querySelector("p");
                        if (title && title.textContent === "Updated successfully!") {
                            title.textContent = "تم التحديث بنجاح!";
                        }
    
                        if (message && message.textContent === "Updated rating will now be visible in the course page") {
                            message.textContent = "سيكون التقييم المُحدث مرئيًا الآن في صفحة الدورة.";
                        }
                    }
                }
            }
        });
    
        observer.observe(document.body, { childList: true, subtree: true });
    });
    </script>
        <script>
    document.addEventListener("DOMContentLoaded", function () {
        const observer = new MutationObserver(function (mutationsList) {
            for (let mutation of mutationsList) {
                if (mutation.type === "childList") {
                    const toast = document.querySelector(".tutor-toast-parent .tutor-notification");
                    if (toast) {
                        const title = toast.querySelector("h5");
                        const message = toast.querySelector("p");
    
                        if (title && title.textContent === "Thank You for Rating The Course!") {
                            title.textContent = "شكرًا لك على تقييم الدورة!";
                        }
    
                        if (message && message.textContent === "Your rating will now be visible in the course page") {
                            message.textContent = "سيكون تقييمك مرئيًا الآن في صفحة الدورة.";
                        }
                    }
                }
            }
        });
    
        observer.observe(document.body, { childList: true, subtree: true });
    });
    </script>
        <script>
    document.addEventListener('DOMContentLoaded', function () {
        const observer = new MutationObserver(function (mutationsList) {
            for (let mutation of mutationsList) {
                if (mutation.type === 'childList') {
                    // استهداف العنصر الذي يحتوي على النص
                    const helpText = document.querySelector('.answer-help-block p');
                    if (helpText && helpText.textContent.trim() === 'Please select an option to answer') {
                        helpText.textContent = 'الرجاء اختيار خيار للإجابة';
                    }
                }
            }
        });
    
        // تكوين المراقب لمراقبة التغييرات
        observer.observe(document.body, {
            childList: true,
            subtree: true,
            characterData: true,
            characterDataOldValue: true
        });
    });
    </script>
        <script>
    document.addEventListener("DOMContentLoaded", function () {
        const observer = new MutationObserver(function (mutationsList) {
            for (let mutation of mutationsList) {
                if (mutation.type === "childList") {
                    const notifications = document.querySelectorAll(".tutor-notification");
                    notifications.forEach(notification => {
                        const title = notification.querySelector("h5");
                        if (title && title.textContent.trim() === "Success") {
                            title.textContent = "تم بنجاح";
                        }
    					
                    });
                }
            }
        });
    
        observer.observe(document.body, { childList: true, subtree: true });
    });
    </script>
        <script>
    document.addEventListener('DOMContentLoaded', function() {
        // النصوص المترجمة إلى العربية
        const arabicToastMessages = {
            title: 'تم التحديث بنجاح!',
            description: 'سيتم عرض التقييم المحدث الآن في صفحة الدورة'
        };
    
        // دالة لاستبدال النصوص الإنجليزية بالعربية
        function replaceToastMessages(notification) {
            const titleElement = notification.querySelector('h5');
            const descriptionElement = notification.querySelector('p');
    
            if (titleElement && titleElement.textContent.trim() === 'Updated successfully!') {
                titleElement.textContent = arabicToastMessages.title;
            }
    
            if (descriptionElement && descriptionElement.textContent.trim() === 'Updated rating will now be visible in the course page') {
                descriptionElement.textContent = arabicToastMessages.description;
            }
        }
    
        // دالة لتهيئة الترجمة
        function initArabicToastNotification() {
            const toastNotifications = document.querySelectorAll('.tutor-notification');
            toastNotifications.forEach(replaceToastMessages);
        }
    
        // مراقبة التغييرات في DOM للنصوص الديناميكية
        const observer = new MutationObserver(function(mutations) {
            mutations.forEach(function(mutation) {
                mutation.addedNodes.forEach(function(node) {
                    if (node.nodeType === 1 && node.matches('.tutor-notification')) {
                        replaceToastMessages(node);
                    }
                });
            });
        });
    
        // بدء مراقبة التغييرات في body
        observer.observe(document.body, { childList: true, subtree: true });
    
        // استدعاء الدالة لترجمة النصوص الموجودة بالفعل
        initArabicToastNotification();
    });
    </script>
        <script>
    document.addEventListener('DOMContentLoaded', function() {
        // حفظ الدالة الأصلية لـ alert
        const originalAlert = window.alert;
    
        // تعديل دالة alert لترجمة النصوص
        window.alert = function(message) {
            if (message === 'Rating and review required') {
                message = 'التقييم والمراجعة مطلوبان';
            }
            originalAlert(message);
        };
    });
    </script>
        <script>
    document.addEventListener('DOMContentLoaded', function() {
        // اختيار الأزرار بناءً على الصفوف (classes)
        const buttons = document.querySelectorAll('.tutor_submit_review_btn');
    
        // التأكد من أن الأزرار موجودة على الصفحة
        if (buttons.length > 0) {
            buttons.forEach(button => {
                const observer = new MutationObserver(function(mutationsList) {
                    for (const mutation of mutationsList) {
                        if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
                            // إذا احتوى الزر على الصف "is-loading"
                            if (button.classList.contains('is-loading')) {
                                button.textContent = 'جاري التحديث...';
                            } else {
                                // العودة إلى النص الافتراضي عند إزالة حالة التحميل
                                button.textContent = 'تحديث التقييم';
                            }
                        } else if (mutation.type === 'childList') {
                            // ترجمة النقاط الثلاث (...) في حالة تغيير النص داخليًا
                            if (button.textContent.trim() === '...') {
                                button.textContent = 'جاري التحديث...';
                            }
                        }
                    }
                });
    
                // مراقبة التغييرات في الصفوف وفي النصوص الداخلية للزر
                observer.observe(button, { attributes: true, childList: true });
            });
        }
    });
    </script>
        <script>
    document.addEventListener("DOMContentLoaded", function () {
        const observer = new MutationObserver(function (mutationsList) {
            for (let mutation of mutationsList) {
                if (mutation.type === "childList") {
                    const notifications = document.querySelectorAll(".tutor-toast-parent .tutor-notification");
                    notifications.forEach(notification => {
                        const title = notification.querySelector("h5");
                        const message = notification.querySelector("p");
    
                        if (title && title.textContent.trim() === "Warning!") {
                            title.textContent = "تحذير!";
                        }
    
                        if (message && message.textContent.trim() === "Empty Content not Allowed") {
                            message.textContent = "لا يُسمح بالمحتوى الفارغ.";
                        }
                    });
                }
            }
        });
    
        observer.observe(document.body, { childList: true, subtree: true });
    });
    </script>
        <script>
    document.addEventListener("DOMContentLoaded", function() {
        // البحث عن جميع العناصر التي تحتوي على القيم True و False
        const elements = document.querySelectorAll('.tutor-fs-7.tutor-fw-medium.tutor-color-black');
        
        // مرور عبر العناصر واستبدال النصوص
        elements.forEach(function(element) {
            if (element.textContent.trim() === 'True') {
                element.textContent = 'صحيح'; // ترجمة True إلى "صحيح"
            } else if (element.textContent.trim() === 'False') {
                element.textContent = 'خطأ'; // ترجمة False إلى "خاطئ"
            }
        });
    });
    </script>
        <script>
    document.addEventListener('DOMContentLoaded', function () {
        const translations = {
            '.tutor-fs-3.tutor-fw-medium': {
                'Abandon Quiz?': 'ترك الاختبار؟'
            },
            '.tutor-fs-6.tutor-color-muted': {
                'Do you want to abandon this quiz? The quiz will be submitted partially up to this question if you leave this page.': 'هل تريد ترك هذا الاختبار؟ سيتم إرسال الاختبار جزئيًا حتى هذا السؤال إذا غادرت هذه الصفحة.'
            },
            '.tutor-modal-actions .tutor-btn': {
                'Yes, leave quiz': 'نعم، اترك الاختبار',
                'Stay here': 'ابقَ هنا'
            }
        };
    
        function translateElement(selector, translations) {
            const elements = document.querySelectorAll(selector);
            elements.forEach(element => {
                const originalText = element.textContent.trim();
                if (translations[originalText]) {
                    element.textContent = translations[originalText];
                    element.setAttribute('data-original-text', originalText);
                }
            });
        }
    
        function applyTranslations() {
            for (const [selector, translationMap] of Object.entries(translations)) {
                translateElement(selector, translationMap);
            }
        }
    
        applyTranslations();
    
        const observer = new MutationObserver(function (mutationsList) {
            for (let mutation of mutationsList) {
                if (mutation.type === 'childList' || mutation.type === 'characterData') {
                    applyTranslations();
                }
            }
        });
    
        observer.observe(document.body, {
            childList: true,
            subtree: true,
            characterData: true
        });
    });
    </script>
        <style>
        .selected-answer {
            background-color: #e8f5e9 !important;
            border: 2px solid #4CAF50 !important;
            box-shadow: 0 2px 8px rgba(76, 175, 80, 0.2) !important;
            transition: all 0.3s ease !important;
        }
    
        .tutor-quiz-question-item {
            border: 2px solid transparent;
            border-radius: 8px;
            transition: all 0.3s ease;
        }
    
    </style>
    
    <script>
    jQuery(document).ready(function($) {
        $('.tutor-quiz-answer-single input[type="radio"]').on('change', function() {
            $('.tutor-quiz-question-item').removeClass('selected-answer');
            $(this).closest('.tutor-quiz-answer-single')
                  .find('.tutor-quiz-question-item')
                  .addClass('selected-answer');
        });
    });
    </script>
    <script>
    //دورة فقه الصيام 1446
        document.addEventListener('DOMContentLoaded', function() {
            const image = document.querySelector('.tutor-card-image-top');
            if (image && image.src === 'https://sharh.qm.edu.sa/wp-content/uploads/2025/02/%D8%AF%D9%88%D8%B1%D8%A9-%D9%81%D9%8A-%D9%81%D9%82%D9%87-%D8%A7%D9%84%D8%B5%D9%8A%D8%A7%D9%85-1-768x472.jpg') {
                image.src = 'https://sharh.qm.edu.sa/wp-content/uploads/2025/02/دورة-في-فقه-الصيام-1.jpg';
            }
        });
    </script>    <script type="text/javascript">
        document.addEventListener('DOMContentLoaded', function() {
            const alertDiv = document.querySelector('.tutor-alert.tutor-warning');
            if (alertDiv) {
                const link = alertDiv.querySelector('a[href="https://sharh.qm.edu.sa/wp-login.php?action=lostpassword"]');
                if (link) {
                    link.href = 'https://sharh.qm.edu.sa/dashboard-page/retrieve-password/';
                }
            }
        });
    </script>
    			<script>
    			const lazyloadRunObserver = () => {
    				const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` );
    				const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => {
    					entries.forEach( ( entry ) => {
    						if ( entry.isIntersecting ) {
    							let lazyloadBackground = entry.target;
    							if( lazyloadBackground ) {
    								lazyloadBackground.classList.add( 'e-lazyloaded' );
    							}
    							lazyloadBackgroundObserver.unobserve( entry.target );
    						}
    					});
    				}, { rootMargin: '200px 0px 200px 0px' } );
    				lazyloadBackgrounds.forEach( ( lazyloadBackground ) => {
    					lazyloadBackgroundObserver.observe( lazyloadBackground );
    				} );
    			};
    			const events = [
    				'DOMContentLoaded',
    				'elementor/lazyload/observe',
    			];
    			events.forEach( ( event ) => {
    				document.addEventListener( event, lazyloadRunObserver );
    			} );
    		</script>
    		    <script>
    document.addEventListener('DOMContentLoaded', function() {
        // قراءة رقم التقدم من الصفحة الحالية
        function getCurrentProgress() {
            let currentProgress = 0;
            
            // البحث في الصفحة القديمة
            const oldProgressElement = document.querySelector('.progress-steps');
            if (oldProgressElement) {
                const progressText = oldProgressElement.textContent.trim();
                currentProgress = parseInt(progressText.split('/')[0]);
                return currentProgress;
            }
            
            // البحث في الصفحة الجديدة
            const newProgressElement = document.querySelector('.tutor-progress-content');
            if (newProgressElement) {
                const parentDiv = newProgressElement.closest('div');
                if (parentDiv) {
                    const boldElements = parentDiv.querySelectorAll('.tutor-fw-bold');
                    if (boldElements.length >= 1) {
                        currentProgress = parseInt(boldElements[0].textContent.trim());
                        return currentProgress;
                    }
                }
            }
            
            return 0;
        }
        
        // تحديث تقدم الدورة للصفحة القديمة
        function updateOldPageProgress(currentProgress) {
            const lessonItems = document.querySelectorAll('.tutor-course-content-list-item');
            
            lessonItems.forEach((item, index) => {
                const statusElement = item.querySelector('.tutor-course-content-list-item-status');
                
                if (statusElement) {
                    item.setAttribute('data-lesson-number', index + 1);
                    
                    if ((index + 1) <= currentProgress) {
                        // الدرس مكتمل
                        statusElement.className = statusElement.className.replace('tutor-icon-eye-line', '');
                        statusElement.innerHTML = '✓';
                        statusElement.style.color = '#28a745';
                        statusElement.style.fontSize = '18px';
                        statusElement.style.fontWeight = 'bold';
                        statusElement.setAttribute('title', 'مكتمل');
                        
                        item.classList.add('lesson-completed');
                        item.style.backgroundColor = '#f8f9fa';
                        item.style.borderLeft = '4px solid #28a745';
                        item.style.paddingLeft = '16px';
                        
                    } else {
                        // الدرس غير مكتمل
                        statusElement.innerHTML = '';
                        statusElement.className += ' tutor-icon-eye-line';
                        statusElement.style.color = '#6c757d';
                        statusElement.setAttribute('title', 'غير مكتمل');
                        
                        item.classList.add('lesson-pending');
                        item.style.backgroundColor = '#ffffff';
                        item.style.borderLeft = '4px solid #e9ecef';
                        item.style.paddingLeft = '16px';
                    }
                }
            });
            
            // إضافة الإحصائيات للصفحة القديمة فقط
            addProgressStatistics(currentProgress, lessonItems.length);
        }
        
        // تحديث تقدم الدورة للصفحة الجديدة
        function updateNewPageProgress(currentProgress) {
            const lessonItems = document.querySelectorAll('.tutor-course-topic-item');
            
            lessonItems.forEach((item, index) => {
                const statusElement = item.querySelector('.tutor-course-content-list-item-status');
                
                if (statusElement) {
                    item.setAttribute('data-lesson-number', index + 1);
                    
                    if ((index + 1) <= currentProgress) {
                        // الدرس مكتمل
                        statusElement.className = statusElement.className.replace('tutor-icon-eye-line', '');
                        statusElement.innerHTML = '✓';
                        statusElement.style.color = '#28a745';
                        statusElement.style.fontSize = '18px';
                        statusElement.style.fontWeight = 'bold';
                        statusElement.setAttribute('title', 'مكتمل');
                        
                        item.classList.add('lesson-completed');
                        item.style.backgroundColor = '#f8f9fa';
                        item.style.borderLeft = '4px solid #28a745';
                        item.style.paddingLeft = '12px';
                        item.style.borderRadius = '6px';
                        item.style.margin = '2px 0';
                        
                    } else {
                        // الدرس غير مكتمل
                        statusElement.innerHTML = '';
                        statusElement.className += ' tutor-icon-eye-line';
                        statusElement.style.color = '#6c757d';
                        statusElement.setAttribute('title', 'غير مكتمل');
                        
                        item.classList.add('lesson-pending');
                        item.style.backgroundColor = '#ffffff';
                        item.style.borderLeft = '4px solid #e9ecef';
                        item.style.paddingLeft = '12px';
                        item.style.borderRadius = '6px';
                        item.style.margin = '2px 0';
                        item.style.opacity = '0.8';
                    }
                }
            });
        }
        
        // تحديد نوع الصفحة وتطبيق التحديث المناسب
        function updateCourseProgress() {
            const currentProgress = getCurrentProgress();
            
            if (currentProgress === 0) {
                return;
            }
            
            // التحقق من نوع الصفحة
            const isOldPage = document.querySelector('.tutor-course-content-list-item') !== null;
            const isNewPage = document.querySelector('.tutor-course-topic-item') !== null;
            
            if (isOldPage) {
                updateOldPageProgress(currentProgress);
            } else if (isNewPage) {
                updateNewPageProgress(currentProgress);
            }
        }
        
        // إضافة إحصائيات التقدم للصفحة القديمة فقط
        function addProgressStatistics(completed, total) {
            // التأكد من أننا في الصفحة القديمة
            const progressWrapper = document.querySelector('.tutor-course-progress-wrapper');
            
            if (!progressWrapper) {
                return; // لا توجد منطقة إحصائيات، ربما نحن في الصفحة الجديدة
            }
            
            const percentage = Math.round((completed / total) * 100);
            
            // إزالة الإحصائيات السابقة إن وجدت
            const existingStats = progressWrapper.querySelector('.custom-progress-stats');
            if (existingStats) {
                existingStats.remove();
            }
            
            // إنشاء عنصر الإحصائيات
            const statsDiv = document.createElement('div');
            statsDiv.className = 'custom-progress-stats';
            statsDiv.style.cssText = `
                margin-top: 10px;
                padding: 15px;
                background: linear-gradient(135deg, #f8f9fa, #e9ecef);
                border-radius: 8px;
                border: 1px solid #dee2e6;
            `;
            
            statsDiv.innerHTML = `
                <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;">
                    <span style="color: #28a745; font-weight: bold;">✓ مكتمل: ${completed}</span>
                    <span style="color: #6c757d;">⏳ متبقي: ${total - completed}</span>
                </div>
                <div style="font-size: 12px; color: #6c757d; text-align: center;">
                    تم إنجاز ${percentage}% من إجمالي الدروس
                </div>
            `;
            
            progressWrapper.appendChild(statsDiv);
        }
        
        // إضافة أنماط CSS مخصصة
        function addCustomStyles() {
            const style = document.createElement('style');
            style.textContent = `
                .lesson-completed {
                    transition: all 0.3s ease;
                }
                
                .lesson-completed:hover {
                    transform: translateX(-2px);
                    box-shadow: 0 2px 8px rgba(40, 167, 69, 0.2);
                }
                
                .lesson-pending {
                    transition: all 0.3s ease;
                }
                
                .lesson-pending:hover {
                    opacity: 1 !important;
                    transform: translateX(-2px);
                    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
                }
                
                .custom-progress-stats {
                    animation: slideIn 0.5s ease;
                }
                
                /* أنماط خاصة بالصفحة الجديدة */
                .tutor-course-topic-item.lesson-completed a {
                    background: rgba(40, 167, 69, 0.05);
                }
                
                .tutor-course-topic-item.lesson-pending a {
                    background: rgba(108, 117, 125, 0.02);
                }
                
                /* تحسين مظهر علامة الصح */
                .tutor-course-content-list-item-status:contains('✓'),
                .tutor-course-topic-item .tutor-course-content-list-item-status:contains('✓') {
                    background: rgba(40, 167, 69, 0.1);
                    border-radius: 50%;
                    width: 20px;
                    height: 20px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    margin-left: 10px;
                }
                
                @keyframes slideIn {
                    from {
                        opacity: 0;
                        transform: translateY(-10px);
                    }
                    to {
                        opacity: 1;
                        transform: translateY(0);
                    }
                }
                
                /* تحسين مظهر العناصر المكتملة */
                .lesson-completed .tutor-course-topic-item-title {
                    color: #28a745 !important;
                    font-weight: 600 !important;
                }
                
                .lesson-pending .tutor-course-topic-item-title {
                    color: #6c757d;
                }
            `;
            document.head.appendChild(style);
        }
        
        
        // تشغيل الدوال الرئيسية
        addCustomStyles();
        updateCourseProgress();
    
        
    
    });
    </script>
    <script type="module" src="https://sharh.qm.edu.sa/wp-content/plugins/instant-page/instantpage.js?ver=5.7.0" id="instantpage-js"></script>
    
    <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-content/plugins/tutor-pro/assets/lib/prism/prism.min.js?ver=3.1.0" id="tutor-prism-js-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-content/plugins/tutor-pro/assets/lib/prism/script.js?ver=3.1.0" id="tutor-prism-script-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/dist/hooks.min.js?ver=dd5603f07f9220ed27f1" id="wp-hooks-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/dist/i18n.min.js?ver=c26c3dc7bed366793375" id="wp-i18n-js"></script> <script type="text/javascript" id="wp-i18n-js-after"> /* */ </script> <script type="text/javascript" id="tutor-pro-front-js-translations"> /* = 3 && n%100<=10 ? 3 : n%100 >= 11 && n%100<=99 ? 4 : 5;"},"All of your active login sessions have been removed. You can login now.":["\u062a\u0645 \u0645\u0633\u062d \u062c\u0645\u064a\u0639 \u0639\u0645\u0644\u064a\u0627\u062a \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644 \u0627\u0644\u0646\u0634\u0637\u0629 \u0644\u062d\u0633\u0627\u0628\u0643. \u064a\u0645\u0643\u0646\u0643 \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644 \u0627\u0644\u0622\u0646."],"Error":["\u062e\u0637\u0623"]}}} ); //# sourceURL=tutor-pro-front-js-translations /* ]]> */ </script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-content/plugins/tutor-pro/assets/js/front.js?ver=3.1.0" id="tutor-pro-front-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/dist/vendor/react.min.js?ver=18.3.1.1" id="react-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/dist/vendor/react-dom.min.js?ver=18.3.1.1" id="react-dom-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/dist/escape-html.min.js?ver=6561a406d2d232a6fbd2" id="wp-escape-html-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/dist/element.min.js?ver=6a582b0c827fa25df3dd" id="wp-element-js"></script> <script type="text/javascript" id="tutor-script-js-extra"> /* */ </script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-content/plugins/tutor/assets/js/tutor.min.js?ver=3.1.0" id="tutor-script-js"></script> <script type="text/javascript" id="quicktags-js-extra"> /* */ </script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/quicktags.min.js?ver=6.9.4" id="quicktags-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" id="jquery-ui-core-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/jquery/ui/mouse.min.js?ver=1.13.3" id="jquery-ui-mouse-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/jquery/ui/sortable.min.js?ver=1.13.3" id="jquery-ui-sortable-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/jquery/jquery.ui.touch-punch.js?ver=0.2.2" id="jquery-touch-punch-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-content/plugins/tutor/assets/lib/SocialShare/SocialShare.min.js?ver=3.1.0" id="tutor-social-share-js"></script> <script type="text/javascript" id="tutor-frontend-js-extra"> /* */ </script> <script type="text/javascript" id="tutor-frontend-js-translations"> /* = 3 && n%100<=10 ? 3 : n%100 >= 11 && n%100<=99 ? 4 : 5;"},"Error!":["\u062e\u0637\u0623!"],"Override Previous Progress":["\u062a\u0646\u0628\u064a\u0647: \u0625\u0639\u0627\u062f\u0629 \u062f\u0631\u0627\u0633\u0629 \u0627\u0644\u062f\u0648\u0631\u0629"],"\u0633\u064a\u0643\u0648\u0646 \u062a\u0642\u064a\u064a\u0645\u0643 \u0645\u0631\u0626\u064a\u064b\u0627 \u0627\u0644\u0622\u0646 \u0641\u064a \u0635\u0641\u062d\u0629 \u0627\u0644\u062f\u0648\u0631\u0629.\u0004Your rating will now be visible in the course page":["\u0633\u064a\u0643\u0648\u0646 \u062a\u0642\u064a\u064a\u0645\u0643 \u0645\u0631\u0626\u064a\u064b\u0627 \u0627\u0644\u0622\u0646 \u0641\u064a \u0635\u0641\u062d\u0629 \u0627\u0644\u062f\u0648\u0631\u0629."],"Add":["EDD"],"Before continue, please decide whether to keep progress or reset.":["\u0628\u0627\u062e\u062a\u064a\u0627\u0631\u0643 \u0644\u0625\u0639\u0627\u062f\u0629 \u062f\u0631\u0627\u0633\u0629 \u0627\u0644\u062f\u0648\u0631\u0629 \u0633\u062a\u0641\u0642\u062f \u0627\u0644\u0634\u0647\u0627\u062f\u0629 \u0627\u0644\u0633\u0627\u0628\u0642\u0629 \u0648\u062a\u0639\u062a\u0645\u062f \u0627\u0644\u0634\u0647\u0627\u062f\u0629 \u0627\u0644\u062c\u062f\u064a\u062f\u0629 \u0641\u064a \u0645\u0646\u0635\u0629 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c\u060c \u062a\u0623\u0643\u062f \u0645\u0646 \u062a\u062d\u0645\u064a\u0644 \u0634\u0647\u0627\u062f\u062a\u0643 \u0627\u0644\u0633\u0627\u0628\u0642\u0629 \u0623\u0648\u0644\u0627\u064b \u0642\u0628\u0644 \u0627\u0644\u0645\u062a\u0627\u0628\u0639\u0629.\n"],"Reset Data":["\u062a\u0623\u0643\u064a\u062f"],"Search...":["\u0628\u062d\u062b..."],"Success!":["!\u062a\u0645\u0651 \u0628\u0646\u062c\u0627\u062d"],"\u062a\u0645 \u0627\u0644\u062a\u062d\u062f\u064a\u062b \u0628\u0646\u062c\u0627\u062d!\u0004Updated successfully!":["\u062a\u0645 \u0627\u0644\u062a\u062d\u062f\u064a\u062b \u0628\u0646\u062c\u0627\u062d!"]}},"merged":true} ); //# sourceURL=tutor-frontend-js-translations /* ]]> */ </script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-content/plugins/tutor/assets/js/tutor-front.min.js?ver=3.1.0" id="tutor-frontend-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-includes/js/jquery/ui/datepicker.min.js?ver=1.13.3" id="jquery-ui-datepicker-js"></script> <script type="text/javascript" id="jquery-ui-datepicker-js-after"> /* */ </script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.1.0-beta.1/js/select2.min.js" id="select2-js-js"></script> <script type="text/javascript" id="select2-js-js-after"> /* */ </script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js" id="owl-carousel-js-js"></script> <script type="text/javascript" id="owl-carousel-js-js-after"> /* */ </script> <script type="text/javascript" id="main-js-extra"> /* */ </script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-content/themes/tutorstarter/assets/dist/js/app.min.js?ver=1.0.1" id="main-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=3.35.5" id="elementor-webpack-runtime-js"></script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.35.5" id="elementor-frontend-modules-js"></script> <script type="text/javascript" id="elementor-frontend-js-before"> /* */ </script> <script type="text/javascript" src="https://sharh.qm.edu.sa/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.35.5" id="elementor-frontend-js"></script> <script type="text/javascript" id="gt_widget_script_34722452-js-before"> /* */ </script><script src="https://sharh.qm.edu.sa/wp-content/plugins/gtranslate/js/popup.js?ver=6.9.4" data-no-optimize="1" data-no-minify="1" data-gt-orig-url="/" data-gt-orig-domain="sharh.qm.edu.sa" data-gt-widget-id="34722452" defer></script><script>

    /(trident|msie)/i.test(navigator.userAgent) && document.getElementById && window.addEventListener && window
    .addEventListener("hashchange", function() {
    var t, e = location.hash.substring(1);
    /^[A-z0-9_-]+$/.test(e) && (t = document.getElementById(e)) && (/^(?:a|select|input|button|textarea)$/i
    .test(t.tagName) || (t.tabIndex = -1), t.focus())
    }, !1);
    </script>
    <script id="wp-emoji-settings" type="application/json">
    {"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://sharh.qm.edu.sa/wp-includes/js/wp-emoji-release.min.js?ver=6.9.4"}}
    </script>

    <script type="module"> /* e===a[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e{s[e]=t(o,e,n,a)}),s}function r(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}a.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf(){i(n=e.data),r.terminate(),t(n)})}catch(e){}i(n=f(s,u,c,p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n],a.supports.everything=a.supports.everything&&a.supports[n],"flag"!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))}); //# sourceURL=https://sharh.qm.edu.sa/wp-includes/js/wp-emoji-loader.min.js /* ]]> */ </script>
  3. github-actions commented on Jul 13, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions